Beefy Boxes and Bandwidth Generously Provided by pair Networks
Problems? Is your data what you think it is?
 
PerlMonks  

Birthday Tribute Japh

by liverpole (Monsignor)
on Mar 26, 2006 at 22:35 UTC ( #539324=obfuscated: print w/ replies, xml ) Need Help??

I wrote this as a tribute to my younger brother, who unfortunately passed away when he was only 23.

Yesterday was his birthday; he would have been 39 years old.

Of course I can't be certain, but I suspect he would have liked Perl.  He always had the kind of mind that enjoyed mathematics, puzzles, and games, and I'm quite sure that he would have gotten a kick out of programs like this.

The program is similar in appearance to Latent Japh and Japhy New Year, but uses a completely new trick, which, by its nature, does a better job of "randomizing" the ascii output.  Can you figure out how it works?

Update:  On Windows, the module "Win32::CONSOLE::ANSI" is required.  On Linux, you'll need to run it with "perl <program>", since it doesn't have the shebang line.

$_=' ` ` ````` ```` ` `` `` ``` ` ``` ```` ` ```` `` `` ``` +`` ` ` ``` ` `` ` ```` ```` ` ``` ` ```` ` `` ` ` ` ` ` ````` ` + ``` `` ` `` `` `` ` ``` ` ``` ` ` ``` ````` ``` ` ` ``` ````` `` + ` ` ` ``` ` ``` ` ` `` ``` ` ` ``` ` ` ` ` ``` ````` ````` ` +``` ` ` ` ` `````` ````` ```` ` ``` `` `` ` ``` ````` ` ` ` +` `` ` ` `` ` ` ` `` ` ` `` ` ` ` `` ` ` `` ` ` ` `````` `` `` +`` ` ``` `````` ```` ````` ` ``` ` ` `` ``` ` ` ` ``` ` ` ` + ` ```` ` `` ` ` ` ` ` ` ` ` ` `.`` `` ,; ` ````` ``` `` ` ` ` + ` ` ` ```` ``````` ``` `` ` `` ` . ` ` .>bx!.,:;!|;.,`` ` ` `` ````` + ``` `` ` ` ``` ` ```` ` ` ` ,.., ` ``:!ob)Fp>;,``` !:` ` ` `` `` +````` ` `` ` ` ` ``` ` `````,!|:;. ``,,.;<bEF(!.````;>o!` ` ``` +` ```` ` `` ``````` ` `` ` ` ` ;!<o<!: ``` `,:<op(b<. `` .<o. ` `` `` + ``` `` ` ` ` ` `` ```` ` ` .<xoo><<!:,. ` `,..>pEFMWo` .. .x<` ` ` ` ` +```` ` ` ` ` ` ``` ` ` `:xoxbpxoxpo<:,`` ` .<(WM@#F:`:<>:.x;` ``` `` ` + ` ` ` `` ```` ` ` ` ``` ;p)()(WWE)pbo>; ` ` `,|<pFME)!,:pFp:<> ` `` ` `` + ` ``` `` ` ` ` ` ` ` ` `|(WM@@WWMW()o<:;,`````,|obp(b(>.|(WWMp))` ```` +` ````` `` ` ` ` ` ` ` ;pM#@@@@#WF)bo>>!:.. `.;|<oo<)o;|)@@#MFM) ````` +` ` ` ` ` ` ` ` ` ` `.oM#@#@##@MWE)pxxo>>>:.,;:<>x>!x>;|(#@#@#)Mx ` ``` + ` ` ` ` `` ` ` `` ` ``` )W#@#@####@MMWEEFE)()x|;.;|><!!|!!)M#@#W#W@#<` ` ` + ```` ` ` ` ``` ` `` p##@#@#@##@#@###@WMF)p(bbxxo!:||;|b@#@WMEFW@@@. ` ` +` ` ` ` `` ` ` ` p@#@#@#@@@@#@@@@@@WMMF(WWMpox<<>!.x###@EM@EM#@@< ` ` + ` ` ` `` ` `` `` `` o@#@#@@###@@@##@#@@###M#F()xox<|<>!(#@@#WW#MW@##F,``` +``` `` `````` ` `` ` ##@##@###@@##@@#@#@##WMWM)poooopob>oW@@#MW#@@##@#( ` ` + ` ` `` ` ` ` >#@#@@#@#@@##@@#@@##@@#@#@M#W(b)F(b><)EMWEE@@@###@#>``` + ``````` ` ````` `` ``#@####@#@###@#@#@@@#@#@#@@@WWFE(((>|:pbFFE@@##@###@# ` + ` ` ` ` ```` ` ` `` `;@##@##@#@#@#@#@@@#@@#@##@#MWF)xxxo;..>>(WW@@@@@##@#@o`` +` `` `` ` ` ` ```(@@@#@#@#@@@@@@####@@@#@@@MWFp<><!;.,;>!x@#@#@@##@@@@M` +` `` ` ` ` ` ` `` ``@@@#@#@#@####@##@##@#@#@#@MWEo|!;,` ,:!;>E@#@@##@#@##@`` +``` ` ` ` ` ` `` ``@@#@#@@#####@#@@@##@@####MWW(<::,``` .:::o##@@@@@#@#@@` + ` ` ` ` ```:#@@#@#@####@##@##@@@##@#MWE)x!.,```` .:;;!###@#@@@@@#@.` + ````` ``` ` `` `x#@@@#@@@#@@@#@###@###@MWE)b>;;.` ` `.;::!)@@##@###@#@.` + `` ` `` `` ``` ` )##@###@##@@@#@@@####MMF)bx!;, ```` ``,;,;!xE@##@##@@@#;` + ``` `` ` ` ` ` ``F#@@@@#@@@@##@@@@#F(ppoo<|; ``` `` .`.,.,<>pE####@@@##; + ``` ``` ` `` `` ````F@@##@##@#@###@#Ex<!;::., ` ` ``...;.:!>xb(###@##@#<` +` ` ` `` ` ` `)####@#@#@##@#@b>.,.`` ``` ` ` ,:!:>obo<|oo<o)@@@#@@@b` + ` `` ` ``` `` ``<#@#@#@#@###M)x!:;;.,````` ` `,,:>bFFEFF(WM)(pxx@##@##@W` + ` ` ` ` ` ` ` ```,@@##@#@##@#Wb>>!|:.,..` ,. `;!o(W@@W)x>>o(F)xoE#@##@## +` ```` ``` ``` )#@@@##@@#@Mpoppboo<>!:,.`.``;<b)F)(>|:!!<xoboxp#@#@@@# +`` ` ` ``` `` ``````@@####@@@#MMW#@@@##@W(o<;:, .>opbpb(F))x>!|>xxxM@@@###` + ``` `` ` ` ``` `` @@@#@@@@#@@#@WFEM##@@W)x!,,`.|opbbF@@#MME>||xxoE@@#@##: +`` ``` ` `` ` `` `` `p##@#@#@@@##Fo<<>p)@#@W(o:,.;!>p)>oEMbxxx>|:!>>(@##@#@> +` ` ` ` ` ` ` `,@@@#@###@##b<>o(##@(#@EE>:,;!!><>!><:.:.;:;;>>bM@@@#@o +` ` ` ` ` ` ` ```@@#@#@#@##)p(WME@@F<)WEMb!.:||;|<!:,,.,,,.,;<>x)##W#@p +`` ` ` `` ` ` ` `)@@#@##@@Fxb@@(ob)<|<(MF(>,;<<:!;:;;.,.:...,|<op@E<b#x +` ``` ` ` ` ```` ` ` >###@###WE)((o|::|:!|p@EFx;,!>|!;;;,:,`..,,.!>obEp><#. + ` ` ` `` ` `` ` .#@##@#@WFpo>:;|;;.:<)MMFx!.;>!!::,...,..,.,!|xpb><<W + ` ` `` ```` ` ` ` ```#@#@#@@Wp>>!|;,:;,:|(EMEb<.;|<|:;....,` .,;:!xb>|!>b + ``` ``` ```` `````` `` ` (@@#@##Wpx>;:;,..;:;)EWM(>:;;>!!::;,,,``...,|ob||!>:` + ` ` ` ` `` `` ` ``@@@#@#Wp<|;,...,.,|bEMM)<,.:|<|!;:;,,....;;!op|::>,` + ` ` ```` ` ` ` `@#@@@#M(>!;...,.,,;bMMW(>.`,:<!|;;||,..,.::|<b:;<<` + `` ` `` ` ` ` ```M@@@###)x<|::,.,,,|)MWEp!..,:<>!;;!>!,,.:;|<<p>:x| +`` ` ` `` ``` `` `` ```,#@##@#Eo<|:.,,,,.<)MEMEo|:!x)Eo>|!xo|;;:!<>>pM)(, ` + ```` ` ` `` ``` ` ```E@##W@Mp<||;,,,,.oEE(M##FpxbpEb>|!xxo|||!<><p@@#|` +` ` `` ` `` ` `` ` >@MWE@#Fx<|;,,..:bWMW@#@W()bx>>|!;|<<>>!;><<p@@#(` +`` `` ` ` ``` `` `` ``` ` ,W)(EW#M)x>;;.,.;x(FEM@MF))<:|><|::,:><::<|>oE#@#(` +` ` `` `` ` ``` ` ` `pFEFE#W(o>|!:.;;>oxp()o>!;;;:!|:|!.:;|.:>!>x(@###) +!` ` ``` `` ``` `` ```,MWME@WM(x>||!||!><<oo>!::.,,:!|||<!;;.;>;|xo##@@# +M`` ` ` ` `` ` ``` `M##@MM)bo<><||<<xopx>|:,.;;:<p))x;,..!>;|px@@@@# +@``` ``` ` ` ` ``` ` ``:#@###E)p><;.|ooxoo>!|!:;|p(WEb|:,``.<<;>px(@#@# +, ` `` ` ` ` ````` ` ` ``` `,:)MEEb!p>|op)(E)((())((()p>!:.. `,>|!ox>E@@#, +`` `` ` ` ` `` ` ` ` ````` :MWM(><:.<)M#M@MEbx<>:!!>!,..,`,;>|<p>!(@@( +` `` ` ` ` ` ` `` ` `````FWMEb!:..;<o(px>!;;.`:!|::,, `,!|>oo!>oW#! +` ````` ` ` ` ``` `` `` ` ` ``<WWW)<:`,:|>xo>|;:;:,.;;;.:;.,;!|<x>;;>>#@x +` ` ` ` ` ` ` ` ` ` `` ` p#WWx|,,||<>><!;|:::;;,.::,..:<!>x|:|!.>#@ +M.` ` ` ``` `` ` ` ` ``` ` ``` ` )@WMo,;!|>><||!!|;;;,.,.,,.:!!><<::!.`,F# +@#!` ``` `` ``` `` `` ``` ` ` ` .W#WE<.!><<<!!!:;;;;.,.;.;:!;|>x;::, ` <@ +##@<``` ` ``` ` ``` `` ` `` ` `;W#M(>><<<>!;:;;:::,.,,:.;!|<>>.,.`` o# +@#@#E `` ` ` ` ` ` `` ` ` ` `` `!M#W)<<o<>!:;;::;;.,,..;:|<<>:, ` `E# +@##@@@, ` `` ` `` ` `` ``` ` `` ```<#@Ebxox>|!;:;:::,,.:;;|!>>>,``` ``.#@ +@#@@##@F ``` ` ` ` ` ` ` ``` `` oM@(boo><|::;:.,...,;||<oo;``` `b@# +@@##@@#@ `` ` ` `` ` `` ``` ``` `` ` F#W(bo<<!!:,.,,.,.::!><o<``` ``;@@# +#@#@@@@# `` ` `` `` ` ``` ` `` ` ``` ` #W#M)(x><!;;.,..;;;|<<b<, ` `` ,M@## +##@#@##@ ``` ``` ` ` ` ` ``` ``` ` `p@#EE@#Fbx>>!:;,:::||>xpx; ` ```E@#@@ +###@##@@ ` ` ` `` ` `` ` ` `.(##@#Mx)##E)x<|!!|!!!|<pbo!` ` `(@##@@ +@#@#@@## ` ``` ` ` ` ` ` ` ,(@###@@#o<E@@M(o<<><><oxppo|,` `` (@###@( +#@##@### `` ` ````` `` ``,)@####@@#@F!!E@#W((pbppb()b>:;` :(@##@@W! +@#@@###@ ``` ` ` `` ` `` !F##@##@###@#@x;<E@##MMWWWW(o<|;. ``o#@@@#E,| +##@@@#@# ` ` `` ``` ` ` ,xM##@##@#@#@####F!|<(##W@@#M)>!!|,` ` ``>##@@).`> +#@@@#@## `` ` `` ` ` .x##@@@#@@@###@##@@W!|!x(W@@WFx>!>>. ` ;..#@@): ) +#@#@@##@ ` `` ``````` ```:(###@#@####@#@##@#@@@;|;:x(W#Wbo<>o| ,|)E@@#)@@p`` .@ +#@@@#@@# ``` ` ``` ` o@@###@@@@###@@@#@###@@#!:!;:|xMM(oxx>oW#@#@####@|` ` |# +@@#@@@@@ `` `` ````;(#@@#@@@#@@#@@#@@#@@#@@#@M<>>>|;.|)M@EW#@##@#@@@#@@` `(# +#@#@###@ `` `` `,p@@@@@#@####@##@@@#@#@@###@##@@@#W(<>E##@#@##@#@###@@@. ` #@ +#@#@#@@# ``` .p##@##@##@###@##@@#@###@##@####@@@##@#@@@#@#@###@##@@@#@(`` ,#@ +##@@@#@# ` ,oW#@@@@#@@@###@##@@@@###@##@###@#@@###@#@@##@@@#@@####@@#@@ `,@@ +@@@@@### !W@#@@@@##@#@@@####@#@#@@@@@@@@####@@##@@##@##@###@#@@###@###;``|@# +@##@#@@# ` .M@###@@#####@@####@#@####@@@##@@##@#@#@@#@#@@@##@@#@#@@@@###@|` p@@ +##@#@#@@ )##@###@##@@##@####@@@#@#@#@#@@#@#@#@@#@@@#@@@##@@##@@#@#@@@#@| M## +#@#####@ `,#@#@@@##@@#@@#@#@#@@@##@#@@@##@##@##@#@#@#@@@#Wbo)#@#@#@###@@#` @@# +#@##@@## `p##@@#@##@###@#@####@###@##@#@####@@#####@##(oo .;!|>pEWMWMM(>` :##@ +@##@##@# `@@##@#@@@#@@#@#@#@@##@#@@@####@#@##@#@#@##@x,`` ` `.;.... ` ` `x@@@ +##@@@@@# ,@#@@@#@@#@@@##@##@@###@@@#@@#@#@#@##@#@##W! `` ` ` ` ``` `` (@#@ +@@@#@#@@ >#@@@##@#@@@#@@#@@@##@##@#@@#@#@#@@#@#@M@p,` ` ` ``` ```` ``` `@@## +@#@@@##@ x@@####@@@##@@##@#@@@@#@@@#@@@#@##@@Fbx|:` ` ` ` ` ``` `` ` ` |#@## +@@#@@@@# b#@@#####@#@@@##@@#####@@#@###@#@@#@;. ` ` ` `` ``` ````` ` `o##@# +@@@##@## F@#@@@@@@@@@#@######################, , E';s, +\n,,gxm; while(s&(.{7})&&){$x=64;$y=0;$z=$1;while($x){$z=~s-(.)--x;$w=$1;##by l +iverpole ($w=~/[\@WF)bo>|:.`]/)and$y+=$x;$x>>=1;}$y and$v.=chr($y)}eval$v#March + 25,2006

s''(q.S:$/9=(T1';s;(..)(..);$..=substr+crypt($1,$2),2,3;eg;print$..$/

Comment on Birthday Tribute Japh
Download Code
Replies are listed 'Best First'.
Re: Birthday tribute Japh
by sweetblood (Parson) on Mar 27, 2006 at 20:28 UTC
    I'm sure your brother would have appreciated your efforts. I lost my brother at the age of 25 he'd be 53 this month, it never feels right.

    Nice job on your obfu, very clever!

    Sweetblood

Re: Birthday tribute Japh
by wulvrine (Friar) on Mar 27, 2006 at 12:28 UTC
    Holy (#!curse!#) Now that is a hel..heck of a job!!

    Happy Birthday!

Re: Birthday Tribute Japh
by tweetiepooh (Friar) on Mar 29, 2006 at 10:17 UTC
    That's very nice.

    Opening in gvim shows breaks in strings etc which help see some of it but it's not all there yet.

Re: Birthday Tribute Japh
by Anonymous Monk on Mar 30, 2006 at 21:01 UTC
    nice job xoxo
      I just talked to my 22-year old daughter, who is a junior at college, and had a very close relationship to her uncle.  She told me it was she who wrote the above message!

      I *thought* that xoxo was a little unusual ... :)


      s''(q.S:$/9=(T1';s;(..)(..);$..=substr+crypt($1,$2),2,3;eg;print$..$/

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others browsing the Monastery: (10)
As of 2015-07-31 06:48 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (274 votes), past polls