Remix.run Logo
Suicide Linux (2009)(qntm.org)
92 points by icwtyjj 9 hours ago | 56 comments
not_your_vase 8 hours ago | parent | next [-]

Somewhat reminds me of the vigil eso-language (https://github.com/munificent/vigil)

It's a programming language that helps you write error-free programs, by self-correcting itself. If it finds an error (exception), it simply deletes the offending code until the program runs without an error.

wfleming 6 hours ago | parent [-]

There is also a JS pkg with similar behavior: https://github.com/mattdiamond/fuckitjs

orthoxerox 7 hours ago | parent | prev | next [-]

For those who aren't ready for Suicide Linux yet, there's `sl`, a command that mildly punishes you for not being able to type `ls`, available in most distros.

  sudo apt install sl
gzread 4 hours ago | parent | next [-]

So if you're not ready for SL you can try sl, which uses little letters so it's not as scary. Nice.

stn8188 6 hours ago | parent | prev [-]

`sl` is my favorite first package to install in any distro to get see if the package manager works :)

irishcoffee 5 hours ago | parent [-]

I’m boring, my first (on rocky lately) is epel-release followed by htop or btop.

dang 8 hours ago | parent | prev | next [-]

Related. Others?

Suicide Linux - https://news.ycombinator.com/item?id=41748336 - Oct 2024 (1 comment)

Suicide Linux (2009) - https://news.ycombinator.com/item?id=24652733 - Oct 2020 (170 comments)

Suicide Linux - https://news.ycombinator.com/item?id=15561987 - Oct 2017 (131 comments)

Suicide Linux (2011) - https://news.ycombinator.com/item?id=9401065 - April 2015 (55 comments)

Suicide Linux: Where typos do rm -rf / - https://news.ycombinator.com/item?id=4389931 - Aug 2012 (1 comment)

zahlman 9 hours ago | parent | prev | next [-]

> I suppose I should finally clear this up: The autocorrect functionality I originally described here was a feature of the first Linux systems I ever used, so I assumed it was how every Linux system worked by default. Since then I've come to understand that it's a completely optional extra doodad.

What systems did this? I've never encountered one that I can recall.

shagie 5 hours ago | parent | next [-]

I recall from my early days of reading the jargon file... maybe DWIM? http://www.catb.org/jargon/html/D/DWIM.html (that said, someone who used that version would have many gray hairs... I was reading about this back in the early 90s).

    Warren Teitelman originally wrote DWIM to fix his typos and spelling errors, so it was somewhat idiosyncratic to his style, and would often make hash of anyone else's typos if they were stylistically different. Some victims of DWIM thus claimed that the acronym stood for ‘Damn Warren’s Infernal Machine!'.

    In one notorious incident, Warren added a DWIM feature to the command interpreter used at Xerox PARC. One day another hacker there typed delete *$ to free up some disk space. (The editor there named backup files by appending $ to the original file name, so he was trying to delete any backup files left over from old editing sessions.) It happened that there weren't any editor backup files, so DWIM helpfully reported *$ not found, assuming you meant 'delete *'. It then started to delete all the files on the disk! The hacker managed to stop it with a Vulcan nerve pinch after only a half dozen or so files were lost.

    The disgruntled victim later said he had been sorely tempted to go to Warren's office, tie Warren down in his chair in front of his workstation, and then type delete *$ twice.

    DWIM is often suggested in jest as a desired feature for a complex program; it is also occasionally described as the single instruction the ideal computer would have. Back when proofs of program correctness were in vogue, there were also jokes about DWIMC (Do What I Mean, Correctly). A related term, more often seen as a verb, is DTRT (Do The Right Thing); see Right Thing.
ktm5j 8 hours ago | parent | prev | next [-]

I'm on my phone so I'm too lazy to dig for this, but I'm pretty sure they're talking about the bit of shell script that gets run if you type a command that isn't found in PATH.

Fedora and Debian will both dive straight into searching apt/dnf for a matching package and ask "do you want to install this?"

I imagine you could create a hook that gets run for any command failure, but again I'm on my phone so not sure.

VorpalWay 8 hours ago | parent | next [-]

This is generally called a command-not-found handler and are a feature of all the major shells (though the exact details differ, the general idea is to define a function with a specific reserved name), and most majors distros have ones that can be installed, even if they aren't by default.

