~$ :(){ :|:& };: It creates a function called ":" that accepts no arguments-- that's the ":(){ ... }" part of the utterance. The code in the function calls the recursively calls the function and pipes the output to another invocation of the function-- that's the ":|:" part. The "&" puts the call into the background-- that way the child process don't die if the parent exits or is killed. Note that by invoking the function twice, you get exponential growth in the number of processes (nasty!). The trailing ";" after the curly brace finishes the function definition and the last ":" is the first invocation of the function that sets off the bomb.