Upgrade to Pro — share decks privately, control downloads, hide ads and more …

1024 Seconds of JS Wizardry

1024 Seconds of JS Wizardry

We spend our days creating large-scale applications byte by byte. But what happens at night when we get rid of bloated libraries and browser dependencies? What will we discover deep under the surface if we dissect the language of the web into its atomic parts?

In this talk we will hack tweet-sized games, write code in only six characters and create the self-modifying “Hello World” in less than 1024 bytes of JavaScript. All just for fun and without asking “Why?”.

Prepare yourself for 140 slides full of old-school ASCII art and crazy code golfing!

Martin Kleppe

April 24, 2014
Tweet

More Decks by Martin Kleppe

Other Decks in Programming

Transcript

  1. _vo~^'':&b::d,#b\_ ..`" `:v +9P]MMMMMMMMMMHo_ ,- ?Mb#MMMMMMMMMMMMMMMMMHo. . " ,ooM*&&&HMMMMMMMMMMMMMMMMHb. .

    - 99Soo?|'`*?##HMMMMMMMMMMMMMH\ - .HMMMMMM#od#boodMMMMHMMMMMMMMMMb - :MMMMMMMMMMMMMMMM67HMMH&$R**HMMMMMb : .MMMMMMMMMMMMMMMMMMM/HMMMMM| `9MM'HL : {MMMMMMMMMMMMMMMMMMMM\MM*'' `H[ `9| | `HMMMMMMMMMMMMMMMMMMMMb##| `F. :? H `"*"'"`#MMMMMMMMMMMMMMM? ' k M. MMMMMMMMMMMMM"' H MMH. `HMMMMMMMMMM: | &MM| `MMMMMMMMMM, - `MM| dMMMMMMMMMM|.oH : 9ML `HMMMMMMM? dH' - Hi |MMMMMMP "' .' T. `MMM#' - `. ` .` ` - `.. . ..' ... .- '-. //######M#b~"" Crazy Hacks
  2. +++++ +++++ initialize counter (cell #0) to 10 [ use

    loop to set the next four cells to 70/100/30/10 > +++++ ++ add 7 to cell #1 > +++++ +++++ add 10 to cell #2 > +++ add 3 to cell #3 > + add 1 to cell #4 <<<< - decrement counter (cell #0) ] > ++ . print 'H' > + . print 'e' +++++ ++ . print 'l' . print 'l' +++ . print 'o' > ++ . print ' ' << +++++ +++++ +++++ . print 'W' > . print 'o' +++ . print 'r' ----- - . print 'l' ----- --- . print 'd' > + . print '!' > . print '\n'
  3. e brainfuck language is designed to challenge and amuse programmers,

    and was not made to be suitable for practical use.
  4. e brainfuck language is designed to challenge and amuse programmers,

    and was not made to be suitable for practical use!
  5. [])[+[[!+[]+!+[]]]]+(!![]+[])[+[[+[]]]]+(!![]+[])[+[[!+[]+!+[]+!+[]]] +(!![]+[])[+[[+!+[]]]]][([][(![]+[])[+[[+[]]]]+([][[]]+[])[+[[!+[]+!+ []+!+[]+!+[]+!+[]]]]+(![]+[])[+[[!+[]+!+[]]]]+(!![]+[])[+[[+[]]]]+(!! []+[])[+[[!+[]+!+[]+!+[]]]]+(!![]+[])[+[[+!+[]]]]]+[])[+[[!+[]+!+[]+! []]]]+([][(![]+[])[+[[+[]]]]+([][[]]+[])[+[[!+[]+!+[]+!+[]+!+[]+![]]] +(![]+[])[+[[!+[]+!+[]]]]+(!![]+[])[+[[+[]]]]+(!![]+[])[+[[!+[]+!+[]+ +[]]]]+(!![]+[])[+[[+!+[]]]]]+[])[+[[!+[]+!+[]+!+[]+!+[]+!+[]+!+[]]]] ([][[]]+[])[+[[+!+[]]]]+(![]+[])[+[[!+[]+!+[]+!+[]]]]+(!![]+[])[+[[+ []]]]+(!![]+[])[+[[+!+[]]]]+([][[]]+[])[+[[+[]]]]+([][(![]+[])[[[[]]] +([][[]]+[])[+[[!+[]+!+[]+!+[]+!+[]+!+[]]]]+(![]+[])[+[[!+[]+!+[]]]]+

    (!![]+[])[+[[+[]]]]+(!![]+[])[+[[!+[]+!+[]+!+[]]]]+(!![]+[])[+[[+!+ []]]]]+[])[+[[!+[]+!+[]+!+[]]]]+(!![]+[])[+[[+[]]]]+([][(![]+[])[+[[+ []]]]+([][[]]+[])[+[[!+[]+!+[]+!+[]+!+[]+!+[]]]]+(![]+[])[+[[!+[]+!+ []]]]+(!![]+[])[+[[+[]]]]+(!![]+[])[+[[!+[]+!+[]+!+[]]]]+(!![]+[])[+ [[+!+[]]]]]+[])[+[[!+[]+!+[]+!+[]+!+[]+!+[]+!+[]]]]+(!![]+[])[+[[+!+ []]]]]((![]+[])[+[[+!+[]]]]+(![]+[])[+[[!+[]+!+[]]]]+(!![]+[])[+[[!+[ +!+[]+!+[]]]]+(!![]+[])[+[[+!+[]]]]+(!![]+[])[+[[+[]]]]+([][(![]+[])[ [[+[]]]]+([][[]]+[])[+[[!+[]+!+[]+!+[]+!+[]+!+[]]]]+(![]+[])[+[[!+[]+ +[]]]]+(!![]+[])[+[[+[]]]]+(!![]+[])[+[[!+[]+!+[]+!+[]]]]+(!![]+[])[+ [[+!+[]]]]]+[])[+[[+!+[]]]+[[!+[]+!+[]+!+[]+!+[]+!+[]]]]+[+!+[]]+([] [(![]+[])[+[[+[]]]]+([][[]]+[])[+[[!+[]+!+[]+!+[]+!+[]+!+[]]]]+(![]+ [])[+[[!+[]+!+[]]]]+(!![]+[])[+[[+[]]]]+(!![]+[])[+[[!+[]+!+[]+!+[]]] +(!![]+[])[+[[+!+[]]]]]+[])[+[[+!+[]]]+[[!+[]+!+[]+!+[]+!+[]+!+[]+!+
  6. v = (31)["toString"](32) 2400 < = ("")["link"]()[0] 4000 % =

    GLOBAL["escape"]("<")[0] 11000 C = GLOBAL["unescape"]("%43")[0] 18000 } = String["fromCharCode"](123) 41000
  7. function(){/**Your e ntry, a useful, uniq ue, and valid JavaSc

    ript expression that packs as much functi onality into 140 byt es as possible. **/}
  8. <!doctype html> <html> <canvas></canvas> <script> var b = document.body; var

    c = document.getElementsByTagName('canvas')[0]; var a = c.getContext('2d'); // start of submission // *** YOUR SCRIPT *** // end of submission // </script> </html>
  9. 88b d888 888 888888 .d8888b. d888 888 d8P "88b d88P

    Y88b d8888 888 d8P 888 Y88b. 888 888 d8P 888 "Y888b. 888 888d88K 888 "Y88b. 888 8888888b 888 "888 888 888 Y88b 88P Y88b d88P 888 888 Y88b 888 "Y8888P" 8888888 888 Y88b .d88P d88P 888 d888 88888888b. .d88888b. 888 d8P 8888888888 8888888b. 8888 Y88b d88P" "Y88b 888 d8P 888 888 888 Y88b 888 888 888 888 888 d8P 888 888 888 888 d88P 888 888 888d88K 8888888 888 d88P 8888888P" 888 888 8888888b 888 "" 8888888P" 888 888 888 888 Y88b 888 888 T88b 88888 Y88b. .d88P 888 Y88b 888 888 888 T88b 88888 "Y88888P" 888 Y88b 8888888888 888 T8888b 88888 T8888b ______.------.______ .------|J.--. |Q.--. |K.--. |------. |T.--. | :(): | (\/) | :/\: |A.--. | | :/\: | ()() | :\/: | :\/: | (\/) | | (__) | '--'J| '--'Q| '--'K| :\/: | | '--'T`______'------'______| '--'A| `------´ `------'
  10. ‰PNG IHDR ù‰<$º IDATx^mTaoªH}?¥ÉF™a˜D…7M°Ý¾m6&[m·[/A y fQ[ûßwFl·I× Ã¹÷œ{àÞ ~²éˆ ™a‘i¹FwM´(+´À•<¬8^TÕ=ßKflÊ*—yY„Ë|ÏÓH–›D+¾”ê²ËS™…”V”ñü 9“

    žž'‹_Ï¢Üiø!Ä@œi"“0Ù¦yéì’ZI*øèá×êÇ(¿‹ãxðÏÝß“›Éš’ÛA¬êü=ÞÝ8 Ò&~ŽŽ'?n È“’³hY ™Û H$m;‚霱WJ´ eËï9]¬nP‡Òñ‚wÑ>¤nÏhªtÿ#xùL½•­e}ïñN ¹Åæ²LÀÔ£ ¤K‰G½N—¨Àw‰oL¼¼¤¤M;Ð:A¯íÙ)ÛýiWêvMpšð¦ÜéPß'jNÑ:¾õÁPûø ¢Æ·û³s<žž Œ&¬ ໋XÏpâÍ*9€ŠËÛBrQ'+°Ü ½³‹9¨Ñ ¾æKPCÁåV;üh×ø1âªÌa”± nÖÇÈÑ#ÄÌ‹‚‹?Nç„õ žž£+v ›àÅV^Èû|ÍFc¶{0J°(e"9¢M=è¨ c £N?ŠÙG›ƒ¦»(eSjLj x6%Çeµ<µÖÿKò¯É¯/ ÀkÍô; éfñã% ^æ«Õˆ/$ ¢›6kü€ôU) ÍÜ×ÉÐÀT-@¤UÂô]­ÌqOÂîùl¼ÆúÓ`FV­€aM…I 6Ò«ñ{Hùœ!´Œ–ÑTZžžk{®ò¯ñÖtÕ˜N°6= gJ Ø<±üîzćO¬Ø1• ]3ϵzﵕP9ïx×m¡™Z× &P¬ÆÜj@£vN·\ê’öôI¨ÓÜ:ïâ»Vâ'%¹~ç©–u{ Pvæ•j~oŽŽ­~ñÀtteifüÖÌKÿƒ€©ñ¡þ0¾ 7¡ÎQügl̦ƒ6áj;¯¤ NE²»]'Ï, AÂÌZò\”9=xV¬zX1„ÿq„|!¡âzöiúG£©vášàUYnXÂo ÿöÊb<canvas id=c><img src=# onload=for(a=c.getContext('2d'),i=e='' ,S=String.fromCharCode;a.drawImage(this,i--,0),t=a.getImageData(0, 0,1,1).data[0];)e+=S(t);(1,eval)(e)>
  11. ‰PNG IHDR ù‰<$º IDATx^mTaoªH}?¥ÉF™a˜D…7M°Ý¾m6&[m·[/A y fQ[ûßwFl·I× Ã¹÷œ{àÞ ~²éˆ ™a‘i¹FwM´(+´À•<¬8^TÕ=ßKflÊ*—yY„Ë|ÏÓH–›D+¾”ê²ËS™…”V”ñü 9“

    žž'‹_Ï¢Üiø!Ä@œi"“0Ù¦yéì’ZI*øèá×êÇ(¿‹ãxðÏÝß“›Éš’ÛA¬êü=ÞÝ8 Ò&~ŽŽ'?n È“’³hY ™Û H$m;‚霱WJ´ eËï9]¬nP‡Òñ‚wÑ>¤nÏhªtÿ#xùL½•­e}ïñN ¹Åæ²LÀÔ£ ¤K‰G½N—¨Àw‰oL¼¼¤¤M;Ð:A¯íÙ)ÛýiWêvMpšð¦ÜéPß'jNÑ:¾õÁPûø ¢Æ·û³s<žž Œ&¬ ໋XÏpâÍ*9€ŠËÛBrQ'+°Ü ½³‹9¨Ñ ¾æKPCÁåV;üh×ø1âªÌa”± nÖÇÈÑ#ÄÌ‹‚‹?Nç„õ žž£+v ›àÅV^Èû|ÍFc¶{0J°(e"9¢M=è¨ c £N?ŠÙG›ƒ¦»(eSjLj x6%Çeµ<µÖÿKò¯É¯/ ÀkÍô; éfñã% ^æ«Õˆ/$ ¢›6kü€ôU) ÍÜ×ÉÐÀT-@¤UÂô]­ÌqOÂîùl¼ÆúÓ`FV­€aM…I 6Ò«ñ{Hùœ!´Œ–ÑTZžžk{®ò¯ñÖtÕ˜N°6= gJ Ø<±üîzćO¬Ø1• ]3ϵzﵕP9ïx×m¡™Z× &P¬ÆÜj@£vN·\ê’öôI¨ÓÜ:ïâ»Vâ'%¹~ç©–u{ Pvæ•j~oŽŽ­~ñÀtteifüÖÌKÿƒ€©ñ¡þ0¾ 7¡ÎQügl̦ƒ6áj;¯¤ NE²»]'Ï, AÂÌZò\”9=xV¬zX1„ÿq„|!¡âzöiúG£©vášàUYnXÂo ÿöÊb<canvas id=c><img src=# onload=for(a=c.getContext('2d'),i=e='' ,S=String.fromCharCode;a.drawImage(this,i--,0),t=a.getImageData(0, 0,1,1).data[0];)e+=S(t);(1,eval)(e)>
  12. ‰PNG IHDR ù‰<$º IDATx^mTaoªH}?¥ÉF™a˜D…7M°Ý¾m6&[m·[/A y fQ[ûßwFl·I× Ã¹÷œ{àÞ ~²éˆ ™a‘i¹FwM´(+´À•<¬8^TÕ=ßKflÊ*—yY„Ë|ÏÓH–›D+¾”ê²ËS™…”V”ñü 9“

    žž'‹_Ï¢Üiø!Ä@œi"“0Ù¦yéì’ZI*øèá×êÇ(¿‹ãxðÏÝß“›Éš’ÛA¬êü=ÞÝ8 Ò&~ŽŽ'?n È“’³hY ™Û H$m;‚霱WJ´ eËï9]¬nP‡Òñ‚wÑ>¤nÏhªtÿ#xùL½•­e}ïñN ¹Åæ²LÀÔ£ ¤K‰G½N—¨Àw‰oL¼¼¤¤M;Ð:A¯íÙ)ÛýiWêvMpšð¦ÜéPß'jNÑ:¾õÁPûø ¢Æ·û³s<žž Œ&¬ ໋XÏpâÍ*9€ŠËÛBrQ'+°Ü ½³‹9¨Ñ ¾æKPCÁåV;üh×ø1âªÌa”± nÖÇÈÑ#ÄÌ‹‚‹?Nç„õ žž£+v ›àÅV^Èû|ÍFc¶{0J°(e"9¢M=è¨ c £N?ŠÙG›ƒ¦»(eSjLj x6%Çeµ<µÖÿKò¯É¯/ ÀkÍô; éfñã% ^æ«Õˆ/$ ¢›6kü€ôU) ÍÜ×ÉÐÀT-@¤UÂô]­ÌqOÂîùl¼ÆúÓ`FV­€aM…I 6Ò«ñ{Hùœ!´Œ–ÑTZžžk{®ò¯ñÖtÕ˜N°6= gJ Ø<±üîzćO¬Ø1• ]3ϵzﵕP9ïx×m¡™Z× &P¬ÆÜj@£vN·\ê’öôI¨ÓÜ:ïâ»Vâ'%¹~ç©–u{ Pvæ•j~oŽŽ­~ñÀtteifüÖÌKÿƒ€©ñ¡þ0¾ 7¡ÎQügl̦ƒ6áj;¯¤ NE²»]'Ï, AÂÌZò\”9=xV¬zX1„ÿq„|!¡âzöiúG£©vášàUYnXÂo ÿöÊb<canvas id=c><img src=# onload=for(a=c.getContext('2d'),i=e='' ,S=String.fromCharCode;a.drawImage(this,i--,0),t=a.getImageData(0, 0,1,1).data[0];)e+=S(t);(1,eval)(e)>
  13. ‰PNG IHDR ù‰<$º IDATx^mTaoªH}?¥ÉF™a˜D…7M°Ý¾m6&[m·[/A y fQ[ûßwFl·I× Ã¹÷œ{àÞ ~²éˆ ™a‘i¹FwM´(+´À•<¬8^TÕ=ßKflÊ*—yY„Ë|ÏÓH–›D+¾”ê²ËS™…”V”ñü 9“

    žž'‹_Ï¢Üiø!Ä@œi"“0Ù¦yéì’ZI*øèá×êÇ(¿‹ãxðÏÝß“›Éš’ÛA¬êü=ÞÝ8 Ò&~ŽŽ'?n È“’³hY ™Û H$m;‚霱WJ´ eËï9]¬nP‡Òñ‚wÑ>¤nÏhªtÿ#xùL½•­e}ïñN ¹Åæ²LÀÔ£ ¤K‰G½N—¨Àw‰oL¼¼¤¤M;Ð:A¯íÙ)ÛýiWêvMpšð¦ÜéPß'jNÑ:¾õÁPûø ¢Æ·û³s<žž Œ&¬ ໋XÏpâÍ*9€ŠËÛBrQ'+°Ü ½³‹9¨Ñ ¾æKPCÁåV;üh×ø1âªÌa”± nÖÇÈÑ#ÄÌ‹‚‹?Nç„õ žž£+v ›àÅV^Èû|ÍFc¶{0J°(e"9¢M=è¨ c £N?ŠÙG›ƒ¦»(eSjLj x6%Çeµ<µÖÿKò¯É¯/ ÀkÍô; éfñã% ^æ«Õˆ/$ ¢›6kü€ôU) ÍÜ×ÉÐÀT-@¤UÂô]­ÌqOÂîùl¼ÆúÓ`FV­€aM…I 6Ò«ñ{Hùœ!´Œ–ÑTZžžk{®ò¯ñÖtÕ˜N°6= gJ Ø<±üîzćO¬Ø1• ]3ϵzﵕP9ïx×m¡™Z× &P¬ÆÜj@£vN·\ê’öôI¨ÓÜ:ïâ»Vâ'%¹~ç©–u{ Pvæ•j~oŽŽ­~ñÀtteifüÖÌKÿƒ€©ñ¡þ0¾ 7¡ÎQügl̦ƒ6áj;¯¤ NE²»]'Ï, AÂÌZò\”9=xV¬zX1„ÿq„|!¡âzöiúG£©vášàUYnXÂo ÿöÊb<canvas id=c><img src=# onload=for(a=c.getContext('2d'),i=e='' ,S=String.fromCharCode;a.drawImage(this,i--,0),t=a.getImageData(0, 0,1,1).data[0];)e+=S(t);(1,eval)(e)>
  14. b.innerHTML="Javascript ❤ source<br><textarea id=i rows=12 cols=80 ></textarea><br><button id=b>CRUSH</button> <b id=s></b><br><texta

    rea id=o rows=12 cols=80></textarea>"+b.innerHTML;Q=[];for(i=127;- -i;i-10&&i-13&&i-34&&i-39&&i-92&&Q.push(String.fromCharCode(i)));s etTimeout("document.getElementById('i').value=eval(document.getEle mentsByTagName('script')[1].innerHTML.replace(/\\/\\/.*(?=\\n)/g,' ').replace(/eval\\(_\\)/,'_'));L()");document.getElementById('b'). onclick=L=function(s){L=function(s){A=encodeURI(s).replace(/%../g, 'i').length};s=document.getElementById('i').value.replace(/\n\/\/. *(?=\n)|[\r\n]+[\t ]*/g,'').replace(/\\/g,'\\\\'),b=s.length/2,m=' ';for(S=L(s)|A;;m=c+m){for(c=0,i=122;!c&&--i;)!~s.indexOf(Q[i])&&( c=Q[i]);if(!c)break;o={},M=N=e=Z=0;for(t=2;t<=b;t++)for(n=s.length -t,i=0;i<n;i++)if(!o[x=s.substr(j=i,t)]&&~(j=s.indexOf(x,j+t)))for (Z=t,o[x]=1;~j;o[x]++)j=s.indexOf(x,j+t);b=Z;for(i in o){j=(R=o[i] )*(j=L(i)|A)-R-j;if(j>1)if(j>M||j==M&&R>N)M=j,N=R,e=i}if(!e)break; s=s.split(e).join(c)+c+e}c=s.split('"').length<s.split("'").length ?(b='"',/"/g):(b="'",/'/);s=document.getElementById('o').value='_= '+b+s.replace(c,'\\'+b)+b+';for(Y=0;$='+b+m+b+'[Y++];)Z=_.split($) ,_=Z.join(Z.pop());eval(_)';i=L(s)|A;document.getElementById('s'). innerHTML=S+'B to '+i+'B ('+(i=i-S)+'B, '+((i/S*1e4|0)/100)+'%)'}
  15. b.innerHTML="Javascript ❤ source<br><textarea id=i rows=12 cols=80 ></textarea><br><button id=b>CRUSH</button> <b id=s></b><br><texta

    rea id=o rows=12 cols=80></textarea>"+b.innerHTML;Q=[];for(i=127;- -i;i-10&&i-13&&i-34&&i-39&&i-92&&Q.push(String.fromCharCode(i)));s etTimeout("document.getElementById('i').value=eval(document.getEle mentsByTagName('script')[1].innerHTML.replace(/\\/\\/.*(?=\\n)/g,' ').replace(/eval\\(_\\)/,'_'));L()");document.getElementById('b'). onclick=L=function(s){L=function(s){A=encodeURI(s).replace(/%../g, 'i').length};s=document.getElementById('i').value.replace(/\n\/\/. *(?=\n)|[\r\n]+[\t ]*/g,'').replace(/\\/g,'\\\\'),b=s.length/2,m=' ';for(S=L(s)|A;;m=c+m){for(c=0,i=122;!c&&--i;)!~s.indexOf(Q[i])&&( c=Q[i]);if(!c)break;o={},M=N=e=Z=0;for(t=2;t<=b;t++)for(n=s.length -t,i=0;i<n;i++)if(!o[x=s.substr(j=i,t)]&&~(j=s.indexOf(x,j+t)))for (Z=t,o[x]=1;~j;o[x]++)j=s.indexOf(x,j+t);b=Z;for(i in o){j=(R=o[i] )*(j=L(i)|A)-R-j;if(j>1)if(j>M||j==M&&R>N)M=j,N=R,e=i}if(!e)break; s=s.split(e).join(c)+c+e}c=s.split('"').length<s.split("'").length ?(b='"',/"/g):(b="'",/'/);s=document.getElementById('o').value='_= '+b+s.replace(c,'\\'+b)+b+';for(Y=0;$='+b+m+b+'[Y++];)Z=_.split($) ,_=Z.join(Z.pop());eval(_)';i=L(s)|A;document.getElementById('s'). innerHTML=S+'B to '+i+'B ('+(i=i-S)+'B, '+((i/S*1e4|0)/100)+'%)'}
  16. _="b=\"Java@❤ source@i@^#b>CRUSH</#> <bs></b>@o@\@"+b;Q=[]6q127;-- iz-10@13@34@[email protected](Strg.fromCh@arCode(i))@setTimeout(\"i@=e(@ sByTagName('@[1]D@/5n)@De(_)/,'_@@L()\"@[email protected]=@A=encodeURIPD% ..i@};Fi@D@n@/@5@n)|[@r@n]+[@t ]*@D@,b=s@/2,mG'6S;m=c+m){@c=0,q122 ;!c--i;)!~ Q(c=Q;!co={},M=N=e=Z=06t=2;t<=b;tV@n=s@-t,q0z<nzV!W=s.s ubstr(Ki,t)]~())@Z=t,W]=1;~j;W]V;b=Z6i

    o){K(R=o*(KL(i)|A)-R-j;j>1 )j>M||K=MR>N)M=j,N=R,e=i}!eFse)`c)+c+e}c=s'\"@<s\"'\")@?(bG\"',/\" /g):(b=\"'\",/'/@Fo@G_Gsc,''+b)'6Y=0;$Gm'[Y++];)Z=_$),_=Z`Z.pop()@ e(_)'zs@=SX to '+iX ('+(qi-S)X, '+((i/S*1e4|0)/100)+'%)'}@ById('.r eplace(.nerHTML@ rowF12 colF80></>@\\@.length@for(.split( s.dexOf( @document.getElement@^@.ue@L=functionP{@')@i-/g,'@if(K x,j+t)=LP| A;textareaval+b+ id=[i]))break;&&inscript#button5/.*(?=6;@@);D/Fs= G='Kj=P(s)V++)Wo[xX+'B^<br><`.jo(qi=z;i";for(Y=0;$="zq`^XWVPKGFD@6 5#@ @"[Y++];)Z=_.split($),_=Z.join(Z.pop());eval(_)
  17. _="b=\"Java@❤ source@i@^#b>CRUSH</#> <bs></b>@o@\@"+b;Q=[]6q127;-- iz-10@13@34@[email protected](Strg.fromCh@arCode(i))@setTimeout(\"i@=e(@ sByTagName('@[1]D@/5n)@De(_)/,'_@@L()\"@[email protected]=@A=encodeURIPD% ..i@};Fi@D@n@/@5@n)|[@r@n]+[@t ]*@D@,b=s@/2,mG'6S;m=c+m){@c=0,q122 ;!c--i;)!~ Q(c=Q;!co={},M=N=e=Z=06t=2;t<=b;tV@n=s@-t,q0z<nzV!W=s.s ubstr(Ki,t)]~())@Z=t,W]=1;~j;W]V;b=Z6i

    o){K(R=o*(KL(i)|A)-R-j;j>1 )j>M||K=MR>N)M=j,N=R,e=i}!eFse)`c)+c+e}c=s'\"@<s\"'\")@?(bG\"',/\" /g):(b=\"'\",/'/@Fo@G_Gsc,''+b)'6Y=0;$Gm'[Y++];)Z=_$),_=Z`Z.pop()@ e(_)'zs@=SX to '+iX ('+(qi-S)X, '+((i/S*1e4|0)/100)+'%)'}@ById('.r eplace(.nerHTML@ rowF12 colF80></>@\\@.length@for(.split( s.dexOf( @document.getElement@^@.ue@L=functionP{@')@i-/g,'@if(K x,j+t)=LP| A;textareaval+b+ id=[i]))break;&&inscript#button5/.*(?=6;@@);D/Fs= G='Kj=P(s)V++)Wo[xX+'B^<br><`.jo(qi=z;i";for(Y=0;$="zq`^XWVPKGFD@6 5#@ @"[Y++];)Z=_.split($),_=Z.join(Z.pop());eval(_)
  18. _="b=\"Java@❤ source@i@^#b>CRUSH</#> <bs></b>@o@\@"+b;Q=[]6q127;-- iz-10@13@34@[email protected](Strg.fromCh@arCode(i))@setTimeout(\"i@=e(@ sByTagName('@[1]D@/5n)@De(_)/,'_@@L()\"@[email protected]=@A=encodeURIPD% ..i@};Fi@D@n@/@5@n)|[@r@n]+[@t ]*@D@,b=s@/2,mG'6S;m=c+m){@c=0,q122 ;!c--i;)!~ Q(c=Q;!co={},M=N=e=Z=06t=2;t<=b;tV@n=s@-t,q0z<nzV!W=s.s ubstr(Ki,t)]~())@Z=t,W]=1;~j;W]V;b=Z6i

    o){K(R=o*(KL(i)|A)-R-j;j>1 )j>M||K=MR>N)M=j,N=R,e=i}!eFse)`c)+c+e}c=s'\"@<s\"'\")@?(bG\"',/\" /g):(b=\"'\",/'/@Fo@G_Gsc,''+b)'6Y=0;$Gm'[Y++];)Z=_$),_=Z`Z.pop()@ e(_)'zs@=SX to '+iX ('+(qi-S)X, '+((i/S*1e4|0)/100)+'%)'}@ById('.r eplace(.nerHTML@ rowF12 colF80></>@\\@.length@for(.split( s.dexOf( @document.getElement@^@.ue@L=functionP{@')@i-/g,'@if(K x,j+t)=LP| A;textareaval+b+ id=[i]))break;&&inscript#button5/.*(?=6;@@);D/Fs= G='Kj=P(s)V++)Wo[xX+'B^<br><`.jo(qi=z;i";for(Y=0;$="zq`^XWVPKGFD@6 5#@ @"[Y++];)Z=_.split($),_=Z.join(Z.pop());eval(_) -25%
  19. v=0000;eval$s=%q~d=%!^Lcf<LK8, _@7gj*LJ=c5nM)Tp1g0%Xv.,S[<>YoP 4ZojjV)O>qIH1/n[|2yE[>:ieC "%.#% :::##" 97N-A&Kj_K_><wS5rtWk@*a+Y5 yH?b[F^e7C/56j|pmRe+:)B "##% ::##########" O98(Zh)'Iof*nm.,$C5Nyt=

    PPu01Avw^<IiQ=5$'D-y? "##: ###############" g6`YT+qLw9k^ch|K'),tc 6ygIL8xI#LNz3v}T=4W "# #. .####:#######" lL27FZ0ij)7TQCI)P7u }RT5-iJbbG5P-DHB<. " ##### # :############" R,YvZ_rnv6ky-G+4U' $*are@b4U351Q-ug5 " #######################" 00x8RR%`Om7VDp4M5 PFixrPvl&<p[]1IJ " ############:#### %#####" EGgDt8Lm#;bc4zS^ y]0`_PstfUxOC(q " .#############:##% .## ." /,}.YOIFj(k&q_V zcaAi?]^lCVYp!; " %% .################. #. " ;s="v=%04o;ev"% (;v=(v-($*+[45, ":####: :##############% : " ])[n=0].to_i;)% 360)+"al$s=%q#{ "%######. ######### " ;;"%c"%126+$s<< 126}";d.gsub!(/ "##########. #######% " |\s|".*"/,"");; require"zlib"|| "########### :######. " ;d=d.unpack"C*" d.map{|c|n=(n|| ":#########: .######: . " )*90+(c-2)%91}; e=["%x"%n].pack " :#######% :###### #: " &&"H*";e=Zlib:: Inflate.inflate( " ######% .####% :: " &&e).unpack("b*" )[0];22.times{|y| " ####% %### " ;w=(Math.sqrt(1-( (y*2.0-21)/22)**(; " .###: .#% " ;2))*23).floor;(w* 2-1).times{|x|u=(e+ " %## " )[y*z=360,z]*2;u=u[ 90*x/w+v+90,90/w];s[( " #. " ;y*80)+120-w+x]=(""<< 32<<".:%#")[4*u.count(( " . " ;"0"))/u.size]}};;puts\ s+";_ The Qlobe#{" "*18+ ( "# :#######" ;"Copyright(C).Yusuke End\ oh, 2010")}";exit~;_ The Qlobe Copyright(C).Yusuke Endoh, 2010 qlobe.rb by @mametter
  20. ····················· ······················· ···················· ····················· ··················· ···················· ················· ·················· ················ ·················

    ··············· ················ ·············· ··············· ·············· ··············· ·············· ··············· ·············· ··············· ··············· ················ ················ ················· ················· ·················· ··················· ···················· ····················· ····················· ······························································
  21. ····················· ,.oq#+ ,._, ······················· ···················· =<,m#F^ A W###q. ····················· ···················

    #K q##H######Am ···················· ················· dP cpq#q##########b, ·················· ················ p##@###YG=[#######y ················· ··············· d#qg `*PWo##q#######D ················ ·············· aem1k.com Q###KWR#### W[ ··············· ·············· .Q#########Md#.###OP A@ , ··············· ·············· , (W#####Xx######.P^ T % ··············· ·············· #y `^TqW####P###BP ··············· ··············· b. OQ####x#K ················ ················ l `X#####D , ················· ················· G####B" # ·················· ··················· VQBP` ···················· ····················· TP ····················· ······························································
  22. ····················/* */····················· ··················/* */··················· ·················/* */·················· ···············/* */················ ··············/* */···············

    ·············/* */·············· ············/* */············· ············/* */············· ············/* */············· ············/* */············· ·············/* */·············· ··············/* */··············· ···············/* */················ ·················/* */·················· ···················/* */··················· ······························································
  23. eval('··············/* */····················· ··················/* */··················· ·················/* */·················· ···············/* */················ ··············/* */···············

    ·············/* */·············· ············/* */············· ············/* */············· ············/* */············· ············/* */············· ·············/* */·············· ··············/* */··············· ···············/* */················ ·················/* */·················· ···················/* */··················· ····························································')
  24. eval('··············/* */·····················↩ ··················/* */···················↩ ·················/* */··················↩ ···············/* */················↩ ··············/* */···············↩

    ·············/* */··············↩ ············/* */·············↩ ············/* */·············↩ ············/* */·············↩ ············/* */·············↩ ·············/* */··············↩ ··············/* */···············↩ ···············/* */················↩ ·················/* */··················↩ ···················/* */···················↩ ····························································')
  25. eval('··············/* */····················· ··················/* */··················· ·················/* */·················· ···············/* */················ ··············/* */···············

    ·············/* */·············· ············/* */············· ············/* */············· ············/* */············· ············/* */············· ·············/* */·············· ··············/* */··············· ···············/* */················ ·················/* */·················· ···················/* */··················· ····························································')
  26. eval('··············/* */···················'+ '·················/* */·················'+ '················/* */················'+ '··············/* */··············'+ '·············/* */·············'+

    '············/* */············'+ '···········/* */···········'+ '···········/* */···········'+ '···········/* */···········'+ '···········/* */···········'+ '············/* */············'+ '·············/* */·············'+ '··············/* */··············'+ '················/* */················'+ '··················/* */·················'+ '···························································')
  27. eval('··············/* */····················\ ··················/* */··················\ ·················/* */·················\ ···············/* */···············\ ··············/* */··············\

    ·············/* */·············\ ············/* */············\ ············/* */············\ ············/* */············\ ············/* */············\ ·············/* */·············\ ··············/* */··············\ ···············/* */···············\ ·················/* */·················\ ···················/* */··················\ ····························································')
  28. eval(z='············/* */····················\ ··················/* */··················\ ·················/* */·················\ ···············/* */···············\ ··············/* */··············\

    ·············/* */·············\ ············/* */············\ ············/* */············\ ············/* */············\ ············/* */············\ ·············/* */·············\ ··············/* */··············\ ···············/* */···············\ ·················/* */·················\ ···················/* */··················\ ···············································setTimeout(z)')
  29. Map

  30. · · · · # # # # # #

    · · · · · # · · · · · · # # # # # # # · · · · # # # # # · · · # # # # # # # # · · # # # # # # # # · · · # # # # # · · · · # # # # # # # # · · · · # # # # · · · # # # # # # # # · · · · · · # # # · · · # # # # # # # # · · · · · · # # # · · · # · # # # # # # · · · · · · # # · · · · # # # # # # # · · · · · · · · # · · · # # # # # # # · · · · · · · · · · # · · # # # # · · # · · · · · · · · · · # # · · # # # · · · # · · · · · · · · · # # # · · # # · · · · · · · · · # · · · # # · · · # # · · · · # · · · · · · · · # # · · · # · · · · # # · · · · · · · · # · · · · # · · · · # # · · 320
  31. 6 6 6 6 6 6 1 7 7 7

    7 7 7 7 5 5 5 5 5 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 5 5 5 5 5 8 8 8 8 8 8 8 8 4 4 4 4 8 8 8 8 8 8 8 8 3 3 3 8 8 8 8 8 8 8 8 3 3 3 1 6 6 6 6 6 6 2 2 7 7 7 7 7 7 7 1 7 7 7 7 7 7 7 1 4 4 4 4 1 2 2 3 3 3 1 3 3 3 2 2 1 2 2 2 2 1 2 2 1 2 2 1 1 2 2 4 4 4 4 5 5 5 5 5 4 4 4 4 2 2 4 4 4 4 2 2 1 2 2 1 2 2 4 4 4 4 1 3 3 3 3 3 3 2 2 4 4 4 4 3 3 3 2 2 4 4 4 4 3 3 3 1 2 2 4 4 4 4 4 4 4 4 3 3 3 5 5 5 5 5 3 3 3 4 4 4 4 6 6 6 6 6 6 2 2 2 2 4 4 4 4 6 6 6 6 6 6 2 2 3 3 3 3 3 3 6 6 6 6 6 6 2 2 7 7 7 7 7 7 7 2 2 3 3 3 3 3 3 4 4 4 4 2 2 6 6 6 6 6 6 3 3 3 4 4 4 4 2 2 6 6 6 6 6 6 4 4 4 4 4 4 4 4 2 2 320
  32. 6 · · · · · 1 7 · ·

    · · · · 5 · · · · 8 · · · · · · · 8 · · · · · · · 5 · · · · 8 · · · · · · · 4 · · · 8 · · · · · · · 3 · · 8 · · · · · · · 3 · · 1 6 · · · · · 2 · 7 · · · · · · 1 7 · · · · · · 1 4 · · · 1 2 · 3 · · 1 3 · · 2 · 1 2 · 2 · 1 2 · 1 2 · 1 1 2 · 4 · · · 5 · · · · 4 · · · 2 · 4 · · · 2 · 1 2 · 1 2 · 4 · · · 1 3 · · 3 · · 2 · 4 · · · 3 · · 2 · 4 · · · 3 · · 1 2 · 4 · · · 4 · · · 3 · · 5 · · · · 3 · · 4 · · · 6 · · · · · 2 · 2 · 4 · · · 6 · · · · · 2 · 3 · · 3 · · 6 · · · · · 2 · 7 · · · · · · 2 · 3 · · 3 · · 4 · · · 2 · 6 · · · · · 3 · · 4 · · · 2 · 6 · · · · · 4 · · · 4 · · · 2 · 320
  33. 4 6 5 1 4 2 7 4 5 2

    1 8 2 8 1 2 5 4 8 1 3 4 3 8 2 4 3 3 8 2 4 3 3 1 1 6 2 4 2 4 7 3 5 1 3 7 4 6 1 2 4 2 1 4 6 2 2 3 3 1 3 6 3 2 2 7 2 1 3 2 3 2 4 1 2 6 2 3 1 4 2 2 6 1 4 1 4 2 2 320
  34. 4,6,5,1,4 2,7,4,5,2 1,8,2,8,1 2,5,4,8,1 3,4,3,8,2 4,3,3,8,2 4,3,3,1,1,6,2 4,2,4,7,3 5,1,3,7,4 6,1,2,4,2,1,4

    6,2,2,3,3,1,3 6,3,2,2,7 2,1,3,2,3,2,4,1,2 6,2,3,1,4,2,2 6,1,4,1,4,2,2 192
  35. 46514 27452 18281 25481 34382 43382 4331162 42473 51374 6124214

    6223313 63227 213232412 6231422 6141422 104
  36. zw2 l6k e3t jnt qj2 xh2 2kty2 wrt 13n2 3n9h2

    3pdxt 1csb 3iyb6k 3pk72 3nmr2 .toString(36) 60
  37. "zw2", "l6k", "e3t", "jnt", "qj2", "xh2", "2kty2", "wrt", "13n2", "3n9h2",

    "3pdxt", "1csb", "3iyb6k", "3pk72", "3nmr2" 102
  38. 3D

  39. # # # # # # # # # #

    # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
  40. ····················/* */····················· ··················/* */··················· ·················/* */·················· ···············/* */················ ··············/* */···············

    ·············/* */·············· ············/* */············· ············/* */············· ············/* */············· ············/* */············· ·············/* */·············· ··············/* */··············· ···············/* */················ ·················/* */·················· ···················/* */··················· ······························································ 3
  41. eval(z='············/* */····················\ ··················/* */··················\ ·················/* */·················\ ···············/* */···············\ ··············/* */··············\

    ·············/* */·············\ ············/* */············\ ············/* */············\ ············/* */············\ ············/* */············\ ·············/* */·············\ ··············/* */··············\ ···············/* */···············\ ·················/* */·················\ ···················/* */··················\ ···············································setTimeout(z)') 2
  42. .<script> eval(z='p="<"+"pre>"/* */;for(y in n="zw24l6k\ 4e3t4jnt4qj24xh2 x/* */42kty24wrt413n243n\ 9h243pdxt41csb yz/*

    */43iyb6k43pk7243nm\ r24".split(4)){/* */for(a in t=pars\ eInt(n[y],36)+/* */(e=x=r=[]))for\ (r=!r,i=0;t[a/* */]>i;i+=.05)wi\ th(Math)x-= /* */.05,0>cos(o=\ new Date/1e3/* */+x/PI)&&(e[~\ ~(32*sin(o)*/* */sin(.5+y/7))\ +60] =-~ r);/* */for(x=0;122>\ x;)p+=" *#"/* */[e[x++]+e[x++\ ]]||(S=("eval"/* */+"(z=\'"+z.spl\ it(B = "\\\\")./* */join(B+B).split\ (Q="\'").join(B+Q/* */)+Q+")//m1k")[x/2\ +61*y-1]).fontcolor/* */(/\\w/.test(S)&&"#\ 03B");document.body.innerHTML=p+=B+"\\n"}setTimeout(z)')// </script> 1
  43. .<script> eval(z='p="<"+"pre>"/* ,.oq#+ ,._, */;for(y in n="zw24l6k\ 4e3t4jnt4qj24xh2 x/* =<,m#F^

    A W###q. */42kty24wrt413n243n\ 9h243pdxt41csb yz/* #K q##H######Am */43iyb6k43pk7243nm\ r24".split(4)){/* dP cpq#q##########b, */for(a in t=pars\ eInt(n[y],36)+/* p##@###YG=[#######y */(e=x=r=[]))for\ (r=!r,i=0;t[a/* d#qg `*PWo##q#######D */]>i;i+=.05)wi\ th(Math)x-= /* aem1k.com Q###KWR#### W[ */.05,0>cos(o=\ new Date/1e3/* .Q#########Md#.###OP A@ , */+x/PI)&&(e[~\ ~(32*sin(o)*/* , (W#####Xx######.P^ T % */sin(.5+y/7))\ +60] =-~ r);/* #y `^TqW####P###BP */for(x=0;122>\ x;)p+=" *#"/* b. OQ####x#K */[e[x++]+e[x++\ ]]||(S=("eval"/* l `X#####D , */+"(z=\'"+z.spl\ it(B = "\\\\")./* G####B" # */join(B+B).split\ (Q="\'").join(B+Q/* VQBP` */)+Q+")//m1k")[x/2\ +61*y-1]).fontcolor/* TP */(/\\w/.test(S)&&"#\ 03B");document.body.innerHTML=p+=B+"\\n"}setTimeout(z)')// </script>
  44. Model=function a(b,c,d,e){function f(){var a=this,f={};a.on=function(a,b){(f[a]|| (f[a]=[])).push(b)},a.trigger=function(a,b){for(var c=f[a],d=0;c&&d<c.length;)c [d++](b)},a.off=function(a,b){for(d=f[a]||[];b&&(c=d.indexOf(b))>-1;)d.splice(c ,1);f[a]=b?d:[]};for(c in b)d=b[c],a[c]=typeof

    d=="function"?function(){return( d=this.apply(a,arguments))===e?a:d}.bind(d):d;a.init&&a.init.apply(a,arguments) }return f.extend=function(f){d={};for(c in b)d[c]=b[c];for(c in f)d[c]=f[c],b[c ]!==e&&(d["__"+c]=b[c]);return a(d)},f},typeof module=="object"&&(module.exports =Model); // c-{{{-< ~350 Bytes gzipped
  45. require("fishbone"); Pirate = Model({ ... }); captain = new Pirate();

    captain.on("drunk", captain.yell); captain.drink().drink().yell();
  46. ::::::::::: ::: ::: ::: :::: ::: ::: ::: :+: :+:

    :+: :+: :+: :+:+: :+: :+: :+: +:+ +:+ +:+ +:+ +:+ :+:+:+ +:+ +:+ +:+ +#+ +#++:++#++ +#++:++#++: +#+ +:+ +#+ +#++:+ +#+ +#+ +#+ +#+ +#+ +#+ +#+#+# +#+ +#+ #+# #+# #+# #+# #+# #+# #+#+# #+# #+#
  47. js1k.com 140byt.es jsfuck.com aemk1k.com ubilabs.net quaxio.com/tron iteral.com/jscrush aemk1k.com/world meetup.com/hamburg-js wikipedia.org/wiki/Brainfuck

    github.com/aemkei/fishbone.js sla.ckers.org/forum/read.php?24,32930 mamememo.blogspot.com/2010/09/qlobe.html p01.org/releases/MATRAKA/matraka.png.html github.com/jed/140bytes/wiki/Byte-saving-techniques
  48. __ _/\ \ /' \ \ \ __ __ ___

    ___ /\_, \ \ \/'\ /'__`\ /'__`\/' __` __`\/_/\ \ \ , < ___ /\ \L\.\.\ __//\ \/\ \/\ \ \ \ \ \ \\`\____ /\___\ \ \__/.\_\\____\ \_\ \_\ \_\ \ \_\ \_\ \____\ \/___/ \/__/\/_//____/\/_/\/_/\/_/ \/_/\/_/\/____/ //aem1k.com
  49. @aemkei __ _/\ \ /' \ \ \ __ __

    ___ ___ /\_, \ \ \/'\ /'__`\ /'__`\/' __` __`\/_/\ \ \ , < ___ /\ \L\.\.\ __//\ \/\ \/\ \ \ \ \ \ \\`\____ /\___\ \ \__/.\_\\____\ \_\ \_\ \_\ \ \_\ \_\ \____\ \/___/ \/__/\/_//____/\/_/\/_/\/_/ \/_/\/_/\/____/