Valuable software is about letting people do new things

Today I released a dump of six months of flashcards I autogenerated from my tiny Finnish news archive to make the lives of my fellow language learners easier. The actual code which generates this archive is about 300 lines of Python . The basic value add for the user: What you want: Better fluency in Finnish. What you need: Practice. Lots of it. What this gives you: GOTO 2. This is emphatically not the kind of product, or use case, I would stumble upon as a brain-in-the-vat developer....

June 21, 2024

Layers of abstraction for me, not for thee

Consider the problem of “how do I run more than 1 terminal at a time”. At this moment, I have at least 5 different ways I can effectively solve this issue: I can, from a different physical computer, SSH in to a new session. I can, from the same physical computer, switch to a different tty session with … C-S-F2 through 6 or something. (Rare, but sometimes it comes in really handy....

June 18, 2024

Software engineers as mental athletes

This week I achieved a modest personal dream of mine I’ve had since I was a high schooler: I purchased a proper standing desk, with a low-profile treadmill underneath. The total cost for a setup here in Finland came out to only about $350, something I can easily afford with a week’s take-home pay. The primary hurdle for me was psychological: How could I justify spending so much money on a more ergonomic setup when I’m not even sure this whole “software engineering” thing will work out for me?...

June 15, 2024

OpenBSD, the computer appliance maker's secret weapon

Between our ESP32 prokaryotic organisms and our 24/7 Internet-enabled megafauna servers, there exists a vast and loosely-defined ecosystem of things the B2B world likes to call computer appliances. Picture a bespoke Pi 4 packaged up neatly with some Python scripts, a little fancy plastic embossing, and maybe a well-guarded id_ed25519.pub in case you end up in hot water during the (long - very long, stable cash flow for generations long) maintenance contract, and you’re in the ballpark....

June 5, 2024

Quickstarts and Slowstarts

A while back I stirred up some controversy on Hacker News by talking about why I liked it when tutorials take you from clean VM to working, installed software. I’ve since taken to calling this the “tutorial-in-a-box” method. When I write them myself, I usually put them under the header Slowstart, a riff on the proverbial Quickstart. Two examples: A gentle introduction to reposurgeon. The Slowstart for selkokortti, some flashcard generating software based around my Finnish language news archive....

June 4, 2024

Lessons learned from 6 months of operating a teensy-tiny news archive

The best websites are home-cooked meals. Andrew’s Selkouutiset Archive was birthed after I realized there was no obvious way to fetch the previous articles of the “Easy Finnish” daily news broadcast. This annoyed me as a student of the language. “Here we have a stream”, I thought, “of high-quality, human-written, interesting practice material, and no easy way to access it!” So I went out of my way to create such a way, and me and my language skills have been profiting off of it ever since....

June 1, 2024

Doing is normally distributed, learning is log-normal

There are few things I think about more than the essays on gwern.net, and there are few with as satisfying a theoretical payout to contemplate in my orb as his essay on “leaky pipelines”, aka log-normal distributions. The skulk: Say you’re working on a Laravel web app. You’re about 90% sure you know how to start the app. You’re 80% sure you know how to handle the infra you’ll need to get it online....

May 28, 2024

Trackballs are great for the mostly-mouseless

I was 100% mouseless back before it was cool. Between dropping out of high school and enrolling in community college, I replaced my laptop with a $80 HP EliteBook I found on eBay; when I discovered its trackpad didn’t work anyway, I went all in on a no-X setup. I eventually concluded that going 90% mouseless got me almost all of the benefits, with almost none of the downsides. It’s almost as if returns are usually diminishing!...

May 26, 2024

tmux is worse is better

tmux (short for “terminal mux” (short for “multiplexer”)) is i3 for your terminal. Oh, it’s so much more than that, and I recently discovered with some joy that it is installed by default on OpenBSD, but its fundamental value add to any programmer who has to SSH into servers more than once a week is it allows you to split your screen up into multiple independent shells without needing a graphical environment at all....

May 23, 2024

Disable your browser history to write better internal docs

Most of us work in companies with something approximating a shared online internal wiki, be it Confluence or MediaWiki or even a searchable, static website custom built for the task. A common problem with these sites is making what you write discoverable to other people on the site. Your chosen title might tell you, a person fully in the weeds of whatever you were just doing, exactly enough to know this is the article you were looking for....

May 14, 2024