Where everything else wouldn't fit... Nothing a 20lb maul couldn't pound flush, though.
Alan Alda introduced me to Mnemonic techniques[2] and after a little research at my local library, I started learning the major system. It was so useful, I thought: I can now remember 20-odd digits with ease! Hey presto! If only someone else would learn this I won't feel like such a dork!
And Mnemisis was born.
And then there was something about a salsa helmet[3].
In an attempt to get a better translation table, and because I think the whole Artificial Life movement is just terribly spiffy, I decided to try my hand at breeding a better table. I easily managed to grow something that would outperform what I wrote, but I couldn't seem to get anything perfect.
I tried several different approaches, using Genetic Algorithms (or what I understand of them) as my base. I'll attempt to prune the prohibitively rambling epic forthwith.
First, I made a pass in Perl - using several programs running at once - a breeder, a reaper, and a grader, all working on the same population and passing messages (genes) to each other through the filesystem. A grinding week or so later, on studying the results, I found some rather large files which did a passible job at translation. These thunder-files had roamed free and bred because I had short-sightedly graded only on percent correct - and had laid down no parameters on file length. Their size, the bottleneck of the filesystem, and the urge to see results before my demise - threw me back to the drawing board.
It also "helped" that these initial efforts (and the mad forking that I'd used in the grading scheme) razed my filesystem. At the root, I blame my inept programming, although "inept fsck-ing" is also a correct answer. At any rate, I got to think about a fresh start, and ways to speed things up - it was taking quite some time just to test a single table against the list I'd made of correct answers.
While thinking about how to extricate myself, I began re-coding what I'd done in C++, thinking at least I might get a speed gain while (with careful design) being able to leave up in the air how to trim down the tables to manageable size. No, it hadn't come to me that I could grade on file size as well as percent correct. I didn't think to use weight in grading fitness. Just goes to show they'll give a driver's license to anyone these days.
Needles (sic) to say, the all C++ version was non-optimal and was (mostly) promptly thrown out. Long to short: Ate memory, couldn't locate leak, changed the version number to "experimental" and moved on.
So here we are on the third major version, the one you're playing with now (unless I gave up and used a toolkit - which probably would have been the smart thing to do at the very beginning), which is a hybrid Perl/C++ beast.
Still, I got to dork with AL, which was mostly my motive. I got some excitement out of it. There's nothing quite like letting something you just coded rip, and seeing the population quantum ten percentage points up past your best effort. Nice. Only a mother could understand, perhaps. Which brings up gender questions for me, no end.
Development platform: Originally a Fujitsu Lifebook 755Tx, Dvorak, Debian Woody, Fvwm -- now moved up to one a them WalMart PCs with, again, Debian on it.
Lab Location: A cave that I've been told smells like a church basement. Honest.
Influences (Comestible): Lipton's iced tea, garlic, pasta, chunk-style PB, Melitta™-ed coffee, the horrors of creating calzone from scratch[5], Tim's Dill Pickle Chips, Green Olives, MD!
Influences (Audio): Oakenfold, Fontaine, Cassius, Daft Punk, Tong, Cox, Radiohead, the Pixies, Massive Attack, Dj Funk, Shadow, FPS, Faust, Tricky, GYBE, Possum Dixon, Swell, Kraftwerk, MOAM[6], Perceptual Outer Dimensions, TSW, PPOT
Influences (Text): /., Schneier, Stephenson, K&R, Micro C, Sacks, the LDP (and all who contribute, thank you)
Influences (Video): Kurosawa, Panic Mechanics, Sealab 2021, Futurama, BeBop, Indy[1..3], Junkyard Wars, MacGyver reruns, Simpsons, Max Steel, The Mooninites, Tivo in general
Influences (Non-Comestible, Projects, Objects, Locations): imp3sh, Scramdisk, Password Safe, DocBook, GNU, EFF, NRA, MAME, the BBC's EM, Sourceforge, what's left of the Carhartt-day crew
Influences (Non-Comestible, Humanoid: ackno-worthy): Mistah Clements[7], Parents, Seth, Lindsay, Shawn & Kelli, the Lisas, the Molly, Smitty, Billiam, Mr. Caroline, Terri Rae, little J, memories of H., Gerry - who got out before I did. And the other Gerry, for having a really boss nickname. Also Æ, for having a ligature for initials - oh, and for the eskimo kiss... Anyone that has ever used quotes, an apostrophe, or the words 'ironic' or 'sarcastic' correctly and not to mean 'funny' in general. All others get the roast beef!
Luria's "S.", a Russian Mnemonist - that is, someone who performs feats of memory - of the early 1900s.
He was Synesthetic, as well - that is, he experienced words and sounds as images. Synesthetes experience some senses as inexorably blended with others[8]. This way of experiencing things made memory a lot more personal. Which is advantageous when you're trying to remember something arbitrary, and not-so-good when trying to forget... Sharashevsky had difficulty separating the name from the thing named (the opposite, not being able to use words at all, is known as Aphasia - I know you wanted to know that that's out there).
If kind of thing interests you, you might look into Oliver Sacks' The man who mistook his wife for a hat, Oliver Sacks is a big cuddly ball of neurology - check it out! If you must have your edutainment in movie form, you could also go watch Robin Williams be earnest in Awakenings. Or you could save a buck and go volunteer at an asylum. Not recommended for the feint of heart / already only marginally stable lad/lass.
So you don't have a dictionary, but you'd still like to reap the benefits of Mnemisis - well. Let's get you up and running. Follow these steps and I shouldn't screw your computer up too badly.
First off, you'll need to download one. Not a problem, as Project Gutenburg has a real huge one that's ethical and free and good. Maybe you should donate a bit to the project while you're there?
The word list we're going to be using is part of a package called Moby (ZIP file - please choose a local mirror before you download).
Go ahead and download it.
Find a place you'd like to keep all the word lists and such, and unzip that sucker. Make sure you read the aaREADME.txt file, which is equivalent to the package README file.
Now, you can use either of the files COMMON.TXT or SINGLE.TXT. The latter contains a WHOLE lot of words (about 4 megs worth - which takes my poor little computer around 15 minutes to bundlize...) and might take a while to make a bundle file out of, so you may want to start with the COMMON.TXT file, and move up if you're not having as much fun as you could be.
Remember where you put it [9] because Mnemisis is going to need the full path in the next step.
Process the dictionary into a bundle file with ./MNEMISIS.py x --dict (full path to dictionary)
You may notice that the bundle file doesn't have as many words in it as the original dictionary - this is normal. There are some words that have no phonetic equivalent ('ewe', 'you', 'Hawaii'), and are dropped.
That's all!
[1] | An excerpt from the upcoming made-for-Tv microseries: "I Was a Post-Teenage Techno-Hermit Misanthrope and Good Gravy I Can Hardly Get Over How Much I Want to Choke You Real Hard Just Now", starring Lee Van Cleef as "The Parents", and Rowdy Roddy Piper as "Sir Mixalot". Scene: A bus station. Narrator: ... (That's the entirity of this footnote...) |
[2] | Well, not really, it was a Scientific American Frontiers, but hey, Alan invites us to be his friend and see science through his eyes every episode, doesn't he? Sure he does. What a champ. |
[3] | No, I'm not going to explain it. You'll just have to read an older version of the manual. |
[4] | Does anyone ever actually read these lists of thank yous? I mean, I read everything, I read the back of soap dispensers, but even I gloss acknowledgement sections... But then, when you do read them sometimes you find new good things and remember old things that were good... They're kind of like thumbnail sketches. Or personal ads. Eww...I mean, ahem... wink wink. |
[5] | As in: "scratch one oven" |
[6] | Jump the sharks, boys! |
[7] | Who proved that:
|
[8] | "...I read that 'the work got under way normally.' As for work, I see that work is going on ... there's a factory ... But there's that word normally. What I see is a big, ruddy-cheeked woman, a normal woman ... Then the expression get under way. Who? What is all this? You have industry ... that is, a factory, and this normal woman--but how does all this fit together? How much I have to get rid of just to get the simple idea of the thing!" -- Sherashevsky, December, 1935 |
[9] | Must I say this? If you've done any tech support in your life, you already know the answer. |