Tiny Experiments
I’ve been listening to the Hanselminutes podcast for some eight or nine years already, and it is in fact the reason I created myself a Micro.blog blog in the first place. Scott is an empathetic and knowledgeable host and the guests and topics are diverse. Furthermore, I find the half an hour episode length just perfect for commutes when I listen to the show at an ever so slightly increased 1.1x speed. 🎙️
In a recent episode #991 Scott had a chat with Dr. Anne-Laure Le Cunff about her new book Tiny Experiments. What resonated with me in the show was when they discussed that people are being too absolute about the things they want to do or be. Way too often someone announces that they, say, will start going to a gym, then buy a membership for a year, and then slowly find out it’s not for them after all after the first couple of months. This is then considered a failure and will negatively affect their self image.
The better way to do this would’ve been to think that I think I might like going to a gym, then buy a membership for a month, and then just try it out. If you didn’t like going to a gym then fine, you tried, your hypothesis proved to be wrong, you learned something without losing too much time or money. It was a learning experience instead of a failure.
In a sense this entire blog is a tiny experiment for myself. I have no idea if I’ll still be blogging in a year, but so far I’ve been enjoying it, and it’s certainly not too expensive when Micro.blog plans start at just $1 per month (which is the plan I’m currently using).
So, that’s something to ponder about. If you have children, you tell them that it’s alright and indeed encouraged to just try, you don’t need to succeed. At which point does an adult switch to a mode where it’s not OK to “just try” but you’re expected to commit and succeed?
Random Things Sunday #3: Color
This time there’s a common theme with the links: color. 🎨 I’ve recently been subtly tweaking the colors of my blog, so I’ve (re)discovered these resources:
- WebAIM accessibility checker. Check that the contrast between foreground and background colors is big enough. You don’t even need to be old or have bad eyesight to benefit from good contrast, as sometimes the external circumstances like a glare on your screen make the text hard to read if the contrast is not there. There’s really no excuse for bad contrast.
- Name all the colors at Color Names.org. This is a fun effort to name all the 16,777,216 colors in the RGB color space. Almost a quarter of the colors have been named as of writing this. No need to register, just pick a color and think of a name for it! For example, the dark mode background color of this blog is called Oriental Popcornflower. 🍿💐
- macOS has a built-in utility app called Digital Color Meter with which you can pick the color code of anything on your screen.
- Finally, an infuriating optical illusion: these two faces are the same color! The illusion is based on a phenomenon called color constancy, where the surrounding context tricks our brain.
Quote of the day
So much of cybersecurity is “We must secure the Orphan Crushing Machine so that unauthorized people do not crush the orphans,” and not “Why the fuck are you building an Orphan Crushing Machine in the first place?”
The replies to this thought are also golden, check them out by following the link above. 💎💬😄
Terry Pratchett: The Light Fantastic
Finished reading: The Light Fantastic by Terry Pratchett 📚
The Light Fantastic picks up exactly where The Colour of Magic left off: the wizard Rincewind and the tourist Twoflower are in serious trouble. Beyond their personal predicament, it turns out the entire Discworld is facing an existential threat.
While dodging both general and personal dangers, Rincewind and Twoflower encounter trolls and join forces with the legendary Hero, Cohen the Barbarian. Tales of Cohen’s heroic deeds have been told for decades, so naturally, the man himself turns out to be 87 years old. Still, he gets a bit offended if fewer than five enemies attack him at once — after all, life gets boring without a challenge.
In this book, Sir Terry Pratchett seems to have reined in his ideas a bit, resulting in a more coherent story than the first one. That said, I still preferred The Colour of Magic, since the whole “saving the world” plot in The Light Fantastic felt a bit tacked on. Still, it wasn’t a bad read by any means.
Random Things Sunday #2
Three random things!
- Something to listen. My brilliant colleague Annika Madejska, who is something of a thought-leader in the ethics of AI, was recently interviewed in the Creative Leaders Unplugged podcast. Listen to the episode where she shares not only her thoughts about ethics and AI, but about having ADHD, or being “neuro-spicy”, as she puts it! Listen on Spotify, Apple Podcasts, YouTube.
- Something to read. I don’t use Facebook a lot, but one of the best groups there is the Dull Men’s Club®️. People make long posts with images about mundane stuff they’re excited about – think parking lots, drain covers, and envelopes – and the general vibe just is so supportive compared to your usual toxicity of the internet. As an inside joke, the images are often expected to contain a banana for scale. 🍌
- Something to watch. Last Week Tonight with John Oliver is an American half an hour long news satire late-night talk show with British sarcasm. Oliver delivers commentary and deep dives into all kinds of topical matters, often about the government, big companies, or public figures. It’s my main source of information into what’s wrong with the USA. You might want to start with, say, the episode about data brokers , which explains that if you’re using a free product, then you are in fact the product.
Saalo's Law of Software Development
When you’ve been long enough in the software development business you start to notice patterns. One of those patterns recently surfaced again when someone in my team floated the idea that our system should be able to read or write Excel files. I’ve seen and implemented this particular request so many times that I got inspired to write it down as an adage. I’ve dubbed it Saalo’s Law of Software Development and it goes as follows:
Every piece of enterprise software eventually evolves into either reading or writing Excel files.
I originally posted this just to the company Slack where my peers unanimously agreed that yes, this is exactly what happens. There’s something about spreadsheets that makes them the universal translator of the business world – no matter how sophisticated your system, someone always needs that Excel import or export function.
So there you have my humble observation on how enterprise software works. My law may not be as well known (yet!) as Hofstadter’s, Brooks', or Parkinson’s laws, but maybe one day. 😁
Are you really using AI?
Yesterday I was scrolling through my feed when I came across a short video by Allie K. Miller, who’s something of a thought leader in the AI business space. She mentioned that you probably use AI already, but asked if you’re really using it? AI can enable so many novel use cases that merely enhancing your old processes is kind of wasting its full potential.
It made me stop and think. Like many, I’ve been using AI tools here and there - asking ChatGPT to help with writing, generating some ideas, maybe summarizing content. But am I actually reimagining how I work?
Allie mentioned how after 10 years of creating AI content (7 of those without AI tools), she completely rebuilt her workflow. Now she dictates to Otter AI while walking, runs her content through multiple AI systems, and formats everything in Beehiiv with auto-links. More steps, but apparently 80% time saved. That’s not just enhancement.
I wonder if most of us are in that “scratching the surface” phase with AI that Allie mentions. We’re asking AI to help with tasks we already do, rather than rethinking what tasks we should be doing in the first place.
I’m obviously not using AI to its fullest potential either. My current workflows still look pretty much like they did a couple of years ago, with some AI assistance sprinkled in rather than built around them. There’s something to think about there.
(By the way, I don’t often subscribe to newsletters, but I do follow Allie’s work. If any of this piqued your interest, you might want to check out her newsletter at AI with Allie.)
Vibe coding an ant colony simulator
When it comes to household chores, ironing is one of my favorites as it often allows me to shorten my “Watch later” playlist (771 videos there as of writing this…) in YouTube. Last time I did ironing I watched this cool video of an ant colony simulator:
The fun thing is that it creates fascinating emergent behavior from a few simple rules. The ants walk around randomly, leaving behind a trail of pheromones like breadcrumbs pointing back home, and when they encounter food, they pick some up and follow the pheromone trail back to the nest. While carrying food they leave behind another type of pheromone that point the ants to the food source.
This seemed like an interesting exercise in vibe coding where you just describe your need in your own words and let an AI do the actual programming for you. Vibe coding seems to split the opinions sharply: some find that it makes coding more equal and available to anyone, others loathe the idea of an influx of AI-generated trash.
Terry Pratchett: The Colour of Magic
Finished reading: The Colour Of Magic by Terry Pratchett 📚
According to a legend, somewhere on the far side of the Disc, beyond the great sea, lies the Counterweight Continent. Since it’s assumed to balance the Disc’s other landmasses, yet appears relatively small, it’s believed to consist largely of heavy gold. Few sane people, of course, believe this story — until one day, a ship sailing up the smelly Morpork river brings a Tourist to the shores of Ankh-Morpork.
The locals don’t understand what a “tourist” is, but quickly deduce it means roughly the same as “idiot”. The man dresses oddly, acts strangely, and carries an absurd amount of gold — whose value he doesn’t seem to grasp. He’s also accompanied by a sentient pearwood chest, the Luggage, which is generally docile but turns into an unstoppable, murderous beast if its master is threatened.
Rincewind, a wizard who failed utterly at wizardry and is mostly a coward — though otherwise fairly clever — finds that he can speak the tourist’s language. The tourist, Twoflower, hires Rincewind as his guide. Soon, Ankh-Morpork is entirely ablaze, and Rincewind and Twoflower are fleeing by land, sea, and air.
The Colour of Magic launched the now-famous Discworld series in 1983, and over thirty novels have followed. Quite the achievement, especially considering this book alone is so packed with ideas and events that it feels like Pratchett wanted to include every concept he had.
I originally borrowed the book for my second grader, but after he found it too confusing after the first couple dozen pages, I ended up reading it myself. I’ve probably read it long ago, but Pratchett’s absurd British humor still hits the mark for me — and presumably for other fans of Monty Python and Douglas Adams as well.
List(s) of Random Things
About a week ago I was exploring other random blogs when I came across the 7 Things This Week [#172] post by Jarrod Blundy. What caught my eye was the number on the title: Jarrod has been persistently listing seven things each week for more than three years already! In this day and age of single-click fire-and-forget retweets I find it admirable that someone can resist that urge to share the links immediately and do instead a little bit of curating, even adding a sentence or two of their own justifying why a particular link is interesting.
It surprised me too that literally just a random collection of links had this effect on me, so I dug deeper using Gemini’s new Deep Research feature. (And this time I mean that Google AI, not the Gemini protocol.) I must say Gemini is impressive: it formed a research plan according to my ramblings, then went away and crunched the internet for maybe ten minutes or so, and eventually returned with a convincing full report of the history of “lists of things” in print and online media.
I’m not going to bore you with all the details, but I learned, for example, that the Time magazine started a Potpourri column of random things already in 1923. For the online world, an early example of something similar is Dave Winer’s DaveNet newsletter that started in 1994. I looked it up and found the DaveNet archive – and oh boy isn’t it a treasure trove if you’re interested in the early world wide web! Dave covered, for example, the browser wars that I also recently referred to, and the rise of the new and exciting programming language called Java. Dave wrote his newsletter for ten years and posted between one and a dozed emails each month, so check it out!
As for myself, I won’t dare to commit to posting a regular list of things, but I’ll keep the concept in mind and start now with a very short list. Specifically, it’s a shout out to a couple of my favorite YouTubers and their most recent work.
Random Things Sunday
- Mark Rober, known for glitter bombs and squirrel obstacle courses, snuck a LIDAR system into a Disneyland rollercoaster to map it out, and then tested Tesla’s camera based driving aids against another car equipped with a LIDAR.
- Shawn from the Stuff Made Here channel had a rare failed project, trying to make a helicopter powered by a flywheel.
Star Wars Episode IV: A New Hope in 100 words
I figured it would be an interesting little challenge to condense the plot of the original Star Wars into a very short format, but with as many spoilers as possible. I settled for a limit of one hundred words. Here goes; maybe you can use it as a refresher if you haven’t seen the movie in a while, but quit reading now if you haven’t seen it and want to watch and fully enjoy it later: 🍿
Vader intercepts Leia’s ship seeking stolen Death Star plans. R2-D2 and C-3PO escape to Tatooine, are captured by Jawas and sold to Luke. R2-D2 shows message from Leia and goes looking for Obi-Wan Kenobi. Stormtroopers kill Luke’s family. Luke joins Kenobi, meets Han and Chewie in Mos Eisley. They flee in Millennium Falcon but find Alderaan destroyed. Death Star captures Falcon. Kenobi shuts down the tractor beam while the others rescue Leia, visiting a trash compactor. Kenobi faces Vader, is struck down, becomes one with the Force. Falcon escapes, rebels mount an attack, Luke uses the Force, Death Star explodes.
Vivaldi browser
Around the turn of the millennium the browser wars were a thing. The first browser war saw Netscape Navigator unsuccessfully defend against the new Microsoft Internet Explorer. After a few years the remains of Netscape Navigator were forged into a new browser called Phoenix, soon renamed to Firebird, and finally to Firefox. I, however, stayed strongly in camp Opera during this time.
Opera was developed by a Norwegian company by the same name, and it was by far the most innovative browser of the time. They were the first ones to introduce tabs, a speed dial window, customizable shortcuts, quick search bar, and, my favorite, mouse gestures: to go back in the history, press and hold the right mouse button, swipe left, and release. Extremely simple and efficient, and there were gestures for all the other commands you could wish for, too. Opera also recognized the importance of a community and successfully ran the My Opera site for years.
My Opera was, unfortunately, shut down in 2014. Then, two years later in 2016, Opera was sold to China, and I stopped using it. In the same year, however, the former CEO of Opera Software released the first stable version of a new browser called Vivaldi.
Vivaldi is to me the spiritual successor of Opera. You get the familiar full customizability and a bunch of features out of the box that other browsers can only have as plugins, if even that. Notoriously, Google recently basically removed the extremely popular uBlock Origin ad blocker from their plugin store, obviously because showing ads to you is their primary business. 😬 Other than ad blocking and tracker blocking, Vivaldi has, for example, a feed reader, tiling & stacking of tabs, the aforementioned mouse gestures, themes, and much more.
I recently wrote about the Kagi Search, to which someone who read it could’ve wondered if I use the Chrome browser anyway, in which case my privacy wouldn’t be any more protected with Kagi than it is with Google. I do need Chrome for work, but at home I use Vivaldi and haven’t signed in to my Google account with it. I’m under no illusion that Google wouldn’t still be able to track me, but at least I don’t need to make it trivial to them.
If you’ve been looking for a browser that puts you in control, Vivaldi is worth a try. Get it from vivaldi.com to give it a spin!
Kagi Search
About three months ago I ditched Google as my primary search engine and started using Kagi instead – and haven’t looked back.
Kagi is a subscription based service: you get to test it for free for one hundred searches, and if you are satisfied, you can start with the 5 USD/month (+tax) plan that includes 300 searches. I’ve found that with my usage I can usually manage about 27 days, after which I can just renew the monthly subscription a bit early with a couple of clicks.
Why pay for your search engine, then, when Google is free? Well, the old saying goes that if you’re not paying for the product, then you are the product. In practice this means that you will be shown lots of ads and “sponsored links” – which are just ads by another name. It seems that companies often buy ads that target their competitors too, so if you’re looking for info about product X of company Y, then the first “search results” you get are actually about the competing product Z by company W. All this gets quite tiring in the long run. I also noticed that not only because of this but because of ChatGPT my Google searches had dropped dramatically. Google just didn’t have any pull anymore.
What’s Kagi doing better, then? For one, they don’t have ads, so they are not incentivized to serve any advertisers but you, the user. For a user there are some neat features, such as increasing or decreasing the priority of any sites in your search results, something that I have indeed missed in Google. Kagi also has a delightful Small Web initiative highlighting little personal sites that you couldn’t find with Google even by accident. Kagi also has an actual changelog – when have you ever seen a search engine, or any major web site for that, display one proudly? These little details make Kagi feel like it’s made by humans for humans. Kagi’s origin story is also worth reading.
I’d say there’s a growing sense that people are tired of being the product and of the general enshittification of the web. People want control over their own their data, they don’t want Meta, Google, or that dumpster fire X deciding what they may access and see. You constantly get to read about people and businesses that are locked out of their Instagram accounts for no apparent reason and there’s nothing they can do to appeal because it’s all handled by some faceless algorithms. That’s a contributing factor also to why I’m using the Micro.blog platform for hosting this blog and why I’m using Kagi: I want to support the smaller players that are still trying to Do The Right Thing.

Caffeine
There is a common misconception that energy drinks have a particularly high caffeine concentration. Often the people who fuss over this are coffee drinkers themselves.
Energy drinks typically have 32 mg of caffeine per 100 ml. This translates to the following total amounts of caffeine per container:
Container Size | Caffeine (mg) |
---|---|
0.25 L | 80 mg |
0.33 L | 106 mg |
0.5 L | 160 mg |
Now, coffee on the other hand has about 44,8 - 80 mg of caffeine per 100 ml, translating to the following dozages:
Container Size | Caffeine (mg) (Range) |
---|---|
0.125 L (small cup) | 56 - 100 mg |
0.2 L (medium mug) | 90 - 160 mg |
0.25 L (large mug) | 112 - 250 mg |
(Source)
And finally, here’s the same as an image – I hope that by now you’ll agree that if you want to be worried about someone getting too much caffeine, you should be worried of those who drink coffee. Coffee doesn’t even come with any warnings of the max recommended servings per day, unlike energy drinks. And this post doesn’t even begin to address espresso, which is about four times as strong as regular coffee!

Gemini protocol
The other day I was browsing some random Micro.blog blogs when I came across an interesting post about Gemini in the Hey Loura! blog. Gemini in this case does not refer to Google’s AI service but an application layer internet protocol developed quite recently, in 2019.
Gemini is kind of like HTTP but very, very simple. Gemini’s preferred document format is gemtext, which is almost a subset of Markdown: you get headers and lists (but no nested lists) and hyperlinks (that need to be on their own line). You also get quotes and preformatted text for presenting code, but that’s it. It does not support, for example, styles or inline images.
No normal browser supports Gemini. The “Geminispace” can, however, be accessed by a number of custom browsers that can use the gemini://
protocol. Anyone can host a Gemini “capsule” by themself, or use one of the free or paid services to do that.
Somehow I find the idea behind Gemini quite appealing: no ads; no big companies trying to hook you or exploit you; no competing for likes or subscriptions; quick loading times; pages where the content speaks for itself. Even the mobile versions of many web sites are rather heavy these days, which can be observed if you’ve ever tried to use the internet while traveling in a plane, but Gemini pages promise to be even more light-weight.
Learn more from the project’s web site at GeminiProtocol.net or from Wikipedia.
ESC25
Last night it was confirmed that the band KAJ would represent Sweden in this year’s Eurovision Song Contest. This is funny, because KAJ is, in fact, a Finnish band, so in a sense Finland now has two entries in this year’s contest! 😁 KAJ’s song is called Bara bada bastu, and Finland is sending Erika to the contest with Ich komme:
Energy drinks
I’m in the habit of taking a photo of each new energy drink I try. At this point of I can make a nice 4x4 collage out of the ones I’ve tried this year, and I even had to leave one out.

97th Academy Awards
I’ve watched the Oscars live broadcast close to twenty times now, and I’d argue that’s no mean feat, as they are aired here in Finland in the middle of the night. I also post my observations about the show to Facebook every year, and several of my friends there have indicated, either offline or online, that they always look forward to my recap. Waking up in the middle of the night to watch the Oscars feels like madness already, but tradition is tradition! The best way to stay awake is to keep eating snacks. 🍿 The following is a summary of my live observations.
This year’s ceremony faced an unusual challenge, as the wildfires in Hollywood came dangerously close to disrupting the event. Host Conan O’Brien even had to relocate to a hotel due to the fires.
Conan was hosting for the first time, but he made the show his own right from the start. He had some sharp quips, like calling Wicked “a movie for those who watched The Wizard of Oz and wondered what college was like for the side characters” and describing Conclave as “a movie about the Catholic Church — but don’t worry.” He also introduced a new concept: if someone’s speech ran too long, the cameras would cut to John Lithgow, looking extremely disappointed.
One of the surprises came early in the night when Kieran Culkin won Best Supporting Actor for A Real Pain. In his speech, he reminded his wife of a promise she made a year ago: they could try for a fourth child if he won an Oscar — something she might not have expected to happen. 😄
In animation, the underdog triumphed as the Latvian film Flow took home Best Animated Feature, breaking the usual Disney/Pixar dominance. Meanwhile, the Iranian short In the Shadow of the Cypress, a PTSD-themed animation, won Best Animated Short, with its creators only receiving their visas the day before the ceremony.
Unlike previous years, the Costume Design category was given proper attention instead of being rushed through. It was revealed that the same designer from the original Gladiator worked on Gladiator II. The Oscar went to Paul Tazewell for Wicked, making him the first Black man to win in this category.
Similarly, cinematographers were introduced with the same care. Lol Crawley won for The Brutalist, marking the film’s first win of the night. The Brutalist also picked up Best Actor (Adrien Brody) and Best Score, with Brody ignoring attempts to play him offstage.
The first half of the show moved at a leisurely pace, even including a random Bond theme medley, but things sped up in the second half as winners were hurried offstage – although nobody got the ultimate punishment of getting the disappointed look from John Lithgow.
Other notable wins included:
- Best Adapted Screenplay: Conclave, written by Peter Straughan, who wore a Ukraine pin but otherwise, the ceremony remained largely apolitical.
- Best Makeup and Hairstyling: The Substance, a body horror film. Conan played into this by introducing himself in a clip where he crawled out of Demi Moore’s body. 😈
- Best Supporting Actress: Zoe Saldaña for Emilia Pérez, whose speech included a complement about her husband’s hair.
- Best Original Song: El Mal from Emilia Pérez, dashing Diane Warren’s hopes for a win — her 16th nomination without a victory.
One of the few winners I had actually seen, Dune: Part Two, won for Best Sound and Best Visual Effects. At one point, Conan even had the Dune sandworm playing the piano and harp, because why not? 😂
The night’s biggest winner was undoubtedly Sean Baker’s Anora. It took home:
- Best Original Screenplay (Sean Baker)
- Best (Sean Baker)
- Best Director (Sean Baker)
- Best Actress (Mikaela “Mikey” Madison)
- Best Picture
Baker dedicated his wins to the importance of cinema and gave a special shoutout to his mother, whose birthday was that day.
The In Memoriam segment honored legends like Maggie Smith, Donald Sutherland, and James Earl Jones. The ceremony finally wrapped up an hour later than last year at about 05:45, well before the sunrise at 07:12.