I wrote my own (much faster) such handler for Arch Linux. I even wrote a blog post about the design: https://vorpal.se/posts/2025/mar/25/filkoll-the-fastest-comm...

zahlman an hour ago | parent [-]

I thought of that, but TFA describes a system that trips on incorrect filenames rather than just incorrect commands.

dataflow 8 hours ago | parent | prev | next [-]

It's https://packages.debian.org/sid/command-not-found

ktm5j 8 hours ago | parent [-]

which is run by bash in the way I described.

In /etc/bash.bashrc:

# if the command-not-found package is installed, use it if [ -x /usr/lib/command-not-found -o -x /usr/share/command-not-found/command-not-found ]; then ... fi

bandrami an hour ago | parent | prev | next [-]

cachy's setup of fish tries to suggest commands (and even arguments) it might be, which I find terrifying and so turn off.

aflag 8 hours ago | parent | prev [-]

I thought Ubuntu did that, but not Debian. Still, that's very different than what the author mentioned

ktm5j 8 hours ago | parent [-]

Oh you might be right about Ubuntu vs Debian.. but I'm right about everything else I said. I went and looked at the source code.

iguessthislldo 8 hours ago | parent | prev | next [-]

Zsh can suggest the corrections to commands and filename. I'm not sure if that's what they're talking about, but zsh has been around for awhile.

xg15 7 hours ago | parent | prev | next [-]

Wasn't there an article on here a while ago that this "autocorrect" had a bug and was actually supposed to trigger only after several seconds of no user input, not immediately?

ninth_ant 8 hours ago | parent | prev | next [-]

There are some bash options like cdspell or dirspell that are likely what the blog author is referring to.

Either that or they were using zsh with autocorrect preinstalled or had somehow rigged up the thefuck to execute and run on any error somehow? Either way seems like a terrible default.

dijit 8 hours ago | parent | prev [-]

Anything that ships with a default zsh shell, which is a surprising number of distros actually.

esseph 7 hours ago | parent [-]

Do any of the major ones?

Debian, Ubuntu, Fedora, Red Hat, etc. don't.

zahlman an hour ago | parent [-]

Wikipedia:

> Zsh is available for Microsoft Windows as part of the UnxUtils collection and has been adopted as the default interactive shell for macOS, Deepin, and Kali Linux.

Mac is, in principle, a pretty big deal, but otherwise it isn't a common default.

drunkonvinyl 5 hours ago | parent | prev | next [-]

this reminded me of this wonderful utility: https://github.com/nvbn/thefuck

pbronez 5 hours ago | parent [-]

That one actually looks useful!

thenthenthen 4 hours ago | parent | prev | next [-]

The 120 days of *buntu (2011) was maybe inspired by this? A collection of 120 strange, useless, funny ubuntu variants: https://yugo.at/projects/120days/ and pdf here (78Mb) https://yugo.at/pdfs/120days_of_buntu_Danja-Vasiliev_Gordan-...

secbear 6 hours ago | parent | prev | next [-]

Hard mode- constant auto-complete suggestions that are right ~50% of the time

ghrl 8 hours ago | parent | prev | next [-]

I did something similar while I was still working with Windows a long time ago. I had just switched to PowerShell from the basic command line and kept typing cls, which did not work. I had typed that so often it was completely in my muscle memory, and every time the ugly PowerShell error would appear. So I decided to do the proper thing and NOT alias cls to clear, but instead alias it to immediate shutdown (shutdown -f -t 0 -s iirc) and that did work eventually. Wouldn't change a thing since clear is the universal command almost anywhere so it's a lot better muscle memorizing that!

munificent 4 hours ago | parent | prev | next [-]

> As another, slightly more serious suggestion, if Suicide Linux randomly deleted a single file without telling you every time you made a typographical error, it might be an interesting look into the stability of your operating system and an educational tool for diagnosing and repairing corrupted systems.

I seem to recall an experimental indie game that worked this way. If your character died, a random file on your hard disk was deleted. It was a really interesting idea to highlight our implicit assumptions around what games can and can't do, and a way to raise the stakes of the gameplay experience.

p0w3n3d 7 hours ago | parent | prev | next [-]

Sounds like Minecraft Hardcore

cf100clunk 7 hours ago | parent | prev | next [-]

Suicide Android?

https://grapheneos.org/features#duress

meonkeys 5 hours ago | parent | prev | next [-]

If you like qntm check out SCP Foundation and There Is No Antimemetics Division

