Software

About six decades ago, some schmuck figured out how to talk to rocks1 and now we all have to deal with the consequences.
I appreciate simplicity, but I’m not a “minimalist”. I believe in keeping code simple and small while actually solving problems for the end user in a meaningful way.
The greatest enemies to good technology are egocentrism, elitism, and rampant complexity.
“An idiot admires complexity, a genius admires simplicity. A physicist tries to make it simple. Anyway, an idiot; anything the more complicated it is, the more he will admire it. If you make something so clusterfucked he can’t understand it, he’s gonna think you’re a god ‘cause you made it so complicated nobody can understand it. That’s how they write journals… in academic journals. They try to make it so complicated people think you’re a genius.”
“Noise comes with sophistication.”
References
- Invention of the integrated circuit, Wikipedia
- Terry Davis' TempleOS Brutal Take Down (sic) of Linus Torvalds, Terry Davis Old Archive on YouTube
- Google Executive frustrated by Java, C++ Complexity, New York Times
“considered harmful”
Some people pride themselves in their disagreeability. I’m not into that kind of thing, but I have no problem getting preachy.
I have personal objections to a lot of common software applications (as in programs but also online services and whole languages). I would like to promote (subjectively) better alternatives to such applications. These are my personal recommendations, and they may not be the best alternatives for your use case. YMMV
| instead of | consider |
|---|---|
| arch linux or artix | alpine, gentoo, void linux, dérive |
| ubuntu or pop!_os | ultramarine linux, linux mint |
| omarchy | just buy a mac |
| hyprland | mangowc, wayfire, niri |
| xlibre | TinyX, Xenocara |
| fish | mksh |
| kitty, ghostty, alacritty | foot, havoc |
| bluesky, threads, twitter | the fediverse, rss/atom feeds, going outside |
| Brave or Opera GX | Zen Browser, Floorp, or just plain old Firefox |
| bootstrap, PureCSS, WordPress, Jekyll | min, crew, housecat, werc |
| LaTeX | groff, Plan 9's troff, Neatroff, or typst |
| discord, root, stoat | fluxer, or a normal messenger like Signal or Telegram |
| Searx/SearXNG | 4get, omnisearch |
| cursor, visual studio code, neovim | vim, emacs, micro, zed |
| cmake, meson, ninja | mate.h, muon, samurai, wait... why not just a Makefile? |
| jujutsu/jj | game of trees |
| python | sh/sed/awk, or Go |
| coc.nvim | ale, eglot |
| snap | flatpak |
| AppImages | AppBundles, static binaries, or just plain old tarballs |
| substack, medium | going outside |
| yaml, ini, XML | json, toml |
some technologies I find so unpleasant that I’m not sure they even have a meaningful niche:
- Anything AI-centric or “Agentic”, including but not limited to:
- AI Web browsers
- Copilot, Claude Code or anything similar
- Proof-of-Stake cryptocurrencies
- Spacemacs and DOOM Emacs
- UML
- WASM, WebGL
if this sounds incredibly presumptuous of me, please message me and help me out, because I’m lost.
goto
I am fond of goto in the C programming language. I think most developers fear it irrationally
“I think goto’s are fine” - Linus Torvalds
See also: The case for goto by Srcerer on YouTube
suckless
“this suckless approach of obsessing over "bloat” and ESPECIALLY trying to quantify it is just turbonerdery" - message found in a dump of logs from #cat-v
“minimalism is a scam by big small to sell you more less” - Gunshy
suckless' coding style badly imitates pikestyle, so much of their code is much harder to read than it should be.
suckless is right about systemd.
One or more notable members of suckless hold incoherent nonsense beliefs about made-up things like “cultural marxism” and I wouldn’t trust anyone so dumb to write any important code on my computer.
rust

Credit: analognowhere
Rust: massive, confusing, hard to read, and LLVM-dependent but still better than C++.
Like any project worth its salt, Rust’s community is full of egocentric people. To the Archetypical Rust Programmer, other languages are only obstacles to overcome. This fictional insane programmer also conveniently ignores that Rust entirely depends on a backend written in C++.
neovim
Stop calling it vim! They are NOT the same thing!
sudo
sudo is awful big for what most people use it for. apparently it has some advanced features that some administrators are real thankful for, but the typical user will never know.
did you know that the sudo project’s mascot is a sandwich?

/etc/sudoers is way harder to read than anything should ever be, especially given its importance to big vital infrastructure. this is such a problem that they scream at you not to edit sudo’s configuration directly, but instead through visudo so nothing will save if there are errors.
most people would do just fine without sudo and with something simpler and easier to use like doas from OpenBSD.
a sudoers file can be hundreds of lines long on a fresh install of Ubuntu. this, however, is my entire OpenDoas /etc/doas.conf file:
permit nopass :wheel
…not only is this easier to read than
%wheel ALL=(ALL) NOPASSWD: ALL
…but the entirety of the OpenDoas config is one line on my machine, whereas this would be one among tens or hundreds of lines in sudo.