Allen writes: This program is my PostScript geek .signature. It prints my email address out on the current output channel. It works by converting the elements of the array of numbers either into base 32 numbers or ASCII characters. Since all digits above 9 are represented by capital letters, you can spell words with them. Notes: The save and restore pair isn't really needed, but was included to fill out the two lines and protect the current dictionary (in case - was already bound to something). The 99 could have been higher or lower (how much?), but it looks good and confused some people. It makes people think base 10, which fogs the mind of the reader. :-) The base of 32 should be higher if you want to be able to do the whole alphabet. What's the lowest value I could have used? =string is a cheap way to get around defining another string. I don't know how portable that really is, but Adobe PostScripts like it fine. Don't count on it keeping its value though! I had used \ instead of -, but I found this more pleasing to the eye. The point was to have a pretty .signature, not necessarily an efficient or maximally obfuscated one. :-) --- save /- 1 string def[331 64 779242 46 396 46 871217102 46 14782 10]{dup 99 lt{- 0 3 -1 roll put -}{32 =string cvrs}ifelse print} forall restore