I'm turning 30 so naturally I'm switching to OpenBSD

I’m kidding, I’m switching to OpenBSD because I like security or code quality or something. It’s totally not because the inexorable march of aging is starting to show its effects on my ability to down necessary-evil trivia like me and my friends used to down forties in the Ahhhnald after dark, and so I’d like to settle down with a software ecosystem I can study in real depth once without feeling like 20% of what I absorb in year X will be deprecated by year X+10....

May 4, 2024

PHP is Web Shell

One of the cooler things about working in a firm founded and run by a lot of dyed-in-the-wool Linux hackers like my current place is that there is a lot of Bash lying around, accumulated over a good 25 years or so. For all their faults, pure shell solutions still set the silver standard for programs which appear almost entirely immune to bit rot. But you know what? So does vanilla PHP....

April 29, 2024

Language learning treated as breadth-first search

I am, emphatically, not the language learning type. I’ve done enough of it over my life to know this. It’s certainly one of the better hobbies out there: You can do it for free (in principle), you can sink as many hours as you care to into it, and if you get good enough at it you get to reap some unique cultural and economic1 benefits. But there’s a reason I picked up Python when 14 year old me decided he wanted to get ahead in life instead of (say) German....

April 22, 2024

Most "life lessons" you hear are about scaling back

I Robert Anton Wilson was, is, and always will be a fascinating and hiliarious writer to me. I first read The Illuminatus! Trilogy when I was 13, and while it was coincident with a total and suffocating blackout of meaning, I no longer think reading it actually caused that to happen in any significant sense. Au contraire: Teen me found refuge in his absurdity - it felt bedrock nihilstic, sure, but a far more artfully and deeply buried nihilism than I was able to find elsewhere at the time....

April 20, 2024

Check my math - NixOS vs the Most Complicated Program on Earth (MCPOE)

Imagine you had the Most Complicated Program On Earth (MCPOE), with 1,000,000 dependencies. Every dependency must be build correctly exactly right or the MCPOE will fail to compile. MCPOE’s 10x dev team chose their packages so that each dependency has only a 1/1,000,000 chance of having something go wrong when you’re installing them - maybe a whitespace character snuck into the wrong build script, maybe solar wind hit the build computer....

April 14, 2024

Beware those who promise increasing marginal returns

The law of diminishing returns needs no introduction. Your second slice of pizza is less satisfying than your first. Your second million dollars is less valuable to you, personally. If you think econ 101 has any life wisdom to impart, it deserves being elevated to the status of “life heuristic” - especially because, unlike some other concepts in econ 101 (comparative advantage anyone?) it feels true in a boring way, not in an actively counterintuitive way....

April 9, 2024

The 10 sentences heuristic for foreign vocabulary acquisition

In order to learn a word, we need to come across it several times. It seems that the minimum amount of times we need to meet a word is somehwere around 7 or 8 meetings, but it's very hard to put a figure on it. -- Paul Nation, [2020 Victorial University of Wellington](https://www.youtube.com/watch?v=FlJj8vpJxfE) He’s right, but that never stopped me. I say 10 sentences in a specific practice: When you come across a word you don’t know enough times for it to bother you,...

April 1, 2024

The unreasonable effectiveness of VMs in hacker pedagogy

Here’s a secret. If you have Vagrant and VirtualBox installed, and your colleague does too, then you can both bring up an near-totally identical blank slate Debian 12 Linux VM by running 1 2 3 4 5 6 mkdir tutorial/ cd tutorial/ vagrant init debian/bookworm64 vagrant up vagrant ssh . This works regardless of whether you or they are on Linux, Mac1, BSD, or even Windows. (Through the magic of aliasing, mkdir and cd even work in PowerShell....

March 31, 2024

fd + xargs + bat = quick document review

I’ve been on vacation this week, and part of what I’ve been up to is fixing up the Selkouutiset Archive. Like most of my websites these days, SA is powered by Hugo, which means handling a lot of Markdown documents, which means I opted to use an intermediate Git repo as a submodule to actually store the custom-processed documents. After a few tweaks here and there, I found myself wanting to quickly flip through all of the Markdown documents I had generated for each news day....

February 25, 2024

wall: Broadcast message all Linux users

1 wall "Hello, world!" will send a message that looks like 1 2 3 Broadcast message from root@localhost (pts/0) (Sat Feb 1 14:50:14 2024): Hello world! to every user currently logged in to the system. When might this be relevant? When you’re working in a small team, by remoting into custom hardware, and constantly reflashing the device, to give everyone a heads up, for instance: 1 wall "Device will be reflashed in 5 minutes" && sleep 300 && ....

February 1, 2024