<?xml version="1.0" encoding="windows-1252"?>
<node id="539324" title="Birthday Tribute Japh" created="2006-03-26 17:35:52" updated="2006-03-26 12:35:52">
<type id="1588">
obfuscated</type>
<author id="465654">
liverpole</author>
<data>
<field name="doctext">
I wrote this as a tribute to my younger brother, who unfortunately passed away when he was only 23.
&lt;p&gt;Yesterday was his birthday; he would have been 39 years old.
&lt;p&gt;Of course I can't be certain, but I suspect he would have liked Perl.&amp;nbsp;&amp;nbsp;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.
&lt;p&gt;The program is similar in appearance to &lt;a href="?node_id=495976"&gt;Latent Japh&lt;/a&gt; and &lt;a href="?node_id=520207"&gt;Japhy New Year&lt;/a&gt;, but uses a completely new trick, which, by its nature, does a better job of "randomizing" the ascii output.&amp;nbsp;&amp;nbsp;Can you figure out how it works?
&lt;p&gt;&lt;b&gt;Update&lt;/b&gt;:&amp;nbsp;&amp;nbsp;On Windows, the module "Win32::CONSOLE::ANSI" is required.&amp;nbsp;&amp;nbsp;On Linux, you'll need to run it with "&lt;i&gt;perl &lt;program&gt;&lt;/i&gt;", since it doesn't have the shebang line.
&lt;readmore&gt;
&lt;code&gt;
$_=' `  `  `````   ```` ` ``  `` ```  ` ``` ````  ` ```` `` ``    ``` ``   `  
 ` ```  ` ``  ` ````   ```` ` ``` `  ````  ` ``  ` ` `     ` ` ````` `  ``` ``
`  ``  `` ``  `  ``` `  ``` ` `    ```  `````  ``` ` `  ```  `````  ``  `   ` 
` ``` `  ``` ` `     ``  ``` ` `  ```  `  ` `   `  ``` `````  ````` ` ```   ` 
 `     ` `  `````` `````  ````  ` ``` ``  ``  ` ```   ````` `   `  `  ` `` `  
` ``   `  `  ` `` `  ` ``   `  `  ` `` `  ` ``   `  `  ` `````` `` `` ``    ` 
``` `````` ````  ````` ` ```   `  `     `` ```  ` `   ` ```   `  `   ` `  ````
` `` ` `    `  `  ` `     ` `  ` `.`` `` ,;   ` ````` ``` `` `  `   `  `  ` ` 
    ```` ``````` ```  `` ` `` ` . `    ` .&gt;bx!.,:;!|;.,`` ` ` `` `````    ``` 
