in reply to Geek Creedo JAPH

Pretty nice. Not terrifically obfuscated, except for the middle bit where you do something kinda backwards. That caught me for a sec until I realized what was actually happening. Deconstruction follows (spoiler).

while (<DATA>) { s/\r?\n?//g; # remove newlines $a.=$_; } # $a now contains the whole of DATA in one line for (split(/;/,$a)) { # split into groups $b=0; for ( split (/,/) ) { # split into singles if (!$b++) { # first letter # Store the first number of the # group as a letter $c = chr ( b($_) ); } else { # And scatter it wherever it needs # to appear in the mystery string @d[b($_)] = $c; } } } print @d; sub b { # convert from binary to decimal (littleendian) $a=$b=0; for(split(//,reverse$_[0])) { if($_) { $a+=2**$b; } $b++; } return $a; } #"The unwritten geek credo states that originality and strangeness are #good, and that blind conformity and stupidity are unforgivable." # http://samsara.circus.com/~omni/geek.html __END__ 0100000,0000100,0001100,0010001;1100001,0000101,0010011;1100011,001010 0;1100101,0001010,0001110,0010110;1101000,0001001,0010010;1101010,0000 000;1101011,0010101;1101100,0010000;1101110,0000110;1101111,0000111;11 10000,0001101;1110010,0001011,0001111,0010111;1110011,0000010;1110100, 0000011,0001000;1110101,0000001;

So, for instance, the first group of numbers is 32, 4, 12, 17. Thus a space (chr(32)) appears at positions 4, 12, and 17. I was a little disappointed that you didn't capitalize J or P, and that you didn't put a newline at the end. I'm always a little more impressed when little details like that are covered.

LAI

__END__

Replies are listed 'Best First'.
Re: Deconstruction: Geek Creedo JAPH
by cciulla (Friar) on Apr 24, 2003 at 15:31 UTC

    Right on the money.

    Here's the modified __DATA__ section to mollify those who agree with LAI:

    0100000,0000100,0001100,0010001;1100001,0000101,0010011;1100011,001010 0;1100101,0001010,0001110,0010110;1101000,0001001,0010010;1001010,0000 000;1101011,0010101;1101100,0010000;1101110,0000110;1101111,0000111;10 10000,0001101;1110010,0001011,0001111,0010111;1110011,0000010;1110100, 0000011,0001000;1110101,0000001;00001101,0011000;00001010,0011001;

    The following observation is not intended to offend, irk, or otherwise inflame the indignation of fellow monks, especially LAI.

    I was a little disappointed that since Jul 02, 2002 at 12:10 GMT+4, LAI has written six replies/deconstructions of obfu's, yet none of his own. I am always a little more impressed when prior effort is put forth before a critique.

      I was a little disappointed that since Jul 02, 2002 at 12:10 GMT+4, LAI has written six replies/deconstructions of obfu's, yet none of his own. I am always a little more impressed when prior effort is put forth before a critique.

      Touché. I've started a few obfus here and there, but haven't finished any yet. For now I'm learning from example; I will wind up posting my own. But don't say I've put no effort into anything; I put effort into giving what I believe to be honest and (hopefully) helpful criticism. As for writing my own... well, I'll probably be a little forthcoming once I've shuffled off the yoke of the VB I'm stuck doing now.

      LAI, not offended, irked or otherwise indignantly inflamed :o)

      __END__
      I am always a little more impressed when prior effort is put forth before a critique.

      Why? If LAI deconstructed your obfu easily, it can't be that impressive. Prior effort may make you feel better about this, but it has no bearing on how easy it was for LAI to deconstruct your obfu.