Don't use an LLM for your README.md

One of my more popular open source projects is Shell Bling Ubuntu, which, contrary to its name, actually supports many different operating systems these days: modern macOS, Alpine, Fedora 40 and up, Rocky Linux 8 and up, WSL (Windows Subsystem for Linux), and so on. But while I feel the project is in a much more advanced state than it was four or five months ago after all that hardening and robustness work, I haven’t seen much extra marginal uptake or additional stars on GitHub as a result. I think the reason is actually quite simple: I replaced the README with a much drier one, driven by LLMs (Large Language Models), and people (correctly!) read that as a negative signal of care compared to the previous one.1 ...

August 17, 2026

Claude Max 20x plan as open source subsidy

It is widely known that the Claude Max 20x plan doesn’t buy you just $200 worth of API (Application Programming Interface) credits in a slightly more convenient format. It’s closer to … well, an order of magnitude is what I have heard, but I’ve heard other people say it goes up to $5,000–6,000 worth of API credits.1 In any case, it’s a lot. What’s the catch? Enterprises — not startups, usually — shy away from Claude Max 20x because it has certain data retention properties that they consider too commercially valuable to waive away.2 So instead they either work through the API directly or use something else like GitHub Copilot for Business. ...

June 30, 2026

AI slop grenades and the principal-agent problem

noslopgrenade.com is a website in the ilk of nohello.com, exhorting the reader not to just copy and paste giant walls of text into the chat. One line stood out as curious to me: Nobody writes essays in Slack. It’s only possible because of AI copy-paste. This has not really been my experience, but it depends on where you draw the line at “essays”. For me a 3-paragraph reply, of about 2-3 sentences apiece, is where I draw the line between “This can be a Slack message” and “This is better as an email”. But the examples given in No Slop Grenade suggest even that might be too much for the author’s liking. ...

May 22, 2026

Back up your TOTP codes by just printing them

Scan the Quick Response (QR) code above with your favorite Two-Factor Authentication (2FA) app. You should get a six digit number, rotating every 30 seconds, that looks something like 1 2 237601 # as of Wed May 20 09:44:53 AM EEST 2026 If you then take the secret key that QR code maps to, say ...

May 20, 2026

Replacing a 3 GB SQLite database with a 10 MB FST (finite state transducer) binary

Note for numberphiles: all numbers have been rounded to their first significant digit, because I’m a fan of Rob Eastaway’s “zequals” method of getting to the point when it comes to estimation. It’s much more valuable to walk away with the heuristic “some dude got a 300x memory reduction by swapping out a database he hacked together for a tiny, static, specialized data structure that does exactly what he needs it to and no more.” ...

May 10, 2026

I still like Jenkins

Before GitHub Actions, before GitLab CI/CD, and before the panoply of startups all promising to help you build your software faster and with less hassle, there was the humble, open source Jenkins. Or perhaps I should say is: Jenkins is still actively maintained to this day, and has actually been in use in basically every single place I have worked since graduating from high school, although not everyone who was using it was exactly happy with it. ...

May 9, 2026

LLM tutored writing practice for secondary language acquisition

Language learning for the contemporary adult learner can be broken down roughly into four highly correlated, but distinct, skillsets. Passive understanding Active production The written word Reading Writing The spoken word Listening Speaking You may know from my FOSS software that I have been learning Finnish for the past 4 years or so. For the first few years I pretty much focused exclusively on reading comprehension, as I consider that to be the easiest quadrant to skill up in first. This focus put me in the interesting position for some time of being able to read most YA fiction and tax documents while being unable to order a pizza for myself on the phone. ...

June 1, 2025

Cross-platform TUIs are easier than cross-platform GUIs

Below is a GIF of tsk, my pocket Finnish-to-English dictionary, running in my terminal emulator of choice under Linux. It’s what the kids call a TUI, a graphical program that just happens to drive its graphics using terminal graphics instead of graphics-graphics. Insert GIF here. You can probably tell that this program fits neatly into the “home-cooked meal” clade of programs. There is a very straightforward problem I want solved - fast, single-executable-portable dictionary lookup, with a few conveniences for the busy language learner layered on top. I am quite happy with tsk in its current iteration and don’t plan to add much more to it anytime soon. It would still save me a lot of time and hassle if I were the only person who could use it. ...

May 20, 2025

The highest personal ROI program I have written so far

It would have to be finstem, a simple command-line program I wrote to reduce Finnish words down to their root form. Finnish is a lot like Latin or Russian in that its words often become lumbering behemoths of rewritten consonants, suffixes upon suffixes, and this makes it hard to look up in a dictionary – that is, until you factor in its very regular orthography and the phenomenal efforts of the Finnish programming industry: finstem is basically a very specialized UI for the OpenOffice spell checker, and I have no shame in admitting that. ...

July 30, 2024

My pet theory of how great software gets started

(Inspired by yungporko’s Ask HN post, which got me thinking.) Pretty much every community, dojo, workplace, subculture, scene you can imagine in the modern day had a software sub-scene embedded within it. It can be as small as “that guy who does our Excel”, or as large as the scene itself . This is owing to the fantastic generality of software as a way to make almost anything more efficient, but we won’t go on that tangent now. ...

July 16, 2024