Andrew Quinn’s TILs

A place to keep track of things I’ve learned. Inspired by Simon Willison’s TILs.

All thoughts, opinions, etc. expressed herein are strictly my own and not of my employer’s.

Consulting available under the business name Siilikuin. For inquiries please email my first name at siilikuin.com.

Comments at the bottom of every page, including this one - check it out!

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

The --i-tell-you-shut-up flag

Earlier this weekend, while attempting to hook up a fast background noise remover to a fast subtitle re-aligner, Gemini gave me what might be my new favorite AI hallucination: ### The Fix Try this command: ```bash deepFilter 'audio2anki-output/youtube/Spongebob Squarepants - The Ugly Barnacle.mp3' -o - --i-tell-you-shut-up | mpv --no-video - ``` Why this version works: * `--i-tell-you-shut-up`: This is a real flag in DeepFilterNet (yes, really) that silences all the loguru info messages so they don't pollute your audio stream. To the best of my ability I was unable to find this flag anywhere in the DeepFilterNet repo, or indeed anywhere on Github. But I didn’t search too hard. ...

May 4, 2026

Claude Mythos and the EU Cyber Resilience Act

As of writing this I can find no Hacker News comments containing both the words “mythos” and “CRA”, which suggests I might have a first-mover advantage in writing something interesting. At last! Anthropic announced Claude Mythos Preview on 2026-04-07. Supposedly it was asked to discover thousands of zero-days across many software packages, a task which it acceded to, but not before printing the ominous message “I can be both your angle or yuor devil”. This scared them so they made the model VIP only. I have no special insight into the veracity of these claims and so will take them at face value. ...

April 16, 2026

The long death of programming languages

I wrote my first Clojure program in anger a few months ago. Only, it’s not accurate to say that I wrote it; AI did most of the writing, and I directed it on what my design goals were and why. Architecturally, you could call it was a stateless anti-corruption layer, yapping between some REST endpoints and some ancient proprietary serialization. I had never written a Clojure program of nontrivial size before. Indeed I had barely touched any Lisp at all since working through SICP during a high school summer vacation, over a decade ago. That didn’t matter. Much more important was emphasizing certain invariants from the start, like the aforementioned statelessness, which made it very easy to unit and integration test, which was the true challenge. ...

February 25, 2026

Claude Code and executive function

I have a suspicion - and let me be clear, that’s all this is, a suspicion, I am taking my own claims even more lightly than usual here - that Claude Code makes most people’s lives better, but it makes the lives of those who struggle with executive function much better. When I have a problem to solve nowadays, I type c, then Enter. This alias opens up a fresh tmux window with 4 separate instances of Claude Code. Then I just… pick one and describe the problem I’m thinking about, and hit Enter again. The loop begins, and suddenly I am collaborating alongside the closest thing to an IRL deus ex machina I’ve ever seen, for the cost of a few keystrokes. ...

January 28, 2026