/dev/joe wrote (Dec 14, 1996):
I am visiting breadbox's house to pick up my treasure.
breadbox wrote (Dec 14, 1996):
> I am visiting breadbox's house to pick up my treasure.
Are you, now? Really, /dev/joe, you of all people should know the rules.
breadbox wrote (Dec 14, 1996):
> Upon breadbox granting permission, I will visit his house.
/dev/joe! What a nice surprise! Come in, come in. Can I get you something to drink? I'd offer you no tea, but I'm still trying to find that.... Yikes! What's this? The Exquisite Dead Guy, here on my coffee table! And after I went through all that trouble to bury it. How could that have happened? Oh, that's right, I set it up to do that myself. Anyway, would you like this Trinket, /dev/joe? Here you go. Enjoy!
breadbox
happy that others still remember EBCDIC
/dev/joe wrote (Dec 14, 1996):
I worked on it almost continuously from the time I received your first email until my first Traveling message. Upon seeing that the initial map was not simply ASCII, I chopped it into bytes, 1 per line, with a simple macro in emacs, and sorted the file, and found that nearly all of the characters fell into the ranges of X2 to X6, for X = any digit. This led me to believe that it was ascii with the digits swapped; another macro converted this, and breadbox's convenient little program gave me map #2, which was a uuencoded file, backwards, byte-for-byte. That took a little time to handle, and the result was another uuencoded file, and that decoded to another uudecoded file; there were several steps like this, some of them with extra little tricks. The filenames along the way spelled out a message. Finally, I ended up with another sequence of hex digits: 82998581848296A77DA2408896A4A285
This didn't make much sense as ASCII, as most of the bytes were too large. I tried looking at it as having the digits swapped, like the first code, but that didn't make any sense either (and still left me with high bytes like D7). So then I figured maybe it was some sort of shifted ASCII. Converting the lowest byte to a space meant reducing each byte by 20 (hex) and this gave me: byeadbv<87>]<82> hv<84><82>e (where the <8x> indicate those bytes -- high ASCII). I knew I hadn't quite found the code used for the last part, but I recognized this as saying "breadbox's house" in some sort of code, so I didn't need to work any more -- I had the answer.
Sorry, breadbox, your name just has too many beginning-of-the-alphabet characters. If your name had been something like 23 Skidoo, I wouldn't have figured out the last code so quickly.
breadbox wrote (Dec 14, 1996):
> This led me to believe that it was ascii with the digits swapped;
> another macro converted this, and breadbox's convenient little
> program gave me map #2, which was a uuencoded file, backwards,
> byte-for-byte.
Also, reversing the original file first, and THEN running my little program, would have given you the uuencoded file forwards.
> Converting the lowest byte to a space meant reducing each byte by 20
> (hex) and this gave me: byeadbv<87>]<82> hv<84><82>e
> Sorry, breadbox, your name just has too many
> beginning-of-the-alphabet characters.
Oh, rats. And here I thought I was so clever in using EBCDIC. (For those fortunate enough not to know, EBCDIC is a pre-ASCII character encoding in which the alphabet is not contiguous.) You're also fortunate in that the distance from ' ' to 'a' just happens to be the same in both ASCII and EBCDIC. If I had used uppercase letters, the above trick wouldn't been quite so successful.
Nonetheless, /dev/joe, excellent work. You are a treasure hunter nonpareil. (Looks like you're going to beat me to the No Tea as well.)