`` `  `  ```   ` ```` ` `  `  ,..,  ` ``:!ob)Fp&gt;;,``` !:`  ` `   `` ```````  `
 ``  `   `  `  ```   ` `````,!|:;.   ``,,.;&lt;bEF(!.````;&gt;o!`  `  ```   ` ```` `
`` ```````  ` ``  `   ` ` ;!&lt;o&lt;!:  ```   `,:&lt;op(b&lt;. `` .&lt;o. `   ``  `` ``` `` 
`  `  ` ` ``  ```` ` `  .&lt;xoo&gt;&lt;&lt;!:,.  ` `,..&gt;pEFMWo` .. .x&lt;`  ` ` ` ` ```` ` `
 `    `  `  ```   ` ` `:xoxbpxoxpo&lt;:,``  ` .&lt;(WM@#F:`:&lt;&gt;:.x;` ``` `` `  `  ` `
 ``  ```` ` `  `  ``` ;p)()(WWE)pbo&gt;; ` ` `,|&lt;pFME)!,:pFp:&lt;&gt; ` `` ` `` `   ```
 `` `  `  ` ` ` ` ` `|(WM@@WWMW()o&lt;:;,`````,|obp(b(&gt;.|(WWMp))`  ````  ` ````` 
`` `  `   `  `  ` ` ;pM#@@@@#WF)bo&gt;&gt;!:..  `.;|&lt;oo&lt;)o;|)@@#MFM)   ``````  ` ` `
  ` `  ` ` `    ` `.oM#@#@##@MWE)pxxo&gt;&gt;&gt;:.,;:&lt;&gt;x&gt;!x&gt;;|(#@#@#)Mx  ` ```  ` `  `
 ` `` ` ` `` ` ``` )W#@#@####@MMWEEFE)()x|;.;|&gt;&lt;!!|!!)M#@#W#W@#&lt;` `  ` ```` ` 
` `    ```  ` ``  p##@#@#@##@#@###@WMF)p(bbxxo!:||;|b@#@WMEFW@@@. `  `` `    `
  `   ``   ` ` ` p@#@#@#@@@@#@@@@@@WMMF(WWMpox&lt;&lt;&gt;!.x###@EM@EM#@@&lt; `  ` `  ` ` 
`` ` ``  `` ``  o@#@#@@###@@@##@#@@###M#F()xox&lt;|&lt;&gt;!(#@@#WW#MW@##F,``` ``` ``  
`````` `  `` `  ##@##@###@@##@@#@#@##WMWM)poooopob&gt;oW@@#MW#@@##@#( ` `    `  `
   `` `   ` `  &gt;#@#@@#@#@@##@@#@@##@@#@#@M#W(b)F(b&gt;&lt;)EMWEE@@@###@#&gt;``` ```````
  ` ````` `` ``#@####@#@###@#@#@@@#@#@#@@@WWFE(((&gt;|:pbFFE@@##@###@# `  ` ` ` `
 ```` ` ` `` `;@##@##@#@#@#@#@@@#@@#@##@#MWF)xxxo;..&gt;&gt;(WW@@@@@##@#@o``` `` `` 
`    ` `   ```(@@@#@#@#@@@@@@####@@@#@@@MWFp&lt;&gt;&lt;!;.,;&gt;!x@#@#@@##@@@@M` ` `` ` `
  `  ` ` `` ``@@@#@#@#@####@##@##@#@#@#@MWEo|!;,` ,:!;&gt;E@#@@##@#@##@````` ` ` 
 `  ` `  `` ``@@#@#@@#####@#@@@##@@####MWW(&lt;::,``` .:::o##@@@@@#@#@@`   `  `  
   `   `  ```:#@@#@#@####@##@##@@@##@#MWE)x!.,```` .:;;!###@#@@@@@#@.` `````  
  ```  ` `` `x#@@@#@@@#@@@#@###@###@MWE)b&gt;;;.`  ` `.;::!)@@##@###@#@.`  ``  ` 
`` `` ```  ` )##@###@##@@@#@@@####MMF)bx!;, ```` ``,;,;!xE@##@##@@@#;`  ``` ``
 `  `  ` ` ``F#@@@@#@@@@##@@@@#F(ppoo&lt;|; ```  `` .`.,.,&lt;&gt;pE####@@@##;  ``` ```
`  `` `` ````F@@##@##@#@###@#Ex&lt;!;::.,    ` `  ``...;.:!&gt;xb(###@##@#&lt;``  `   `
 ``   `  `  `)####@#@#@##@#@b&gt;.,.`` ```  `  ` ,:!:&gt;obo&lt;|oo&lt;o)@@@#@@@b` `   `` 
`  ``` ``  ``&lt;#@#@#@#@###M)x!:;;.,````` ` `,,:&gt;bFFEFF(WM)(pxx@##@##@W` ` ` ` `
`   `  `  ```,@@##@#@##@#Wb&gt;&gt;!|:.,..` ,.  `;!o(W@@W)x&gt;&gt;o(F)xoE#@##@## `   ````
 ```    ```   )#@@@##@@#@Mpoppboo&lt;&gt;!:,.`.``;&lt;b)F)(&gt;|:!!&lt;xoboxp#@#@@@# `` `  ` 
 ``` ``  ``````@@####@@@#MMW#@@@##@W(o&lt;;:, .&gt;opbpb(F))x&gt;!|&gt;xxxM@@@###` ```  ``
 `  `  ``` ``  @@@#@@@@#@@#@WFEM##@@W)x!,,`.|opbbF@@#MME&gt;||xxoE@@#@##:`` ``` `
