Skip to content
This repository has been archived by the owner. It is now read-only.
Switch branches/tags
Go to file

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

insulterr - insult the user with every errormessage

I had a discussion earlier about modern *nix-users using stuff like automatic zsh typo correction or capitalisation-independent completion. During this discussion I said something along the lines of „I want my shell to tell me, when I have a typo. I want it to tell me, what an idiot I have been and that I suck, so I don't repeat my mistakes“. This is now finally possible.

insulterr is a small LD_PRELOAD-library, that replaces funktions like error(3), strerror(3) or perror(3) to append an insult to every error-message. Using it globally in your session makes every tools using one of these functions (which is at least everything in the linux corutils) append an insult to error-messages like „no such file or directory“.

insulterr looks up a files of localized insults from a directory named in the environment variable INSULTERR_DIR (the locale is not used yet). In the file there should be one insult per line (with a terminating newline). insulterr will then choose a random error message from this file on every error.

Building and installing

$ make
$ mkdir $(HOME)/.insulterr
$ cp $(HOME)/.insulterr/
$ cp insults $(HOME)/.insulterr
$ echo "INSULTERR_DIR=${HOME}/.insulterr/insults" >> ~/.profile
$ echo "LD_PRELOAD=${HOME}/" >> ~/.profile

After restarting your shell, you can do something like

$ cat nonexistentfile
cat: nonexistentfile: No such file or directory, you idiot!


There is still a lot of work needed to make this a usefull tool. The following is a short list of stuff, I intend to add over the next few days/weeks:

  • Replacing error messages of (at least) zsh (for example, unknown commands do not trigger an insult yet)
  • Better installation


Insult the user with every errormessage



No releases published


No packages published