in reply to Will I Hack Something New?

There are a few things I like about this obfu. But in general, there are a lot of things that bug me. The first being that it could have been a lot better.

Let's start with the phrase "WillIHackSomethingNew". It seemed appropriate when I started, since I was kinda curious if I could. Plus I needed a sentence exactly that length. It doesn't exactly roll of the tongue. And I feel that this statement has no relationship to the rest of the composition. I like to have the process of the code resemble the output or the code itself. Like this obfu.

I like the way I presented the content of @@. I wanted the source of my output (j.a.p.h.) to be obvious, while obfuscating the process for extracting the data.

But the process is where I really have my issues. The control structures are way obvious. Especially the if statements. I basically do the exact same thing 4 times in a row. And there is nothing special about the while statements. The only thing that obfuscates these are things like using strange scalars (i.e. $:%$%==1) and embedding the control structures into one continious block of code.

sub _ is right out!

I am happy with two things with this block of code. It is almost completely solid, using only one unnecessary ' ' and ony unnecessary ';'. And I had fun with the first two lines:
;$;=$/=(1==21);$==$-=2;$=*= $==++$=;$.='';$$=$-;;while(
I like the overall idea. I'm sure I will make a second attempt sometime soon.

jake

Replies are listed 'Best First'.
Re: Self Criticism
by jake (Pilgrim) on Sep 21, 2002 at 17:09 UTC
    I'm much happier with this than the original.
    {$~="WillIHackSomethingNew" ;@@= ( ' u sj ' , ' ' , ' t ' , ' ' , ' e r a n ' , ' ' , 'p err e ho t' , ' k c ' , ' l ' , ' ' , ' h a ' ) ;$;=!1;$==$-=2;$=*=$==++$=; $$=$-;$}=$--1;$%=$$*$-;$|=! 0;$x=' '}while($~=~/(.)/g){ ;print$x x$-.substr($@[$;], $=,$|);$:=ord($1); if($:%$% ==($%==$-)||$}==$:%$%){$;+= $-*($}-$:%$%);$=+=$-*$:%$%; }$=-=$:%$%*($:%$%==-$}+$%); $;-=++$:%$%*($$+$|==$:%$%)}
    I guess I was a tad rusty. :)