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.
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!
> 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.
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.
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
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.
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.
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.
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)
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.
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!
> 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.
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.
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...
I thought Ubuntu did that, but not Debian. Still, that's very different than what the author mentioned
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.
It's https://packages.debian.org/sid/command-not-found
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
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.
Anything that ships with a default zsh shell, which is a surprising number of distros actually.
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.
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.
[dead]
The name seems a little insensitive.
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.
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.
How about Rogue-like Linux?
Ironman Linux.