Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl-Sensitive Sunglasses
 
PerlMonks  

Moon japh

by chargrill (Parson)
on Nov 10, 2006 at 19:48 UTC ( #583394=obfuscated: print w/ replies, xml ) Need Help??

Inspired by liverpole's recent foray into pseudoscience (or possibly protoscience, depending on your opinion) with his recent Cyclical Japh, I thought I'd make a bit of a foray of my own into the arcane arts myself.

For anyone who likes to pay attention to such things for planning their day, I present my homage to the Moon (pictured here so you don't have to squint too hard).

#!/usr/bin/perl $_=q|$B="\e[1m\@\e[2 2m";sub'g{($cx,$cy,$r,$a,$b)=@_; my@o;F($t=0;$t<3.14159;$t+=.04/$r){$x= $cx+int($r*cos$t);$Y=$cy+int(($r*11/5*sin $t) / $a**3);$o[ $x][$Y]=$B;$Y=$cy-int(($r *11/ 5 * si n$t )/$b** 3);$o[$x][$ Y ]=$B}@o}$ H='rel w-w-w-o -o -o-h'; s ub'p{ R" \ e[40m ;\e [37m\e [ 2J\e[1; +1 f \n"; i f($_[0 ]== -1&&$_[ 1 ]==1){ +ret u rn}@ o=g (10,2 1 ,1 0 ,@ _ +);my $ l; F ^my$i (@ o){$t=0;F(@ $ +i){if ( $_ ){R $_;$t=($t&&${l +}ne$_) ?0 :1 ;$ l= $_}else{R$t?'#' +:'^'}}R "\ e[2 m\n"} w()if($_[0]= =1&&$ +_[1]==1 )} sub'h { $ z=4;R"\e[4 7m\e[30m\e[9;${ z + }f\n "; F( spl it(//,~~ re verse" ^,$H ^lreP^rehton + a^ts u J^ ")) {R"\e[9;${z}f$ _\n";S.0 3;$z++}R"\e[ + 0m\e [ 23 ;0f \n";S.9}F($b= -1;$b>-3 .2; $b-= .1){p(1, +$b);S. 0 6/ $b** 2}F($b=3.2;$b >.9;$ b- = .1){p ( 1, $b);S.06/ $ +b* *2}F ($ a=1;$ a<3.2;$a+=.1) {p $a ,1; S. 06/$a**2 +} F( $ a= -3.2;$a<-.9;$a+=.1){ p$a,1; S.06/$a * *2}R"\e[2m +;\ e[2 J \e[ 0;0f\n";S.3;su b'z {my($y,$m,$d)=@_; if( $m<3 +) {$y - -;$ m+=12}my$ j=( 365.25*$y+30.6*$ m+ $d +-69403 9 .09) /29. 53; $b =int$j;$j-=$ b;$b=in +t($j*31+ .5) }( $d , $m,$y)=(localtime)[3,4,5];$m++; $y+=1900; @p +=([-1,1 ],[-1, 1], [1,-1 .05],[1,-1.1],[1,-1.2],[ 1,-1.3],[1, -1. +5],[1,- 2],[1,-3. 2],[ 1,1.8],[1,1.5],[1,1.35], [1,1.2],[1, 1.1], +[1,1.0 5],[1,1], [1. 05, 1],[1.1,1],[1.15,1],[1.2,1], [1.25,1], [1. +5,1], [1.8, 1 ],[2. 2,1],[-3.2,1],[-2.2,1],[ -1.8, 1],[ +-1.5 ,1],[ -1.35,1 ],[-1.2,1],[-1.1,1],[-1,1] ); sub'w{my@o=( +'^^ ^\|\\^ ^^^^^^','^^ \|V.\\_^^^^^^','^^\|..\'.\\^^^^^','^^)...,_ +\\ ^^^^','^/....\|^^^^^^','/......\\^^^^^','\|.......\\^^^^','^\\. +. .....\\^^^','^^\|.......\\^^','^^\|.\|......\|^','__/.\|\\.. .../');F^my$o(12..22){F(18..30){my$l=substr($o[$o-12],$_ -18,1);R${l}ne'^'?"\e[31m\e[$o;${_}H$l\e[39m\n":''}} h()}|;s*\s+**gx;s-\^- -gx;s^R^print^g;s!F!for!g; eval ;sub'S{my$s;select$s,$s,$s,$_[0]} p(@ { $p[z($y,$m,$d)]}); print"\e[0m\e[2". "3;0f\nphase for $m/$d/$y\n"

Update: Thanks for the pointer(s), ikegami. I tend to forget to make sure things like this work on Windows without alteration.



--chargrill
s**lil*; $*=join'',sort split q**; s;.*;grr; &&s+(.(.)).+$2$1+; $; = qq-$_-;s,.*,ahc,;$,.=chop for split q,,,reverse;print for($,,$;,$*,$/)

Comment on Moon japh
Select or Download Code
Re: Moon japh
by ikegami (Pope) on Nov 10, 2006 at 19:54 UTC

    Windows users can safely add use Win32::Console::ANSI; after the shebang line to make this work right.

    For best results, run in a 80x25 full-screen console. (Run mode con cols=80 lines=25 from the prompt from which you'll run the script.)

      Or just add -MWin32::Console::ANSI on the command line, like:
      perl -MWin32::Console::ANSI moonobfu.pl
Re: Moon japh
by liverpole (Monsignor) on Nov 10, 2006 at 20:36 UTC
    Absolutely amazing, Mr. chargrill,

    This is by far your most stunning Japh in terms of presentation and effect!

    It even looks quite wild when you run perl -MO=Deparse on it.

    And as ikegami points out, it runs fine under Windows too, with Win32::Console::ANSI; at the top.

    Kudos on a masterful work!  This one really sets the bar high for lovers of obfuscation!


    s''(q.S:$/9=(T1';s;(..)(..);$..=substr+crypt($1,$2),2,3;eg;print$..$/
      I heartily agree! This is a really incredible display. Keep up the good work!
      ~dewey
Re: Moon japh
by f00li5h (Chaplain) on Nov 11, 2006 at 06:16 UTC

    Neat!

    @_=qw; ask f00li5h to appear and remain for a moment of pretend better than a lifetime;;s;;@_[map hex,split'',B204316D8C2A4516DE];;y/05/os/&print;
Re: Moon japh
by wulvrine (Friar) on Nov 20, 2006 at 14:08 UTC
    *Howling at the moon*
    That is awesome! Hell of a job! ++!

    s&&VALKYRIE &&& print $_^q|!4 =+;' *|

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: obfuscated [id://583394]
Approved by ikegami
Front-paged by liverpole
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others chilling in the Monastery: (6)
As of 2014-08-31 06:38 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The best computer themed movie is:











    Results (294 votes), past polls