Skip to content

Instantly share code, notes, and snippets.

@demoive
Last active February 9, 2025 17:16
Show Gist options
  • Save demoive/5076547 to your computer and use it in GitHub Desktop.
Save demoive/5076547 to your computer and use it in GitHub Desktop.
These "micro programs" mimic animations when run in a console. They are experiments based on a personal challenge to do "something interesting" in under 150 characters.
// growing (alternating characters) line
c=0;b="";setInterval("console.log(b=b+(c++%2?'-':'|'))",100)
// same, but w/o setInterval() ∴ w/o eval()
c=0;b="";(function f(){console.log(b=b+(c++%2?'-':'|'));setTimeout(f,100)}())
// wave
i=j=0;s="";setInterval("if(!(i++%25))++j;console.log(j%2?s+='*':s=s.substr(1))",15)
// same, but w/o setInterval() ∴ w/o eval()
i=j=0;s="";(function f(){if(!(i++%25))++j;console.log(j%2?s+='*':s=s.substr(1));setTimeout(f,15)}())
// alternating triangle
i=j=0;s="";setInterval("if(!(i++%10)){console.clear();++j};console.log(j%2?s+='*':s=s.substr(1))",20)
// same, but w/o setInterval() ∴ w/o eval()
i=j=0;s="";(function f(){if(!(i++%10)){console.clear();++j};console.log(j%2?s+='*':s=s.substr(1));setTimeout(f,20)}())
// spinner
c=0;setInterval("i=c++%4;s=i==0?'-':i==1?'\\\\':i==2?'|':'/';console.clear();console.log(s)",100)
// same, but w/o setInterval() ∴ w/o eval()
c=0;(function f(){i=c++%4;s=i==0?'-':i==1?'\\':i==2?'|':'/';console.clear();console.log(s);setTimeout(f,120)}())
// same, but w/ array index rather than ternary if and using characters from https://github.com/sindresorhus/elegant-spinner
c=0;m=['⠋','⠙','⠹','⠸','⠼','⠴','⠦','⠧','⠇','⠏'];(function f(){i=c++%10;s=m[i];console.clear();console.log(s);setTimeout(f,120)}())
// "walking" spinner
c=0;s="";setInterval("s=s.slice(0,-1)+'_';i=c++%4;a=i==0?'-':i==1?'\\\\':i==2?'|':'/';console.clear();console.log(s+=a)",120)
// same, but w/o setInterval() ∴ w/o eval()
c=0;s="";(function f(){s=s.slice(0,-1)+'_';i=c++%4;a=i==0?'-':i==1?'\\':i==2?'|':'/';console.clear();console.log(s+=a);setTimeout(f,120)}())
// "walking" spinner w/ array index rather than ternary if
c=0;s="";m=['-','\\','|','/'];(function f(){s=s.slice(0,-1)+'_';i=c++%4;a=m[i];console.clear();console.log(s+=a);setTimeout(f,120)}())
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment