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!

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

Claude Code disproportionately benefits those who touch type

I use Claude Code. I like Claude Code. According to Steve Yegge’s Eight-Circuit Model of Claudesciousness, I’m a pretty solid Stage 6, edging into 7 on heavy days. I think most engineers, most of the time, can get most of their work done faster with one of these tools than not, although the force multiplier of that speedup is probably not as extreme as it is in my case. Why is that? ...

January 24, 2026

Lua is a pretty good config language

Lua and Scheme occupy curiously similar places in my noggin, becuase my primary use case for both has been as scripting languages embedded into other, larger projects. Lua of course is basically designed for this job, but it’s a solid intermediate format to target even if you have no immediate intentions to use the programming language parts at all. A TSV file like 1 2 10.0.0.5 192.168.1.1 80 tcp 10.0.0.6 192.168.1l.1 443 tcp can be given a lot more structure on the cheap by writing a small transpiler of sorts to turn it into ...

January 6, 2026

Copy-Item is 27 percent slower than File Explorer drag and drop on Windows

1 2 3 4 5 File Explorer drag & drop ########## (112 MBps) Copy-Item ####### (82 MBps) Built in SFTP client ###### (70 MBps) Built in robocopy (/MT:32) ## (25 MBps) WSL 2 rsync # (13 MBps) In table form: Tool Speed (MBps) Difference Drag and drop ~112 — Copy-Item ~82 -27% sftp ~70 -37% robocopy (with /MT:32) ~25 MBps -78% rsync (WSL 2) ~13 MBps -88% I feel like I’m losing my mind. ...

December 6, 2025

"Courage to quit" matters more for seniors, less for juniors

As a teenager first getting into computers in the late 2000s I spent a lot of time reading old revered tomes like ESR’s The Art of Unix Programming and SICP . If present-day me were to isekai back in time and lose all of the technical knowledge I had but retain my current instincts, however, I would have left all of this on the table and just built a terrible new automation tool for the surprisingly scriptable MMORPG I was into in PHP 5, with as much disregard for clean code and security practices that I could muster[^1]. Then I would have put that tool online, continued to add new features to the ball of mud, and kept it running for 5-10 years before my first post-college interview. And then the vibe that would come across is less “He’s an egghead, and we like that, but we really need someone who actually does things” and more “He’s a meathead, but inside of that meathead is an egghead waiting to be revealed. We need this kind of junior dev yesterday.” I would have done this even though an objectively far superior tool had already existed for quite some time, making this project “feel like” dead weight in the wide world of software! But why? ...

November 29, 2025