Slide 14
Slide 14 text
TRICK 2022: mame.rb
• It prints itself with a globe rotated 45 degrees
– Eight execution will return the original code
a=0132;eval$s=%q!eval(%q~d,h,Y ___---------___ ,X=*$*.map(&:to_i),45;b=(a+d)%
R=360;s=[v=[include(Math)]] _--- ---_ ;T=PI*2;n=x=0;f=->{(n/=2)%2
>0?1:f[]*2+(n/=2)%2};g=- _- v@v ,,,,,, -_ >{z=f[];z/2*(3-z%2*6)};"
8'8f'y;I;asr1mY?Sr$6r _- ,vv@@@@@@@^''@v,-_ {+Gi{03G3=ZbpUo3l'}Yw
CqxJfHIWd'R /v ,@@@@@@@@@@@v ^^^'''^@@@@\ MUS4&$r3D>GqL((/C
ea&e'|PS@3aQ@-hL /@@ ,v@@@@@@@@@@@@@@v, '*v, '^@\ ja+/Lru>]96]d_4W
9o][*A;J&..;a?@ /@@@ @@@@@@@@@@@@@@@@@@@v,,,@@@@@ @@\ O'x.RmTPRK+Pol#
U;o_wP`}6.g#?y |@@@@v, '@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@| 0`.lHNxLXjI^#S
5F-XcldGh_BZDc |@@@@@^ '^^@@@@@@@@@@@@@@@@@'@@@@ '@@@@| JTLKD)#e*CUo$.
{c&a46;+AaGW*M |@@@@' '^@@@@@@@@@@@@@ @@@@@v '@@| R5".bytes{n=n*
90+-_1%91};190 |@@^ @@@@@@@@@@@@@ ^^^''' '@| .times{x+=e=(g
[]+g[].i)*T/R; |^' @@@@@@@@@@@@@vv, @| e==0?s<<<(1..(d==0
?h*w=h*4:25*w= | ,@@@@@@@@@@@^' | 80)).map{|i|q=
i/w*6+3;r=i%w;" \ v@@@@@@@@@@@ / \s'*^,:v@\nXa=#
{"%04o"%b};eval$ \ @@@@@@@@@@@@ / s=%q\x21#$s\x21"
[r>0?X&&r==(X+168 \ @@@@@@@@^' ,v* / )%R*w/R&&q/6==(90
-Y)*h/180?9:(0..2) \ ^^^^^^' ,^ / .all?{e=d==0?cos(q*
T/w/3):(r*3i-120i-q+ \ / 73)/Complex.polar(72
,2/4.9);q-=2;y,x=e.re -_, _- ct;e.abs<1&&n+=n-s.ma
p{|s|z=sqrt(1-y*y);c=d== -_v,, _- 0?r*T/(1-w):b*T/R+acos(x
);g=0;s.sum{(g-g=atan2(sin( --__v, __-- o=_1+c),z/tan(_2)+y*cos(o))
/T).round}}.min/9}?n%8:i+9:8]} ```---------``` *""~.gsub(/\x20.*\x20|\n/){})!
a=0207;eval$s=%q!eval(%q~d,h,Y ___---------___ ,X=*$*.map(&:to_i),45;b=(a+d)%
R=360;s=[v=[include(Math)]] _---@^^@@, ^@@@@---_ ;T=PI*2;n=x=0;f=->{(n/=2)%2
>0?1:f[]*2+(n/=2)%2};g=- _-@@@''''' *^ ''^^^v-_ >{z=f[];z/2*(3-z%2*6)};"
8'8f'y;I;asr1mY?Sr$6r _-^''@^ -_ {+Gi{03G3=ZbpUo3l'}Yw
CqxJfHIWd'R / ^@ ^@v\ MUS4&$r3D>GqL((/C
ea&e'|PS@3aQ@-hL / ,,v@@@@\ ja+/Lru>]96]d_4W
9o][*A;J&..;a?@ / v@@@vv, ,:'''''@\ O'x.RmTPRK+Pol#
U;o_wP`}6.g#?y | @@@@@@@@v ,v@@@@@@vv^ | 0`.lHNxLXjI^#S
5F-XcldGh_BZDc | @@@@@@@@@@, v@@@@@@@@@@@, | JTLKD)#e*CUo$.
{c&a46;+AaGW*M | @@@@@@@@@@@ v@@@@@@@@@@@@@@@| R5".bytes{n=n*
90+-_1%91};190 | ^@@@@@@@@@@@v, @@@@@@@@@@@@@@@| .times{x+=e=(g
[]+g[].i)*T/R; | @@@@@@@@@@@@@@ '@@@@@@@@@@@@@@| e==0?s<<<(1..(d==0
?h*w=h*4:25*w= | ,@@@@@@@@@@@@^ @@@@@@@v| 80)).map{|i|q=
i/w*6+3;r=i%w;" \ v@@@@@@@@^^'' @@@@@@^/ \s'*^,:v@\nXa=#
{"%04o"%b};eval$ \@@@@@^' @@@@@@'/ s=%q\x21#$s\x21"
[r>0?X&&r==(X+168 \^' v@@@@@ / )%R*w/R&&q/6==(90
-Y)*h/180?9:(0..2) \ v@@@@@/ .all?{e=d==0?cos(q*
T/w/3):(r*3i-120i-q+ \ @@@@@/ 73)/Complex.polar(72
,2/4.9);q-=2;y,x=e.re -_ @@@_- ct;e.abs<1&&n+=n-s.ma
p{|s|z=sqrt(1-y*y);c=d== -_ _- 0?r*T/(1-w):b*T/R+acos(x
);g=0;s.sum{(g-g=atan2(sin( --__ __-- o=_1+c),z/tan(_2)+y*cos(o))
/T).round}}.min/9}?n%8:i+9:8]} ```---------``` *""~.gsub(/\x20.*\x20|\n/){})!
45-degree
rotation