Software
"And folks, let's be honest. Sturgeon was an optimist. Way more than 90% of code is crap." — Al Viro
"There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies and the other way is to make it so complicated that there are no obvious deficiencies." — C.A.R. Hoare, The 1980 ACM Turing Award Lecture
"One of my most productive days was throwing away 1000 lines of code." — Ken Thompson
"..At first I hoped that such a technically unsound project would collapse but I soon realized it was doomed to success. Almost anything in software can be implemented, sold, and even used given enough determination. There is nothing a mere scientist can say that will stand against the flood of a hundred million dollars. But there is one quality that cannot be purchased in this way — and that is reliability. The price of reliability is the pursuit of the utmost simplicity. It is a price which the very rich find most hard to pay." — C.A.R. Hoare
"It's a curious thing about our industry: not only do we not learn from our mistakes, we also don't learn from our successes." — Keith Braithwaite
| Harmful | Less harmful |
|---|---|
| Ubuntu, Fedora, Mint, Manjaro. | Gentoo. |
| systemd. | OpenRC. |
| GNU Coreutils. | sbase, Plan 9 from User Space. |
| cron, anacron, fcron. | scron. |
| Bash, tcsh, zsh. | rc, fish. |
| GNU autoconf/automake, CMake, imake, scons, waf. | mk, or plain old portable makefiles. |
| PulseAudio, PipeWire. | OSS4, ALSA (direct). |
| systemd-resolved, dnsmasq. | unbound, knot-resolver. |
| NetworkManager, systemd-networkd. | ifconfig, ip, dhcpcd. |
| GRUB. | syslinux, EFISTUB. |
| glibc. | musl, ucLibc, DietLibc. |
| systemd-journald, syslog-ng. | socklog, svlogd. |
| udev, systemd-udevd. | mdev, eudev. |
| elogind, systemd-logind. | seatd. |
| SGML, XML, YAML. | JSON, CSV, ndb(6), plain (UTF-8) text. |
| NFS, SMB, AFS, WebDAV. | 9p. |
| C++, Java, Vala, D, Python, Ruby. | C, Go, Limbo. |
| GCC. | 8c, tcc. |
| pthreads (POSIX threads). | CSP-style concurrency: Go, libthread, libtask, Limbo, Erlang, ... |
| Perl, Ruby. | rc, awk. |
| PCRE. | Structural Regular Expressions or plain classic/extended regexps (as used in awk, sed, grep, etc.). |
| GNU Screen. | tmux, dvtm. |
| GNU info. | Man pages. |
| Glib. | libc (see above), p9p's C libraries. |
| GTK, Qt, VxWindows. | Tk, textual interfaces. |
| GNOME Lock Screen, KDE Lock Screen, i3lock. | slock. |
| GNOME, KDE, XFCE, i3, Sway. | dwm. |
| Polybar, Waybar, i3bar. | dwmblocks. |
| Rofi, Wofi, Albert. | dmenu. |
| VS Code, IntelliJ, Eclipse, Sublime Text. | nvim (base), vis. |
| Vim, Emacs, nano. | Acme, Sam, ed. |
| Org-mode, Notion, Obsidian. | Emacs (vanilla + elfeed). |
| Nautilus, Dolphin, Thunar. | nnn. |
| Word, Google Docs, LibreOffice Writer. | vis, ed. |
| Evince, Okular, Adobe Reader. | zathura (pdf, djvu, ps, cb plugins). |
| Eye of GNOME, feh, sxiv. | nsxiv. |
| VLC, Celluloid. | mpv. |
| Spotify, Apple Music, YouTube Music. | mpd + ncmpcpp. |
| htop, glances. | btop. |
| Google Calendar, Outlook. | calcurse. |
| Newsboat. | sfeed. |
| Thunderbird (for Usenet). | tin. |
| HexChat, WeeChat, irssi. | catgirl, sic. |
| Slack, Discord, Teams. | IRC (catgirl, sic). |
| Compiz, Mutter, KWin. | picom. |
| notify-osd, Mako. | dunst. |
| Google Contacts, GNOME Contacts. | abook. |
| neofetch, screenfetch. | fastfetch. |
| PowerPoint, Google Slides, Impress. | sent. |
| Figma, Sketch, Canva. | inkscape, gimp. |
| qBittorrent, Transmission, Deluge. | rtorrent. |
| Mullvad app, NordVPN, ExpressVPN. | Mullvad VPN (CLI), openvpn, proxychains-ng. |
| 1Password, LastPass, Bitwarden. | pass. |
| Greenclip, CopyQ, Clipman. | xclipboard. |
| Flameshot, Spectacle, Shutter. | scrot. |
| uBlock Origin hosts, Pi-hole. | Custom hosts file. |
| Raindrop, Pocket, browser bookmarks. | buku. |
| Docker Desktop, Portainer. | lazydocker. |
| UTF-16, UTF-32, Latin-1, other encodings. | UTF-8. |
| iSCSI, FCoE. | AoE (ATA over Ethernet). |
| PAM (Pluggable Authentication Modules). | Factotum. |
| Jabber and XMPP. | IRC (for IM), STOMP (for general distributed messaging). |
| IMAP. | SMAP (Simple Mail Access Protocol). |
| SQL databases. | Tutorial D, pq, BigTable, plain old hierarchical filesystems. |
| Subversion, aka svn. | Git, Mercurial (aka hg); hell, even CVS or plain old tarballs would be better than svn. |
| FreeBSD, NetBSD, Solaris. | OpenBSD. |
| Apache, lighttpd. | thttpd, OpenBSD's fork of apache 1.3, nginx, or best of all: don't use HTTP. |
| SVG. | PS (PostScript). |
| PDF. | PS (PostScript), DjVu. |
| EPUB. | DjVu. |
| GPL, LGPL, Apache Software License, MPL, CC. | ISC, MIT/X, BSD, CC0, public domain. |
| head. | sed 11q. |
Internet
"If you're not paying for the product, you are the product." — often attributed to Andrew Lewis
"Surveillance capitalism unilaterally claims human experience as free raw material for translation into behavioral data." — Shoshana Zuboff
| Harmful | Less harmful |
|---|---|
| Social media (Facebook, Twitter, Instagram, TikTok). | Forums, Usenet, IRC, federation (ActivityPub, Matrix). |
| Age verification. | Say no to verification. |
| Chrome, Edge, Safari (Chromium-based). | Ungoogled Chromium, Thorium, Brave. |
| Firefox (Mozilla-based). | LibreWolf, IceCat. |
| All of the above (GUI browsers). | nyxt, qutebrowser, surf. |
| Upcummies and downcummies. | Try leaving a useful comment, sluggard. |
Finance
| Harmful | Less harmful |
|---|
Literature
| Harmful | Less harmful |
|---|
Mathematics
| Harmful | Less harmful |
|---|
Media
| Harmful | Less harmful |
|---|
Society
| Harmful | Less harmful |
|---|