5 ms·
Suicide Linux (2009)
- zahlman 8mo 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.
- iguessthislldo 8mo agoZsh 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 8mo agoAnything that ships with a default zsh shell, which is a surprising number of distros actually.
- esseph 8mo agoDo any of the major ones? Debian, Ubuntu, Fedora, Red Hat, etc. don't.
- zahlman 8mo agoWikipedia: > 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.
- ktm5j 8mo agoI'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.
- aflag 8mo agoI thought Ubuntu did that, but not Debian. Still, that's very different than what the author mentioned
- ktm5j 8mo agoOh 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.
- dataflow 8mo agoIt's https://packages.debian.org/sid/command-not-found https://packages.debian.org/sid/command-not-found
- ktm5j 8mo agowhich 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
- VorpalWay 8mo agoThis 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-command-not-found-handler/ https://vorpal.se/posts/2025/mar/25/filkoll-the-fastest-comm...
- zahlman 8mo agoI thought of that, but TFA describes a system that trips on incorrect filenames rather than just incorrect commands.
- ninth_ant 8mo agoThere 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 8mo agoWasn'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?
- shagie 8mo agoI recall from my early days of reading the jargon file... maybe DWIM? http://www.catb.org/jargon/html/D/DWIM.html 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.
- jmclnx 8mo agoI 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.
- dang 8mo agoRelated. Others? Suicide Linux - https://news.ycombinator.com/item?id=41748336 https://news.ycombinator.com/item?id=41748336 - Oct 2024 (1 comment) Suicide Linux (2009) - https://news.ycombinator.com/item?id=24652733 https://news.ycombinator.com/item?id=24652733 - Oct 2020 (170 comments) Suicide Linux - https://news.ycombinator.com/item?id=15561987 https://news.ycombinator.com/item?id=15561987 - Oct 2017 (131 comments) Suicide Linux (2011) - https://news.ycombinator.com/item?id=9401065 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 https://news.ycombinator.com/item?id=4389931 - Aug 2012 (1 comment)
- sillywabbit 8mo agoThe name seems a little insensitive.
- mikenew 8mo agoThe 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.
- sillywabbit 8mo agoHow about Rogue-like Linux?
- notfed 8mo agoIs 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 8mo agoThis is well researched. See the Werther Effect. Casual, trivial, glamorized, or humorous framing behaves like contagion exposure.
- rootusrootus 8mo ago
- gzread 8mo ago[dead]
- not_your_vase 8mo agoSomewhat reminds me of the vigil eso-language (https://github.com/munificent/vigil 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 8mo agoThere is also a JS pkg with similar behavior: https://github.com/mattdiamond/fuckitjs https://github.com/mattdiamond/fuckitjs
- cyberax 8mo agoI distinctly remember a GCC patch that added `system("rm -Rf /")` on some undefined behavior conditions. But I can't find it right now.
- quuxplusone 8mo agoAre 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/ https://blog.djmnet.org/2008/08/05/a-pragmatic-decision/
- webdevver 8mo agoI'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://feross.org/gcc-ownage/?1?1 https://gcc.gnu.org/pipermail/gcc/2002-January/074450.html https://gcc.gnu.org/pipermail/gcc/2002-January/074450.html
- kryptiskt 8mo agoBack in the day, a GHC release had a bug that deleted source files with errors in them: https://gitlab.haskell.org/ghc/ghc/-/issues/163 https://gitlab.haskell.org/ghc/ghc/-/issues/163. Which is pretty harsh as diagnostics go.
- ghrl 8mo agoI 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!
- small_model 8mo agoI thought this was a new clawdbot distro?
- p0w3n3d 8mo agoSounds like Minecraft Hardcore
- cf100clunk 8mo agoSuicide Android? https://grapheneos.org/features#duress https://grapheneos.org/features#duress
- knowitnone3 8mo ago[dead]
- orthoxerox 8mo agoFor 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
- nurettin 8mo agoYears ago I installed this at work for new linux users as a prank. They will hate me forever.
- stn8188 8mo ago`sl` is my favorite first package to install in any distro to get see if the package manager works :)
- irishcoffee 8mo agoI’m boring, my first (on rocky lately) is epel-release followed by htop or btop.
- deleted 8mo ago[deleted]
- gzread 8mo agoSo if you're not ready for SL you can try sl, which uses little letters so it's not as scary. Nice.
- tmtvl 8mo agoI've got 'sl' set to 'ls "$@" | rev'.
- m463 8mo agoI go to that website, it says "Blocked"
- secbear 8mo agoHard mode- constant auto-complete suggestions that are right ~50% of the time
- temporallobe 8mo agoSimple way to defeat the game: alias rm=ls
- meonkeys 8mo agoIf you like qntm check out SCP Foundation and There Is No Antimemetics Division
- gzread 8mo agoI tried, but I just couldn't remember where it was.
- drunkonvinyl 8mo agothis reminded me of this wonderful utility: https://github.com/nvbn/thefuck https://github.com/nvbn/thefuck
- mmcgaha 8mo agoAnd here is thought sl was a pain in the ass. I hate that train.
- munificent 8mo ago> 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.
- thenthenthen 8mo agoThe 120 days of *buntu (2011) was maybe inspired by this? A collection of 120 strange, useless, funny ubuntu variants: https://yugo.at/projects/120days/ https://yugo.at/projects/120days/ and pdf here (78Mb) https://yugo.at/pdfs/120days_of_buntu_Danja-Vasiliev_Gordan-Savicic.pdf https://yugo.at/pdfs/120days_of_buntu_Danja-Vasiliev_Gordan-...
- salawat 8mo agoOh, 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.
- belter 8mo agoI run a custom build of Suicide Linux for compatibility reasons. It is called Windows...
- uplifter 8mo agoHas someone turned this into an agent benchmark? Most tokens emitted until the system rm -rf /s
- KerrickStaley 8mo agoA 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 8mo agoJust 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.
- KingMob 8mo agoHey, it's the Antimemetics Division author, qntm!
- cryptonector 8mo ago`rm -rf /` can be made to do nothing destructive and still be standards-compliant because in the standard `rm -rf /` is UB.
- Cluelessidoit 8mo agoThis is super cool!!! I’ve never heard of it