Subject: All *ware Sucks
From: [email protected]
Date: Sat, 23 Jun 2018 12:02:45 -0500

Every so often I get pissed and swear I should throw out all hardware
and software I didn't build or write myself because it's all terrible.
All of it. It all sucks.

Yes, even your favorites. suckless.org is my favorite example of
software that doesn't actually suck less - dwm use a Turing-complete,
pointer-mangling, memory-leaking language for *configuration* for
Lovelace's sake. C in general is a huge source of problems, because it's
perfectly suited to writing system software on the PDP-11, but people
use it for literally everything BUT that. (Even the places still running
PDP-11s - Canadian nuclear power plants for example - tend to work in
assembly.)

And hardware, ugh. Don't get me started! The Intel architecture is a
towering pile of hacks and kludges, none of which can even theoretically
go away because binary compatability is king. A chip fabbed last week
STILL boots up thinking it's the 1970s and it's an 8086. And worse, even
once you get it up and running in long mode, the instruction set is
still *nothing* like how the processor actually works, because that
compatability means we cling to being able to pretend to be a fast
PDP-11 despite the fact that's not remotely how execution works. That's
why we get shit like Spectre and Meltdown.

"But what about non-Intel stuff?" I hear you ask? Well, let's see what's
actually in reach for individuals: some microcontrollers, and ARM. Most
of the microcontrollers actually seem pretty okay at doing what they're
designed for, but what they're designed for isn't really general-purpose
computing. It's doing all the small, weird, but vital tasks assorted
devices like cars and thermostats and such do. ARM though, can totally
go up against Intel architectures for most purposes. It does scale
better than x86-64, and it's not *as* bad, but the high-performance
cores still do out-of-order execution rather than allowing the compiler
to figure out what to do while it has access to what the programmer
meant.

Really, the only thing stopping me is the fact that I know all too well
that things I build and write myself suck just as much, if not worse.

~ Keiya