THE SECOND REINCARNATION OF THE FINAL GRANDSON OF
WOWBAGGER
THE INFINITELY PROLONGED
(this document was last updated 29 November 2004)
OVERVIEW
"The Second Reincarnation of the Final Grandson of Wowbagger the Infinitely Prolonged" is an Insult Generation program for PC machines running Windows.
The program and its documentation were written by C.R.I.M.E. Development, based on an original idea conceived by Dave Bloemendaal and Stefan Posthuma in July 1987. C.R.I.M.E. Development can be reached by clicking here; the latest version of this software can be found at the official support site, which is located at
http://www.wowbagger.com. Check this site out for a detailed list of systems on which the program has been tested.WHAT IS IT?
"Wowbagger" is a program that insults the person using the computer, at specified intervals. It generates these insults by combining words from a library of words. These consist of adverbs (very, enormously, unhealthily), adjectives (big, large, small, lice-ridden) and nouns (person, someone, dog, pig). For added effect in several languages, non-countable nouns (such as "urine" and "rabbit’s droppings") have an extra bit in front of them that I called a collection (such as "toilet bowl full of" or "mug filled with"). Depending on the language, gender-fitting adjectives are picked, and the order of phrases is adapted (adverb - adjective - noun in English, but noun - adverb - adjective in Portuguese, for example).
HISTORY
The date is...not exactly known, but around the middle of August 1990. The location is...known: Gütersloh, Germany. A bored games designer takes some time off to code a small program based on an idea originally by two friends of his, concocted some three years earlier. The first version of this program gets released on 29 August, and is named "Wowbagger (the Infinitely Prolonged)". Its goal: To insult when- and wherever possible. Its use: None. Platform: Atari ST.
Various enhanced version appear in the months and even years after that: The configurable "Son Of" (February 1993), the extended "Final Son Of" (May 1993), the GEM-enhanced "Grandson Of" (August 1994) and the totally flexible and even more extended "Final Grandson Of" (July 1998). This "Final Grandson Of" is the last version to be released on the Atari platform.
Around the time when this same programmer feels his way around the intricacies of "Visual Basic", early summer 1998, the first PC (Windows 95/NT) version is released - "The Reincarnation of the Final Grandson Of" (June 1998). An improved (read: debugged, but also enhanced) version is released in July of that year. Due to a pretty terrible hard disk crash (combined, needless to say, with said programmer’s habit of not making regular backups) the source code is lost that same month. A grim day in the history of profanity and creative insultry alike
L .In August 1999, with the erection of the "Wowbagger" support site and rekindled interest in the program, a new version is thought of, now "The Second Reincarnation of..." (a.k.a. "Wowbagger 6"). In November, time is allocated to sit down and do the nitty gritty. Thes latest version includes more words (of course) and lots more different languages.
December 2nd 2004 sees the release of "The Fifth Anniversary Edition", version 6.6.6. This to celebrate the 5th anniversary of 'The Second Reincarnation' and release upon mankind a version that is rather more bug-fixed for operating systems like Windows 2000 and Windows XP.
HISTORY OF THE PC VERSIONS
Version 5.0.1 - June 1998.
The first PC version. Basically offering the same functionality as the Atari version, but with the words database cleaned up (no more doubles) and extended, adjective possibility added in front of the "collection" phrase, no printer output. CLI mode is the same as the Atari version, too, only now it will put the insult on the clipboard instead of in a temporary disk file. Also, it can detect the currently logged on user name, if present, and use that when insulting (this is also used, if present, in ‘test’ mode).
Version 5.1.0 - July 1998.
A lot of words added (the program can now generate 577% more curses!). Also, the >30 minute bug was fixed. This used to disable the program altogether when lurk times in excess of 30 minutes were specified.
Version 6.0.x - November 1999
A completely reprogrammed version. I'd like to say this was a deliberate choice, but in fact I had somehow completely lost the version 5.x source files. The only thing remaining from version 5.x was the list of insult phrases, which I managed to rip using a disk editor. Well hey. This version had more words again (incredibly much more, in fact), and more languages supported. Also, I’ve now done it right (sortof) programming-wise. The swearing code is in an object that can be called from any program (such as, indeed, the Wowbagger User Interface provided, but also from Microsoft "Internet Explorer" for example). I am quite proud of it. It should be noted that the insult generation statistics have decreased a lot, with somewhere in the realm of dozens of billions of phrases creatable (instead of hundreds of thousands of billions such as it was before). This is the price of better overall grammatical correctness. The phrases ought to make a lot more sense now, though.
Version 6.1.x - January 2000
Primarily a bug-fixed version. The ‘maximum’ checkbox didn’t work, but now it does. No use is made of ‘Startup’ shortcuts anymore, but the registry ‘run’ key is used instead. Much neater. There was a pretty serious repetitive timer bug that was fixed, too (this mainly reared its head with short intervals). Various other bits were improved, too.
Version 6.2.x - February 2000
Stuff was enhanced. The user interface now includes menu support and has a nifty little status bar of which you won’t know the function until you are made aware of a hidden function in the program (you will be made aware of this when you request the XXX password). Additionally, WAV file selection has been made more comfortable, the mouse shape changes to an hourglass during time-consuming operations (an oversight previously) and it is possible to specify the name of the person who needs to be insulted (if none is specified, the login UserName is used, if present).
I haven’t yet managed to fix the NT 4.0 bug. First I need to know what the heck causes it. At the least this means that there will very likely be a version 6.3.x in the future. I might even go ahead and call that one 7.1.x or something.
Version 6.3.x - March 2000
The program is still pretty new, which means that I still regularly come up with stuff to add. This time I added three things: First, if the program is run on a system with the Speech API installed (which can be downloaded from the Microsoft website in the form of the Speech SDK, and it might be standard in W2K), and the insults are in English, you are now also audibly insulted. Second, the first time you run the program it will default to your local language (according to your Windows locale settings), provided it’s present. Third, it will recognise when you’re trying to run it more than once at the same time.
Also, a few words have been added to the database.
Version 6.5.x - April 2000
Finally, I fixed the bug that prevented the program from working on Windows NT 4.0. About time, right? As it turned out (techno explanation alert!) the callback routine needed to accept a bunch of specific parameters which I’d neglected to implement. Hence the minor version jump by two.
Also - again - a couple of words have been added to the database (a few Captain Haddock ones for Dutch in particular).
Version 6.6.6 - December 2004
Through the ages, the software had become dependent on rather outdated Windows DLLs that it still insisted upon lugging around and trying to install. This led to some incompatibility issues on Windows 2000/XP systems. These were fixed. Also, more new words than ever before were added: We have finally crashed headlong through the 1.000.000.000.000 barrier!
WHO IS WOWBAGGER THE INFINITELY PROLONGED?
A character from Douglas Adams’ "The Hitchhiker’s Guide to the Galaxy" (to be more precise, in the third volume of the series, entitled "Life, the Universe and Everything"), Wowbagger is a person who’s had a, shall we say, incident with a time travelling machine, some liquid lunch and a pair of elastic bands. Due to this incident he became immortal, which was initially a lot of fun, but after a while caused him to work up quite a grudge against the universe. Henceforth known as Wowbagger the Infinitely Prolonged, he set out to insult every creature in the entire universe - in alphabetical order. The unabridged version of this story can be found on the "Wowbagger" support site (
http://www.wowbagger.com). More information on Douglas Adams can be found on his official site, http://www.douglasadams.com.CONFIGURING THE PROGRAM
Once installed, use of "The Second Reincarnation of the Final Grandson of Wowbagger the Infinitely Prolonged" (henceforth just called "Wowbagger"
J ) couldn’t be easier. The first time you start it, it will find no settings. This will cause it to automagically enter ‘configuration mode’.The vital parameters can be set here. Configuration is straightforward. Using the various controls on the form you can determine:
When you press the "OK" command button (or [ALT]-O] , "Wowbagger" stores the configuration parameters. The next time you reboot your system (or start "Wowbagger" manually from the ‘Start’ menu), it will enter lurk mode.
There are a few extra buttons in the configuration screen:
TEST Shows a sample Insult Screen (also accessible with [ENTER] or [ALT]-T);
ABOUT A short information message about the program and the author (also accessible with [ALT]-A);
STATS Shows a message box with the language statistics of the database version currently installed (which can also be invoked by [ALT]-S);
CANCEL Leave, do not enter lurk mode, do not alter configuration settings (you can alternatively press [Esc] or [ALT]-C).
THE PASSWORD
You can get the password, which is required to generate insults that consist wholly or partly of XXX-rated phrases, by explicitly asking for it. You can do this, simply, by clicking here. This semi-roundabout way of telling you the password is to make sure that nobody will get seriously offended by accident.
You only need to enter the password once to allow XXX-rated curse fragment to be used.
THE INSULT
Whenever you get the insult screen, there will be a button you can click. Clicking it, or pressing [ENTER], the program will lurk again and pop up after the specified interval. Pressing [ESCAPE] instead (or clicking the small grey thing at the top right hand corner, which is actually a partly hidden command button) will cause no more insults to appear. Instead it will show another message box where you can cause the program to be de-activated permanently, or just for this session (meaning "until you restart your computer").
DISABLING OR DE-INSTALLING THE PROGRAM
Once "Wowbagger" has been configured, it will no longer automatically enter configuration mode after you restart it, or have it restarted through a shortcut in the Start menu. There is, therefore, no way to simply switch it off.
Should you want to re-configure "Wowbagger", or cause it to become inactive, start the batch file called "Disable tsrotfgowtip.bat". You should be able to find this file in the same directory as the program file itself, or as a shortcut in the "TSROTFGOWTIP" group in the "Start" menu. This will cause the program not to enter ‘lurk’ mode the next time it is started, and will de-activate it from memory for the moment.
If you want to completely remove all "Wowbagger"-related files from your computer, use the "Add/Remove Software" applet from the Windows configuration screen to uninstall it, as you would any ‘normal’ Windows program. Its entry is "The Second ROTFGOWTIP". Make sure you first disable "Wowbagger" using the batch file, though!
USING THE WOW.DLL MODULE
These days, the "Wowbagger" software consists of two modules. There’s the user interface ("TSROTFGOWTIP") which you’ve seen so far, and there’s the WOW.DLL module. This latter module harbours all actual functionality and interfaces with a tremendously huge database that comes with the program. If you’re a programmer, you can use the class module to add "Wowbagger" functionality to any program, written in any programming language (provided it supports the Component Object Model, a.k.a. COM).
Below you will find a reference guide to the "Wowbagger" class module (ProgID is "wowbagger.wow") members.
Insult (method)
When called, this returns a string variable with the insult phrase, according to the current settings (see the properties, further down). In "Visual Basic", it would work like
strInsult = objWow.Insult. Before you call ‘insult’, be sure to have set the path, language and rating properties.Stats (Method)
This returns a string containing the "Wowbagger" insult generation statistics for all languages included in the database. It’s ready to be displayed in a Message Box, with one line for every language. Example:
strPrompt = objWow.Stats.Please note that this is a synchronous method which takes quite some time. Depending on the system you use and the number of languages that are supported, it may take up to two minutes.
Populate (Method)
A method that results in a string containing the names of all the languages in the database, divided by zeros. This method was included to allow easy population of, for example, a listbox. In "Visual Basic" it can be used as follows (in the example, the listbox is called ‘lstLanguage’):
Dim strList() as String
Dim i as Integer
lstLanguages.Clear
strList = Split(objWow.Populate,chr(0))
For i = LBound(strList) to UBound(strList)
lstLanguages.AddItem(strList(i))
Next i
Language (Property)
A byte value that reads or sets the current language. In theory, "Wowbagger" can support up to 255 languages (though there is only space for a maximum of 42 in the current User Interface).
Rating (Property)
A byte value that reads or sets the current rating. A value of 1 means "U" (you won’t get any truly offensive insults); a value of 3 means "XXX" (you will get almost only genuinely offensive insults); a value of 2 means you will get any combination of "U" and "XXX" words. Do note that for insults to be anything other than 1 ("U") you will need to set the ‘password’ property properly.
FontName (Property)
A read-only string value that lists the name of the special font, if required, for the currently created insult.
Path (Property)
A string value that reads or sets the full path of the file that contains the words database.
Username (Property)
A boolean value that reads or sets whether the program should append the Windows logon username in the insult or not.
Wowbagger (Property)
A boolean value that reads or sets whether the program should append a "Wowbagger says" type of phrase to the start of the insult, or not.
Password (Property)
A write-only string value that enables insults to be generated with XXX-rated phrases in them. To get this password, you have to explicitly ask for it. You’ll get it without question; this thing was built in to assure that you don’t accidentally get at the XXX phrases. I am not kidding, they are not for the soft-hearted. You have to have a pretty warped sense of humour to like them.
Errors
The class module can produce a variety of errors. These are their codes (add the "Visual Basic" vbObjectError constant - or whatever else if you use another language - to them to get the actual numbers):
1 - Illegal Rating
2 - Illegal Language
3 - Database path not set
4 - Illegal Database Path
5 - No nouns found
6 - No collection phrases found
7 - No adjectives found
8 - No adverbs found
9 - No Wowbaggers found
10 - Password for XXX insults not set
HELPING TO IMPROVE THE PROGRAM
"Wowbagger" is far from perfect. Quite a few languages are no more than a hollow entry in the languages listbox, without actual phrases behind them. Some languages do not support too many possible insults. If you think you can help by supplying me with extra words and phrases, or perhaps analysing the grammar of a language that has so far not yet been implemented (maybe not even in the listbox yet!), do feel free to contact me, but don’t send any research just yet. I’ve got detailed guidelines regarding what I need to know, and how I can cope best with the data you provide, which I will send to you.
In exchange for your efforts, however, I can offer you nothing more than a credit in the upcoming version of this document. Global fame or a feasible means to retire to some Pacific island, alas, you will have to attain through other means
J .Before you decide to help, by the way, check out the "Wowbagger" support site at
http://www.wowbagger.com to see if you have the latest versions of the files. Something may have changed since the version you have.UPDATING THE PROGRAM
There are two pieces of software involved in "Wowbagger". There’s the DLL (a program module which interfaces with the database) and the user interface (which allows you, the user, to work with the functionality provided by the DLL). Third, there’s the database.
The version number of the user interface (the "TSROTFGOWTIP.EXE" program) can be seen by clicking the ‘About’ command button in the configuration screen. The version number of the DLL can be seen by clicking the ‘Stats’ button in that same configuration screen. There, you will also find out the date your currently present database last had phrases added.
Updating the DLL, the user interface program or the database can be done by just downloading them straight from the "Wowbagger" support site across the original ones. Do note that, when "Wowbagger" is in lurk mode, you cannot overwrite the old DLL. First quit the task from memory, for example by pressing CTRL-ALT-DEL, selecting TSROTFGOWTIP and chosing ‘End Task’.
The "TSROTFGOWTIP" executable, the database and the document can usually be found in "c:\program files\TSROTFGOWTIP\"; the DLL is usually present in "c:\windows\system\" (or "c:\winnt\system32\"). These locations can vary according to where you’ve decided not to keep the default settings during setup.
FINAL NOTES
"The Second Reincarnation of the Final Grandson of Wowbagger the Infinitely Prolonged" is freeware; so get it as cheaply as you can. If you like it, use the PayPal button in the main menu to donate something.
I am rather proud to say that none of the words used here are fictitious, though quite a few may very much seem to be. I started using a standard dictionary, the "Superior People’s Dictionary" by Peter Bowler, and the help of some song lyrics as well as the assistance of a great variety of people. The gross words are usually off Carcass’ "Symphonies of Sickness" CD lyrics. The third Atari version also incorporated a lot of new words from various dictionaries (most notably amongst which is "Slang and Euphemisms" by Richard Spears) as well as quite a lot of words heard on the BBC series "Red Dwarf". Further credits go to "Birds of a Feather", "Beavis & Butthead", a very old DOS-based program of which I’ve quite forgotten the name, "South Park" (though not as much as I had expected), DBA Magazine, Joseph Heller, "Blackadder" and various Thesauri. Version 6 also incorporated a lot of cool words from the extremely funny "Paperweight" by Stephen Fry (the man’s a genius!) and the wonderfully irreverent "Duckman" cartoons. I used David Thorne’s "A Comprehensive Welsh Grammar" for the initial Welsh stuff. Dutch inspiration further came from Eric Schreurs’ "Joop Klepzeiker" and "Geharrebar", and Captain Haddock utterings from several "Tin Tin" comic books. And life, of course.
Thanks go to: Dave and Tim Moss of The Lost Boys (for initial help in establishing the English insult building blocks dictionary); Stefan Posthuma, Dave Bloemendaal and Jordy (for the initial Dutch vocabulary); Jeff Zalkind (who helped establish the first set of German words); Dafne Wesenaar (Spanish info); Grazio Falzon (Maltese grammar assistance); Dave Lacerda; Michael Raasch (German); Lars Johansson (for inestimable help with the Swedish department); Ronny Hatlemark (for putting me on the right track with Norwegian); Matthew M. Murphy (for a lot of Shakespearean-like insult phrases); Todd Clements (help with Shakespearean stuff too); Steve Cohen (Pissed Off’s Self Abuse Generator); Martin Janda (Czech); Anssi Hyytiäinen (Finnish); Ville Saalo (Finnish); Thomas Tavoly (Hungarian); Laura van der Linden (French, too); Michael Dufek (creator of a German "Schmipfwortgenerator").
DISCLAIMER
The author of this software will not accept ANY responsibility for ANYTHING. It should be noted that the XXX-rated curses are genuinely offensive. They will NOT appear unless you enable them explicitly by using a password. Although I have done my best, of course, to make sure that the program works and doesn’t do any weird things like spontaneously formatting your hard disk or blitzing your monitor, I do not declare it fit for any particular purpose. I am not responsible, so don’t hold me
J . This especially goes for people who install the program on a PC at work and then become very afraid that they might get fired because they forgot to RTFM and then have no clue on how to de-install the thing.