`` `  ``  ``  `p##@#@#@@@##Fo&lt;&lt;&gt;p)@#@W(o:,.;!&gt;p)&gt;oEMbxxx&gt;|:!&gt;&gt;(@##@#@&gt;`  `  ` 
 `    `  `  ` `,@@@#@###@##b&lt;&gt;o(##@(#@EE&gt;:,;!!&gt;&lt;&gt;!&gt;&lt;:.:.;:;;&gt;&gt;bM@@@#@o` `   ` 
`    `  `  ` ```@@#@#@#@##)p(WME@@F&lt;)WEMb!.:||;|&lt;!:,,.,,,.,;&lt;&gt;x)##W#@p``   `  
`  ``  `   ` ` `)@@#@##@@Fxb@@(ob)&lt;|&lt;(MF(&gt;,;&lt;&lt;:!;:;;.,.:...,|&lt;op@E&lt;b#x`  ``` `
 ` ` ```` `  `  &gt;###@###WE)((o|::|:!|p@EFx;,!&gt;|!;;;,:,`..,,.!&gt;obEp&gt;&lt;#.  `   ` 
  ` `` ` ``   ` .#@##@#@WFpo&gt;:;|;;.:&lt;)MMFx!.;&gt;!!::,...,..,.,!|xpb&gt;&lt;&lt;W   ` ` ``
 ```` ` `  `  ```#@#@#@@Wp&gt;&gt;!|;,:;,:|(EMEb&lt;.;|&lt;|:;....,` .,;:!xb&gt;|!&gt;b  ``` ```
```` `````` `` ` (@@#@##Wpx&gt;;:;,..;:;)EWM(&gt;:;;&gt;!!::;,,,``...,|ob||!&gt;:`   `   `
 `   ` `` `` `  ``@@@#@#Wp&lt;|;,...,.,|bEMM)&lt;,.:|&lt;|!;:;,,....;;!op|::&gt;,`   `  ` 
