I originally wanted to make a cellular automaton implementation. But I thought the effect looked nice and like fire, so I played with it.
_='g=docume.creeEleme("canvas"X^m in h=g.getCoext("2d"))c[m[0]+[m[4]]$m;l=[],q=R,tYuYvYwYIYJ=["MAGIC","JS1K"],A=0;function C(){HGU,n,e,dYm=@;if(1z<=I++180<v220>v-.5>_t))^IYNcrk,NfTOJ[A],R,w),A=(A+%2,e.day,Z,x=P;0!=e[d+3](P=x-10Xd+=4}e=n.da;d=0;GU;^x=180+75.1*u)y|#Z,B=b],r=f/R,b=*(B-f)*r,E=*r,r=m()jbjEjxj;b=W*(f-+pVVZ;0==f?(b=796z+p,b$r+q-:b+(.5<r?-1:$B-f+(f-}q=R+.8*_.8*t)Xt+=.01;u+=.02;NpmOn,#0Xv=R+W/35*t)Vw=R/1.5+10*_t+_3*u*_t)))VG=_tXn=6+10*G)Ve=n/2V^d=wd<wd)^m=vm<vm)0<=m0<=d(W*d+m]+=5*GLsOLseO4,4LdIOg,#0LroOXrequestAnimionFrame(C)}^HFU;F--;)l.push(@()*(R-F/W|0)XgDW;gQR;h.fo="69px serif";NtA$NtB$"ceer";aD16z;aQ8z;C(X~Mh.z00y;G--;){HbU-G,kO##W,R)j;e[d++$`[c._~sin(^for(Zf=b/W|0Y=#X);W4zV|0;U=8E4R2zQ.height=PW*f+p]O](Nh`LXc`Hvar D.width=@~random$]=#0,&&*~cos(ntat1)l[255- -e;+n;++p=b%W~abs(=Ngmk';for(i in G='#$@DHLNOPQRUVWXYZ^_`jkyz~')with(_.split(G[i]))_=join(pop());eval(_)
Xz0nZz1kb2N1bWUdLmNyZRxlRWxlbWUdKCJjYW52YXMiWF5tIGluIGg9Zy5nZXRDbx1leHQoIjJkIikpY1ttWzBdK1ttWzRdXSRtO2w9W10scT1SLHRZdVl2WXdZSVlKPVsiTUFHSUMiLCJKUzFLIl0sQT0wO2Z1bmN0aW9uIEMoKXtIR1UsbhQsZSxkWW09QDtpZigxejw9SSsrHzE4MDx2HzIyMD52Hy0uNT5fdCkpXklZTmNyayxOZlRPSltBXSxSLHcpLEE9KEErGyUyLGUULmQcYXksWix4PVA7MCE9ZVtkKzNdHyhQPXgtMTBYZCs9NH1lPW4uZBxhO2Q9MDtHVTteeD0xODArNzUeLjEqdSl5fCNaLEI9GmJdLHI9Zi9SLGI9GSooQi1mKSpyLEU9GSpyLHI9bSgpamJqRWp4ahk7Yj1XKihmLRsrcFYWVlo7MD09Zj8oYj03OTZ6K3AsGmIkcitxLRs6GmIrKC41PHI/LTE6GyRCLWYrKGYtG31xPVIrFS44Kl8uOCp0KVh0Kz0uMDE7dSs9LjAyO05wbU9uLCMwWHY9UitXLzMeNSp0KVZ3PVIvMS41KzEwKl90K18zKnUqX3QpKSlWRz1fdFhuPTYrMTAqFUcpVmU9bi8yVl5kPXcYZDx3F2QpXm09dhhtPHYXbSkwPD1tHzA8PWQfKBpXKmQrbV0rPTUqR0xzT0xzZU80LDRMZElPZywjMExyb09YcmVxdWVzdEFuaW0caW9uRnJhbWUoQyl9XkhGVTtGLS07KWwucHVzaChAKCkqKFItRi9XfDApWGdEVztnUVI7aC5mbx09IjY5cHggc2VyaWYiO050QSROdEIkImNlHWVyIjthRDE2ejthUTh6O0MoWH5NHGguejAweTtHLS07KXtIYlUtRywWa08jI1csUilqO2VbZCsrJGBbYy5ffnNpbiheZm9yKFpmPWIvV3wwWT0jWCk7VzR6VnwwO1U9OEU0UjJ6US5oZWlnaHQ9UBpXKmYrcF1PXShOaGBMWGNgSHZhciBELndpZHRoPUB+cmFuZG9tJF09IzAsHyYmHip+Y29zKB1udBxhdBsxKRpsWxkyNTUYLSAtZTsXK247KysWcD1iJVcVfmFicygUPU5nbWsnO2ZvcihpIGluIEc9JxQVFhcYGRobHB0eHyMkQERITE5PUFFSVVZXWFlaXl9gamt5en4nKXdpdGgoXy5zcGxpdChHW2ldKSlfPWpvaW4ocG9wKCkpO2V2YWwoXyk=
Original source not submitted