X-Git-Url: http://git.ieval.ro/?p=filters.git;a=blobdiff_plain;f=README;h=5aa366b72fc6da79e27bb2fd84f405ffc5c593de;hp=f5a71ad9d5cc35a0bdaead19681fc8b640b59274;hb=HEAD;hpb=7e3afbbacdd24f8c3fb87599eeda32b977fe6d6c diff --git a/README b/README index f5a71ad..5aa366b 100644 --- a/README +++ b/README @@ -1,39 +1,106 @@ -This is a collection of filters from various places, including: +This is a collection of filters to do all sorts of strange things to text. +B1ff, the Swedish Chef, and an eleet filter are included, along with many, +many more. -http://www.princeton.edu/~mkporwit/pub_links/davido/slang/ +http://joeyh.name/code/filters -http://www.mathlab.sunysb.edu/~elijah/src.html +Since the original versions of some of these filters have copyright +problems, I have done a "clean room" re-implementation of the original lex +filters in perl. I did this without looking at the original code to the +filters at all, I simply observed their output and drew my own conclusions, +and wrote my own code. Then I compared the output of the original and new +filters when ran on large bodies of text, and fixed the things I had +missed. -Collected by Joey Hess +Here are the results of my investigations of how the filters work: +eleet: + This is the simplest filter to figure out. The letters a-z of + the alphabet are replaced with the following letters: + 4 b c d 3 f g h 1 j |< l /\/\ /\/ 0 p q r 5 + u \/ \/\/ >< y z + Note that the equivalent translation is done on upper-case letters. -Note that the Makefile will get the filters to compile on Linux systems. -Otherwise, you're on your own. +fudd: + This one is trivial too. A few transpositions happen differently if + the letter is at the end of the word or not, and I think I found + all the transpositions with only a few paragraphs of sample output. + The only weird thing is that 'n.' is changed to "n, uh-hah-hah-hah." + (Works well with sentances ending in "gun." ..) -Descriptions of the filters: +chef: + Personally my favorite filter. This took a bit of work to figure + out, and I doubt I have everything correct. Note that due to a bug + or an odd feature of the original program, it doesn't seem to think + that the first letter of the first word is really the first letter + of a word and so some of the words below don't trigger for that first + word. I did not emulate this behavior because I think it's probably a + bug. -aust: Australian -b1ff: The B1FF filter -biffa: ?? -buck: The buckwheat filter -censor: [CENSORED] -chef: convert English on stdin to Mock Swedish on stdout -cockney: Cockney English -drawl: English to Texan translator -fin: ?? -fudd: Elmer Fudd -jethro: Hillbilly text filter -jive: Jive English -ken: English into Cockney, featuring (dubious) rhyming - slang for a lot of computer terminology. -kraut: German -mb: Marc Barrett posting translator -moo: The cow filter -newspeak: As in 1984 -nyc: Brooklyn English -valspeak: ?? -ky00te: This program places a very cute (and familiar to FurryMuck - fans) accent to any text file. + The word "bork" is never changed, no matter what any of these + rules may say. Neither is "Bork". -No racial or societal slurs are intended. For amusement only. + The following translations only happen to letters that are the first + letter of a word of at least 2 letters in size: + o -> oo + O -> Oo + + These happen to letters that are not the last letter of a word: + a -> e + A -> e + + These translations only happen if the letter is not the first letter + of a word: + f -> ff + i -> ee (but only the first `i' per word) + o -> u + u -> oo + + These translations always happen: + v -> f + V -> F + w -> v + W -> V + an -> un + An -> Un + au -> oo + Au -> Oo + + Any occurrence of "e" at the end of a word is changed to "e-a". + + Any occurrence of "e" and the beginning of a word is changed to "i". + Same with capitals. + + Any occurrence of "the" is changed to "zee", any occurrence of + "The", to "Zee". + + Any occurrence of "tion" in a word, to "shun". + + Any "th" at the end of a word is changed to "t". + + Any "en" at the end of a word is changed to "ee". + + Any "ow" at the end of a word is changed to "oo". + + And of course, after any `.', `?', or `!' that is at the end of a + line, the Chef prints out a new line, and then the famous + "Bork Bork Bork!", and then another newline. + + Known bugs in this implementation: + - says "frunch", not "french". + - still quite buggy in general. + +b1ff: + Unlike the other filters, b1ff does not try to be an exact duplicate + of its predecessor. + + After upper-casing everything, b1ff does some word and sub-word + substitutions, most of them misspellings. + + B1ff also changes punctuation - All commas become periods; all + semicolons, commas. Question and exclamation marks are changed to + things like "!!!!1!" and "?!?!?!". It looks like the original filter + decided how long a sequence to print based on the text input before + the end of sentence. I took a simpler route and just randomized it. + +Collected and written by Joey Hess