```` `    ` `    `@#@@@#M(&gt;!;...,.,,;bMMW(&gt;.`,:&lt;!|;;||,..,.::|&lt;b:;&lt;&lt;`   `` `  
``  `   `  `   ```M@@@###)x&lt;|::,.,,,|)MWEp!..,:&lt;&gt;!;;!&gt;!,,.:;|&lt;&lt;p&gt;:x|  ``  `   
` `` ``` `` `` ```,#@##@#Eo&lt;|:.,,,,.&lt;)MEMEo|:!x)Eo&gt;|!xo|;;:!&lt;&gt;&gt;pM)(, `   ```` 
 `  ` `` ``` `  ```E@##W@Mp&lt;||;,,,,.oEE(M##FpxbpEb&gt;|!xxo|||!&lt;&gt;&lt;p@@#|` ` `   ``
 `  ``  `   `` `   &gt;@MWE@#Fx&lt;|;,,..:bWMW@#@W()bx&gt;&gt;|!;|&lt;&lt;&gt;&gt;!;&gt;&lt;&lt;p@@#(` ``  `` `
` ``` `` `` ```  ` ,W)(EW#M)x&gt;;;.,.;x(FEM@MF))&lt;:|&gt;&lt;|::,:&gt;&lt;::&lt;|&gt;oE#@#(``  `  ``
 ``  ` ```  `    ` `pFEFE#W(o&gt;|!:.;;&gt;oxp()o&gt;!;;;:!|:|!.:;|.:&gt;!&gt;x(@###)!`    ` 
   ``` `` ``` `` ```,MWME@WM(x&gt;||!||!&gt;&lt;&lt;oo&gt;!::.,,:!|||&lt;!;;.;&gt;;|xo##@@#M``  `  
`   `  ``  `    ```  `M##@MM)bo&lt;&gt;&lt;||&lt;&lt;xopx&gt;|:,.;;:&lt;p))x;,..!&gt;;|px@@@@#@``` ```
   `  `  ` ```   `  ``:#@###E)p&gt;&lt;;.|ooxoo&gt;!|!:;|p(WEb|:,``.&lt;&lt;;&gt;px(@#@#, ` `` `
` `  `````    ` `  ``` `,:)MEEb!p&gt;|op)(E)((())((()p&gt;!:.. `,&gt;|!ox&gt;E@@#,`` ``  `
` `   ``  `  ` ` `````    :MWM(&gt;&lt;:.&lt;)M#M@MEbx&lt;&gt;:!!&gt;!,..,`,;&gt;|&lt;p&gt;!(@@( `  ``   
`   `  `   `  `  `` ` `````FWMEb!:..;&lt;o(px&gt;!;;.`:!|::,, `,!|&gt;oo!&gt;oW#! `  `````
 ` ` `    ```  `` `` ` ` ``&lt;WWW)&lt;:`,:|&gt;xo&gt;|;:;:,.;;;.:;.,;!|&lt;x&gt;;;&gt;&gt;#@x`   ` ` 
  `  `   `  ` `  ` `   `` ` p#WWx|,,||&lt;&gt;&gt;&lt;!;|:::;;,.::,..:&lt;!&gt;x|:|!.&gt;#@M.` `  `
 ```  ``  ` ` ` ```  ` ``` ` )@WMo,;!|&gt;&gt;&lt;||!!|;;;,.,.,,.:!!&gt;&lt;&lt;::!.`,F#@#!` ```
 `` ```  `` `` ```   ` ` `   .W#WE&lt;.!&gt;&lt;&lt;&lt;!!!:;;;;.,.;.;:!;|&gt;x;::, ` &lt;@##@&lt;``` 
  `  ``` `    ``` ``  ` `` ` `;W#M(&gt;&gt;&lt;&lt;&lt;&gt;!;:;;:::,.,,:.;!|&lt;&gt;&gt;.,.``  o#@#@#E ``
 ` `  ` ` `   ``   ` ` `   `` `!M#W)&lt;&lt;o&lt;&gt;!:;;::;;.,,..;:|&lt;&lt;&gt;:, `   `E#@##@@@, 
