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.
> 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 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.
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
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?
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 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!
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.
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.
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.
reply