Date: Thu, 02 Jul 2020 18:17:47 -0500
Subject: Ubuntu rant [NSFW]

I fired this off earlier to a(nother?) assemblage of curmudgeons, continuing
a thread we were having about "apt-get" refusing to pull packages.  [The
answer to *that*?  Make sure your RTC matches reality within an hour or so.]


Subject: Re: "apt" to fail

Well, the deep deep ratholed joys of building/tuning a modern Ubuntu system
continue apace.  Having never really dug into the X and desktop environment
stuff before, I've learned that there is no mask effective enough to filter
out the *stench* that arises therefrom.  Kde, xdg, xfce, lxde, openbox,
freedesktop, gnome, gtk, Qt, WHICH IS IT ??  Answer: all of them at once,
with dangling stubs from previous instantiations from when some enthusiastic
young'n got the idea to rework all of it and stuff commits back up to github
without any peer-review for sensibility, and now where do ANY of the init
files live?  All over the place.  Are they stanza-driven?  XML?  Flat text?
A sqlite database that was generated from some obscure package postinstall?
Oh, and which pieces lives on which side of the "Dbus" boundary?

How do I just make ONE fucking button in a toolbar to run a one-off shell
script to kick something I need to?  Good luck with that, maybe learn how
to construct a .desktop wrapper and figure out where to drop it such that
whatever window system is up and limping this week has any hope of finding
it.  Oh, syntax error, you have to insulate that with "sh -c" and by
the way the comments at the top say you shouldn't be editing these config
files directly, use the broken GUI tool that doesn't even offer the option
of constructing anything like that.

       Fuck me with a broken Galliano bottle dipped in battery acid.

Oh, and don't get me started on "systemd".  Take a perfectly good /etc/rc
file and smash it into 437 fragments... my fix for that, rather than spend
hours giant-grepping for where that crap lives, has more than once been
to drop "systemctl useless.service stop" lines and whatever else I need
into a still viable rc.local that I know runs late in the boot process, and
call it a day.  A little selective disablement is still needed to prevent
stuff from starting on external events, but so far that's been pretty
minimal.  NetworkManager is another part of that nightmare, but I'm used to
that model on the Mac and keeping the GUI net-config functional might have
some degree of value... just have to figure out how to put a well deserved
stake through the (restartable?) heart of this MDNS and "bonjour" garbage.
Vive le resistance, resolv.conf forever!

That aside, though, any sage advice on minimizing writes to the SSD would
be gladly accepted.  I've put "noatime" in fstab, I told "journald" to
shit into ramdisk /var/run instead of real storage, and cut down the level
of what shows up in rsyslog.  Most heavy caching like browsers is symlinked
to more ramdisk under the conveniently provided /dev/shm.  I edit almost
all of my interim work in ramdisk areas and only save final product back out
to storage [which, with NVMe modules, you can't really call "disk" anymore].
Oh, and SSD "trim" is basically counterproductive so *that* ain't happening.

I've got a question in to Samsung if writing all ones to the device will
really store as *no* gate voltage applied to MLC cells, i.e. if it's worth
backfilling with 0xFF in the hope that the built-in drive GC will be moving
more "non-programmed" blocks around and thus improving flash wearout
lifetime.  Still wondering about that.  [Not running it encrypted, obviously]

All this so Mom, who recently turned 90, can click one thing and get her
mail, and click another thing to get Google and Wikipedia.  That alone
is still going to terrify her.

Staring blankly at a dusty stack of 5.25 floppies on the shelf,