`   `` `   `` `  `` ``` ` `` ```&lt;#@Ebxox&gt;|!;:;:::,,.:;;|!&gt;&gt;&gt;,``` ``.#@@#@@##@F
   ``` `    `  ` ` `  ` ```  ``  oM@(boo&gt;&lt;|::;:.,...,;||&lt;oo;```   `b@#@@##@@#@
   `` ` `  ``  ` `` ``` ```  `` ` F#W(bo&lt;&lt;!!:,.,,.,.::!&gt;&lt;o&lt;```  ``;@@##@#@@@@#
`` ` `` `` `  ``` ` ``   `  ``` ` #W#M)(x&gt;&lt;!;;.,..;;;|&lt;&lt;b&lt;, ` `` ,M@####@#@##@
``` ``` ` ` `  ` ``` ```   `   `p@#EE@#Fbx&gt;&gt;!:;,:::||&gt;xpx; `  ```E@#@@###@##@@
` `  `   ``     `  `` `   ` `.(##@#Mx)##E)x&lt;|!!|!!!|&lt;pbo!`   ` `(@##@@@#@#@@##
 `  ``` `  `   `   `  ` `  ,(@###@@#o&lt;E@@M(o&lt;&lt;&gt;&lt;&gt;&lt;oxppo|,`  `` (@###@(#@##@###
``     `    `````  ``  ``,)@####@@#@F!!E@#W((pbppb()b&gt;:;`    :(@##@@W!@#@@###@
  ``` `  `   `` `   `` !F##@##@###@#@x;&lt;E@##MMWWWW(o&lt;|;.   ``o#@@@#E,|##@@@#@#
 `  ` `` ```  `   ` ,xM##@##@#@#@####F!|&lt;(##W@@#M)&gt;!!|,` ` ``&gt;##@@).`&gt;#@@@#@##
 `` `  ``  `   `  .x##@@@#@@@###@##@@W!|!x(W@@WFx&gt;!&gt;&gt;.   ` ;..#@@):  )#@#@@##@
` `` ``````` ```:(###@#@####@#@##@#@@@;|;:x(W#Wbo&lt;&gt;o| ,|)E@@#)@@p`` .@#@@@#@@#
```  `  ``` ` o@@###@@@@###@@@#@###@@#!:!;:|xMM(oxx&gt;oW#@#@####@|` ` |#@@#@@@@@
``  `` ````;(#@@#@@@#@@#@@#@@#@@#@@#@M&lt;&gt;&gt;&gt;|;.|)M@EW#@##@#@@@#@@`   `(##@#@###@
 `` `` `,p@@@@@#@####@##@@@#@#@@###@##@@@#W(&lt;&gt;E##@#@##@#@###@@@. `  #@#@#@#@@#
 ```  .p##@##@##@###@##@@#@###@##@####@@@##@#@@@#@#@###@##@@@#@(`` ,#@##@@@#@#
 `  ,oW#@@@@#@@@###@##@@@@###@##@###@#@@###@#@@##@@@#@@####@@#@@  `,@@@@@@@###
   !W@#@@@@##@#@@@####@#@#@@@@@@@@####@@##@@##@##@###@#@@###@###;``|@#@##@#@@#
` .M@###@@#####@@####@#@####@@@##@@##@#@#@@#@#@@@##@@#@#@@@@###@|` p@@##@#@#@@
  )##@###@##@@##@####@@@#@#@#@#@@#@#@#@@#@@@#@@@##@@##@@#@#@@@#@|  M###@#####@
`,#@#@@@##@@#@@#@#@#@@@##@#@@@##@##@##@#@#@#@@@#Wbo)#@#@#@###@@#`  @@##@##@@##
`p##@@#@##@###@#@####@###@##@#@####@@#####@##(oo .;!|&gt;pEWMWMM(&gt;`  :##@@##@##@#
`@@##@#@@@#@@#@#@#@@##@#@@@####@#@##@#@#@##@x,``  `  `.;.... ` ` `x@@@##@@@@@#
,@#@@@#@@#@@@##@##@@###@@@#@@#@#@#@##@#@##W! ``  ` ` `    ```  `` (@#@@@@#@#@@
&gt;#@@@##@#@@@#@@#@@@##@##@#@@#@#@#@@#@#@M@p,` `  `  ```  ```` ``` `@@##@#@@@##@
x@@####@@@##@@##@#@@@@#@@@#@@@#@##@@Fbx|:` ` ` `  ` ``` `` `  `  |#@##@@#@@@@#
b#@@#####@#@@@##@@#####@@#@###@#@@#@;.  `  ` `  `` ``` `````  ` `o##@#@@@##@##
F@#@@@@@@@@@#@######################,         ,                  E';s,\n,,gxm;
while(s&amp;(.{7})&amp;&amp;){$x=64;$y=0;$z=$1;while($x){$z=~s-(.)--x;$w=$1;##by liverpole
($w=~/[\@WF)bo&gt;|:.`]/)and$y+=$x;$x&gt;&gt;=1;}$y and$v.=chr($y)}eval$v#March 25,2006
&lt;/code&gt;
&lt;/readmore&gt;
&lt;div class="pmsig"&gt;&lt;div class="pmsig-465654"&gt;
&lt;hr /&gt;
&lt;font size="1"&gt;
s''(q.S:$/9=(T1';s;(..)(..);$..=substr+crypt($1,$2),2,3;eg;print$..$/
&lt;/font&gt;
&lt;/div&gt;&lt;/div&gt;</field>
</data>
</node>
