echo '[q]sa[ln0=aln256%Pln256/snlbx]sb12241818048220908973805398snlbxq' |dc VOID MAIN echo '[q]sa[ln0=aln256%Pln256/snlbx]sb12241762420877614477497161snlbxq' |dc IS A GEEK echo '[q]sa[ln0=aln256%Pln256/snlbx]sb186782699325791234132snlbxq'|dc Thanks! echo '[q]sa[ln0=aln128%Pln128/snlbx]sb25384035327623601753454966742snlbxq'|dc Void Main :) perkilator: hehe. Cool. Well, I had to trace through it, but it's in reverse polish notation, you have to keep track of a stack and a couple of registers. When you have something like [contents] you push the string "contents" on the stack. Later you can execute that string with the command "x", which pops it and executes it as a macro. Besides the stack, we're using three registers, a, b, and n. Our message is stored in n, "q" is stored in a, our macro "ln0=aln256%Pln256/snlbx" is stored in b. Well, those are just some thoughts, not in the quite in the right order. Well, the key to encoding the message is in the macro. ln pushes our message on the stack, then 0=a pops two values, if they are equal, executes the contents of a (q). (and so I guess if the previous remainder is zero it'll quit). We run ln again, copying or message and pushing it. When ya just list a number it pushes it on the stack, so we put 256 on the stack, % pops two numbers and pushes the remainder. P pops and prints it if it's a string w/out a new line. (sigh, deep breath..) Ok, copy and push message again. Push 256. Devide. Store that in n. push the macro, execute it again. Thats more or less how it works. Encoding is easy. \n ascii is 10 in decimal. I started there. Then I spelled backwards, basically from there, letter = number_from_previous_letter * 256 + decimal_ascii_code_of_letter That'll get you the proper remainders, unless I screwed up.. But here, the last part of "\n_NIAM_DIOV".. \n ' ' N I 10x256+32 2592x256+78 663630x256+73 32 for space 78 for N 73 for I =2592 =663630 ...and so on I hope that's correct enough. :-) I probably screwed up somewhere, but I think it's close. Thanks! echo '[q]sa[ln0=aln256%Pln256/snlbx]sb186782699325791234132snlbxq'|dc