GitHub

            let A=0,B=0,M=
        Math;const a=()=>{let s
      =[],t=[];A+=.05,B+=.07;const
    o=M.cos(A),e=M.sin(A),n=M.cos(B
   ),c=M.sin(B);for (let o=0;o<1760;
 o++)s[o]=o%80==79?"\n":" ",t[o]=0;for
(let i=0;i<6.28;i+=.07){const r=M.cos(
i),a=M.sin(i);for(let i=0;i<6.28;i+=.02
){const l=M.sin        (i),f=M.cos(i),A
=r+2,B=1/(l*A*          e+a*o+5),d=l*A*
o-a*e,m=40+30*          B*(f*A*n-d*c)|0
,v=12+15*B*(f*A        *c+d*n)|0,I=m+80
*v,h=8*((a*e-l*r*o)*n-l*r*e-a*o-f*r*c)|
 0;v<22&&v>=0&&m>=0&&m<79&&B>t[I]&&(t[
 I]=B,s[I]=".,-~:;=!*#$@"[h>0?h:0])}}
  process.stdout.write(`\x1b[J\x1b[H`
  +s.join(""))},i=setInterval(a,50
      );/*=!!!**********!!!==:*/
        /*~~;EvanZhouDev;;:~*/
            /*.,-2023--,.*/

Run with

node donut.min.js

donut.c, remade in JS... and the code still looks like a donut!

donut.js is the original code, and donut.min.js is the actual donut-shaped obfuscated code.

Modified from the original DOM code, written by Andy Sloane with AI, and a little bit of playing around with indentation 😅.

If the donut looks elliptical, then you may need to adjust your font to be more square, or just modify line width and font spacing to make it more square.

Read the original on github.com ↗