1024+ Seconds of JS Wizardry - JSConf.eu 2013

5,208 views

Published on

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!

More info here: http://2013.jsconf.eu/speakers/martin-kleppe-1024-seconds-of-js-wizardry.html

Published in: Technology, Business
0 Comments
5 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
5,208
On SlideShare
0
From Embeds
0
Number of Embeds
29
Actions
Shares
0
Downloads
53
Comments
0
Likes
5
Embeds 0
No embeds

No notes for slide

1024+ Seconds of JS Wizardry - JSConf.eu 2013

  1. 1. 1024+ Seconds of JS Wizardry
  2. 2. Martin Kleppe @aemkei
  3. 3. Maps API
  4. 4. Real World
  5. 5. Dark Side
  6. 6. _vo~^'':&b::d,#b_ ..`" `:v +9P]MMMMMMMMMMHo_ ,- ?Mb#MMMMMMMMMMMMMMMMMHo. . " ,ooM*&&&HMMMMMMMMMMMMMMMMHb. . - 99Soo?|'`*?##HMMMMMMMMMMMMMH - .HMMMMMM#od#boodMMMMHMMMMMMMMMMb - :MMMMMMMMMMMMMMMM67HMMH&$R**HMMMMMb : .MMMMMMMMMMMMMMMMMMM/HMMMMM| `9MM'HL : {MMMMMMMMMMMMMMMMMMMMMM*'' `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
  7. 7. jsfuck.com
  8. 8. . , > < + - [ ]
  9. 9. ("-^-/") `o__o' ] (_Y_) _/ _..`--'-.`, (__)_,--(__) 7: ; 1 _/,`-.-' : (_,)-~~(_,)
  10. 10. Brainfuck 8 Characters
  11. 11. +++++ +++++ 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'
  12. 12. The brainfuck language is designed to challenge and amuse programmers, and was not made to be suitable for practical use.
  13. 13. The brainfuck language is designed to challenge and amuse programmers, and was not made to be suitable for practical use!
  14. 14. http:// sla.ckers.org/ forum/ read.php? 24,32930
  15. 15. jsfuck.com
  16. 16. +[] => 0 +!+[] => 1 !+[] + !+[] => 2
  17. 17. ![] => false !![] => true [][[]] => undefined
  18. 18. ![] +[] => "false" !![] +[] => "true" [][[]] +[] => "undefined"
  19. 19. "false"[0] => "f" "undefined"[5] => "i" "false"[2] => "l" "true"[0] => "t" "true"[3] => "e" "true"[1] => "r"
  20. 20. []["filter"]
  21. 21. []["filter"]["constructor"]
  22. 22. []["filter"]["constructor"](" CODE ")()
  23. 23. []["filter"]["constructor"]("alert(1)")()
  24. 24. [])[+[[!+[]+!+[]]]]+(!![]+[])[+[[+[]]]]+(!![]+[])[+[[!+[]+!+[]+!+[]]] +(!![]+[])[+[[+!+[]]]]][([][(![]+[])[+[[+[]]]]+([][[]]+[])[+[[!+[]+!+ []+!+[]+!+[]+!+[]]]]+(![]+[])[+[[!+[]+!+[]]]]+(!![]+[])[+[[+[]]]]+(!! []+[])[+[[!+[]+!+[]+!+[]]]]+(!![]+[])[+[[+!+[]]]]]+[])[+[[!+[]+!+[]+! []]]]+([][(![]+[])[+[[+[]]]]+([][[]]+[])[+[[!+[]+!+[]+!+[]+!+[]+![]]] +(![]+[])[+[[!+[]+!+[]]]]+(!![]+[])[+[[+[]]]]+(!![]+[])[+[[!+[]+!+[]+ +[]]]]+(!![]+[])[+[[+!+[]]]]]+[])[+[[!+[]+!+[]+!+[]+!+[]+!+[]+!+[]]]] ([][[]]+[])[+[[+!+[]]]]+(![]+[])[+[[!+[]+!+[]+!+[]]]]+(!![]+[])[+[[+ []]]]+(!![]+[])[+[[+!+[]]]]+([][[]]+[])[+[[+[]]]]+([][(![]+[])[[[[]]] +([][[]]+[])[+[[!+[]+!+[]+!+[]+!+[]+!+[]]]]+(![]+[])[+[[!+[]+!+[]]]]+ (!![]+[])[+[[+[]]]]+(!![]+[])[+[[!+[]+!+[]+!+[]]]]+(!![]+[])[+[[+!+ []]]]]+[])[+[[!+[]+!+[]+!+[]]]]+(!![]+[])[+[[+[]]]]+([][(![]+[])[+[[+ []]]]+([][[]]+[])[+[[!+[]+!+[]+!+[]+!+[]+!+[]]]]+(![]+[])[+[[!+[]+!+ []]]]+(!![]+[])[+[[+[]]]]+(!![]+[])[+[[!+[]+!+[]+!+[]]]]+(!![]+[])[+ [[+!+[]]]]]+[])[+[[!+[]+!+[]+!+[]+!+[]+!+[]+!+[]]]]+(!![]+[])[+[[+!+ []]]]]((![]+[])[+[[+!+[]]]]+(![]+[])[+[[!+[]+!+[]]]]+(!![]+[])[+[[!+[ +!+[]+!+[]]]]+(!![]+[])[+[[+!+[]]]]+(!![]+[])[+[[+[]]]]+([][(![]+[])[ [[+[]]]]+([][[]]+[])[+[[!+[]+!+[]+!+[]+!+[]+!+[]]]]+(![]+[])[+[[!+[]+ +[]]]]+(!![]+[])[+[[+[]]]]+(!![]+[])[+[[!+[]+!+[]+!+[]]]]+(!![]+[])[+ [[+!+[]]]]]+[])[+[[+!+[]]]+[[!+[]+!+[]+!+[]+!+[]+!+[]]]]+[+!+[]]+([] [(![]+[])[+[[+[]]]]+([][[]]+[])[+[[!+[]+!+[]+!+[]+!+[]+!+[]]]]+(![]+ [])[+[[!+[]+!+[]]]]+(!![]+[])[+[[+[]]]]+(!![]+[])[+[[!+[]+!+[]+!+[]]] +(!![]+[])[+[[+!+[]]]]]+[])[+[[+!+[]]]+[[!+[]+!+[]+!+[]+!+[]+!+[]+!+
  25. 25. v = (31)["toString"](32) 2400 < = ("")["link"]()[0] 4000 % = GLOBAL["escape"]("<")[0] 11000 C = GLOBAL["unescape"]("%43")[0] 18000 } = String["fromCharCode"](123) 41000
  26. 26. http:// jsfuck.com
  27. 27. 2011
  28. 28. function(a,b,c){for (a=12;a--;c=[c]+(40 95^[,396,82,66,76,8 0,76][a]).toString( 2)+2);for(a in c)b= [b]+"■n"[c[a]];ret urn b} //j.mp/140js
  29. 29. 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. **/}
  30. 30. function(){......... .................... .................... .................... .................... .................... ...................} 128
  31. 31. function(a){........ .................... .................... .................... .................... .................... ...........return a} 119
  32. 32. Base64Encoder() jsLogo() rotate3D() gameOfLive() rubik() ... tetris()
  33. 33. function(a,b,c,d){d+ =c;return[d<0|a&b<<d ?a=parseInt((a|b<<c) .toString(d=32,b=new Date&2|1).replace('v ',''),d):a|b<<d,a,b, d]} // tweetris
  34. 34. function(a,b,c,d){d+ =c;return[d<0|a&b<<d ?a=parseInt((a|b<<c) .toString(d=32,b=new Date&2|1).replace('v ',''),d):a|b<<d,a,b, d]}
  35. 35. function(a,b,c,d){d+ =c;return[d<0|a&b<<d ?a=parseInt((a|b<<c) .toString(d=32,b=new Date&2|1).replace('v ',''),d):a|b<<d,a,b, d]}
  36. 36. function(a,b,c,d){d+ =c;return[d<0|a&b<<d ?a=parseInt((a|b<<c) .toString(d=32,b=new Date&2|1).replace('v ',''),d):a|b<<d,a,b, d]}
  37. 37. function(a,b,c,d){d+ =c;return[d<0|a&b<<d ?a=parseInt((a|b<<c) .toString(d=32,b=new Date&2|1).replace('v ',''),d):a|b<<d,a,b, d]}
  38. 38. ..... ..##. .....
  39. 39. ..... 00000 ..##. => 00110 ..... 00000
  40. 40. ..... 00000 ..##. => 00110 192 ..... 00000
  41. 41. ..... 00000 ..... => 00000 192>>5=6 ..##. 00110
  42. 42. ..... 00000 ..... => 00000 6>>1=3 ...## 00011
  43. 43. ..... 00000 ..... => 00000 6&3 =2 ...X. 00010
  44. 44. http:// js1k.com @kuvos
  45. 45. <!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>
  46. 46. for(a;b;){c;d;} // 15 for(a;b;){c;d} // 14 for(a;b;)c,d; // 13 for(a;b;d)c; // 12 for(a;b;d)c // 11
  47. 47. 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| `------´ `------'
  48. 48. @marijnjh Legend Of The Bouncing Beholder
  49. 49. a = canvas.getContext('2d'); a.translate(x, y); a.createLinearGradient( x0, y0, x1, y1 );
  50. 50. a = canvas.getContext('2d'); a.translate(x, y); a.createLinearGradient( x0, y0, x1, y1 );
  51. 51. for (prop in a){ a[ prop[0]+(prop[6]||'') ] = a[prop]; }
  52. 52. // translate // createLinearGradient a.ta(x, y); a.cL(x0, y0, x1, y1);
  53. 53. with (a){ ta(x, y); cL(x0, y0, x1, y1); }
  54. 54. 219 bytes
  55. 55. <body id=b onkeyup=e=event onload =z=c.getContext('2d');z.fillRect( s=0,0,n=150,x=11325);setInterval( "0<x%n&x<n*n&(z[x+=[1,-n,-1,n][e. which&3]]^=1)?z.clearRect(x%n,x/n ,1,1,s++):b.innerHTML='game over: '+s",9)><canvas id=c>
  56. 56. <body id=b onkeyup=e=event onload =z=c.getContext('2d');z.fillRect( s=0,0,n=150,x=11325);setInterval( "0<x%n&x<n*n&(z[x+=[1,-n,-1,n][e. which&3]]^=1)?z.clearRect(x%n,x/n ,1,1,s++):b.innerHTML='game over: '+s",9)><canvas id=c>
  57. 57. <body id=b onkeyup=e=event onload =z=c.getContext('2d');z.fillRect( s=0,0,n=150,x=11325);setInterval( "0<x%n&x<n*n&(z[x+=[1,-n,-1,n][e. which&3]]^=1)?z.clearRect(x%n,x/n ,1,1,s++):b.innerHTML='game over: '+s",9)><canvas id=c>
  58. 58. <body id=b onkeyup=e=event onload =z=c.getContext('2d');z.fillRect( s=0,0,n=150,x=11325);setInterval( "0<x%n&x<n*n&(z[x+=[1,-n,-1,n][e. which&3]]^=1)?z.clearRect(x%n,x/n ,1,1,s++):b.innerHTML='game over: '+s",9)><canvas id=c>
  59. 59. <body id=b onkeyup=e=event onload =z=c.getContext('2d');z.fillRect( s=0,0,n=150,x=11325);setInterval( "0<x%n&x<n*n&(z[x+=[1,-n,-1,n][e. which&3]]^=1)?z.clearRect(x%n,x/n ,1,1,s++):b.innerHTML='game over: '+s",9)><canvas id=c>
  60. 60. ‰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)>
  61. 61. ‰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)>
  62. 62. ‰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)>
  63. 63. ‰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)>
  64. 64. for(t=0;t++<8e5;)e+=btoa(S('13107103135701314204'[(t>>10&15)+(t>>1 3&4)]*t&96,R()*127*(Math.pow(t/144000%1,16)/4+Math.pow(1-t/144000% 1,64)),t>>10&7^5||R()*127));console.log(e);Z=newAudio(e);Z.play(se tInterval(functionb(v,w){if(v)returnw.W-v.W;M.sort(b);h=c.height=0 |300*innerHeight/innerWidth;C=Q(r=Z.currentTime/2);S=Q(r-8);a.rota te((r&13)/64-.1);B=r/9;A=Math.pow(B%1,64);d=[1-A,0,A][0|B++%3];f=[ 1-A,0,A][0|B++%3];e=[1-A,0,A][0|B++%3];for(t=2560;t--;){v=M[t];if( v.W>0)a.fillRect(150-v.W*v.U,v.W*(v.y+Math.max(16*Q(r),150-r*42))+ h/2,v.W*7,v.W*7,a.fillStyle='hsl('+[r*17-v.y+R()*48,(16+R()*48)+'% ',v.W*7+32-32*Q(v.u*2-8)*Q(v.v*3-8)]+'%)');if(v.t<2304)Y=96-30*v.v ,D=32+8*Q(v.u*2)*Q(v.v*3),v.x=(96-30*v.u)*d+D*(Q(v.u)*e+Q(v.u)*Q(v .v/2-8)*f),v.z=Y*d+D*(Q(v.u-8)*e+Q(v.u-8)*Q(v.v/2-8)*f),v.y=D*d+Y* e+D*Q(v.v/2)*f;v.W=128/(v.z*C-v.x*S+96);v.U=v.x*C+v.z*S}a.fillText (['P01 4MAT','MATRAKA'][B&1].substr(a.drawImage(c,0,r*h%h,32,h/8*( 3+A+Q(B+A)),0,r*h%h,300,h/8*(3+A+Q(B+A))),r*8-48)+'|',32,h/2)},Z.l oop=9))
  65. 65. JSCrush @aivopaas
  66. 66. 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)|[rn]+[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)+'%)'}
  67. 67. 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)|[rn]+[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)+'%)'}
  68. 68. _="b="Java@❤ source@i@^#b>CRUSH</#> <bs></b>@o@@"+b;Q=[]6q127;-- iz-10@13@34@39@92Q.push(Strg.fromCh@arCode(i))@setTimeout("i@=e(@ sByTagName('@[1]D@/5n)@De(_)/,'_@@L()"@b@.onclick=@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(_)
  69. 69. _="b="Java@❤ source@i@^#b>CRUSH</#> <bs></b>@o@@"+b;Q=[]6q127;-- iz-10@13@34@39@92Q.push(Strg.fromCh@arCode(i))@setTimeout("i@=e(@ sByTagName('@[1]D@/5n)@De(_)/,'_@@L()"@b@.onclick=@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(_)
  70. 70. _="b="Java@❤ source@i@^#b>CRUSH</#> <bs></b>@o@@"+b;Q=[]6q127;-- iz-10@13@34@39@92Q.push(Strg.fromCh@arCode(i))@setTimeout("i@=e(@ sByTagName('@[1]D@/5n)@De(_)/,'_@@L()"@b@.onclick=@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%
  71. 71. Hello World 1K
  72. 72. 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
  73. 73. Problems 1. 1919 bytes 2. Ruby
  74. 74. Options 1. Golf down 2. Rewrite
  75. 75. Layout
  76. 76. ····················· ······················· ···················· ····················· ··················· ···················· ················· ·················· ················ ················· ··············· ················ ·············· ··············· ·············· ··············· ·············· ··············· ·············· ··············· ··············· ················ ················ ················· ················· ·················· ··················· ···················· ····················· ····················· ······························································
  77. 77. ····················· ,.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 ····················· ······························································
  78. 78. ····················/* */····················· ··················/* */··················· ·················/* */·················· ···············/* */················ ··············/* */··············· ·············/* */·············· ············/* */············· ············/* */············· ············/* */············· ············/* */············· ·············/* */·············· ··············/* */··············· ···············/* */················ ·················/* */·················· ···················/* */··················· ······························································
  79. 79. eval('··············/* */····················· ··················/* */··················· ·················/* */·················· ···············/* */················ ··············/* */··············· ·············/* */·············· ············/* */············· ············/* */············· ············/* */············· ············/* */············· ·············/* */·············· ··············/* */··············· ···············/* */················ ·················/* */·················· ···················/* */··················· ····························································')
  80. 80. eval('··············/* */·····················↩ ··················/* */···················↩ ·················/* */··················↩ ···············/* */················↩ ··············/* */···············↩ ·············/* */··············↩ ············/* */·············↩ ············/* */·············↩ ············/* */·············↩ ············/* */·············↩ ·············/* */··············↩ ··············/* */···············↩ ···············/* */················↩ ·················/* */··················↩ ···················/* */···················↩ ····························································')
  81. 81. eval('··············/* */····················· ··················/* */··················· ·················/* */·················· ···············/* */················ ··············/* */··············· ·············/* */·············· ············/* */············· ············/* */············· ············/* */············· ············/* */············· ·············/* */·············· ··············/* */··············· ···············/* */················ ·················/* */·················· ···················/* */··················· ····························································')
  82. 82. eval('··············/* */···················'+ '·················/* */·················'+ '················/* */················'+ '··············/* */··············'+ '·············/* */·············'+ '············/* */············'+ '···········/* */···········'+ '···········/* */···········'+ '···········/* */···········'+ '···········/* */···········'+ '············/* */············'+ '·············/* */·············'+ '··············/* */··············'+ '················/* */················'+ '··················/* */·················'+ '···························································')
  83. 83. eval('··············/* */···················· ··················/* */·················· ·················/* */················· ···············/* */··············· ··············/* */·············· ·············/* */············· ············/* */············ ············/* */············ ············/* */············ ············/* */············ ·············/* */············· ··············/* */·············· ···············/* */··············· ·················/* */················· ···················/* */·················· ····························································')
  84. 84. eval(z='············/* */···················· ··················/* */·················· ·················/* */················· ···············/* */··············· ··············/* */·············· ·············/* */············· ············/* */············ ············/* */············ ············/* */············ ············/* */············ ·············/* */············· ··············/* */·············· ···············/* */··············· ·················/* */················· ···················/* */·················· ···············································setTimeout(z)')
  85. 85. Map
  86. 86. · · · · # # # # # # · · · · · # · · · · · · # # # # # # # · · · · # # # # # · · · # # # # # # # # · · # # # # # # # # · · · # # # # # · · · · # # # # # # # # · · · · # # # # · · · # # # # # # # # · · · · · · # # # · · · # # # # # # # # · · · · · · # # # · · · # · # # # # # # · · · · · · # # · · · · # # # # # # # · · · · · · · · # · · · # # # # # # # · · · · · · · · · · # · · # # # # · · # · · · · · · · · · · # # · · # # # · · · # · · · · · · · · · # # # · · # # · · · · · · · · · # · · · # # · · · # # · · · · # · · · · · · · · # # · · · # · · · · # # · · · · · · · · # · · · · # · · · · # # · · 320
  87. 87. 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
  88. 88. 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
  89. 89. 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
  90. 90. 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
  91. 91. 46514 27452 18281 25481 34382 43382 4331162 42473 51374 6124214 6223313 63227 213232412 6231422 6141422 104
  92. 92. zw2 l6k e3t jnt qj2 xh2 2kty2 wrt 13n2 3n9h2 3pdxt 1csb 3iyb6k 3pk72 3nmr2 .toString(36) 60
  93. 93. "zw2", "l6k", "e3t", "jnt", "qj2", "xh2", "2kty2", "wrt", "13n2", "3n9h2", "3pdxt", "1csb", "3iyb6k", "3pk72", "3nmr2" 102
  94. 94. ["zw2","l6k","e3t","jnt","qj2","xh2","2kty2","wrt", "13n2","3n9h2","3pdxt","1csb","3iyb6k","3pk72","3nmr2"] 104
  95. 95. "zw2|l6k|e3t|jnt|qj2|xh2|2kty2|wrt| 13n2|3n9h2|3pdxt|1csb|3iyb6k|3pk72|3nmr2" .split("|") 87
  96. 96. "zw24l6k4e3t4jnt4qj24xh242kty24wrt4 13n243n9h243pdxt41csb43iyb6k43pk7243nmr2" .split(4) 85
  97. 97. for(y in n="zw24l6k4e3t4jnt4qj24xh242kty2 4wrt413n243n9h243pdxt41csb43iyb6k43pk7243 nmr2".split(4)){for(a in t=parseInt(n[y], 36)+(e=x=r=[]))for(r=!r,i=0;t[a]>i;i++)} 163
  98. 98. 3D
  99. 99. # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
  100. 100. function(a,b,c,d,e,f ){var g=Math.sin,h=M ath.cos,i=g(d)*b+h(d )*c,j=h(e)*i-g(e)*a, k=f/(f+j);return{x:g (e)*i+h(e)*a*k,y:(h( d)*b-g(d)*c)*k,z:j}} 140
  101. 101. function(a,b,c,d,e,f ){var g=Math.sin,h=M ath.cos,i=g(d)*b+h(d )*c,j=h(e)*i-g(e)*a, k=f/(f+j);return{x:g (e)*i+h(e)*a*k,y:(h( d)*b-g(d)*c)*k,z:j}} 140
  102. 102. with(Math)x-=.05, 0>cos(o=new Date/ 1e3+x/PI)&&(e[~~( 32*sin(o)*sin(.5+ y/7))+60]=-~r) 82
  103. 103. with(Math)x-=.05, 0>cos(o=new Date/ 1e3+x/PI)&&(e[~~( 32*sin(o)*sin(.5+ y/7))+60]=-~r) 82
  104. 104. HTML
  105. 105. <script> </script>
  106. 106. <script> document.body.innerHTML = "<pre>" + output; </script>
  107. 107. <script> document.body.innerHTML = "<pre>" + output; </script>
  108. 108. .<script> document.body.innerHTML = "<pre>" + output; </script>
  109. 109. .<script> document.body.innerHTML = "<pre>" + output; </script>
  110. 110. .<script> document.body.innerHTML = "<pre"+">" + output; </script>
  111. 111. Inception
  112. 112. eval(z='pre.innerHTML="eval(z='" + Z + "')"')
  113. 113. pre.innerHTML= Z
  114. 114. eval(z='pre.innerHTML="eval(z='" + Z + "')"')
  115. 115. eval(z='pre.innerHTML="eval(z='" + Z + "')"')
  116. 116. The Final Countdown
  117. 117. ····················/* */····················· ··················/* */··················· ·················/* */·················· ···············/* */················ ··············/* */··············· ·············/* */·············· ············/* */············· ············/* */············· ············/* */············· ············/* */············· ·············/* */·············· ··············/* */··············· ···············/* */················ ·················/* */·················· ···················/* */··················· ······························································ 3
  118. 118. eval(z='············/* */···················· ··················/* */·················· ·················/* */················· ···············/* */··············· ··············/* */·············· ·············/* */············· ············/* */············ ············/* */············ ············/* */············ ············/* */············ ·············/* */············· ··············/* */·············· ···············/* */··············· ·················/* */················· ···················/* */·················· ···············································setTimeout(z)') 2
  119. 119. .<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
  120. 120. .<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>
  121. 121. aem1k.com/world
  122. 122. WHY???
  123. 123. function $(s){ return document.getElementsBySelector(s); }
  124. 124. c-{{{-< fishbone.js
  125. 125. 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
  126. 126. require("fishbone"); Pirate = Model({ ... }); captain = new Pirate(); captain.on("drunk", captain.yell); captain.drink().drink().yell();
  127. 127. ::::::::::: :::    :::     :::     ::::    ::: :::    :::     :+:     :+:    :+:   :+: :+:   :+:+:   :+: :+:    :+:     +:+     +:+    +:+  +:+   +:+  :+:+:+  +:+  +:+  +:+      +#+     +#++:++#++ +#++:++#++: +#+ +:+ +#+   +#++:+       +#+     +#+    +#+ +#+     +#+ +#+  +#+#+#  +#+  +#+      #+#     #+#    #+# #+#     #+# #+#   #+#+# #+#    #+#
  128. 128. 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
  129. 129. __ _/ /' __ __ ___ ___ /_, /' /'__` /'__`/' __` __`/_/ , < ___ / L.. __// / / `____ /___ __/._____ _ _ _ _ _ ____ /___/ /__//_//____//_//_//_/ /_//_//____/ //aem1k.com
  130. 130. @aemkei __ _/ /' __ __ ___ ___ /_, /' /'__` /'__`/' __` __`/_/ , < ___ / L.. __// / / `____ /___ __/._____ _ _ _ _ _ ____ /___/ /__//_//____//_//_//_/ /_//_//____/

×