lucke "possums considered harmful"

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.”

−Terry Davis2

“Noise comes with sophistication.”

− Rob Pike3

References

  1. Invention of the integrated circuit, Wikipedia
  2. Terry Davis' TempleOS Brutal Take Down (sic) of Linus Torvalds, Terry Davis Old Archive on YouTube
  3. 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:

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

OBEY SUDO! sudo make me a sandwich

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?

sudo mascot

/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.