gzread 4 hours ago | parent [-]

I tried, but I just couldn't remember where it was.

temporallobe 6 hours ago | parent | prev | next [-]

Simple way to defeat the game: alias rm=ls

m463 7 hours ago | parent | prev | next [-]

I go to that website, it says "Blocked"

small_model 7 hours ago | parent | prev | next [-]

I thought this was a new clawdbot distro?

belter 3 hours ago | parent | prev | next [-]

I run a custom build of Suicide Linux for compatibility reasons. It is called Windows...

cyberax 8 hours ago | parent | prev | next [-]

I distinctly remember a GCC patch that added `system("rm -Rf /")` on some undefined behavior conditions. But I can't find it right now.

quuxplusone 7 hours ago | parent | next [-]

Are you thinking of how early releases of GCC would (as an easter egg) run emacs, hack, or rogue upon encountering an unknown #pragma directive?

https://blog.djmnet.org/2008/08/05/a-pragmatic-decision/

webdevver 7 hours ago | parent | prev [-]

I've never heard of it doing rm -rf, but apparnetly it did try to launch nethack under certain unknown preprocessor conditions:

https://feross.org/gcc-ownage/?1?1

https://gcc.gnu.org/pipermail/gcc/2002-January/074450.html

jmclnx 8 hours ago | parent | prev | next [-]

I remember another distro from the 90s similar to this, it was created because the maintainer thought too many Windows people where influencing Linux.

I forgot what it did, but I think it wiped your system out too.

mmcgaha 5 hours ago | parent | prev | next [-]

And here is thought sl was a pain in the ass. I hate that train.

salawat 3 hours ago | parent | prev | next [-]

Oh, I felt attacked there for a moment. I have a circa 2015ish desktop that's actually got hard drives in it that consist of a Slackware15 install, a partial Kali, and I think an incomplete Linux From Scratch tool chain. I've nuked it so many times. Usually by falling victim to the temptation to fuck with libc after 8 p.m. This generally has to then be resolved by either recovery LiveUSB, or in one daring case, one SSH daemon session holding on for dear life after creatively tweaking the LD path to cannibalize libraries from another partially working/compiled distro to limp the system back to a bootable order. Learned a lot about how linker/loaders worked that weekend. Then there was the war of the bootloaders when it still had windows on it. Finally purged that with prejudice.

Now I just have to figure out how in the hell to setup bootloading with UBoot for an OrangePI 5 so I can actually start using kernels other than theirs, then I'm set for my next experience crashing system boards with no survivors.

When my juniors ask how I know so much about computers, I can honestly say it's because I am the single most poorly behaved user of other people's code on the planet.

uplifter 29 minutes ago | parent | prev | next [-]

Has someone turned this into an agent benchmark? Most tokens emitted until the system rm -rf /s

sillywabbit 8 hours ago | parent | prev [-]

The name seems a little insensitive.

mikenew 8 hours ago | parent | next [-]

The side effect of trying to enforce this kind of sensitivity is that you make certain things taboo to talk about. And this is a good example of something that should be easy for someone to talk or even joke about because it makes dipping into that conversation much easier.

notfed 8 hours ago | parent | next [-]

Is there a name for this? I think about this all the time. I've always had a theory that some offensive words may actually be persisting longer solely because we essentially calcify their definitions and never allow them to evolve into new less offensive meanings.

swader999 7 hours ago | parent | prev | next [-]

This is well researched. See the Werther Effect. Casual, trivial, glamorized, or humorous framing behaves like contagion exposure.

rootusrootus 7 hours ago | parent [-]

The Werther Effect seems to be all about media reporting? All the reputable sources I could easily find suggest that talking about suicide casually does not inspire it.

sillywabbit 8 hours ago | parent | prev [-]

How about Rogue-like Linux?

tmtvl 8 hours ago | parent [-]

Ironman Linux.

graypegg 7 hours ago | parent [-]

Ultimate Ironman Linux: you can't save anything to the disk.

Slash65 7 hours ago | parent | prev | next [-]

The world is cold and insensitive the majority of the time

sillywabbit 6 hours ago | parent [-]

Maybe you could strive to be better than that.

protocolture 7 hours ago | parent | prev | next [-]

I was honestly hoping it was a linux distro prepacked with euthanasia instructions tbh. But this is still good and funny.

webdevver 7 hours ago | parent | prev [-]

"Unalive GNU/Linux"