Turns JavaScript code into an executable ascii image (such as this one):
eval(atob("\
dmFyIGpxID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7CmpxLnNyYyA9ICIvL2N \
vZGUuanF1ZXJ5LmNvbS9qcXVlcnktMS4xMS4wLm1pbi5qcyI7CmRvY3VtZW50LmdldEVsZW1lbn \
RzQnlUYWdOYW1lKCdoZWFkJylbMF0uYXBwZW5kQ2hpbGQoanEpOwoKdmFyIGdsYXNzZXMgPSAxL \
jA7CmZ1bmN0aW9uIGRydW5raWZ5KCQpIHsKCXZhciB0cmFuc2Zvcm1hdGlvbnMgPSBbewoJCW5h \
bWU6ICdyb3RhdGUnLAoJCXZhbHVlOiBmdW5jdGlvbiAoZSkgewoJCQlyZXR1cm4gZ2xhc3NlcyA \
qICgoTWF0aC5yYW5kb20oKSAqIDIpIC0gMSkgLyAoNTAgLyAoZS5wYXJlbnRzKCkubGVuZ3RoKS \
k7CgkJfSwKCQl1bml0OiAnZGVnJwoJfSwgewoJCW5hbWU6ICdzY2FsZScsCgkJdmFsdWU6IGZ1b \
mN0aW9uIChlKSB7CgkJCXJldHVybiBnbGFzc2VzICogKDEgKyAoKChNYXRoLnJhbmRvbSgpICog \
MikgLSAxKSAvICgxMDAwIC8gK GUu cGFyZW5 0cygpLmxlbmd0aCkpKSk7CgkJf \
QoJfS8qLCB7CgkJbmFtZTog J3NrZXdYJywKCQl2YWx1Z \
TogZnVuY3Rpb24gKCkgew oJCQlyZXR1cm4gKChNYXR \
oLnJhbmRvbSgpICogMik g L S A x KSAvIDI7CgkJ \
fSwKCQl1bml0OiAnZGVn J woJ fSovX T sKCgkkKCc \
qJykuY3NzKCctd2Via2l0 L X RyYW5zaXRpb 2 4nLCAnL XdlYmtpdC \
10cmFuc2Zvcm0gM3MnKTs K C gl2YXIgZ WFzaW5ncy \
A9IFsnZWFzZScsICdlYXNl L W l uJywgJ2V hc2Utb3V0 \
JywgJ2Vhc2UtaW4tb3V0Jyw g J 2 x pbmVhcic sCgkJJ2N1 \
YmljLWJlemllcigwLjYsIDA u MD Q s IDAuOTgs IDAuMzM1K \
ScsICdjdWJpYy1iZXppZXIo M C 4xNzUsID AuODg1LCA \
wLjMyLCAxLjI3NSknLAoJCS d j d W JpYy1iZX ppZXIoMC4 \
yMywgMSwgMC4zMiwgMSknLC A nY 3 ViaWMtYm V6aWVyKDA \
uNzg1LCAwLjEzNSwgMC4xNS w g MC44Nikn LAoJCSdjd \
WJpYy1iZXppZXIoMC43Nywg M Cw g M C4xNzUs IDEpJwoJXT \
sKCXZhciBjb21wdXRlRWFza W 5nI D 0gZnV uY3Rpb24oZS \
kgewoJCXJldHVybiBlYXNpb m dz W 01h dGguZmxvb3IoK \
E1hdGgucmFuZG9tKCkgKiAx M D A pICUgZWFzaW5ncy \
5sZW5ndGgpXTsKCX07CgoJd m F y IGNvbXB1dGVUcmFuc2 \
Zvcm1zID0gZnVuY3Rpb24gK G U p IHsKCQlyZXR1cm4gdHJhb \
nNmb3JtYXRpb25zLm1hcChm d W 5 jdGlvbiAodCkgewoJCQly \
ZXR1cm4gdC5uYW1lICsgJyg nIC sgdC 52YWx1ZShlKSArICh0LnV \
uaXQgPyB0LnVuaXQgOiAnJyk gKyAnKSc7Cg kJfSkuam9pbignICcpOwoJ \
fTsKCgl2YXIgY29tcHV0ZXJGaWx 0ZXJzID0gZnVuY3Rpb24gKGUpI \
HsKCQlyZXR1cm4gJ2JsdXIoJyArIE1hdGgucmFuZG9tKCkgKyAncHgpJzsKCX07CgoJd2luZG93 \
LnNldEludGVydmFsKGZ1bmN0aW9uICgpIHsKCQkkKCcqJykuZWFjaChmdW5jdGlvbiAoaSwgZSk \
gewoJCQkkKGUpLmNzcygnLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbicsIGNvbX \
B1dGVFYXNpbmcoJChlKSkpOwoJCQkkKGUpLmNzcygndHJhbnNmb3JtJywgY29tcHV0ZVRyYW5zZ \
m9ybXMoJChlKSkpOwoJCQkkKGUpLnBhcmVudHMoKS5sZW5ndGggPiA0ICYmICQoZSkuY3NzKCct \
d2Via2l0LWZpbHRlcicsIGNvbXB1dGVyRmlsdGVycygpKTsKCQkJZ2xhc3NlcyA9IGdsYXNzZXM \
gKyAwLjAwMDAwMDAwMDAwMDE7CgkJfSk7Cgl9LCAzMDAwKTsKfQoKc2V0VGltZW91dChmdW5jdG \
lvbigpIHsKCWRydW5raWZ5KGpRdWVyeSk7Cn0sIDEwMDApOw== "));
npm install allegory
Note: The code uses generators (--harmony flag)
Write JavaScript in a file, say code.js
function sayHii() {
alert("h!");
}
sayHii();
And then draw something with * on another file, say template
*** ** **
***** **
*** ***** **
* ** ** **
************ ** ** **
* ** ** **
*
*
* *
* *
* *
* *
then you can
allegory code.js template
and you get
eval(atob("\
ZnV uY 3R \
pb24g c2 \
F5S GlpKC kg \
e wo JY Wx \
lcnQoImghIik 7C n0 KC \
n Nh eU hp \
a \
S \
g p \
O w \
o = \
"));
Open your chrome console, copy/paste it, and you get an alert.