MSM ( Mutating Stack Machine ) is a minimalist self-modifying, stack-based esoteric programming language. It was designed to create the smallest usable stack machine implementation ever possible in JavaScript.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE | |
Version 2, December 2004 | |
Copyright (C) 2013 plugnburn | |
Everyone is permitted to copy and distribute verbatim or modified | |
copies of this license document, and changing it is allowed as long | |
as the name is changed. | |
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE | |
Version 2, December 2004 | |
Copyright (C) 2013 plugnburn | |
Everyone is permitted to copy and distribute verbatim or modified | |
copies of this license document, and changing it is allowed as long | |
as the name is changed. | |
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//BitSpace bookmarklet | |
//Just add the below URL to your bookmark bar | |
//To hide the text into your input, focus on your input field and call the bookmarklet, then input the text to hide | |
//To reveal the text, select the text in non-input field and call the bookmarklet | |
javascript:(function(z){BitSpace=eval('({hide:Yh,i,d,e){d=(h=h.split("").map(Yn){Xn.charCodeAt(0).toString(2)Z[+c]}).join("")}).join(" ")).length;e=0;Xi.replace(/ /g,Y){Xe<d?h[e++]:" "})},reveal:Yr,v,l){if(r=r.match(/[ \\u2004\\u2008]/g)){for(v=0,l="";v<r.length;v++)l+=r[v];Xl.split(" ").map(Ys){XString.fromCharCode(parseInt(sZ.indexOf(c)}).join(""),2))}).join("")}}})'.replace(/Z/g,'.split("").map(Yc){X["\\u2004","\\u2008"]').replace(/Y/g,"function(").replace(/X/g,"return ")),z=document.activeElement;z.value?z.value=BitSpace.hide(prompt("Text to hide"),z.value):alert(BitSpace.reveal(getSelection()+""))})() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE | |
Version 2, December 2004 | |
Copyright (C) 2013 plugnburn | |
Everyone is permitted to copy and distribute verbatim or modified | |
copies of this license document, and changing it is allowed as long | |
as the name is changed. | |
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!DOCTYPE html><title>Pong</title><body onload='R=window.requestAnimationFrame||function(c){setTimeout(c,16)};Z=document.querySelector("canvas"),p=s=0;(onresize=function(){H=(K=Z.height=innerHeight)/5,W=(J=Z.width=innerWidth)>>6,M=W>>1})();(D=function(){Y=Z.getContext("2d"),Y.font="40pt monospace",Y.textBaseline="top",O=P=(K-H)>>1,x=M+W+1,y=O+(H-W)>>1,U=I=0,B=V=4})();onkeydown=function(e){eval({65:"U=-4",90:"U=4",38:"I=-4",40:"I=4"}[e.which])};onkeyup=function(e){eval({65:"U",90:"U",38:"I",40:"I"}[e.which]+"=0")};R(Q=function(){R(Q);with(Math)A=abs,O=min(max(O+U,M),z=K-M-H),P=min(max(P+I,M),z);(y<M||y>K-M-W)&&(B=-B);x<=M+W&&(y+W>=O&&y<=O+H?V=A(U)-V:D(++s)),x>=J-M-W-W&&(y+W>=P&&y<=P+H?V=-V-A(I):D(++p));Y.F=Y.fillRect;with(Y)fillStyle="#000",F(0,0,J,K),fillStyle="#eee",F((J-W)/2,0,W,K),F(M,O,W,H),F(J-W-M,P,W,H),F(x+=V,y+=B,W,W),textAlign="right",fillText(p,J/2-W-M,M),textAlign="left",fillText(s,J/2+W+M,M)})'><canvas style=position:fixed;top:0;left:0>Use a browser, moron!</canvas></body> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//bytebeat: beat(pattern,length) | |
beat=function(b,e,a,t){return(a="data")+":audio/wav;base64,UklGRl9fX19XQVZFZm10IBAAAAABAAEAQB8AAEAfAAABAAgA"+btoa(eval("for(t=0;++t<e*8e3;)a+=String.fromCharCode(255&("+b+"))"))} | |
//bytebeat with math: beatm(pattern,length) | |
beatm=function(b,e,a,t){return(a="data")+":audio/wav;base64,UklGRl9fX19XQVZFZm10IBAAAAABAAEAQB8AAEAfAAABAAgA"+btoa(eval("with(Math)for(t=0;++t<e*8e3;)a+=String.fromCharCode(255&("+b+"))"))} | |
//konamicode: konami(callback) | |
konami=function(k,c){onkeyup=function(e){/113302022928$/.test(c+=[e.which-37])&&k()}} | |
//circle gesture detection: circgest(callback[, clockwiseflag]) | |
//clockwiseflag: 1 - counterclockwise, 0 or absent - clockwise | |
circgest=function(f,a,v,i,c,o){c=v="";addEventListener("mousemove",function(e){o&&(i=2*(e.screenX>o.screenX)+(e.screenY>o.screenY),i^c&&(v+=i,c=i),(a?/3201$/:/2310$/).test(v)&&(f(),v=""));o=e},0)} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<div style="background:black;width:90vmin;height:90vmin;position:fixed;left:50%;top:50%;transform:translate(-50%,-50%)"></div> |
ESVer is a tiny and convenient helper script to get you out of the overhead hell for the browsers that don't really need it. It detects whether a browser supports ES6/ES2015 standard natively and allows you to load different script versions depending on the result of this check.
Include your scripts like this:
This is a no-brainer to get your single-post web page up and running. Just have to have Node and NPM installed, and /bin/sh
pointing to Bash shell. Styling is powered by 999.css.
Steps:
- Place the below
package.json
into an empty directory and enter this directory in your command line prompt. - Run
npm run scaffold
. - Edit
domain
,title
andauthor
in theconfig
section of yourpackage.json
. Thedomain
may be either a Surge subdomain or your own (please refer to the Surge docs). If you're going to host your page yourself, you may leavedomain
empty.