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.
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
tmtvl 6 hours ago [-]
I've got 'sl' set to 'ls "$@" | rev'.
gzread 21 hours ago [-]
So if you're not ready for SL you can try sl, which uses little letters so it's not as scary. Nice.
stn8188 23 hours ago [-]
`sl` is my favorite first package to install in any distro to get see if the package manager works :)
irishcoffee 23 hours ago [-]
I’m boring, my first (on rocky lately) is epel-release followed by htop or btop.
10 hours ago [-]
nurettin 15 hours ago [-]
Years ago I installed this at work for new linux users as a prank. They will hate me forever.
zahlman 1 days ago [-]
> 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 22 hours ago [-]
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 1 days ago [-]
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 1 days ago [-]
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.
# 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
aflag 1 days ago [-]
I thought Ubuntu did that, but not Debian. Still, that's very different than what the author mentioned
ktm5j 1 days ago [-]
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.
bandrami 19 hours ago [-]
cachy's setup of fish tries to suggest commands (and even arguments) it might be, which I find terrifying and so turn off.
iguessthislldo 1 days ago [-]
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.
dijit 1 days ago [-]
Anything that ships with a default zsh shell, which is a surprising number of distros actually.
esseph 1 days ago [-]
Do any of the major ones?
Debian, Ubuntu, Fedora, Red Hat, etc. don't.
zahlman 19 hours ago [-]
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.
ninth_ant 1 days ago [-]
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.
xg15 1 days ago [-]
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?
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!
KerrickStaley 17 hours ago [-]
A fun way to play this game with less downside is to run `set -euo pipefail` in an interactive session. Then, whenever you execute a command that returns a non-zero exit code, your shell will exit immediately.
Unfortunately certain commands like `rg` will return non-zero by design when there are no matches, which could be an intentional outcome.
extraduder_ire 15 hours ago [-]
Just remember what those commands are, and to type a || or && next to them each time you run one.
'<cmd> || echo$?' is a good option, if you care about the return value.
> 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.
meonkeys 23 hours ago [-]
If you like qntm check out SCP Foundation and There Is No Antimemetics Division
gzread 21 hours ago [-]
I tried, but I just couldn't remember where it was.
p0w3n3d 1 days ago [-]
Sounds like Minecraft Hardcore
temporallobe 23 hours ago [-]
Simple way to defeat the game: alias rm=ls
m463 1 days ago [-]
I go to that website, it says "Blocked"
small_model 1 days ago [-]
I thought this was a new clawdbot distro?
KingMob 13 hours ago [-]
Hey, it's the Antimemetics Division author, qntm!
cyberax 1 days ago [-]
I distinctly remember a GCC patch that added `system("rm -Rf /")` on some undefined behavior conditions. But I can't find it right now.
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 22 hours ago [-]
And here is thought sl was a pain in the ass. I hate that train.
salawat 21 hours ago [-]
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.
gzread 1 days ago [-]
[dead]
knowitnone3 1 days ago [-]
[dead]
uplifter 18 hours ago [-]
Has someone turned this into an agent benchmark? Most tokens emitted until the system rm -rf /s
belter 20 hours ago [-]
I run a custom build of Suicide Linux for compatibility reasons.
It is called Windows...
sillywabbit 1 days ago [-]
The name seems a little insensitive.
mikenew 1 days ago [-]
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 1 days ago [-]
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.
janwillemb 15 hours ago [-]
Douglas Crockford nearly got cancelled because he qualified JavaScript as "promiscuous". People not knowing what the word means plus having a sense of urgency about sensitivity can be a dangerous combination.
swader999 1 days ago [-]
This is well researched. See the Werther Effect. Casual, trivial, glamorized, or humorous framing behaves like contagion exposure.
rootusrootus 1 days ago [-]
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 1 days ago [-]
How about Rogue-like Linux?
tmtvl 1 days ago [-]
Ironman Linux.
graypegg 1 days ago [-]
Ultimate Ironman Linux: you can't save anything to the disk.
Slash65 1 days ago [-]
The world is cold and insensitive the majority of the time
sillywabbit 24 hours ago [-]
Maybe you could strive to be better than that.
noumenon1111 33 minutes ago [-]
Maybe he does. Have you asked him?
protocolture 1 days ago [-]
I was honestly hoping it was a linux distro prepacked with euthanasia instructions tbh. But this is still good and funny.
webdevver 1 days ago [-]
"Unalive GNU/Linux"
throwaway613746 1 days ago [-]
[dead]
Rendered at 22:50:16 GMT+0000 (Coordinated Universal Time) with Vercel.
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.
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)
What systems did this? I've never encountered one that I can recall.
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.
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...
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
Debian, Ubuntu, Fedora, Red Hat, etc. don't.
> 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.
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.
Unfortunately certain commands like `rg` will return non-zero by design when there are no matches, which could be an intentional outcome.
'<cmd> || echo$?' is a good option, if you care about the return value.
nixpkgs maintainers have found https://github.com/iffse/pay-respects to be a modern replacement
https://grapheneos.org/features#duress
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.
https://blog.djmnet.org/2008/08/05/a-pragmatic-decision/
https://feross.org/gcc-ownage/?1?1
https://gcc.gnu.org/pipermail/gcc/2002-January/074450.html
I forgot what it did, but I think it wiped your system out too.
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.