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

Some New Year experiments

Hyvää uuttaa vuottaa! As stated before, my TIL is up and running once more. Some things I’m going to be experimenting with this year: Self-hosted stuff, speficially on the Raspberry Pi. One of those fancy new split keyboards I keep hearing everyone talk about. Coding more, and thinking about coding less.

January 1, 2024

Been quiet - studying Finnish

Hei kaikki. I’m going dark for the rest of the year as I switch my attention to reading a lot of Finnish, since Free Voluntary Reading is the best way to learn a language. Hyvää joulua ja onnellista uutta vuotta!

December 12, 2023

Speed paint videos for software installations

Shell Bling Ubuntu and finstem now have what I’m calling “speed paints” of how someone, starting from scratch on a standard Ubuntu VM, might install the programs. This came out of me realizing ffmpeg makes speeding up a video recording of a VirtualBox session a one-line operation: 1 ffmpeg -i output.webm -filter:v "setpts=0.1*PTS" -an output-fast.webm When I watched them back, I realized it gave me a really good sense of what the installation should feel and look like, even if I hadn’t actually tried it yet....

December 7, 2023

Getting `fzf` to print the preview pane

fzf is an incredibly useful bit of software, if someone shows you how to use it. There’s a lot more to it than just fuzzy-switching directories and fuzzy-searching you shell history – it also comes with a preview pane that updates on every keystroke. Try 1 echo '' | fzf --preview 'echo {q} {q}' and typing something to see how it works. ({q} is the query you type in at the bottom of the screen....

December 6, 2023