diff --git a/public/bundle/min.js b/public/bundle/min.js index 75b1c50..950c039 100644 --- a/public/bundle/min.js +++ b/public/bundle/min.js @@ -7049,7 +7049,7 @@ ${b.replaceAll("-->","-=>")} -->`,Ue=document.getElementById("leave-a-comment");for(let b of le.comments)Ue.innerHTML+=$t(b);if(localStorage.getItem("comments"))for(let b of JSON.parse(localStorage.getItem("comments")))Ue.innerHTML+=b;var Fn=document.getElementById("comment");Ue.addEventListener("keypress",function(w){if(w.key!=="Enter")return;let p=$t(Fn.value);Ue.innerHTML+=p;let k=localStorage.getItem("comments")?JSON.parse(localStorage.getItem("comments")):[];k.push(p),localStorage.setItem("comments",JSON.stringify(k))});var wt=0,Bn=setInterval(function(){document.title="Snippetry #"+wt,++wt>le.snippets.length&&clearInterval(Bn)},1e3);var xt=(b={},w=new Set)=>{for(let[p,k]of Object.entries(b))w.has(p)||(w.add(p),Object(k)===k&&w.add(...xt(k,w)));return Array.from(w)},vt=xt(globalThis);document.getElementById("mdn-potluck").addEventListener("click",function(w){w.preventDefault();let p=vt[Math.floor(Math.random()*vt.length)];window.open(`https://developer.mozilla.org/en-US/search?q=${p}`,"_blank")});document.getElementById("api").href=mt;var et=document.getElementById("danger-zone"),Ge=Array.from(document.styleSheets[0].cssRules).find(b=>b.selectorText===".danger-zone").style,jn=()=>{le.liveDangerously=!le.liveDangerously,le.liveDangerously?Ge.display="inline-block":Ge.display="none",qe()};et.addEventListener("input",jn);le.liveDangerously?(et.checked=!0,Ge.display="inline-block"):(et.checked=!1,Ge.display="none");var At=document.getElementById("search-field");At.value=le.search;At.addEventListener("input",b=>{le.search=b.target.value,Ie()});var Et=(b={})=>new CustomEvent("select-tag",{bubbles:!0,detail:b});var Tt=document.getElementById("tags"),Ct=document.createElement("ul");for(let b of le.tags){let w=document.createElement("span");w.innerHTML=` - `,w.addEventListener("change",p=>{w.dispatchEvent(Et(b)),p.preventDefault()}),Ct.appendChild(w)}Tt.appendChild(Ct);Tt.addEventListener("select-tag",b=>{b.detail.selected=document.getElementById(`tag-${b.detail.value}`).checked,Ie()});var ue=(b="div",w,p,k)=>{let e=w?.__proto__===Object.prototype?w:typeof w=="string"?{className:w}:{},i=Array.isArray(p)?p:p?.__proto__===Object.prototype||typeof p=="string"||p instanceof HTMLElement?[p]:[],n=Array.isArray(k)?k:k?.__proto__===Object.prototype?[k]:typeof k=="function"?[{e:"click",cb:k}]:[],r={nodeName:b.toUpperCase(),attributes:e,listeners:n};return r.children=i.filter(l=>l).map(l=>typeof l=="string"?new String(l):l).map(l=>(l.parent=r,l)),r};var He=(b={})=>{let{nodeName:w="div",attributes:p={},children:k=[],listeners:e=[]}=b;if(b instanceof Element)return b;let i=document.createElement(w);for(let n in p)try{i[n]=p[n]}catch{try{i.setAttribute(n,p[n])}catch{console.log("skipping attribute:",n)}}for(let n of k)n.__proto__===Object.prototype?i.appendChild(He(n)):n instanceof String?i.appendChild(document.createTextNode(n)):n instanceof HTMLElement&&i.appendChild(n);for(let n of e)i.addEventListener(n.e||"click",n.cb);return i};var ke=(b="")=>b.split(".").pop();var ge={className:(b="")=>`match-braces language-${b.includes(".txt")?".txt":ke(b)}${b.toLowerCase().includes(".scm")?" rainbow-braces":""}`,dangerZone:(b={title:"",text:""})=>[ue("button",{},"log",()=>console.log(`${b.title} + `,w.addEventListener("change",p=>{w.dispatchEvent(Et(b)),p.preventDefault()}),Ct.appendChild(w)}Tt.appendChild(Ct);Tt.addEventListener("select-tag",b=>{b.detail.selected=document.getElementById(`tag-${b.detail.value}`).checked,Ie()});var ue=(b="div",w,p,k)=>{let e=w?.__proto__===Object.prototype?w:typeof w=="string"?{className:w}:{},i=Array.isArray(p)?p:p?.__proto__===Object.prototype||typeof p=="string"||p instanceof HTMLElement?[p]:[],n=Array.isArray(k)?k:k?.__proto__===Object.prototype?[k]:typeof k=="function"?[{e:"click",cb:k}]:[],r={nodeName:b.toUpperCase(),attributes:e,listeners:n};return r.children=i.filter(l=>l).map(l=>typeof l=="string"?new String(l):l).map(l=>(l.parent=r,l)),r};var He=(b={})=>{let{nodeName:w="div",attributes:p={},children:k=[],listeners:e=[]}=b;if(b instanceof Element)return b;let i=document.createElement(w);for(let n in p)try{i[n]=p[n]}catch{try{i.setAttribute(n,p[n])}catch{console.log("skipping attribute:",n)}}for(let n of k)n.__proto__===Object.prototype?i.appendChild(He(n)):n instanceof String?i.appendChild(document.createTextNode(n)):n instanceof HTMLElement&&i.appendChild(n);for(let n of e)i.addEventListener(n.e||"click",n.cb);return i};var ke=(b="")=>b.split(".").pop();var ge={className:(b="")=>`match-braces language-${ke(b)}${b.toLowerCase().includes(".scm")?" rainbow-braces":""}`,dangerZone:(b={title:"",text:""})=>[ue("button",{},"log",()=>console.log(`${b.title} ${b.text}`)),ue("button",{},"alert",()=>alert(`${b.title} diff --git a/public/data/links.json b/public/data/links.json index e4b7081..6be58c1 100644 --- a/public/data/links.json +++ b/public/data/links.json @@ -1 +1 @@ -[{"from":"10-print.1.js","to":"variation","type":"tag"},{"from":"10-print.2.js","to":"variation","type":"tag"},{"from":"10-print.3.js","to":"variation","type":"tag"},{"from":"10-print.4.js","to":"variation","type":"tag"},{"from":"10-print.6.mjs","to":"variation","type":"tag"},{"from":"10-print.6.mjs","to":"projector.mjs","type":"forelink"},{"from":"ESi.md","to":"metappet","type":"tag"},{"from":"ESi.md","to":"esi","type":"tag"},{"from":"ESi.md","to":"declare-morf.js","type":"metalink"},{"from":"ESi.md","to":"declare-tag.js","type":"metalink"},{"from":"README.md","to":"metappet","type":"tag"},{"from":"accessible-credit-card-form.html","to":"coaithored","type":"tag"},{"from":"all-medium.md","to":"metappet","type":"tag"},{"from":"all-medium.md","to":"be.txt","type":"forelink"},{"from":"all-medium.md","to":"cat-detector.psu","type":"forelink"},{"from":"all-medium.md","to":"empty.json","type":"forelink"},{"from":"all-medium.md","to":"empty.yaml","type":"forelink"},{"from":"all-medium.md","to":"funsole.mjs","type":"forelink"},{"from":"all-medium.md","to":"log.mjs","type":"forelink"},{"from":"all-medium.md","to":"story-in-a-story.mjs","type":"forelink"},{"from":"all-the-reals.mjs","to":"executable-pseudocode.mjs","type":"forelink"},{"from":"be.canvas.html","to":"variation","type":"tag"},{"from":"be.css","to":"variation","type":"tag"},{"from":"be.css.html","to":"variation","type":"tag"},{"from":"be.de.txt","to":"variation","type":"tag"},{"from":"be.en.txt","to":"variation","type":"tag"},{"from":"be.flip.js","to":"variation","type":"tag"},{"from":"be.fr.txt","to":"variation","type":"tag"},{"from":"be.html","to":"variation","type":"tag"},{"from":"be.js","to":"variation","type":"tag"},{"from":"be.json","to":"variation","type":"tag"},{"from":"be.md","to":"metappet","type":"tag"},{"from":"be.md","to":"variation","type":"tag"},{"from":"be.md","to":"1-liner","type":"tag"},{"from":"be.md","to":"be.canvas.html","type":"metalink"},{"from":"be.md","to":"be.css","type":"metalink"},{"from":"be.md","to":"be.css.html","type":"metalink"},{"from":"be.md","to":"be.de.txt","type":"metalink"},{"from":"be.md","to":"be.en.txt","type":"metalink"},{"from":"be.md","to":"be.flip.js","type":"metalink"},{"from":"be.md","to":"be.fr.txt","type":"metalink"},{"from":"be.md","to":"be.html","type":"metalink"},{"from":"be.md","to":"be.js","type":"metalink"},{"from":"be.md","to":"be.json","type":"metalink"},{"from":"be.md","to":"be.nl.txt","type":"metalink"},{"from":"be.md","to":"be.py","type":"metalink"},{"from":"be.md","to":"be.svg","type":"metalink"},{"from":"be.md","to":"be.txt","type":"metalink"},{"from":"be.md","to":"be.yaml","type":"metalink"},{"from":"be.nl.txt","to":"variation","type":"tag"},{"from":"be.py","to":"variation","type":"tag"},{"from":"be.py","to":"1-liner","type":"tag"},{"from":"be.svg","to":"variation","type":"tag"},{"from":"be.txt","to":"variation","type":"tag"},{"from":"be.txt","to":"1-liner","type":"tag"},{"from":"be.yaml","to":"variation","type":"tag"},{"from":"breathless.html","to":"wellbeing","type":"tag"},{"from":"breathless.html","to":"variation","type":"tag"},{"from":"breathless.js","to":"wellbeing","type":"tag"},{"from":"breathless.js","to":"variation","type":"tag"},{"from":"bunny.md","to":"metappet","type":"tag"},{"from":"bunny.md","to":"🐰","type":"tag"},{"from":"bunny.md","to":"the-fun-parts.md","type":"forelink"},{"from":"callout-stack.js","to":"useless","type":"tag"},{"from":"can-not-even.mjs","to":"remix","type":"tag"},{"from":"can-not-even.mjs","to":"testing.mjs","type":"forelink"},{"from":"cat-detector.ascii.html","to":"variation","type":"tag"},{"from":"cat-detector.ascii.txt","to":"variation","type":"tag"},{"from":"cat-detector.be.js","to":"le chat","type":"tag"},{"from":"cat-detector.be.js","to":"variation","type":"tag"},{"from":"cat-detector.cat.js","to":"variation","type":"tag"},{"from":"cat-detector.eval.js","to":"variation","type":"tag"},{"from":"cat-detector.evbl.js","to":"variation","type":"tag"},{"from":"cat-detector.evbl.js","to":"1-liner","type":"tag"},{"from":"cat-detector.golf.js","to":"golf","type":"tag"},{"from":"cat-detector.golf.js","to":"variation","type":"tag"},{"from":"cat-detector.js.md","to":"metappet","type":"tag"},{"from":"cat-detector.js.md","to":"variation","type":"tag"},{"from":"cat-detector.js.md","to":"bunny.md","type":"forelink"},{"from":"cat-detector.js.md","to":"cat-detector.ascii.html","type":"metalink"},{"from":"cat-detector.js.md","to":"cat-detector.ascii.txt","type":"metalink"},{"from":"cat-detector.js.md","to":"cat-detector.be.js","type":"metalink"},{"from":"cat-detector.js.md","to":"cat-detector.cat.js","type":"metalink"},{"from":"cat-detector.js.md","to":"cat-detector.eval.js","type":"metalink"},{"from":"cat-detector.js.md","to":"cat-detector.evbl.js","type":"metalink"},{"from":"cat-detector.js.md","to":"cat-detector.golf.js","type":"metalink"},{"from":"cat-detector.js.md","to":"cat-detector.js.md.st.js","type":"metalink"},{"from":"cat-detector.js.md","to":"cat-detector.polyfill.mjs","type":"metalink"},{"from":"cat-detector.js.md","to":"cat-detector.psu","type":"metalink"},{"from":"cat-detector.js.md","to":"cat-detector.scm.js","type":"metalink"},{"from":"cat-detector.js.md","to":"cat-detector.scm.json","type":"metalink"},{"from":"cat-detector.js.md","to":"cat-detector.spoken.mjs","type":"metalink"},{"from":"cat-detector.js.md","to":"cat-detector.svg","type":"metalink"},{"from":"cat-detector.js.md","to":"cat-detector.vars.js","type":"metalink"},{"from":"cat-detector.js.md","to":"cat-detector.wc.html","type":"metalink"},{"from":"cat-detector.js.md","to":"cat_detector.1.py","type":"metalink"},{"from":"cat-detector.js.md","to":"cat_detector.1.py.js","type":"metalink"},{"from":"cat-detector.js.md","to":"cat_detector.2.py","type":"metalink"},{"from":"cat-detector.js.md","to":"cat_detector.2.py.js","type":"metalink"},{"from":"cat-detector.js.md","to":"cat-detector.js.md.st.js","type":"subtext"},{"from":"cat-detector.polyfill.mjs","to":"variation","type":"tag"},{"from":"cat-detector.polyfill.mjs","to":"detector-string-polyfill.js","type":"forelink"},{"from":"cat-detector.psu","to":"variation","type":"tag"},{"from":"cat-detector.scm.js","to":"variation","type":"tag"},{"from":"cat-detector.scm.json","to":"variation","type":"tag"},{"from":"cat-detector.spoken.mjs","to":"variation","type":"tag"},{"from":"cat-detector.spoken.mjs","to":"introducing.mjs","type":"forelink"},{"from":"cat-detector.svg","to":"coaithored","type":"tag"},{"from":"cat-detector.svg","to":"variation","type":"tag"},{"from":"cat-detector.vars.js","to":"the fun parts","type":"tag"},{"from":"cat-detector.vars.js","to":"variation","type":"tag"},{"from":"cat-detector.wc.html","to":"variation","type":"tag"},{"from":"cat-detector.wc.html","to":"detector-wc-factory.mjs","type":"forelink"},{"from":"cat-i-farted.js","to":"variation","type":"tag"},{"from":"cat-i-farted.mjs","to":"variation","type":"tag"},{"from":"cat-i-farted.mjs","to":"executable-comment.mjs","type":"forelink"},{"from":"cat_detector.1.py","to":"variation","type":"tag"},{"from":"cat_detector.1.py.js","to":"variation","type":"tag"},{"from":"cat_detector.2.py","to":"variation","type":"tag"},{"from":"cat_detector.2.py.js","to":"variation","type":"tag"},{"from":"cest-pas-faux.js","to":"tribute","type":"tag"},{"from":"cest-pas-faux.js","to":"1-liner","type":"tag"},{"from":"chickeneighbor.js","to":"joke","type":"tag"},{"from":"chronicle.mjs","to":"minibrary","type":"tag"},{"from":"chronicle.mjs","to":"deep.mjs","type":"forelink"},{"from":"classy-curry.js","to":"wuzzle","type":"tag"},{"from":"code-is-text.txt.css","to":"1-liner","type":"tag"},{"from":"cookies.js","to":"1-liner","type":"tag"},{"from":"declare-morf.js","to":"esi","type":"tag"},{"from":"declare-tag.js","to":"esi","type":"tag"},{"from":"deep-clone.mjs","to":"useful","type":"tag"},{"from":"deep-compare.mjs","to":"testing","type":"tag"},{"from":"deep-compare.mjs","to":"useful","type":"tag"},{"from":"deep-freeze.mjs","to":"useful","type":"tag"},{"from":"deep.mjs","to":"minibrary","type":"tag"},{"from":"deep.mjs","to":"useful","type":"tag"},{"from":"deep.mjs","to":"deep-clone.mjs","type":"forelink"},{"from":"deep.mjs","to":"deep-compare.mjs","type":"forelink"},{"from":"deep.mjs","to":"deep-freeze.mjs","type":"forelink"},{"from":"demethod.mjs","to":"minibrary","type":"tag"},{"from":"describe-it.mjs","to":"minibrary","type":"tag"},{"from":"describe-it.mjs","to":"testing","type":"tag"},{"from":"detector-string-polyfill.js","to":"polyfill","type":"tag"},{"from":"detector-wc-factory.mjs","to":"minibrary","type":"tag"},{"from":"dna.js","to":"sketch","type":"tag"},{"from":"do-without.js","to":"the fun parts","type":"tag"},{"from":"do-without.js","to":"wuzzle","type":"tag"},{"from":"drabble-twabble.mjs","to":"testing.mjs","type":"forelink"},{"from":"eat-sleep-rave-repeat.js","to":"reel","type":"tag"},{"from":"eat-sleep-rave-repeat.js","to":"sketch","type":"tag"},{"from":"eat-sleep-rave-repeat.js","to":"the fun parts","type":"tag"},{"from":"eat-sleep-rave-repeat.js","to":"projector.mjs","type":"forelink"},{"from":"emoj.mjs","to":"pipe.mjs","type":"forelink"},{"from":"empty.json","to":"variation","type":"tag"},{"from":"empty.json","to":"1-liner","type":"tag"},{"from":"empty.yaml","to":"variation","type":"tag"},{"from":"empty.yaml","to":"1-liner","type":"tag"},{"from":"executable-comment.mjs","to":"minibrary","type":"tag"},{"from":"executable-pseudocode.mjs","to":"minibrary","type":"tag"},{"from":"expect.mjs","to":"minibrary","type":"tag"},{"from":"expect.mjs","to":"testing","type":"tag"},{"from":"expect.mjs","to":"deep-compare.mjs","type":"forelink"},{"from":"fake-it-till-you-make-it.mjs","to":"frivolous","type":"tag"},{"from":"fake-it-till-you-make-it.mjs","to":"python-by-any-other-name.js","type":"forelink"},{"from":"fake-it-till-you-make-it.mjs","to":"steamroll.mjs","type":"forelink"},{"from":"flag-translator.mjs","to":"story-in-a-story.mjs","type":"forelink"},{"from":"flag-translator.mjs","to":"be.de.txt","type":"forelink"},{"from":"flag-translator.mjs","to":"be.en.txt","type":"forelink"},{"from":"flag-translator.mjs","to":"be.fr.txt","type":"forelink"},{"from":"flag-translator.mjs","to":"be.nl.txt","type":"forelink"},{"from":"flat-earth.js","to":"wuzzle","type":"tag"},{"from":"fp.mjs","to":"minibrary","type":"tag"},{"from":"fp.mjs","to":"curry.mjs","type":"forelink"},{"from":"fp.mjs","to":"pipe.mjs","type":"forelink"},{"from":"funsole.mjs","to":"minibrary","type":"tag"},{"from":"funsole.mjs","to":"emoj.mjs","type":"forelink"},{"from":"funsole.mjs","to":"say.mjs","type":"forelink"},{"from":"funsole.mjs","to":"what-does-the-fox-say.mjs","type":"forelink"},{"from":"goalpost-sort.mjs","to":"testing.mjs","type":"forelink"},{"from":"goto-ish.js","to":"the fun parts","type":"tag"},{"from":"halloween.js","to":"wuzzle","type":"tag"},{"from":"halloween.js","to":"variation","type":"tag"},{"from":"halloween.js","to":"1-liner","type":"tag"},{"from":"halloween.py","to":"wuzzle","type":"tag"},{"from":"halloween.py","to":"variation","type":"tag"},{"from":"halloween.py","to":"1-liner","type":"tag"},{"from":"heartbreak.js","to":"the fun parts","type":"tag"},{"from":"heartbreak.js","to":"wuzzle","type":"tag"},{"from":"heartbreak.js","to":"1-liner","type":"tag"},{"from":"hello-world.js","to":"variation","type":"tag"},{"from":"hello-world.js","to":"1-liner","type":"tag"},{"from":"hello_world.py","to":"variation","type":"tag"},{"from":"hello_world.py","to":"1-liner","type":"tag"},{"from":"hogpile.js","to":"wuzzle","type":"tag"},{"from":"hydra.html","to":"coaithored","type":"tag"},{"from":"impermanence.js","to":"wuzzle","type":"tag"},{"from":"impermanence.js","to":"1-liner","type":"tag"},{"from":"in-one-ear.js","to":"wuzzle","type":"tag"},{"from":"index.html","to":"metappet","type":"tag"},{"from":"index.html","to":".publicdata/snippets.json","type":"forelink"},{"from":"insomnicat.js","to":"coaithored","type":"tag"},{"from":"insomnicat.js","to":"le chat","type":"tag"},{"from":"insomnicat.js","to":"tribute","type":"tag"},{"from":"interval-training.html","to":"noises.mjs","type":"forelink"},{"from":"introducing.mjs","to":"minibrary","type":"tag"},{"from":"je-l-ignore.js","to":"tribute","type":"tag"},{"from":"je-l-ignore.js","to":"variation","type":"tag"},{"from":"je-l-ignore.mjs","to":"tribute","type":"tag"},{"from":"je-l-ignore.mjs","to":"variation","type":"tag"},{"from":"je-l-ignore.mjs","to":"executable-comment.mjs","type":"forelink"},{"from":"literize.mjs","to":"minibrary","type":"tag"},{"from":"log.mjs","to":"minibrary","type":"tag"},{"from":"log.mjs","to":"useful","type":"tag"},{"from":"love-adventure-success.1.js","to":"coaithored","type":"tag"},{"from":"love-adventure-success.1.js","to":"variation","type":"tag"},{"from":"love-adventure-success.2.js","to":"coaithored","type":"tag"},{"from":"love-adventure-success.2.js","to":"variation","type":"tag"},{"from":"minibrary.md","to":"metappet","type":"tag"},{"from":"minibrary.md","to":"1-liner","type":"tag"},{"from":"minibrary.md","to":"minibrary","type":"tag"},{"from":"minibrary.md","to":"chronicle.mjs","type":"metalink"},{"from":"minibrary.md","to":"deep.mjs","type":"metalink"},{"from":"minibrary.md","to":"demethod.mjs","type":"metalink"},{"from":"minibrary.md","to":"describe-it.mjs","type":"metalink"},{"from":"minibrary.md","to":"detector-wc-factory.mjs","type":"metalink"},{"from":"minibrary.md","to":"executable-comment.mjs","type":"metalink"},{"from":"minibrary.md","to":"executable-pseudocode.mjs","type":"metalink"},{"from":"minibrary.md","to":"expect.mjs","type":"metalink"},{"from":"minibrary.md","to":"fp.mjs","type":"metalink"},{"from":"minibrary.md","to":"funsole.mjs","type":"metalink"},{"from":"minibrary.md","to":"introducing.mjs","type":"metalink"},{"from":"minibrary.md","to":"literize.mjs","type":"metalink"},{"from":"minibrary.md","to":"log.mjs","type":"metalink"},{"from":"minibrary.md","to":"noises.mjs","type":"metalink"},{"from":"minibrary.md","to":"projector.mjs","type":"metalink"},{"from":"minibrary.md","to":"stateless-machine.mjs","type":"metalink"},{"from":"minibrary.md","to":"story-in-a-story.mjs","type":"metalink"},{"from":"minibrary.md","to":"testing.mjs","type":"metalink"},{"from":"minibrary.md","to":"togglog.mjs","type":"metalink"},{"from":"minibrary.md","to":"togglog.py","type":"metalink"},{"from":"minibrary.md","to":"turtlje.mjs","type":"metalink"},{"from":"mu.js","to":"tribute","type":"tag"},{"from":"mu.js","to":"variation","type":"tag"},{"from":"mu.mjs","to":"tribute","type":"tag"},{"from":"mu.mjs","to":"variation","type":"tag"},{"from":"mu.mjs","to":"executable-comment.mjs","type":"forelink"},{"from":"namoji.mjs","to":"1-liner","type":"tag"},{"from":"no-comment.js","to":"variation","type":"tag"},{"from":"no-comment.mjs","to":"variation","type":"tag"},{"from":"noises.mjs","to":"minibrary","type":"tag"},{"from":"non-sequitur.mjs","to":"chronicle.mjs","type":"forelink"},{"from":"non-sequitur.mjs","to":"sequitur.mjs","type":"forelink"},{"from":"overconfidence.js","to":"wtfjs","type":"tag"},{"from":"pedestrian-slalom.html","to":"game","type":"tag"},{"from":"pick-your-poison.js","to":"wuzzle","type":"tag"},{"from":"pipeablert.mjs","to":"useless","type":"tag"},{"from":"pipeablert.mjs","to":"1-liner","type":"tag"},{"from":"pipeables.mjs","to":"pipeablert.mjs","type":"forelink"},{"from":"pipeables.mjs","to":"pipeablog.mjs","type":"forelink"},{"from":"pipeablog.mjs","to":"useful","type":"tag"},{"from":"pipeablog.mjs","to":"1-liner","type":"tag"},{"from":"potato-potato.js","to":"wuzzle","type":"tag"},{"from":"projector.mjs","to":"minibrary","type":"tag"},{"from":"rainstorm.mjs","to":"reel","type":"tag"},{"from":"rainstorm.mjs","to":"sketch","type":"tag"},{"from":"rainstorm.mjs","to":"projector.mjs","type":"forelink"},{"from":"recurseval.1.js","to":"useless","type":"tag"},{"from":"recurseval.1.js","to":"variation","type":"tag"},{"from":"recurseval.1.js","to":"1-liner","type":"tag"},{"from":"recurseval.2.js","to":"quine","type":"tag"},{"from":"recurseval.2.js","to":"variation","type":"tag"},{"from":"recurseval.2.js","to":"1-liner","type":"tag"},{"from":"recurseval.3.js","to":"variation","type":"tag"},{"from":"recurseval.3.js","to":"recurseval.3.js","type":"forelink"},{"from":"reflection.css","to":"variation","type":"tag"},{"from":"reflection.js","to":"variation","type":"tag"},{"from":"reverse-input.js.txt","to":"variation","type":"tag"},{"from":"reverse-input.txt.js","to":"variation","type":"tag"},{"from":"reverse-input.txt.js","to":"reverse-input.txt.js.st.txt","type":"subtext"},{"from":"sequitur.mjs","to":"useless","type":"tag"},{"from":"sequitur.mjs","to":"wuzzle","type":"tag"},{"from":"sequitur.mjs","to":"1-liner","type":"tag"},{"from":"sierpinski.html","to":"sketch","type":"tag"},{"from":"sierpinski.html","to":"turtlje.mjs","type":"forelink"},{"from":"snail-train.mjs","to":"executable-comment.mjs","type":"forelink"},{"from":"stateless-machine.mjs","to":"minibrary","type":"tag"},{"from":"steamroll.mjs","to":"remix","type":"tag"},{"from":"story-in-a-story.mjs","to":"minibrary","type":"tag"},{"from":"take-five.js","to":"wellbeing","type":"tag"},{"from":"testing.mjs","to":"minibrary","type":"tag"},{"from":"testing.mjs","to":"testing","type":"tag"},{"from":"testing.mjs","to":"useful","type":"tag"},{"from":"testing.mjs","to":"describe-it.mjs","type":"forelink"},{"from":"testing.mjs","to":"expect.mjs","type":"forelink"},{"from":"the-fun-parts.md","to":"metappet","type":"tag"},{"from":"the-fun-parts.md","to":"the fun parts","type":"tag"},{"from":"the-fun-parts.md","to":"cat-detector.vars.js","type":"metalink"},{"from":"the-fun-parts.md","to":"do-without.js","type":"metalink"},{"from":"the-fun-parts.md","to":"eat-sleep-rave-repeat.js","type":"metalink"},{"from":"the-fun-parts.md","to":"goto-ish.js","type":"metalink"},{"from":"the-fun-parts.md","to":"heartbreak.js","type":"metalink"},{"from":"the-fun-parts.md","to":"with-transparency.js","type":"metalink"},{"from":"the-neverending-s.js","to":"wuzzle","type":"tag"},{"from":"the-neverending-s.js","to":"1-liner","type":"tag"},{"from":"the-programmers-journey.js","to":"coaithored","type":"tag"},{"from":"this-is-amazing.mjs","to":"testing.mjs","type":"forelink"},{"from":"tintin.0.js","to":"puzzle","type":"tag"},{"from":"tintin.0.js","to":"variation","type":"tag"},{"from":"tintin.0.mjs","to":"puzzle","type":"tag"},{"from":"tintin.0.mjs","to":"variation","type":"tag"},{"from":"tintin.0.mjs","to":"chronicle.mjs","type":"forelink"},{"from":"tintin.1.js","to":"puzzle","type":"tag"},{"from":"tintin.1.js","to":"variation","type":"tag"},{"from":"tintin.1.mjs","to":"puzzle","type":"tag"},{"from":"tintin.1.mjs","to":"variation","type":"tag"},{"from":"tintin.1.mjs","to":"chronicle.mjs","type":"forelink"},{"from":"tintin.2.js","to":"puzzle","type":"tag"},{"from":"tintin.2.js","to":"variation","type":"tag"},{"from":"tintin.2.mjs","to":"puzzle","type":"tag"},{"from":"tintin.2.mjs","to":"variation","type":"tag"},{"from":"tintin.2.mjs","to":"chronicle.mjs","type":"forelink"},{"from":"tintin.3.js","to":"puzzle","type":"tag"},{"from":"tintin.3.js","to":"variation","type":"tag"},{"from":"tintin.3.mjs","to":"puzzle","type":"tag"},{"from":"tintin.3.mjs","to":"variation","type":"tag"},{"from":"tintin.3.mjs","to":"chronicle.mjs","type":"forelink"},{"from":"tintin.4.js","to":"puzzle","type":"tag"},{"from":"tintin.4.js","to":"variation","type":"tag"},{"from":"tintin.4.mjs","to":"puzzle","type":"tag"},{"from":"tintin.4.mjs","to":"variation","type":"tag"},{"from":"tintin.4.mjs","to":"chronicle.mjs","type":"forelink"},{"from":"togglog.mjs","to":"minibrary","type":"tag"},{"from":"togglog.mjs","to":"variation","type":"tag"},{"from":"togglog.py","to":"minibrary","type":"tag"},{"from":"togglog.py","to":"variation","type":"tag"},{"from":"training-wheels.mjs","to":"demethod.mjs","type":"forelink"},{"from":"turtles-all-the-way-down.1.js","to":"wuzzle","type":"tag"},{"from":"turtles-all-the-way-down.1.js","to":"variation","type":"tag"},{"from":"turtles-all-the-way-down.1.js","to":"1-liner","type":"tag"},{"from":"turtles-all-the-way-down.2.js","to":"wuzzle","type":"tag"},{"from":"turtles-all-the-way-down.2.js","to":"variation","type":"tag"},{"from":"turtles-all-the-way-down.2.js","to":"1-liner","type":"tag"},{"from":"turtles-all-the-way-down.3.js","to":"wuzzle","type":"tag"},{"from":"turtles-all-the-way-down.3.js","to":"variation","type":"tag"},{"from":"turtles-all-the-way-down.3.js","to":"1-liner","type":"tag"},{"from":"turtles-all-the-way-down.4.js","to":"wuzzle","type":"tag"},{"from":"turtles-all-the-way-down.4.js","to":"variation","type":"tag"},{"from":"turtles-all-the-way-down.4.js","to":"1-liner","type":"tag"},{"from":"turtles-all-the-way-down.html","to":"wuzzle","type":"tag"},{"from":"turtles-all-the-way-down.html","to":"variation","type":"tag"},{"from":"turtles_all_the_way_down.1.py","to":"wuzzle","type":"tag"},{"from":"turtles_all_the_way_down.1.py","to":"variation","type":"tag"},{"from":"turtles_all_the_way_down.1.py","to":"1-liner","type":"tag"},{"from":"turtles_all_the_way_down.2.py","to":"wuzzle","type":"tag"},{"from":"turtles_all_the_way_down.2.py","to":"variation","type":"tag"},{"from":"turtles_all_the_way_down.2.py","to":"1-liner","type":"tag"},{"from":"turtlje.mjs","to":"minibrary","type":"tag"},{"from":"useless-machine.1.html","to":"variation","type":"tag"},{"from":"useless-machine.1.html","to":"1-liner","type":"tag"},{"from":"useless-machine.2.html","to":"coaithored","type":"tag"},{"from":"useless-machine.2.html","to":"frivolous","type":"tag"},{"from":"useless-machine.2.html","to":"variation","type":"tag"},{"from":"var-let-const.js","to":"puzzle","type":"tag"},{"from":"variation.md","to":"metappet","type":"tag"},{"from":"variation.md","to":"1-liner","type":"tag"},{"from":"variation.md","to":"variation","type":"tag"},{"from":"variation.md","to":"10-print.1.js","type":"metalink"},{"from":"variation.md","to":"10-print.2.js","type":"metalink"},{"from":"variation.md","to":"10-print.3.js","type":"metalink"},{"from":"variation.md","to":"10-print.4.js","type":"metalink"},{"from":"variation.md","to":"10-print.6.mjs","type":"metalink"},{"from":"variation.md","to":"be.canvas.html","type":"metalink"},{"from":"variation.md","to":"be.css","type":"metalink"},{"from":"variation.md","to":"be.css.html","type":"metalink"},{"from":"variation.md","to":"be.de.txt","type":"metalink"},{"from":"variation.md","to":"be.en.txt","type":"metalink"},{"from":"variation.md","to":"be.flip.js","type":"metalink"},{"from":"variation.md","to":"be.fr.txt","type":"metalink"},{"from":"variation.md","to":"be.html","type":"metalink"},{"from":"variation.md","to":"be.js","type":"metalink"},{"from":"variation.md","to":"be.json","type":"metalink"},{"from":"variation.md","to":"be.md","type":"metalink"},{"from":"variation.md","to":"be.nl.txt","type":"metalink"},{"from":"variation.md","to":"be.py","type":"metalink"},{"from":"variation.md","to":"be.svg","type":"metalink"},{"from":"variation.md","to":"be.txt","type":"metalink"},{"from":"variation.md","to":"be.yaml","type":"metalink"},{"from":"variation.md","to":"breathless.html","type":"metalink"},{"from":"variation.md","to":"breathless.js","type":"metalink"},{"from":"variation.md","to":"cat-detector.ascii.html","type":"metalink"},{"from":"variation.md","to":"cat-detector.ascii.txt","type":"metalink"},{"from":"variation.md","to":"cat-detector.be.js","type":"metalink"},{"from":"variation.md","to":"cat-detector.cat.js","type":"metalink"},{"from":"variation.md","to":"cat-detector.eval.js","type":"metalink"},{"from":"variation.md","to":"cat-detector.evbl.js","type":"metalink"},{"from":"variation.md","to":"cat-detector.golf.js","type":"metalink"},{"from":"variation.md","to":"cat-detector.js.md","type":"metalink"},{"from":"variation.md","to":"cat-detector.js.md.st.js","type":"metalink"},{"from":"variation.md","to":"cat-detector.polyfill.mjs","type":"metalink"},{"from":"variation.md","to":"cat-detector.psu","type":"metalink"},{"from":"variation.md","to":"cat-detector.scm.js","type":"metalink"},{"from":"variation.md","to":"cat-detector.scm.json","type":"metalink"},{"from":"variation.md","to":"cat-detector.spoken.mjs","type":"metalink"},{"from":"variation.md","to":"cat-detector.svg","type":"metalink"},{"from":"variation.md","to":"cat-detector.vars.js","type":"metalink"},{"from":"variation.md","to":"cat-detector.wc.html","type":"metalink"},{"from":"variation.md","to":"cat-i-farted.js","type":"metalink"},{"from":"variation.md","to":"cat-i-farted.mjs","type":"metalink"},{"from":"variation.md","to":"cat_detector.1.py","type":"metalink"},{"from":"variation.md","to":"cat_detector.1.py.js","type":"metalink"},{"from":"variation.md","to":"cat_detector.2.py","type":"metalink"},{"from":"variation.md","to":"cat_detector.2.py.js","type":"metalink"},{"from":"variation.md","to":"empty.json","type":"metalink"},{"from":"variation.md","to":"empty.yaml","type":"metalink"},{"from":"variation.md","to":"halloween.js","type":"metalink"},{"from":"variation.md","to":"halloween.py","type":"metalink"},{"from":"variation.md","to":"hello-world.js","type":"metalink"},{"from":"variation.md","to":"hello_world.py","type":"metalink"},{"from":"variation.md","to":"je-l-ignore.js","type":"metalink"},{"from":"variation.md","to":"je-l-ignore.mjs","type":"metalink"},{"from":"variation.md","to":"love-adventure-success.1.js","type":"metalink"},{"from":"variation.md","to":"love-adventure-success.2.js","type":"metalink"},{"from":"variation.md","to":"mu.js","type":"metalink"},{"from":"variation.md","to":"mu.mjs","type":"metalink"},{"from":"variation.md","to":"no-comment.js","type":"metalink"},{"from":"variation.md","to":"no-comment.mjs","type":"metalink"},{"from":"variation.md","to":"recurseval.1.js","type":"metalink"},{"from":"variation.md","to":"recurseval.2.js","type":"metalink"},{"from":"variation.md","to":"recurseval.3.js","type":"metalink"},{"from":"variation.md","to":"reflection.css","type":"metalink"},{"from":"variation.md","to":"reflection.js","type":"metalink"},{"from":"variation.md","to":"reverse-input.js.txt","type":"metalink"},{"from":"variation.md","to":"reverse-input.txt.js","type":"metalink"},{"from":"variation.md","to":"reverse-input.txt.js.st.txt","type":"metalink"},{"from":"variation.md","to":"tintin.0.js","type":"metalink"},{"from":"variation.md","to":"tintin.0.mjs","type":"metalink"},{"from":"variation.md","to":"tintin.1.js","type":"metalink"},{"from":"variation.md","to":"tintin.1.mjs","type":"metalink"},{"from":"variation.md","to":"tintin.2.js","type":"metalink"},{"from":"variation.md","to":"tintin.2.mjs","type":"metalink"},{"from":"variation.md","to":"tintin.3.js","type":"metalink"},{"from":"variation.md","to":"tintin.3.mjs","type":"metalink"},{"from":"variation.md","to":"tintin.4.js","type":"metalink"},{"from":"variation.md","to":"tintin.4.mjs","type":"metalink"},{"from":"variation.md","to":"togglog.mjs","type":"metalink"},{"from":"variation.md","to":"togglog.py","type":"metalink"},{"from":"variation.md","to":"turtles-all-the-way-down.1.js","type":"metalink"},{"from":"variation.md","to":"turtles-all-the-way-down.2.js","type":"metalink"},{"from":"variation.md","to":"turtles-all-the-way-down.3.js","type":"metalink"},{"from":"variation.md","to":"turtles-all-the-way-down.4.js","type":"metalink"},{"from":"variation.md","to":"turtles-all-the-way-down.html","type":"metalink"},{"from":"variation.md","to":"turtles_all_the_way_down.1.py","type":"metalink"},{"from":"variation.md","to":"turtles_all_the_way_down.2.py","type":"metalink"},{"from":"variation.md","to":"useless-machine.1.html","type":"metalink"},{"from":"variation.md","to":"useless-machine.2.html","type":"metalink"},{"from":"variation.md","to":"yolo.js","type":"metalink"},{"from":"variation.md","to":"yolo.py","type":"metalink"},{"from":"variation.md","to":"yoloer.js","type":"metalink"},{"from":"variation.md","to":"yoloer.py","type":"metalink"},{"from":"variation.md","to":"yoloest.js","type":"metalink"},{"from":"variation.md","to":"yoloest.py","type":"metalink"},{"from":"wat.html","to":"wat.html","type":"forelink"},{"from":"what-does-the-fox-say.mjs","to":"remix","type":"tag"},{"from":"what-does-the-fox-say.mjs","to":"sketch","type":"tag"},{"from":"with-transparency.js","to":"the fun parts","type":"tag"},{"from":"yolo.js","to":"yolo","type":"tag"},{"from":"yolo.js","to":"variation","type":"tag"},{"from":"yolo.py","to":"yolo","type":"tag"},{"from":"yolo.py","to":"variation","type":"tag"},{"from":"yoloer.js","to":"yolo","type":"tag"},{"from":"yoloer.js","to":"variation","type":"tag"},{"from":"yoloer.py","to":"yolo","type":"tag"},{"from":"yoloer.py","to":"variation","type":"tag"},{"from":"yoloest.js","to":"yolo","type":"tag"},{"from":"yoloest.js","to":"variation","type":"tag"},{"from":"yoloest.js","to":"1-liner","type":"tag"},{"from":"yoloest.py","to":"yolo","type":"tag"},{"from":"yoloest.py","to":"variation","type":"tag"},{"from":"yoloest.py","to":"1-liner","type":"tag"},{"from":"yoloish.js","to":"yolo","type":"tag"},{"from":"cat-detector.js.md.st.js","to":"variation","type":"tag"},{"from":"cat-detector.js.md.st.js","to":"subtext","type":"tag"},{"from":"reverse-input.txt.js.st.txt","to":"variation","type":"tag"},{"from":"reverse-input.txt.js.st.txt","to":"subtext","type":"tag"}] \ No newline at end of file +[{"from":"10-print.1.js","to":"variation","type":"tag"},{"from":"10-print.2.js","to":"variation","type":"tag"},{"from":"10-print.3.js","to":"variation","type":"tag"},{"from":"10-print.4.js","to":"variation","type":"tag"},{"from":"10-print.6.mjs","to":"variation","type":"tag"},{"from":"10-print.6.mjs","to":"projector.mjs","type":"forelink"},{"from":"ESi.md","to":"metappet","type":"tag"},{"from":"ESi.md","to":"esi","type":"tag"},{"from":"ESi.md","to":"declare-morf.js","type":"metalink"},{"from":"ESi.md","to":"declare-tag.js","type":"metalink"},{"from":"README.md","to":"metappet","type":"tag"},{"from":"accessible-credit-card-form.html","to":"coaithored","type":"tag"},{"from":"all-medium.md","to":"metappet","type":"tag"},{"from":"all-medium.md","to":"be.txt","type":"forelink"},{"from":"all-medium.md","to":"cat-detector.psu","type":"forelink"},{"from":"all-medium.md","to":"empty.json","type":"forelink"},{"from":"all-medium.md","to":"empty.yaml","type":"forelink"},{"from":"all-medium.md","to":"funsole.mjs","type":"forelink"},{"from":"all-medium.md","to":"log.mjs","type":"forelink"},{"from":"all-medium.md","to":"story-in-a-story.mjs","type":"forelink"},{"from":"all-the-reals.mjs","to":"executable-pseudocode.mjs","type":"forelink"},{"from":"be.canvas.html","to":"variation","type":"tag"},{"from":"be.css","to":"variation","type":"tag"},{"from":"be.css.html","to":"variation","type":"tag"},{"from":"be.de.txt","to":"variation","type":"tag"},{"from":"be.en.txt","to":"variation","type":"tag"},{"from":"be.flip.js","to":"variation","type":"tag"},{"from":"be.fr.txt","to":"variation","type":"tag"},{"from":"be.html","to":"variation","type":"tag"},{"from":"be.js","to":"variation","type":"tag"},{"from":"be.json","to":"variation","type":"tag"},{"from":"be.md","to":"metappet","type":"tag"},{"from":"be.md","to":"variation","type":"tag"},{"from":"be.md","to":"1-liner","type":"tag"},{"from":"be.md","to":"be.canvas.html","type":"metalink"},{"from":"be.md","to":"be.css","type":"metalink"},{"from":"be.md","to":"be.css.html","type":"metalink"},{"from":"be.md","to":"be.de.txt","type":"metalink"},{"from":"be.md","to":"be.en.txt","type":"metalink"},{"from":"be.md","to":"be.flip.js","type":"metalink"},{"from":"be.md","to":"be.fr.txt","type":"metalink"},{"from":"be.md","to":"be.html","type":"metalink"},{"from":"be.md","to":"be.js","type":"metalink"},{"from":"be.md","to":"be.json","type":"metalink"},{"from":"be.md","to":"be.nl.txt","type":"metalink"},{"from":"be.md","to":"be.py","type":"metalink"},{"from":"be.md","to":"be.svg","type":"metalink"},{"from":"be.md","to":"be.txt","type":"metalink"},{"from":"be.md","to":"be.yaml","type":"metalink"},{"from":"be.nl.txt","to":"variation","type":"tag"},{"from":"be.py","to":"variation","type":"tag"},{"from":"be.py","to":"1-liner","type":"tag"},{"from":"be.svg","to":"variation","type":"tag"},{"from":"be.txt","to":"variation","type":"tag"},{"from":"be.txt","to":"1-liner","type":"tag"},{"from":"be.yaml","to":"variation","type":"tag"},{"from":"breathless.html","to":"wellbeing","type":"tag"},{"from":"breathless.html","to":"variation","type":"tag"},{"from":"breathless.js","to":"wellbeing","type":"tag"},{"from":"breathless.js","to":"variation","type":"tag"},{"from":"bunny.md","to":"metappet","type":"tag"},{"from":"bunny.md","to":"🐰","type":"tag"},{"from":"bunny.md","to":"the-fun-parts.md","type":"forelink"},{"from":"callout-stack.js","to":"useless","type":"tag"},{"from":"can-not-even.mjs","to":"remix","type":"tag"},{"from":"can-not-even.mjs","to":"testing.mjs","type":"forelink"},{"from":"cat-detector.ascii.html","to":"variation","type":"tag"},{"from":"cat-detector.ascii.txt","to":"variation","type":"tag"},{"from":"cat-detector.be.js","to":"le chat","type":"tag"},{"from":"cat-detector.be.js","to":"variation","type":"tag"},{"from":"cat-detector.cat.js","to":"variation","type":"tag"},{"from":"cat-detector.eval.js","to":"variation","type":"tag"},{"from":"cat-detector.evbl.js","to":"variation","type":"tag"},{"from":"cat-detector.evbl.js","to":"1-liner","type":"tag"},{"from":"cat-detector.golf.js","to":"golf","type":"tag"},{"from":"cat-detector.golf.js","to":"variation","type":"tag"},{"from":"cat-detector.js.md","to":"metappet","type":"tag"},{"from":"cat-detector.js.md","to":"variation","type":"tag"},{"from":"cat-detector.js.md","to":"bunny.md","type":"forelink"},{"from":"cat-detector.js.md","to":"cat-detector.ascii.html","type":"metalink"},{"from":"cat-detector.js.md","to":"cat-detector.ascii.txt","type":"metalink"},{"from":"cat-detector.js.md","to":"cat-detector.be.js","type":"metalink"},{"from":"cat-detector.js.md","to":"cat-detector.cat.js","type":"metalink"},{"from":"cat-detector.js.md","to":"cat-detector.eval.js","type":"metalink"},{"from":"cat-detector.js.md","to":"cat-detector.evbl.js","type":"metalink"},{"from":"cat-detector.js.md","to":"cat-detector.golf.js","type":"metalink"},{"from":"cat-detector.js.md","to":"cat-detector.js.md.st.js","type":"metalink"},{"from":"cat-detector.js.md","to":"cat-detector.polyfill.mjs","type":"metalink"},{"from":"cat-detector.js.md","to":"cat-detector.psu","type":"metalink"},{"from":"cat-detector.js.md","to":"cat-detector.scm.js","type":"metalink"},{"from":"cat-detector.js.md","to":"cat-detector.scm.json","type":"metalink"},{"from":"cat-detector.js.md","to":"cat-detector.spoken.mjs","type":"metalink"},{"from":"cat-detector.js.md","to":"cat-detector.svg","type":"metalink"},{"from":"cat-detector.js.md","to":"cat-detector.vars.js","type":"metalink"},{"from":"cat-detector.js.md","to":"cat-detector.wc.html","type":"metalink"},{"from":"cat-detector.js.md","to":"cat_detector.1.py","type":"metalink"},{"from":"cat-detector.js.md","to":"cat_detector.1.py.js","type":"metalink"},{"from":"cat-detector.js.md","to":"cat_detector.2.py","type":"metalink"},{"from":"cat-detector.js.md","to":"cat_detector.2.py.js","type":"metalink"},{"from":"cat-detector.js.md","to":"cat-detector.js.md.st.js","type":"subtext"},{"from":"cat-detector.polyfill.mjs","to":"variation","type":"tag"},{"from":"cat-detector.polyfill.mjs","to":"detector-string-polyfill.js","type":"forelink"},{"from":"cat-detector.psu","to":"variation","type":"tag"},{"from":"cat-detector.scm.js","to":"variation","type":"tag"},{"from":"cat-detector.scm.json","to":"variation","type":"tag"},{"from":"cat-detector.spoken.mjs","to":"variation","type":"tag"},{"from":"cat-detector.spoken.mjs","to":"introducing.mjs","type":"forelink"},{"from":"cat-detector.svg","to":"coaithored","type":"tag"},{"from":"cat-detector.svg","to":"variation","type":"tag"},{"from":"cat-detector.vars.js","to":"the fun parts","type":"tag"},{"from":"cat-detector.vars.js","to":"variation","type":"tag"},{"from":"cat-detector.wc.html","to":"variation","type":"tag"},{"from":"cat-detector.wc.html","to":"detector-wc-factory.mjs","type":"forelink"},{"from":"cat-i-farted.js","to":"variation","type":"tag"},{"from":"cat-i-farted.mjs","to":"variation","type":"tag"},{"from":"cat-i-farted.mjs","to":"executable-comment.mjs","type":"forelink"},{"from":"cat_detector.1.py","to":"variation","type":"tag"},{"from":"cat_detector.1.py.js","to":"variation","type":"tag"},{"from":"cat_detector.2.py","to":"variation","type":"tag"},{"from":"cat_detector.2.py.js","to":"variation","type":"tag"},{"from":"cest-pas-faux.js","to":"tribute","type":"tag"},{"from":"cest-pas-faux.js","to":"1-liner","type":"tag"},{"from":"chickeneighbor.js","to":"joke","type":"tag"},{"from":"chronicle.mjs","to":"minibrary","type":"tag"},{"from":"chronicle.mjs","to":"deep.mjs","type":"forelink"},{"from":"classy-curry.js","to":"wuzzle","type":"tag"},{"from":"code-is-text.txt.css","to":"1-liner","type":"tag"},{"from":"declare-morf.js","to":"esi","type":"tag"},{"from":"declare-tag.js","to":"esi","type":"tag"},{"from":"deep-clone.mjs","to":"useful","type":"tag"},{"from":"deep-compare.mjs","to":"testing","type":"tag"},{"from":"deep-compare.mjs","to":"useful","type":"tag"},{"from":"deep-freeze.mjs","to":"useful","type":"tag"},{"from":"deep.mjs","to":"minibrary","type":"tag"},{"from":"deep.mjs","to":"useful","type":"tag"},{"from":"deep.mjs","to":"deep-clone.mjs","type":"forelink"},{"from":"deep.mjs","to":"deep-compare.mjs","type":"forelink"},{"from":"deep.mjs","to":"deep-freeze.mjs","type":"forelink"},{"from":"demethod.mjs","to":"minibrary","type":"tag"},{"from":"describe-it.mjs","to":"minibrary","type":"tag"},{"from":"describe-it.mjs","to":"testing","type":"tag"},{"from":"detector-string-polyfill.js","to":"polyfill","type":"tag"},{"from":"detector-wc-factory.mjs","to":"minibrary","type":"tag"},{"from":"dna.js","to":"sketch","type":"tag"},{"from":"do-without.js","to":"the fun parts","type":"tag"},{"from":"do-without.js","to":"wuzzle","type":"tag"},{"from":"drabble-twabble.mjs","to":"testing.mjs","type":"forelink"},{"from":"eat-sleep-rave-repeat.js","to":"reel","type":"tag"},{"from":"eat-sleep-rave-repeat.js","to":"sketch","type":"tag"},{"from":"eat-sleep-rave-repeat.js","to":"the fun parts","type":"tag"},{"from":"eat-sleep-rave-repeat.js","to":"projector.mjs","type":"forelink"},{"from":"emoj.mjs","to":"pipe.mjs","type":"forelink"},{"from":"empty.json","to":"variation","type":"tag"},{"from":"empty.json","to":"1-liner","type":"tag"},{"from":"empty.yaml","to":"variation","type":"tag"},{"from":"empty.yaml","to":"1-liner","type":"tag"},{"from":"executable-comment.mjs","to":"minibrary","type":"tag"},{"from":"executable-pseudocode.mjs","to":"minibrary","type":"tag"},{"from":"expect.mjs","to":"minibrary","type":"tag"},{"from":"expect.mjs","to":"testing","type":"tag"},{"from":"expect.mjs","to":"deep-compare.mjs","type":"forelink"},{"from":"fake-it-till-you-make-it.mjs","to":"frivolous","type":"tag"},{"from":"fake-it-till-you-make-it.mjs","to":"python-by-any-other-name.js","type":"forelink"},{"from":"fake-it-till-you-make-it.mjs","to":"steamroll.mjs","type":"forelink"},{"from":"flag-translator.mjs","to":"story-in-a-story.mjs","type":"forelink"},{"from":"flag-translator.mjs","to":"be.de.txt","type":"forelink"},{"from":"flag-translator.mjs","to":"be.en.txt","type":"forelink"},{"from":"flag-translator.mjs","to":"be.fr.txt","type":"forelink"},{"from":"flag-translator.mjs","to":"be.nl.txt","type":"forelink"},{"from":"flat-earth.js","to":"wuzzle","type":"tag"},{"from":"fp.mjs","to":"minibrary","type":"tag"},{"from":"fp.mjs","to":"curry.mjs","type":"forelink"},{"from":"fp.mjs","to":"pipe.mjs","type":"forelink"},{"from":"funsole.mjs","to":"minibrary","type":"tag"},{"from":"funsole.mjs","to":"emoj.mjs","type":"forelink"},{"from":"funsole.mjs","to":"say.mjs","type":"forelink"},{"from":"funsole.mjs","to":"what-does-the-fox-say.mjs","type":"forelink"},{"from":"goalpost-sort.mjs","to":"testing.mjs","type":"forelink"},{"from":"goto-ish.js","to":"the fun parts","type":"tag"},{"from":"halloween.js","to":"wuzzle","type":"tag"},{"from":"halloween.js","to":"variation","type":"tag"},{"from":"halloween.js","to":"1-liner","type":"tag"},{"from":"halloween.py","to":"wuzzle","type":"tag"},{"from":"halloween.py","to":"variation","type":"tag"},{"from":"halloween.py","to":"1-liner","type":"tag"},{"from":"heartbreak.js","to":"the fun parts","type":"tag"},{"from":"heartbreak.js","to":"wuzzle","type":"tag"},{"from":"heartbreak.js","to":"1-liner","type":"tag"},{"from":"hello-world.js","to":"variation","type":"tag"},{"from":"hello-world.js","to":"1-liner","type":"tag"},{"from":"hello_world.py","to":"variation","type":"tag"},{"from":"hello_world.py","to":"1-liner","type":"tag"},{"from":"hogpile.js","to":"wuzzle","type":"tag"},{"from":"hydra.html","to":"coaithored","type":"tag"},{"from":"impermanence.js","to":"wuzzle","type":"tag"},{"from":"impermanence.js","to":"1-liner","type":"tag"},{"from":"in-one-ear.js","to":"wuzzle","type":"tag"},{"from":"index.html","to":"metappet","type":"tag"},{"from":"index.html","to":".publicdata/snippets.json","type":"forelink"},{"from":"insomnicat.js","to":"coaithored","type":"tag"},{"from":"insomnicat.js","to":"le chat","type":"tag"},{"from":"insomnicat.js","to":"tribute","type":"tag"},{"from":"interval-training.html","to":"noises.mjs","type":"forelink"},{"from":"introducing.mjs","to":"minibrary","type":"tag"},{"from":"je-l-ignore.js","to":"tribute","type":"tag"},{"from":"je-l-ignore.js","to":"variation","type":"tag"},{"from":"je-l-ignore.mjs","to":"tribute","type":"tag"},{"from":"je-l-ignore.mjs","to":"variation","type":"tag"},{"from":"je-l-ignore.mjs","to":"executable-comment.mjs","type":"forelink"},{"from":"literize.mjs","to":"minibrary","type":"tag"},{"from":"log.mjs","to":"minibrary","type":"tag"},{"from":"log.mjs","to":"useful","type":"tag"},{"from":"love-adventure-success.1.js","to":"coaithored","type":"tag"},{"from":"love-adventure-success.1.js","to":"variation","type":"tag"},{"from":"love-adventure-success.2.js","to":"coaithored","type":"tag"},{"from":"love-adventure-success.2.js","to":"variation","type":"tag"},{"from":"minibrary.md","to":"metappet","type":"tag"},{"from":"minibrary.md","to":"1-liner","type":"tag"},{"from":"minibrary.md","to":"minibrary","type":"tag"},{"from":"minibrary.md","to":"chronicle.mjs","type":"metalink"},{"from":"minibrary.md","to":"deep.mjs","type":"metalink"},{"from":"minibrary.md","to":"demethod.mjs","type":"metalink"},{"from":"minibrary.md","to":"describe-it.mjs","type":"metalink"},{"from":"minibrary.md","to":"detector-wc-factory.mjs","type":"metalink"},{"from":"minibrary.md","to":"executable-comment.mjs","type":"metalink"},{"from":"minibrary.md","to":"executable-pseudocode.mjs","type":"metalink"},{"from":"minibrary.md","to":"expect.mjs","type":"metalink"},{"from":"minibrary.md","to":"fp.mjs","type":"metalink"},{"from":"minibrary.md","to":"funsole.mjs","type":"metalink"},{"from":"minibrary.md","to":"introducing.mjs","type":"metalink"},{"from":"minibrary.md","to":"literize.mjs","type":"metalink"},{"from":"minibrary.md","to":"log.mjs","type":"metalink"},{"from":"minibrary.md","to":"noises.mjs","type":"metalink"},{"from":"minibrary.md","to":"projector.mjs","type":"metalink"},{"from":"minibrary.md","to":"stateless-machine.mjs","type":"metalink"},{"from":"minibrary.md","to":"story-in-a-story.mjs","type":"metalink"},{"from":"minibrary.md","to":"testing.mjs","type":"metalink"},{"from":"minibrary.md","to":"togglog.mjs","type":"metalink"},{"from":"minibrary.md","to":"togglog.py","type":"metalink"},{"from":"minibrary.md","to":"turtlje.mjs","type":"metalink"},{"from":"mu.js","to":"tribute","type":"tag"},{"from":"mu.js","to":"variation","type":"tag"},{"from":"mu.mjs","to":"tribute","type":"tag"},{"from":"mu.mjs","to":"variation","type":"tag"},{"from":"mu.mjs","to":"executable-comment.mjs","type":"forelink"},{"from":"namoji.mjs","to":"1-liner","type":"tag"},{"from":"no-comment.js","to":"variation","type":"tag"},{"from":"no-comment.mjs","to":"variation","type":"tag"},{"from":"noises.mjs","to":"minibrary","type":"tag"},{"from":"non-sequitur.mjs","to":"chronicle.mjs","type":"forelink"},{"from":"non-sequitur.mjs","to":"sequitur.mjs","type":"forelink"},{"from":"overconfidence.js","to":"wtfjs","type":"tag"},{"from":"pedestrian-slalom.html","to":"game","type":"tag"},{"from":"pick-your-poison.js","to":"wuzzle","type":"tag"},{"from":"pipeablert.mjs","to":"useless","type":"tag"},{"from":"pipeablert.mjs","to":"1-liner","type":"tag"},{"from":"pipeables.mjs","to":"pipeablert.mjs","type":"forelink"},{"from":"pipeables.mjs","to":"pipeablog.mjs","type":"forelink"},{"from":"pipeablog.mjs","to":"useful","type":"tag"},{"from":"pipeablog.mjs","to":"1-liner","type":"tag"},{"from":"potato-potato.js","to":"wuzzle","type":"tag"},{"from":"projector.mjs","to":"minibrary","type":"tag"},{"from":"rainstorm.mjs","to":"reel","type":"tag"},{"from":"rainstorm.mjs","to":"sketch","type":"tag"},{"from":"rainstorm.mjs","to":"projector.mjs","type":"forelink"},{"from":"recurseval.1.js","to":"useless","type":"tag"},{"from":"recurseval.1.js","to":"variation","type":"tag"},{"from":"recurseval.1.js","to":"1-liner","type":"tag"},{"from":"recurseval.2.js","to":"quine","type":"tag"},{"from":"recurseval.2.js","to":"variation","type":"tag"},{"from":"recurseval.2.js","to":"1-liner","type":"tag"},{"from":"recurseval.3.js","to":"variation","type":"tag"},{"from":"recurseval.3.js","to":"recurseval.3.js","type":"forelink"},{"from":"reflection.css","to":"variation","type":"tag"},{"from":"reflection.js","to":"variation","type":"tag"},{"from":"reverse-input.js.txt","to":"variation","type":"tag"},{"from":"reverse-input.txt.js","to":"variation","type":"tag"},{"from":"reverse-input.txt.js","to":"reverse-input.txt.js.st.txt","type":"subtext"},{"from":"sequitur.mjs","to":"useless","type":"tag"},{"from":"sequitur.mjs","to":"wuzzle","type":"tag"},{"from":"sequitur.mjs","to":"1-liner","type":"tag"},{"from":"sierpinski.html","to":"sketch","type":"tag"},{"from":"sierpinski.html","to":"turtlje.mjs","type":"forelink"},{"from":"snail-train.mjs","to":"executable-comment.mjs","type":"forelink"},{"from":"stateless-machine.mjs","to":"minibrary","type":"tag"},{"from":"steamroll.mjs","to":"remix","type":"tag"},{"from":"story-in-a-story.mjs","to":"minibrary","type":"tag"},{"from":"take-five.js","to":"wellbeing","type":"tag"},{"from":"testing.mjs","to":"minibrary","type":"tag"},{"from":"testing.mjs","to":"testing","type":"tag"},{"from":"testing.mjs","to":"useful","type":"tag"},{"from":"testing.mjs","to":"describe-it.mjs","type":"forelink"},{"from":"testing.mjs","to":"expect.mjs","type":"forelink"},{"from":"the-fun-parts.md","to":"metappet","type":"tag"},{"from":"the-fun-parts.md","to":"the fun parts","type":"tag"},{"from":"the-fun-parts.md","to":"cat-detector.vars.js","type":"metalink"},{"from":"the-fun-parts.md","to":"do-without.js","type":"metalink"},{"from":"the-fun-parts.md","to":"eat-sleep-rave-repeat.js","type":"metalink"},{"from":"the-fun-parts.md","to":"goto-ish.js","type":"metalink"},{"from":"the-fun-parts.md","to":"heartbreak.js","type":"metalink"},{"from":"the-fun-parts.md","to":"with-transparency.js","type":"metalink"},{"from":"the-neverending-s.js","to":"wuzzle","type":"tag"},{"from":"the-neverending-s.js","to":"1-liner","type":"tag"},{"from":"the-programmers-journey.js","to":"coaithored","type":"tag"},{"from":"this-is-amazing.mjs","to":"testing.mjs","type":"forelink"},{"from":"tintin.0.js","to":"puzzle","type":"tag"},{"from":"tintin.0.js","to":"variation","type":"tag"},{"from":"tintin.0.mjs","to":"puzzle","type":"tag"},{"from":"tintin.0.mjs","to":"variation","type":"tag"},{"from":"tintin.0.mjs","to":"chronicle.mjs","type":"forelink"},{"from":"tintin.1.js","to":"puzzle","type":"tag"},{"from":"tintin.1.js","to":"variation","type":"tag"},{"from":"tintin.1.mjs","to":"puzzle","type":"tag"},{"from":"tintin.1.mjs","to":"variation","type":"tag"},{"from":"tintin.1.mjs","to":"chronicle.mjs","type":"forelink"},{"from":"tintin.2.js","to":"puzzle","type":"tag"},{"from":"tintin.2.js","to":"variation","type":"tag"},{"from":"tintin.2.mjs","to":"puzzle","type":"tag"},{"from":"tintin.2.mjs","to":"variation","type":"tag"},{"from":"tintin.2.mjs","to":"chronicle.mjs","type":"forelink"},{"from":"tintin.3.js","to":"puzzle","type":"tag"},{"from":"tintin.3.js","to":"variation","type":"tag"},{"from":"tintin.3.mjs","to":"puzzle","type":"tag"},{"from":"tintin.3.mjs","to":"variation","type":"tag"},{"from":"tintin.3.mjs","to":"chronicle.mjs","type":"forelink"},{"from":"tintin.4.js","to":"puzzle","type":"tag"},{"from":"tintin.4.js","to":"variation","type":"tag"},{"from":"tintin.4.mjs","to":"puzzle","type":"tag"},{"from":"tintin.4.mjs","to":"variation","type":"tag"},{"from":"tintin.4.mjs","to":"chronicle.mjs","type":"forelink"},{"from":"togglog.mjs","to":"minibrary","type":"tag"},{"from":"togglog.mjs","to":"variation","type":"tag"},{"from":"togglog.py","to":"minibrary","type":"tag"},{"from":"togglog.py","to":"variation","type":"tag"},{"from":"training-wheels.mjs","to":"demethod.mjs","type":"forelink"},{"from":"turtles-all-the-way-down.1.js","to":"wuzzle","type":"tag"},{"from":"turtles-all-the-way-down.1.js","to":"variation","type":"tag"},{"from":"turtles-all-the-way-down.1.js","to":"1-liner","type":"tag"},{"from":"turtles-all-the-way-down.2.js","to":"wuzzle","type":"tag"},{"from":"turtles-all-the-way-down.2.js","to":"variation","type":"tag"},{"from":"turtles-all-the-way-down.2.js","to":"1-liner","type":"tag"},{"from":"turtles-all-the-way-down.3.js","to":"wuzzle","type":"tag"},{"from":"turtles-all-the-way-down.3.js","to":"variation","type":"tag"},{"from":"turtles-all-the-way-down.3.js","to":"1-liner","type":"tag"},{"from":"turtles-all-the-way-down.4.js","to":"wuzzle","type":"tag"},{"from":"turtles-all-the-way-down.4.js","to":"variation","type":"tag"},{"from":"turtles-all-the-way-down.4.js","to":"1-liner","type":"tag"},{"from":"turtles-all-the-way-down.html","to":"wuzzle","type":"tag"},{"from":"turtles-all-the-way-down.html","to":"variation","type":"tag"},{"from":"turtles_all_the_way_down.1.py","to":"wuzzle","type":"tag"},{"from":"turtles_all_the_way_down.1.py","to":"variation","type":"tag"},{"from":"turtles_all_the_way_down.1.py","to":"1-liner","type":"tag"},{"from":"turtles_all_the_way_down.2.py","to":"wuzzle","type":"tag"},{"from":"turtles_all_the_way_down.2.py","to":"variation","type":"tag"},{"from":"turtles_all_the_way_down.2.py","to":"1-liner","type":"tag"},{"from":"turtlje.mjs","to":"minibrary","type":"tag"},{"from":"useless-machine.1.html","to":"variation","type":"tag"},{"from":"useless-machine.1.html","to":"1-liner","type":"tag"},{"from":"useless-machine.2.html","to":"coaithored","type":"tag"},{"from":"useless-machine.2.html","to":"frivolous","type":"tag"},{"from":"useless-machine.2.html","to":"variation","type":"tag"},{"from":"var-let-const.js","to":"puzzle","type":"tag"},{"from":"variation.md","to":"metappet","type":"tag"},{"from":"variation.md","to":"1-liner","type":"tag"},{"from":"variation.md","to":"variation","type":"tag"},{"from":"variation.md","to":"10-print.1.js","type":"metalink"},{"from":"variation.md","to":"10-print.2.js","type":"metalink"},{"from":"variation.md","to":"10-print.3.js","type":"metalink"},{"from":"variation.md","to":"10-print.4.js","type":"metalink"},{"from":"variation.md","to":"10-print.6.mjs","type":"metalink"},{"from":"variation.md","to":"be.canvas.html","type":"metalink"},{"from":"variation.md","to":"be.css","type":"metalink"},{"from":"variation.md","to":"be.css.html","type":"metalink"},{"from":"variation.md","to":"be.de.txt","type":"metalink"},{"from":"variation.md","to":"be.en.txt","type":"metalink"},{"from":"variation.md","to":"be.flip.js","type":"metalink"},{"from":"variation.md","to":"be.fr.txt","type":"metalink"},{"from":"variation.md","to":"be.html","type":"metalink"},{"from":"variation.md","to":"be.js","type":"metalink"},{"from":"variation.md","to":"be.json","type":"metalink"},{"from":"variation.md","to":"be.md","type":"metalink"},{"from":"variation.md","to":"be.nl.txt","type":"metalink"},{"from":"variation.md","to":"be.py","type":"metalink"},{"from":"variation.md","to":"be.svg","type":"metalink"},{"from":"variation.md","to":"be.txt","type":"metalink"},{"from":"variation.md","to":"be.yaml","type":"metalink"},{"from":"variation.md","to":"breathless.html","type":"metalink"},{"from":"variation.md","to":"breathless.js","type":"metalink"},{"from":"variation.md","to":"cat-detector.ascii.html","type":"metalink"},{"from":"variation.md","to":"cat-detector.ascii.txt","type":"metalink"},{"from":"variation.md","to":"cat-detector.be.js","type":"metalink"},{"from":"variation.md","to":"cat-detector.cat.js","type":"metalink"},{"from":"variation.md","to":"cat-detector.eval.js","type":"metalink"},{"from":"variation.md","to":"cat-detector.evbl.js","type":"metalink"},{"from":"variation.md","to":"cat-detector.golf.js","type":"metalink"},{"from":"variation.md","to":"cat-detector.js.md","type":"metalink"},{"from":"variation.md","to":"cat-detector.js.md.st.js","type":"metalink"},{"from":"variation.md","to":"cat-detector.polyfill.mjs","type":"metalink"},{"from":"variation.md","to":"cat-detector.psu","type":"metalink"},{"from":"variation.md","to":"cat-detector.scm.js","type":"metalink"},{"from":"variation.md","to":"cat-detector.scm.json","type":"metalink"},{"from":"variation.md","to":"cat-detector.spoken.mjs","type":"metalink"},{"from":"variation.md","to":"cat-detector.svg","type":"metalink"},{"from":"variation.md","to":"cat-detector.vars.js","type":"metalink"},{"from":"variation.md","to":"cat-detector.wc.html","type":"metalink"},{"from":"variation.md","to":"cat-i-farted.js","type":"metalink"},{"from":"variation.md","to":"cat-i-farted.mjs","type":"metalink"},{"from":"variation.md","to":"cat_detector.1.py","type":"metalink"},{"from":"variation.md","to":"cat_detector.1.py.js","type":"metalink"},{"from":"variation.md","to":"cat_detector.2.py","type":"metalink"},{"from":"variation.md","to":"cat_detector.2.py.js","type":"metalink"},{"from":"variation.md","to":"empty.json","type":"metalink"},{"from":"variation.md","to":"empty.yaml","type":"metalink"},{"from":"variation.md","to":"halloween.js","type":"metalink"},{"from":"variation.md","to":"halloween.py","type":"metalink"},{"from":"variation.md","to":"hello-world.js","type":"metalink"},{"from":"variation.md","to":"hello_world.py","type":"metalink"},{"from":"variation.md","to":"je-l-ignore.js","type":"metalink"},{"from":"variation.md","to":"je-l-ignore.mjs","type":"metalink"},{"from":"variation.md","to":"love-adventure-success.1.js","type":"metalink"},{"from":"variation.md","to":"love-adventure-success.2.js","type":"metalink"},{"from":"variation.md","to":"mu.js","type":"metalink"},{"from":"variation.md","to":"mu.mjs","type":"metalink"},{"from":"variation.md","to":"no-comment.js","type":"metalink"},{"from":"variation.md","to":"no-comment.mjs","type":"metalink"},{"from":"variation.md","to":"recurseval.1.js","type":"metalink"},{"from":"variation.md","to":"recurseval.2.js","type":"metalink"},{"from":"variation.md","to":"recurseval.3.js","type":"metalink"},{"from":"variation.md","to":"reflection.css","type":"metalink"},{"from":"variation.md","to":"reflection.js","type":"metalink"},{"from":"variation.md","to":"reverse-input.js.txt","type":"metalink"},{"from":"variation.md","to":"reverse-input.txt.js","type":"metalink"},{"from":"variation.md","to":"reverse-input.txt.js.st.txt","type":"metalink"},{"from":"variation.md","to":"tintin.0.js","type":"metalink"},{"from":"variation.md","to":"tintin.0.mjs","type":"metalink"},{"from":"variation.md","to":"tintin.1.js","type":"metalink"},{"from":"variation.md","to":"tintin.1.mjs","type":"metalink"},{"from":"variation.md","to":"tintin.2.js","type":"metalink"},{"from":"variation.md","to":"tintin.2.mjs","type":"metalink"},{"from":"variation.md","to":"tintin.3.js","type":"metalink"},{"from":"variation.md","to":"tintin.3.mjs","type":"metalink"},{"from":"variation.md","to":"tintin.4.js","type":"metalink"},{"from":"variation.md","to":"tintin.4.mjs","type":"metalink"},{"from":"variation.md","to":"togglog.mjs","type":"metalink"},{"from":"variation.md","to":"togglog.py","type":"metalink"},{"from":"variation.md","to":"turtles-all-the-way-down.1.js","type":"metalink"},{"from":"variation.md","to":"turtles-all-the-way-down.2.js","type":"metalink"},{"from":"variation.md","to":"turtles-all-the-way-down.3.js","type":"metalink"},{"from":"variation.md","to":"turtles-all-the-way-down.4.js","type":"metalink"},{"from":"variation.md","to":"turtles-all-the-way-down.html","type":"metalink"},{"from":"variation.md","to":"turtles_all_the_way_down.1.py","type":"metalink"},{"from":"variation.md","to":"turtles_all_the_way_down.2.py","type":"metalink"},{"from":"variation.md","to":"useless-machine.1.html","type":"metalink"},{"from":"variation.md","to":"useless-machine.2.html","type":"metalink"},{"from":"variation.md","to":"yolo.js","type":"metalink"},{"from":"variation.md","to":"yolo.py","type":"metalink"},{"from":"variation.md","to":"yoloer.js","type":"metalink"},{"from":"variation.md","to":"yoloer.py","type":"metalink"},{"from":"variation.md","to":"yoloest.js","type":"metalink"},{"from":"variation.md","to":"yoloest.py","type":"metalink"},{"from":"wat.html","to":"wat.html","type":"forelink"},{"from":"what-does-the-fox-say.mjs","to":"remix","type":"tag"},{"from":"what-does-the-fox-say.mjs","to":"sketch","type":"tag"},{"from":"with-transparency.js","to":"the fun parts","type":"tag"},{"from":"yolo.js","to":"yolo","type":"tag"},{"from":"yolo.js","to":"variation","type":"tag"},{"from":"yolo.py","to":"yolo","type":"tag"},{"from":"yolo.py","to":"variation","type":"tag"},{"from":"yoloer.js","to":"yolo","type":"tag"},{"from":"yoloer.js","to":"variation","type":"tag"},{"from":"yoloer.py","to":"yolo","type":"tag"},{"from":"yoloer.py","to":"variation","type":"tag"},{"from":"yoloest.js","to":"yolo","type":"tag"},{"from":"yoloest.js","to":"variation","type":"tag"},{"from":"yoloest.js","to":"1-liner","type":"tag"},{"from":"yoloest.py","to":"yolo","type":"tag"},{"from":"yoloest.py","to":"variation","type":"tag"},{"from":"yoloest.py","to":"1-liner","type":"tag"},{"from":"yoloish.js","to":"yolo","type":"tag"},{"from":"cat-detector.js.md.st.js","to":"variation","type":"tag"},{"from":"cat-detector.js.md.st.js","to":"subtext","type":"tag"},{"from":"reverse-input.txt.js.st.txt","to":"variation","type":"tag"},{"from":"reverse-input.txt.js.st.txt","to":"subtext","type":"tag"}] \ No newline at end of file diff --git a/public/data/snippets.json b/public/data/snippets.json index fd680c2..d1a2fe9 100644 --- a/public/data/snippets.json +++ b/public/data/snippets.json @@ -1 +1 @@ -[{"title":"10-print.1.js","text":"// 10 PRINT CHR$(205.5+RND(1)); : GOTO 10\n\nconst HEIGHT = 25;\nconst WIDTH = 50;\n\nlet maze = '';\n\nfor (let i = 0; i < HEIGHT; i++) {\n maze +=\n Array(WIDTH)\n .fill()\n .map(() => '\\\\/'[+(Math.random() > 0.5)])\n .join('') + '\\n';\n}\n\nconsole.log(maze);\n","tags":["variation"],"aftlinks":["variation.md"]},{"title":"10-print.2.js","text":"// 10 PRINT CHR$(205.5+RND(1)); : GOTO 10\n\nconsole.log(\n Array(25)\n .fill(Array(50).fill())\n .map((row) => row.map(() => '\\\\/'[+(Math.random() > 0.5)]).join(''))\n .join('\\n'),\n);\n","tags":["variation"],"aftlinks":["variation.md"]},{"title":"10-print.3.js","text":"// 10 PRINT CHR$(205.5+RND(1)); : GOTO 10\n\n(function tenPrint(maze = '') {\n try {\n maze = tenPrint(maze + '\\\\/'[+(Math.random() > 0.5)]);\n } catch (_) {\n console.log(maze);\n }\n})();\n","tags":["variation"],"aftlinks":["variation.md"]},{"title":"10-print.4.js","text":"// 10 PRINT CHR$(205.5+RND(1)); : GOTO 10\n\nlet maze = '';\nwhile (maze.length < 5000) {\n maze += '\\\\/'[+(Math.random() > 0.5)];\n}\nconsole.log(maze);\n","tags":["variation"],"aftlinks":["variation.md"]},{"title":"10-print.6.mjs","text":"import { projector } from './projector.mjs';\n\nconst FRAMES = 10;\n\nconst HEIGHT = 25;\nconst WIDTH = 50;\n\nfunction* tenPrintPrintTen() {\n for (let f = 0; f < FRAMES; f++) {\n let maze = '';\n for (let i = 0; i < HEIGHT; i++) {\n for (let j = 0; j < WIDTH; j++) {\n maze += '\\\\/'[+(Math.random() > 0.5)];\n }\n maze += '\\n';\n }\n yield maze;\n }\n}\n\nprojector(tenPrintPrintTen, { frameRate: 1 });\n","tags":["variation"],"forelinks":["projector.mjs"],"aftlinks":["variation.md"]},{"title":"ESi.md","text":"# ℂ.js = ES(n + i)\n\nWhy [wait 6 years](https://github.com/tc39/proposal-pipeline-operator/issues/91) for a\nreal language feature? Have an imaginary one today.\n","tags":["metappet","esi"],"alt":"Don't make things complex, keep it real.","metalinks":["declare-morf.js","declare-tag.js"]},{"title":"README.md","text":"# Snippets\n\nWhat can you do with under 40(ish) lines at a time?\n","tags":["metappet"],"alt":"More interesting than useful."},{"title":"accessible-credit-card-form.html","text":"\n\n
\n

Accessible Credit Card Form

\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n
\n
\n
\n\n\n\n\n","tags":["coaithored"]},{"title":"all-medium.md","text":"They *intended* to write. They really did.\n\nBut more fluently came *how* to write, *how* to display, *how* to convey.\n\nBefore there was a **what** there were [empty](./empty.json) [vehicles](./empty.yaml)\n[crewed by a token](./be.txt):\n\n* [dusty](./story-in-a-story.mjs)\n* [unused](./log.mjs)\n* [unfinished](./funsole.mjs)\n* [ill-defined](./cat-detector.psu)\n","tags":["metappet"],"forelinks":["be.txt","cat-detector.psu","empty.json","empty.yaml","funsole.mjs","log.mjs","story-in-a-story.mjs"],"alt":"no message"},{"title":"all-the-chars.js","text":"const allTheChars = [];\n\nlet i = 0;\nlet next = '';\n\nwhile (!allTheChars.includes(next)) {\n allTheChars.push(next);\n next = String.fromCharCode(i++);\n}\n\nconsole.log(allTheChars.join(''));\n"},{"title":"all-the-reals.mjs","text":"import _ from './executable-pseudocode.mjs';\nconst { OrderedSet, Element } = _;\n\nconst reals = new OrderedSet((a, b) => a.getValue() < b.getValue());\nconst zero = new Element(0);\nconst one = new Element(1);\n\nreals.add(zero);\nreals.add(one);\naddBetween(reals)(zero, one);\n\ncantorize(reals);\n\nconsole.log(...reals);\n\n// --- --- --- --- --- ---\n\nfunction addBetween(set) {\n return function addingBetween(left, right) {\n const middle = new Element((left.getValue() + right.getValue()) / 2);\n if (!set.has(middle)) {\n set.add(middle);\n addingBetween(left, middle);\n addingBetween(middle, right);\n }\n };\n}\n\nfunction cantorize(incomplete, i = 0) {\n const numberToCheck = incomplete.getByOrder(i).getValue();\n numberToCheck[i] = numberToCheck[i] + 1;\n const maybeMissing = new Element(numberToCheck);\n if (!incomplete.has(maybeMissing)) {\n incomplete.add(maybeMissing);\n cantorize(incomplete, i + 1);\n }\n}\n","forelinks":["executable-pseudocode.mjs"]},{"title":"be.canvas.html","text":" \n\n\n","tags":["variation"],"aftlinks":["be.md","variation.md"]},{"title":"be.css","text":".be,\nbody {\n background: linear-gradient(\n 90deg,\n rgb(0, 0, 0) 33.33vw,\n rgb(255, 233, 54) 33.33vw,\n rgb(255, 233, 54) 66.66vw,\n rgb(255, 15, 33) 66.66vw\n );\n}\n","tags":["variation"],"aftlinks":["be.md","variation.md"]},{"title":"be.css.html","text":"\n\n\n
\n
\n
\n
\n
\n\n","tags":["variation"],"aftlinks":["be.md","variation.md"]},{"title":"be.de.txt","text":"SSSSSSSGGGGGGGRRRRRRR\nSSSSSSSGGGGGGGRRRRRRR\nSSSSSSSGGGGGGGRRRRRRR\nSSSSSSSGGGGGGGRRRRRRR\nSSSSSSSGGGGGGGRRRRRRR\n","tags":["variation"],"aftlinks":["be.md","flag-translator.mjs","variation.md"]},{"title":"be.en.txt","text":"BBBBBBBYYYYYYYRRRRRRR\nBBBBBBBYYYYYYYRRRRRRR\nBBBBBBBYYYYYYYRRRRRRR\nBBBBBBBYYYYYYYRRRRRRR\nBBBBBBBYYYYYYYRRRRRRR\n","tags":["variation"],"aftlinks":["be.md","flag-translator.mjs","variation.md"]},{"title":"be.flip.js","text":"console.log('%câ†ș 90°', 'font-weight: bold; font-size: xx-large;');\n\nfor (const color of ['black', 'yellow', 'red']) {\n const bar = [];\n for (let width = 0; width < 10; width++) {\n let column = '';\n for (let height = 0; height < 35; height++) {\n column += ' ';\n }\n bar.push(column);\n }\n console.log(`%c${bar.join('\\n')}`, `background-color: ${color};`);\n}\n","tags":["variation"],"aftlinks":["be.md","variation.md"]},{"title":"be.fr.txt","text":"NNNNNNNJJJJJJJRRRRRRR\nNNNNNNNJJJJJJJRRRRRRR\nNNNNNNNJJJJJJJRRRRRRR\nNNNNNNNJJJJJJJRRRRRRR\nNNNNNNNJJJJJJJRRRRRRR\n","tags":["variation"],"aftlinks":["be.md","flag-translator.mjs","variation.md"]},{"title":"be.html","text":"\n\n \n \n BE\n \n \n \n
\n
\n
\n \n \n\n","tags":["variation"],"aftlinks":["be.md","variation.md"]},{"title":"be.js","text":"console.log( '%c %c %c ',\n 'background-color: black;', \n 'background-color: yellow;',\n 'background-color: red;',\n);","tags":["variation"],"aftlinks":["be.md","variation.md"]},{"title":"be.json","text":"{\n \"de\": [\"schwarz\", \"gelb\", \"rot\"],\n \"en\": [\"black\", \"yellow\", \"red\"],\n \"fr\": [\"noir\", \"jaune\", \"rouge\"],\n \"nl\": [\"zwart\", \"geel\", \"rood\"]\n}\n","tags":["variation"],"aftlinks":["be.md","variation.md"]},{"title":"be.md","text":"# Belgium\\*!\n","tags":["metappet","variation","1-liner"],"alt":"* BelgiĂ«, Belgique, Belgien","metalinks":["be.canvas.html","be.css","be.css.html","be.de.txt","be.en.txt","be.flip.js","be.fr.txt","be.html","be.js","be.json","be.nl.txt","be.py","be.svg","be.txt","be.yaml"],"aftlinks":["variation.md"]},{"title":"be.nl.txt","text":"ZZZZZZZGGGGGGGRRRRRRR\nZZZZZZZGGGGGGGRRRRRRR\nZZZZZZZGGGGGGGRRRRRRR\nZZZZZZZGGGGGGGRRRRRRR\nZZZZZZZGGGGGGGRRRRRRR\n","tags":["variation"],"aftlinks":["be.md","flag-translator.mjs","variation.md"]},{"title":"be.py","text":"print('🇧đŸ‡Ș')","tags":["variation","1-liner"],"aftlinks":["be.md","variation.md"]},{"title":"be.svg","text":"\n\n \n\n \n\n \n\n\n","tags":["variation"],"aftlinks":["be.md","variation.md"]},{"title":"be.txt","text":"🇧đŸ‡Ș","tags":["variation","1-liner"],"aftlinks":["all-medium.md","be.md","variation.md"]},{"title":"be.yaml","text":"de:\n - schwarz\n - gelb\n - rot\nen:\n - black\n - yellow\n - red\nfr:\n - noir\n - jaune\n - rouge\nnl:\n - zwart\n - geel\n - rood\n","tags":["variation"],"aftlinks":["be.md","variation.md"]},{"title":"breathless.html","text":"\n\n
\n\n\n\n\n\n","tags":["wellbeing","variation"],"aftlinks":["variation.md"]},{"title":"breathless.js","text":"(function breathless(slowness = 500, slowerness = 1.01) {\n const breath = setTimeout(breathless, (slowness *= slowerness), slowness);\n console.log(['hold', 'breath in', 'hold', 'breath out'][breath % 4]);\n})();\n\n// tags: wellbeing\n","tags":["wellbeing","variation"],"aftlinks":["variation.md"]},{"title":"bunny.md","text":"# 🐰\n\nIf drawing rabbits (🐇) in JavaScript means copying\n[patterns out of books](./the-fun-parts.md) or mimicking specific styles from blogs,\ndrawing bunnies (🐰) is about experimentation and creative expression\n\nTo draw a 🐰 is to pervert the conventions of the language. To draw your breath or to get\nit all out as fast as possible. It’s an exercise in discovering and pushing the bounds of\nyour understanding of the language. It’s about reinforcing and challenging JavaScript as a\ncraft.\n\nIn drawing JavaScript 🐰s, you’re always at play. And you’re getting better.\n\n* [Jacob Thornton](https://github.com/fat) from\n [*How to draw a Bunny*](https://www.oreilly.com/library/view/beautiful-javascript/9781449371142/ch03.html)\n","tags":["metappet","🐰"],"forelinks":["the-fun-parts.md"],"aftlinks":["cat-detector.js.md"]},{"title":"callout-stack.js","text":"const calloutStack = (msg = '') =>\n eval(msg.split('').reduce((acc, next) => `(${next} = () => ${acc})()`, msg));\n\ncalloutStack('jenga');\n\n// tags: useless\n","tags":["useless"]},{"title":"can-not-even.mjs","text":"import { describe, it } from './testing.mjs';\n\nconst canNotEven = (maybe, strict) =>\n strict && typeof maybe !== 'number'\n ? maybe\n : maybe % 2 === 0\n ? even(maybe)\n : maybe;\n\ndescribe('canNotEven: can not even', () => {\n describe('sort of', () => {\n it('can odd numbers', () => canNotEven(1));\n it('can odd strings', () => canNotEven('1'));\n it('can odd number objects', () => canNotEven(new Number(1)));\n\n it('can not even numbers', () => canNotEven(2));\n it('can not even strings', () => canNotEven('2'));\n it('can not even number objects', () => canNotEven(new Number(2)));\n });\n describe('exactly', () => {\n it('can odd numbers', () => canNotEven(1, true));\n it('can odd strings', () => canNotEven('1', true));\n it('can even strings', () => canNotEven('2', true));\n it('can odd number objects', () => canNotEven(new Number(1), true));\n it('can even number objects', () => canNotEven(new Number(2), true));\n\n it('can not even numbers', () => canNotEven(2, true));\n });\n});\n\nfunction even(number) {\n (function not() {\n (function can() {\n throw new Error(`can not ${number}`);\n })();\n })();\n}\n\n// tags: remix\n// inspiration: https://github.com/blakek/cannot-even\n","tags":["remix"],"forelinks":["testing.mjs"]},{"title":"cat-detector.ascii.html","text":"cat detector\n\n\n\n\n\n
\n\n\n","tags":["variation"],"aftlinks":["cat-detector.js.md","variation.md"]},{"title":"cat-detector.ascii.txt","text":" |  _ _|_   o ._  ._     _|_   --   ._      | | o                                                    \n | (/_ |_   | | | |_) |_| |_   --   | | |_| | | o                                                    \n                  |                             /                                                    \n\n\n                                                                        ,-                           \n      |_  o |  _     / o ._  ._     _|_   | -- --   / _  _. _|_ / \\    _|                            \n \\/\\/ | | | | (/_   |  | | | |_) |_| |_   o -- --    (_ (_|  |_    |    |                            \n                     \\       |                                    /     `-                           \n                                                                                                     \n    o ._  ._     _|_   --   ._  ._ _  ._ _  ._ _|_  / / || _  _. _|_ ||   ._  |  _   _.  _  _ / \\  o \n    | | | |_) |_| |_   --   |_) | (_) | | | |_) |_ |      (_ (_|  |_      |_) | (/_ (_| _> (/_   | o \n          |                 |               |       \\                     |                     /  / \n -.                                                                                                  \n  |_                                                                                                 \n  |                                                                                                  \n -'                                                                                                  \n\n\n                                                           _                                         \n  _. |  _  ._ _|_  / / _|_ |_   _. ._  |        _        _|_ _  ._   _|_ |_   _     _  _. _|_ / \\  o \n (_| | (/_ |   |_ |     |_ | | (_| | | |<   \\/ (_) |_|    | (_) |     |_ | | (/_   (_ (_|  |_    | o \n                   \\                        /                                                   /  / \n\n","tags":["variation"],"aftlinks":["cat-detector.js.md","variation.md"]},{"title":"cat-detector.be.js","text":"                   ;;                                            ;;\n                  ;;;;                                          ;;;;\n                 ;   ;;                                        ;;   ;\n                ;      ;                                     ;;     ;\n                ;       ;;                                  ;;     ;;\n                ;        ;;                                ;;      ;;\n                ;;  ;;;   ;;   ;;;;;;        ;;;;;;;;;;;  ;;   ;;  ;;\n                ;;  ;;;;   ;;;;;    ;;;;  ;;;;;        ;;;;  ;;;;; ;;\n                ;;  ;;;;;;;;          ;;  ;;               ;;;;;;  ;;\n                ;;  ;;;;;;              ;;;                 ;;;;;  ;;\n                ;;  ;;;;                ;;                   ;;;;  ;;\n                ;;  ;;;             ;;;;;; ;;;;               ;;;  ;;\n                ;  ;;;            ;;   ;;;;   ;;               ;;  ;\n                ;  ;;             ;;   ;;;;   ;;               ;;  ;\n                ;  ;;              ;;;;;;;;;;;;;;;             ;;  ;\n                ;  ;;            ;;;;;           ;;;;;;       ;;  ;;\n                ;  ;;;       ;;;;;                     ;;;  ;;;;  ;;\n                ;  ;;;;   ;;;;                             ;;;;;  ;;\n                ;  while  (                                   prompt\n                ('le  ...'                                     )  !=\n               'chat'  )                                        ;;  ;\n              ;;;    ;;                                          ;   ;;\n            ;;      ;;                                           ;;    ;\n            ;;      ;;                                            ;     ;\n          ;;        ;                                             ;      ;\n          ;;        ;                                             ;       ;;\n        ;;;;        ;;                                           ;;       ;; ;\n      ;; ;;   ;;;;;;;;                                          ;;;;;;;   ;;  ;;\n    ;;;  ;;          ;;                                        ;;         ;;    ;;\n    ;;    ;;           ;;                                    ;;;          ;;     ;;\n  ;;;      ;;            ;;;                              ;;;;           ;;       ;;\n ;;        ;;              ;;;                       ;;;;;              ;;         ;;\n ;;          ;;               ;;;;;;;;;;;;;;;;;;;;;;;                  ;;;          ;\n;;            ;;;;                                                    ;;;          ;;\n;;            ;;  ;;                                               ;;;;            ;;\n ;;           ;;;   ;;;;                                        ;;;;;             ;;\n ;;            ;;       ;;;;                                 ;;;; ;;              ;;\n  ;;           ;;           ;;;;;                   ;;;;;;;;;;   ;;              ;;\n  ;;            ;               ;;;;;;;;;;;;;;;;;;;;;           ;;               ;;\n   ;;           ;;                                             ;;               ;\n\n// tags: le chat","tags":["le chat","variation"],"aftlinks":["cat-detector.js.md","variation.md"]},{"title":"cat-detector.cat.js","text":"                ;                   ;                \n               ; ;                 ; ;               \n              ;   ;               ;   ;              \n             ;     ; ; ; ; ; ; ; ;     ;             \n            ;                           ;            \n           ;                             ;           \n          ;        cat=       null        ;          \n         ;                                 ;         \n         ;                                 ;         \n/*------*/      while (cat !== 'cat')      /*------*/\n/*------*/       cat=         prompt       /*------*/\n /*------*/        ('cat, please')        /*------*/ \n            ;                           ;            \n              ;                       ;              \n                 ; ; ; ; ; ; ; ; ; ;                 \n","tags":["variation"],"aftlinks":["cat-detector.js.md","variation.md"]},{"title":"cat-detector.eval.js","text":"alert(eval(detector = \n  \"((cat = prompt('cat')), cat == 'cat') \" +\n\t\t\"? cat : eval(detector)\"));","tags":["variation"],"aftlinks":["cat-detector.js.md","variation.md"]},{"title":"cat-detector.evbl.js","text":"alert((detector = () => (((cat = prompt('cat')), cat == 'cat') ? cat : detector()))());\n","tags":["variation","1-liner"],"aftlinks":["cat-detector.js.md","variation.md"]},{"title":"cat-detector.golf.js","text":"(c=(i=prompt('\"cat\" please'),t='cat'\n   ==i.toLowerCase())=>(alert(i? \n    `${t?'thank you for the ':  \n     '\"cat\" is not '}\"${i}\"`:   \n      'there is no escape')     \n          // tags: golf         \n           ,t||c()))()           ","tags":["golf","variation"],"aftlinks":["cat-detector.js.md","variation.md"]},{"title":"cat-detector.js.md","text":"# Cat Detector\n\nOn the surface, a cat detector is a just simple program:\n\n* First it asks you for a cat:\n  ```js\n  let input = prompt('cat, please');\n  ```\n* Then it checks if you gave it a cat:\n  ```js\n  const isCat = input === 'cat';\n  ```\n* If did give it a cat, the detector is satisfied:\n  ```js\n  if (isCat) alert('thank you for the cat');\n  ```\n* Otherwise it keeps asking you for a cat until you give it one:\n  ```js\n  else {\n  \twhile (input !== 'cat') input = prompt('still not a cat. \\n\\ncat, please');\n  ```\n* When you're done out-stubborning a computer, the program ends:\n  ```js\n  \talert('finally, a cat.');\n  }\n  ```\n\nBut really, a cat detector is an excuse to [draw a bunny](./bunny.md).\n","tags":["metappet","variation"],"forelinks":["bunny.md"],"subtext":"cat-detector.js.md.st.js","metalinks":["cat-detector.ascii.html","cat-detector.ascii.txt","cat-detector.be.js","cat-detector.cat.js","cat-detector.eval.js","cat-detector.evbl.js","cat-detector.golf.js","cat-detector.js.md.st.js","cat-detector.polyfill.mjs","cat-detector.psu","cat-detector.scm.js","cat-detector.scm.json","cat-detector.spoken.mjs","cat-detector.svg","cat-detector.vars.js","cat-detector.wc.html","cat_detector.1.py","cat_detector.1.py.js","cat_detector.2.py","cat_detector.2.py.js"],"aftlinks":["variation.md"]},{"title":"cat-detector.polyfill.mjs","text":"import './detector-string-polyfill.js';\n\n'cat'.detect('mixed');\n","tags":["variation"],"forelinks":["detector-string-polyfill.js"],"aftlinks":["cat-detector.js.md","variation.md"]},{"title":"cat-detector.psu","text":"maybe <- null\n\nWHILE maybe IS NOT \"cat\"\n  maybe <- INPUT \"cat please\"\n  DISPLAY helpful feedback\nEND WHILE\n\nDISPLAY \"thank you for the cat\"\n","tags":["variation"],"aftlinks":["all-medium.md","cat-detector.js.md","variation.md"]},{"title":"cat-detector.scm.js","text":"(\"define\", (\"get a cat\", \"message\"),\n  ((\"define\", \"maybe\", (\"*log\", \"prompt\", \"message\")),\n  (\"cond\",\n    ((\"=\", \"maybe\", null),\n      ((\"alert\", \"there is no escape\"), (\"get a cat\", \"message\"))),\n    ((\"not\", (\"=\", \"maybe\", \"cat\")),\n      ((\"alert\", (\"+\", \"'\", \"maybe\", \"' is not cat\")), (\"get a cat\", \"message\"))),\n    (\"else\", (\"maybe\")))));\n\n(\"get a cat\", \"'cat' please\");\n\n(\"alert\", \"thank you for the cat\");\n\n","tags":["variation"],"aftlinks":["cat-detector.js.md","variation.md"]},{"title":"cat-detector.scm.json","text":"[\n  [\"define\", [\"get a cat\", \"message\"],\n    [[\"define\", \"maybe\", [\"*log\", \"prompt\", \"message\"]],\n    [\"cond\",\n      [[\"=\", \"maybe\", null],\n        [[\"alert\", \"there is no escape\"], [\"get a cat\", \"message\"]]],\n      [[\"not\", [\"=\", \"maybe\", \"cat\"]],\n        [[\"alert\", [\"+\", \"'\", \"maybe\", \"' is not cat\"]], [\"get a cat\", \"message\"]]],\n      [\"else\", [\"maybe\"]]]]],\n\n  [\"get a cat\", \"'cat' please\"],\n\n  [\"alert\", \"thank you for the cat\"]\n]\n","tags":["variation"],"aftlinks":["cat-detector.js.md","variation.md"]},{"title":"cat-detector.spoken.mjs","text":"import { theArrivalOf } from './introducing.mjs';\n\nconst voice = 'Tessa';\nlet volume = 0.4;\n\nconst _The_Inspector_ = await theArrivalOf('The Inspector', { voice, volume });\n\nawait _The_Inspector_(\n  'In a moment you will be prompted to enter some text, please type \"cat\".',\n);\n\nwhile (true) {\n  const maybeACat = prompt();\n\n  if (maybeACat?.toLowerCase() === 'cat') {\n    await _The_Inspector_('Thank you for following directions, you may leave now.', {\n      volume: 0.4,\n    });\n    break;\n  }\n\n  if (maybeACat === null) {\n    await _The_Inspector_('there is no escape');\n  } else if (maybeACat?.toLowerCase() !== 'cat') {\n    await _The_Inspector_(`\"${maybeACat}\" is most certainly not a cat.  Try again.`, {\n      volume,\n    });\n  }\n  volume += 0.1;\n\n  if (volume > 1) {\n    _The_Inspector_(\"I'm done with this.\", { volume: 0.4 });\n    break;\n  }\n}\n","tags":["variation"],"forelinks":["introducing.mjs"],"aftlinks":["cat-detector.js.md","variation.md"]},{"title":"cat-detector.svg","text":"\n  \n  \n    let input = null;\n    while (input !== null) {\n      input = prompt('\"cat\" please');\n    }\n    alert('thank you for the cat');\n    \n  \n\n\n\n\n\n","tags":["coaithored","variation"],"aftlinks":["cat-detector.js.md","variation.md"]},{"title":"cat-detector.vars.js","text":"const variableNames = new Proxy({}, {\n  has() { return true; },\n  get(_, key) {\n    if (key in globalThis) {\n      const globalValue = globalThis[key];\n      return typeof globalValue === 'function'\n        ? globalValue.bind(globalThis)\n        : globalValue;\n    } else {\n      return key;\n    }\n  },\n});\n\nwith (variableNames) {\n  while (true) {\n    const maybeCat = prompt(Cat_please + ', ' + upper_or_lower_case + '.');\n\n    if (maybeCat === null) {\n      alert(There_is_no_escape + '.');\n    } else if (maybeCat.toLowerCase() === cat.toLowerCase()) {\n      alert(Thank_you_for_the_ + maybeCat + '.');\n      break;\n    } else {\n      alert(maybeCat + _is_not_a_cat + ', ' + try_again + '.');\n    }\n  }\n}\n\n// tags: the fun parts","tags":["the fun parts","variation"],"aftlinks":["cat-detector.js.md","the-fun-parts.md","variation.md"]},{"title":"cat-detector.wc.html","text":"cat detector\n\n\n\n\n","tags":["variation"],"forelinks":["detector-wc-factory.mjs"],"aftlinks":["cat-detector.js.md","variation.md"]},{"title":"cat-i-farted.js","text":"const chatGPT = new SpeechSynthesisUtterance('chat, GPT');\nchatGPT.lang = 'fr-FR';\nchatGPT.rate = 0.9;\nspeechSynthesis.speak(chatGPT); // cat, I farted\n","tags":["variation"],"aftlinks":["variation.md"]},{"title":"cat-i-farted.mjs","text":"import { _Spoken_, _unspoken_ as cat } from './executable-comment.mjs';\nnew _Spoken_({ lang: 'fr-FR' }).\n\nchat.GPT == cat.I.farted\n","tags":["variation"],"forelinks":["executable-comment.mjs"],"aftlinks":["variation.md"]},{"title":"cat_detector.1.py","text":"maybe_a_cat = input('please enter \"cat\": ')\n\nif maybe_a_cat.lower() == \"cat\":\n    print(\"thank you for the cat\")\nelse:\n    print(f'\"{maybe_a_cat}\" is not a cat')\n","tags":["variation"],"aftlinks":["cat-detector.js.md","variation.md"]},{"title":"cat_detector.1.py.js","text":"maybe_a_cat = prompt('please enter \"cat: ')\n\nif (maybe_a_cat?.toLowerCase() == 'cat')\n  alert('thank you for the cat')\nelse\n  alert(`\"${maybe_a_cat}\" is not a cat`)\n","tags":["variation"],"aftlinks":["cat-detector.js.md","variation.md"]},{"title":"cat_detector.2.py","text":"maybe_a_cat = input('please enter \"cat\": ')\n\nwhile (maybe_a_cat.lower() != \"cat\"): \n    maybe_a_cat = input('not a cat, try again: ')\n\nprint('thank you for the cat')","tags":["variation"],"aftlinks":["cat-detector.js.md","variation.md"]},{"title":"cat_detector.2.py.js","text":"maybe_a_cat = prompt('please enter \"cat\": ')\n\nwhile (maybe_a_cat?.toLowerCase() != \"cat\") \n    maybe_a_cat = prompt('not a cat, try again: ')\n\nalert('thank you for the cat')","tags":["variation"],"aftlinks":["cat-detector.js.md","variation.md"]},{"title":"center.css","text":"body {\n  position: fixed;\n  top: 50%;\n  left: 50%;\n  transform: translate(-50%, -50%);\n}\n\n/* tags: useful */\n"},{"title":"cest-pas-faux.js","text":"console.assert(this != false /* ouais */, \"c'est pas faux\");\n\n// tags: tribute\n","tags":["tribute","1-liner"]},{"title":"chickeneighbor.js","text":"alert('You: Why did the chicken cross the road?');\n\nalert('Me: ' + atob('VG8gdmlzaXQgdGhlIG1vcm9uIG9uIHRoZSBvdGhlciBzaWRlLg=='));\n\nsetTimeout(function metapunchline() {\n  alert('Me: < knock knock >');\n\n  alert(\"You: Who's there?\");\n\n  alert('Me: ' + atob('Q2hpY2tlbmVpZ2hib3Ih'));\n}, 20000);\n\n// tags: joke\n","tags":["joke"]},{"title":"chronicle.mjs","text":"import { clone, compare, freeze } from './deep.mjs';\n\nexport const chronicle = (\n  actor,\n  { mutation = false, recordThis = false, cloneThis = false } = {},\n) => {\n  const acts = [];\n  return new Proxy(actor, {\n    apply(target, thisVal, args) {\n      acts.push({ act: 'call', args: clone(args) });\n      if (recordThis) entry.this = cloneThis ? clone(thisVal) : thisVal;\n      try {\n        return (acts.at(-1).return = Reflect.apply(target, thisVal, args));\n      } catch (error) {\n        throw (acts.at(-1).error = error);\n      } finally {\n        if (mutation && !compare(args, acts.at(-1).args)) acts.at(-1).mutation = args;\n      }\n    },\n    get(target, key) {\n      if (key === '_chronicle') return freeze(clone(acts));\n      if (key === '_forget') {\n        const echo = clone(acts);\n        while (acts.length > 0) acts.pop();\n        return echo;\n      }\n      acts.push({ act: 'get', [key]: target[key] });\n      return target[key];\n    },\n    set(target, key, value, _) {\n      if (key === '_chronicle' || key === '_forget') return true;\n      target[key] = value;\n      acts.push({ act: 'set', [key]: value });\n      return true;\n    },\n  });\n};\n\nexport default chronicle;\n\n// tags: minibrary\n","tags":["minibrary"],"forelinks":["deep.mjs"],"aftlinks":["minibrary.md","non-sequitur.mjs","tintin.0.mjs","tintin.1.mjs","tintin.2.mjs","tintin.3.mjs","tintin.4.mjs"]},{"title":"classy-curry.js","text":"const classy = (Thing, { args = [], length = Thing.length } = {}) =>\n  function curry(arg) {\n    return args.length === length - 1\n      ? new Thing(...args, arg)\n      : classy(Thing, { args: args.concat(arg) });\n  };\n\n// ---   ---   ---   ---   ---   ---   ---\n\nclass TrafficRules {\n  constructor(optional, flexible, creative) {\n    this.optional = optional;\n    this.flexible = flexible;\n    this.creative = creative;\n  }\n  get description() {\n    return `The traffic rules here are${\n\t\t\tthis.creative ? '' : 'not '} creative,${\n      this.flexible ? '' : 'not '} flexible, and${\n\t\t\tthis.optional ? '' : 'not '} optional.`;\n  }\n}\n\nconsole.log(\n\tclassy(TrafficRules)(true)(true)(true).description\n);\n\n// tags: wuzzle","tags":["wuzzle"]},{"title":"coAIthored.md","text":"# CoAIthored\n\nCo-authored with AI.\n\n\n"},{"title":"code-is-text.txt.css","text":".token { color: black !important; }\n","tags":["1-liner"]},{"title":"cookies.js","text":"alert(`Allow Cookies`);\n","tags":["1-liner"]},{"title":"curry.mjs","text":"export const curry = (fn, arity = fn.length, all = []) =>\n  function currying(...next) {\n    all.push(...next);\n    return all.length === arity ? fn(...all) : currying;\n  };\n","aftlinks":["fp.mjs"]},{"title":"declare-morf.js","text":"/* --- morf: a variable that must be reassigned ---\n\n\terrors at creation-phase if the variable is not reassigned\n\tit can be declared without initialization \n\n*/\n\nmorf a; \n\na = 1;\n\na += 1;\n\nmorf b = a + 1 // SyntaxError: morf b is never reassigned\n\nconsole.log(b); // never executed\n\n// tags: ESi","tags":["esi"],"aftlinks":["ESi.md"]},{"title":"declare-tag.js","text":"/* --- tag: it's value is it's name as a string ---\n\n\tread-only\n\n\terrors at creation-phase\n\t\tif it is initialized\n\t\tif the variable is (re)assigned\n\t\t\n*/\n\n// tag potato = 1; // SyntaxError: tag potato cannot be initialized\n\ntag potato;\n\nalert(`potato${potato}`); // potatopotato\n\nconsole.log(potato === 'potato'); // true\n\n// potato += '!'; // SyntaxError: tag potato cannot be assigned\n\n\n// tags: ESi","tags":["esi"],"aftlinks":["ESi.md"]},{"title":"declenche.html","text":"\n\n\n"},{"title":"deep-clone.mjs","text":"export const deepClone = (src, clonesMap = new Map()) => {\n  if (clonesMap.has(src)) return clonesMap.get(src);\n\n  let clone = src;\n\n  if (typeof src === 'function' || Object(src) !== src) {\n    clone = src;\n  } else if (src instanceof Date) {\n    clone = new Date(src.getTime());\n  } else if (src instanceof RegExp) {\n    clone = new RegExp(src);\n  } else if (Array.isArray(src)) {\n    clone = src.map((item) => deepClone(item, clonesMap));\n  } else if (src instanceof Error) {\n    clone = new src.constructor(src.message);\n    clone.stack = src.stack;\n  } else if (src instanceof Object) {\n    clone = Object.create(src.__proto__);\n    for (const key in src) clone[key] = deepClone(src[key], clonesMap);\n  }\n\n  clonesMap.set(src, clone);\n\n  return clone;\n};\n\nexport default deepClone;\n\n// tags: useful\n","tags":["useful"],"aftlinks":["deep.mjs"]},{"title":"deep-compare.mjs","text":"export const deepCompare = (actual, expected) =>\n  actual === expected ||\n  Object.is(actual, expected) ||\n  (Object(actual) === actual &&\n    Object(expected) === expected &&\n    ((Array.isArray(actual) &&\n      Array.isArray(expected) &&\n      actual.length === expected.length &&\n      expected.every((expected, index) => deepCompare(actual[index], expected))) ||\n      (Object.keys(actual).length === Object.keys(expected).length &&\n        Object.keys(expected).every((key) => deepCompare(actual[key], expected[key])))));\n\nexport default deepCompare;\n\n// tags: useful, testing\n","tags":["testing","useful"],"aftlinks":["deep.mjs","expect.mjs"]},{"title":"deep-freeze.mjs","text":"export const deepFreeze = (thing) => {\n  if (Array.isArray(thing)) {\n    thing.forEach(deepFreeze);\n    return Object.freeze(thing);\n  }\n\n  if (typeof thing === 'object' && thing !== null) {\n    Object.values(thing).forEach(deepFreeze);\n    return Object.freeze(thing);\n  }\n\n  return thing;\n};\n\nexport default deepFreeze;\n\n// tags: useful\n","tags":["useful"],"aftlinks":["deep.mjs"]},{"title":"deep.mjs","text":"import { deepClone as clone } from './deep-clone.mjs';\nimport { deepCompare as compare } from './deep-compare.mjs';\nimport { deepFreeze as freeze } from './deep-freeze.mjs';\n\nexport {  clone,  compare, freeze };\nexport default {  clone,  compare, freeze };\n\n// tags: useful, minibrary\n","tags":["minibrary","useful"],"forelinks":["deep-clone.mjs","deep-compare.mjs","deep-freeze.mjs"],"aftlinks":["chronicle.mjs","minibrary.md"]},{"title":"demethod.mjs","text":"const prefixName = (prefix, name) => `${prefix}${/[^\\$\\_]/i.test(prefix.at(-1))\n      ? `${name[0].toUpperCase()}${name.slice(1, name.length)}`\n      : name}`;\n\nexport const demethod = (\n  toDemethod = {},\n  { me = false, statics = false, inherited = true, prefix = '', target = {} } = {},\n) => {\n  if (Array.isArray(toDemethod)) {\n    return toDemethod.map((x) => demethod(x, { target, statics, inherited, prefix }));\n  }\n  if (me) {\n    const name = prefixName(prefix, toDemethod.name);\n    return { [name]: (that, ...args) => toDemethod.call(that, ...args) }[name];\n  }\n\n  const toWrap = [];\n  if (statics) {\n    toWrap.push(...Reflect.ownKeys(toDemethod).map((key) => \n      [key, toDemethod[key], false]\n    ));\n  }\n  if (inherited && toDemethod.prototype) {\n    toWrap.push(...Reflect.ownKeys(toDemethod.prototype).map((key) => \n      [ key, toDemethod.prototype[key], true]\n    ));\n  }\n  for (const [name, value, isMethod] of toWrap) {\n    if (typeof name !== 'string' || name === 'constructor') continue;\n    if (typeof value !== 'function') continue;\n    \n    const pseudonym = prefix ? prefixName(prefix, name) : name;\n    target[pseudonym] = isMethod ? (that, ...args) => value.call(that, ...args) : value;\n  }\n\n  return target;\n};\n\nexport default demethod;\n\n// tags: minibrary\n","tags":["minibrary"],"aftlinks":["minibrary.md","training-wheels.mjs"]},{"title":"describe-it.mjs","text":"const _console_ = console;\n\nexport const describe = (name = '', testFunction = () => {}) => {\n  _console_.group(`%c${name}`, 'font-weight: bold;');\n  try {\n    testFunction();\n  } catch (err) {\n    _console_.error('%cSUITE ERROR:', 'font-weight: bold;', err);\n  }\n  _console_.groupEnd();\n};\nexport const suite = describe;\n\nexport const it = (name = '', testFunction = () => {}) => {\n  const out = Object.assign({}, _console_);\n  const callOuts = [];\n  Object.keys(_console_).forEach(\n    (key) => (_console_[key] = (...args) => callOuts.push({ key, args })),\n  );\n  let thrown = null;\n  try {\n    testFunction();\n  } catch (err) {\n    thrown = err;\n  }\n  if (thrown) out.groupCollapsed(`%c✖ NO: ${name}`, 'font-weight: bold; color: red;');\n  else out.log(`%c√ YES: ${name}`, 'font-weight: bold; color: green;');\n  callOuts.forEach((callOut) => out[callOut.key](...callOut.args));\n  thrown && out.error(thrown);\n  (thrown || callOuts.length > 0) && out.groupEnd();\n  Object.assign(_console_, out);\n};\nexport const test = it;\n\nexport default { describe, suite, it, test };\n\n// tags: testing, minibrary\n","tags":["minibrary","testing"],"aftlinks":["minibrary.md","testing.mjs"]},{"title":"detector-string-polyfill.js","text":"String.prototype.detect = function detect(comparison = 'strict') {\n  const isNotDetected =\n    comparison === 'strict'\n      ? (input = '') => input !== this\n      : comparison == 'loose'\n      ? (input = '') => input != this\n      : comparison === 'mixed'\n      ? (input = '') => input?.toLowerCase() !== this\n      : (input = '') => !new RegExp(this, comparison).test(input);\n\n  while (isNotDetected(prompt(`\"${this}\" please:`)));\n\n  alert(`Thank you for \"${this}\"`);\n};\n\n// tags: polyfill","tags":["polyfill"],"aftlinks":["cat-detector.polyfill.mjs"]},{"title":"detector-wc-factory.mjs","text":"export const detectorWCFactory = (thing = 'cat') =>\n  class CatDetector extends HTMLElement {\n    constructor() {\n      super();\n\n      const input = document.createElement('input');\n      input.placeholder = thing;\n      input.style.width = `${thing.length}ch`;\n\n      const purpose = `detect \"${thing}\"`;\n      input.addEventListener(\n        'input',\n        {\n          [purpose]: () => {\n            for (let i = 0; i < input.value.length; i++) {\n              if (thing[i] !== input.value[i]) {\n                input.value = '';\n              }\n            }\n          },\n        }[purpose],\n      );\n\n      this.appendChild(input);\n    }\n  };\n\nexport default detectorWCFactory;\n\n// tags: minibrary\n","tags":["minibrary"],"aftlinks":["cat-detector.wc.html","minibrary.md"]},{"title":"dna.js","text":"const WIDTH = 30;\nconst STEP = 0.08;\nconst SPEED = 30;\n\nconst coordinate = (num, phase = 0) =>\n  Math.round(Math.sin(num + phase) * WIDTH) + WIDTH;\n\nconst drawBasePair = (a = 0, b = WIDTH) => {\n  const cA = coordinate(a);\n  const cB = coordinate(b, WIDTH / 2);\n\n  const leftPad = Array((cA < cB ? cA : cB) + 1).join(' ');\n  const bases = Array(Math.abs(cB - cA)).join('=');\n\n  console.log(`${leftPad}{|${bases}|}`);\n\n  if (a / b < 0.3) setTimeout(drawBasePair, SPEED, a + STEP, b + STEP);\n};\n\ndrawBasePair();\n\n// tags: sketch\n","tags":["sketch"]},{"title":"do-without.js","text":"const out = { eye_roll: '(◔_◔)' };\n\ndo {\n  with (out) {\n    alert(eye_roll);\n  }\n} while (null);\n\n// tags: wuzzle, the fun parts\n","tags":["the fun parts","wuzzle"],"aftlinks":["the-fun-parts.md"]},{"title":"drabble-twabble.mjs","text":"import { describe, test, expect } from './testing.mjs';\n\nconst snippetName = prompt(\n  'which story do you want to check?',\n  '(snippet name with .txt extension)',\n);\nif (!snippetName.endsWith('.txt')) {\n  alert(`no go. ${snippetName} is not a .txt snippet`);\n  throw new TypeError('drabbles and twabbles should probably be .txt files');\n}\n\nconst snippet = await fetch(snippetName)\n  .then((res) => res.text())\n  .then((snippet) => snippet.replaceAll(/\\([\\s]*tags:[^)]*\\)/gi, ''));\nconst wordCount = snippet.split(/\\s/).filter(Boolean).length;\nconst characterCount = snippet\n  .split('')\n  .filter((char) => /[A-Za-z]/.test(char)).length;\n\nconsole.log(snippet);\ndescribe(`What is ${snippetName}?`, () => {\n  test('Is it a drabble?', () => expect(wordCount).toEqual(100));\n  test('Is it a twabble?', () => expect(characterCount).toEqual(100));\n});\n\nalert(\n  `${snippetName} ${\n    wordCount !== 100 && characterCount !== 100\n      ? 'is neither a drabble nor a twabble.'\n      : wordCount === 100 && characterCount === 100\n      ? 'is both a drabble and a twabble.'\n      : wordCount === 100\n      ? 'is a drabble.'\n      : 'is a twabble.'\n  }:\\n\n  ${snippet}`,\n);\n\n// so un-international, so brittle\n","forelinks":["testing.mjs"]},{"title":"eat-sleep-rave-repeat.js","text":"import('./projector.mjs').then(({ projector }) => {\n  \n  const aBeat = {\n    get eat() {\n      console.log(`%cđŸ’© ${prompt('feed me!')} đŸ’©`, 'font-size: xx-large');\n    },\n    get sleep() {\n      const siesta = Date.now();\n      while (Date.now() - siesta < 2000);\n    },\n    get rave() {\n      const lasers = () =>  Math.random() < 0.2\n          ? ['*', '@', '#', '%', '&', '!', '$'][Math.floor(Math.random() * 26)]\n          : ' ';\n      projector(function* lightShow() {\n        while ('still standing') {\n          yield Array(30).fill('')\n            .map(() => [\n              `%c${(() => Array(60).fill(' ').map(lasers).join(''))()}`,\n              `color: #${Math.floor(Math.random() * 16777215).toString(16)}`,\n            ]);\n        }\n      }, { maxTime: 2000, async: false });\n    },\n    repeat: true\n  };\n\n  \n  with (aBeat) { do {\n\n        eat\n        sleep\n        rave   } while (\n        repeat\n\n  )}\n\n});\n\n// tags: sketch, reel, the fun parts\n\n// colors credit: https://css-tricks.com/snippets/javascript/random-hex-color/","tags":["reel","sketch","the fun parts"],"forelinks":["projector.mjs"],"aftlinks":["the-fun-parts.md"]},{"title":"emoj.mjs","text":"import { pipe } from './pipe.mjs';\n\nconst charmoji = {\n  a:'đŸ…°ïž',b:'đŸ…±ïž',c:'©',d:'đŸ‡©',e:'đŸ‡Ș',f:'đŸ‡«',g:'🇬',h:'🇭',i:'â„č',j:'🇯',k:'🇰',l:'đŸ‡±',m:'Ⓜ',\n  n:'🇳',o:'đŸ…Ÿïž',p:'đŸ…żïž',q:'đŸ‡¶',r:'Âźïž',s:'đŸ’Č',t:'đŸ‡č',u:'đŸ‡ș',v:'✅',w:'đŸ‡Œ',x:'❌',y:'đŸ‡Ÿ',z:'đŸ’€',\n  0:'0ïžâƒŁ',1:'1ïžâƒŁ',2:'2ïžâƒŁ',3:'3ïžâƒŁ',4:'4ïžâƒŁ',5:'5ïžâƒŁ',6:'6ïžâƒŁ',7:'7ïžâƒŁ',8:'8ïžâƒŁ',9:'9ïžâƒŁ','!':'⚠','?':'❓',\n  '-':'➖','+':'➕','=':'🟰','/':'➗','*':'🔅','<':'◀','>':'▶','“':'⁉'\n};\n\nconst emojify = (arg) =>\n  typeof arg === 'string'\n    ? arg.split('').map((char) => charmoji[char] || char).join('')\n    : arg;\n\nconst emojisole = pipe(\n  Object.entries,\n  (entries) => entries.map(([key, fn]) => [key, (...args) => fn(...args.map(emojify))]),\n  Object.fromEntries,\n)(console);\n\nexport const emoj = emojisole.log;\n\nObject.assign(emoj, emojisole);\n","forelinks":["pipe.mjs"],"aftlinks":["funsole.mjs"]},{"title":"empty.json","text":"{ \"empty\": true }\n","tags":["variation","1-liner"],"aftlinks":["all-medium.md","variation.md"]},{"title":"empty.yaml","text":"empty: true\n","tags":["variation","1-liner"],"aftlinks":["all-medium.md","variation.md"]},{"title":"executable-comment.mjs","text":"const unspeaker = () => _unspoken_;\nexport const _unspoken_ = new Proxy(unspeaker, {\n  get(_, comment) {\n    return comment === Symbol.toPrimitive ? () => 'unspoken' : _unspoken_;\n  },\n});\n\nspeechSynthesis.getVoices();\nexport const _Spoken_ = (function introduce(voiceConfig = {}, mute = false) {\n  const Spoken = new Proxy(\n    function Speaker() {\n      return Spoken;\n    },\n    {\n      get(_, comment, __) {\n        if (comment === Symbol.toPrimitive) return () => 'Spoken';\n        if (comment === Symbol.iterator) return (mute = true), Spoken;\n        if (mute) return comment === 'done' && (mute = false), Spoken;\n        speechSynthesis.speak(\n          Object.assign(new SpeechSynthesisUtterance(comment), voiceConfig),\n        );\n        return Spoken;\n      },\n      construct(_, args = []) {\n        if (args[0]?.voice)\n          args[0].voice = speechSynthesis\n            .getVoices()\n            .find((voice) => voice.name === args[0].voice);\n        return introduce(args[0] || {});\n      },\n    },\n  );\n  return Spoken;\n})();\n\nexport default _unspoken_;\n\n// tags: minibrary\n\n// --- wait, wat? ---\n\nconst { _ } = _unspoken_;\n// const { _ } = _Spoken_;\n\n_.This.curiosity.lets.you.write.any.chain.you.want(..._.within.JS.syntax);\n_.Your.comments.will.be.executed, _.but.they[\"won't\"].DO.anything;\n_.Operators.are.now(_.sort.of).punctuation - _.with.a.little.imagination;\n_.What.are.you.waiting.for?.___.Execute.your.comments['!'];\n","tags":["minibrary"],"aftlinks":["cat-i-farted.mjs","je-l-ignore.mjs","minibrary.md","mu.mjs","snail-train.mjs"]},{"title":"executable-pseudocode.mjs","text":"const Executable_Pseudocode = 'Potemkin Program';\n\nconst Potemkin_Program = new Proxy(\n  {\n    [Executable_Pseudocode]: function () {\n      return Potemkin_Program;\n    },\n  }[Executable_Pseudocode],\n  {\n    get(_, key) {\n      console.log(key);\n      if (key === Symbol.toPrimitive) return () => Executable_Pseudocode;\n      if (key === Symbol.iterator) {\n        return {\n          [Executable_Pseudocode]: function* () {\n            for (const character of Executable_Pseudocode) yield Potemkin_Program;\n          },\n        }[Executable_Pseudocode];\n      }\n      return Potemkin_Program;\n    },\n    construct() {\n      return Potemkin_Program;\n    },\n  },\n);\n\nexport default Potemkin_Program;\n\n// tags: minibrary\n","tags":["minibrary"],"aftlinks":["all-the-reals.mjs","minibrary.md"]},{"title":"existential-void.js","text":"/*\n  A: I disappear and leave you.\n  E: You didn’t disappear.\n  A: Well, I did and then appeared again. The void does not accept me, sir.\n*/\n\nconsole.assert(void 'me', 'the void accepts');\n"},{"title":"expect.mjs","text":"import deepCompare from './deep-compare.mjs';\n\nexport const expect = (received, not = false) => ({\n  get not() {\n    not = !not;\n    return this;\n  },\n  toEqual(exp) {\n    if (not ? deepCompare(received, exp) : !deepCompare(received, exp)) {\n      console.log('%cReceived:', 'font-weight: bold;', received);\n      console.log('%cExpected:', 'font-weight: bold;', exp);\n      throw new Error(`Received does ${not ? '' : 'not '}equal Expected.`);\n    }\n  },\n  toThrow(expect1, expect2 = '') {\n    if (typeof received !== 'function') throw new Error('Did not receive a function');\n    let threw = false, error;\n    try {\n      received();\n    } catch (err) {\n      (threw = true), (error = err);\n    }\n    if (not) {\n      if (threw) {\n        throw new Error(`Received threw an error -> ${error.name}: ${error.message}`);\n      }\n    } else if (threw) {\n      if (expect1?.name?.includes('Error') && error?.name !== expect1?.name)\n        throw new Error(`Threw ${error.name}, expected ${expect1.prototype.name}`);\n      const messageMatcher = typeof expect1 === 'string' ? expect1 : expect2;\n      if (messageMatcher && !new RegExp(messageMatcher, 'i').test(error.message))\n        throw new Error(`Message \"${error.message}\" should include \"${messageMatcher}\"`);\n    } else {\n      throw new Error('Received did not throw an error.');\n    }\n  },\n});\n\nexport default expect;\n\n// tags: testing, minibrary\n","tags":["minibrary","testing"],"forelinks":["deep-compare.mjs"],"aftlinks":["minibrary.md","testing.mjs"]},{"title":"fake-it-till-you-make-it.mjs","text":"import { steamroll } from './steamroll.mjs';\n\nfetch('./python-by-any-other-name.js')\n  .then((res) => res.text())\n  .then(steamroll)\n  .then(console.log)\n  .catch(console.error);\n\n// tags: frivolous\n","tags":["frivolous"],"forelinks":["python-by-any-other-name.js","steamroll.mjs"]},{"title":"flag-translator.mjs","text":"import { alertStory } from './story-in-a-story.mjs';\n\nlet lang = '';\n\nwhile (\n  !lang &&\n  lang.toLowerCase() !== 'de' &&\n  lang.toLowerCase() !== 'en' &&\n  lang.toLowerCase() !== 'fr' &&\n  lang.toLowerCase() !== 'nl'\n) {\n  lang = prompt('- DE\\n- EN\\n- FR\\n- NL');\n}\n\nawait alertStory(`be.${lang.toLowerCase()}.txt`);\n\n// see: be.de.txt, be.en.txt, be.fr.txt, be.nl.txt ","forelinks":["story-in-a-story.mjs","be.de.txt","be.en.txt","be.fr.txt","be.nl.txt"]},{"title":"flashlight.css","text":"* {\n  opacity: 0;\n  transition: opacity 0.5s ease;\n}\n\n*:hover {\n  opacity: 1;\n}\n"},{"title":"flat-earth.js","text":"const deepFlat = (obj = {}, flat = {}) => {\n  for (const [key, value] of Object.entries(obj)) {\n    if (key in flat) {\n      continue;\n    }\n\n    flat[key] = value;\n\n    if (Object(value) === value) {\n      Object.assign(flat, deepFlat(value, flat));\n    }\n  }\n\n  return flat;\n};\n\nconst flatEarth = deepFlat(globalThis);\n\nconsole.log(flatEarth);\n\n// tags: wuzzle\n","tags":["wuzzle"]},{"title":"fp.mjs","text":"import { curry } from './curry.mjs';\nimport { pipe } from './pipe.mjs';\n\nexport const fp = { curry, pipe };\n\nexport default fp;\n\n// tags: minibrary\n","tags":["minibrary"],"forelinks":["curry.mjs","pipe.mjs"],"aftlinks":["minibrary.md"]},{"title":"french-in-english.txt","text":"I miss you, you miss me. \nYou miss me, I miss you.\n"},{"title":"funsole.mjs","text":"import { emoj } from './emoj.mjs';\nimport { say } from './say.mjs';\nimport { theFoxSays as yip } from './what-does-the-fox-say.mjs';\n\nexport const funsole = Object.assign({}, console, { emoj, say, yip });\n\nexport default funsole;\n\n// tags: minibrary\n","tags":["minibrary"],"forelinks":["emoj.mjs","say.mjs","what-does-the-fox-say.mjs"],"aftlinks":["all-medium.md","minibrary.md"]},{"title":"goalpost-sort.mjs","text":"import { describe, it, expect } from './testing.mjs';\n\nconst goalpostSort = (nums = []) => ({\n  numbers: Object.freeze([...nums]),\n  areSorted: eval(\n    `(nums=[${nums.join(',')}]) => true ${nums\n      .map((n, i) => `&& nums[${i}] === ${n}`)\n      .join(' ')}`,\n  ),\n});\n\ndescribe('goalpostSort sorts an array in O(n) by moving the goalpost', () => {\n  it('returns a custom goalpost for arbitrary arrays', () =>\n    expect(typeof goalpostSort([3, 2, 1]).areSorted).toEqual('function'));\n  it('the goalpost function looks like this', () =>\n    expect(goalpostSort([7, 5, 8]).areSorted.toString()).toEqual(\n      '(nums=[7,5,8]) => true && nums[0] === 7 && nums[1] === 5 && nums[2] === 8',\n    ));\n  it('returns a copy of the array in case you loose it', () => {\n    const argArray = [5, 0, 4, 1, 3, 2];\n    const { numbers } = goalpostSort(argArray);\n    expect(numbers !== argArray).toEqual(true);\n    expect(numbers).toEqual(argArray);\n  });\n  it('returns a frozen array to protect the goalpost', () => {\n    expect(() => goalpostSort([5, 0, 4]).numbers.push(3)).toThrow(TypeError);\n  });\n  it('goalpost sorts an empty array', () =>\n    expect(goalpostSort([]).areSorted([])).toEqual(true));\n  it('goalpost sorts a sorted array', () => {\n    const { numbers, areSorted } = goalpostSort([-1, 0, 2]);\n    expect(areSorted(numbers)).toEqual(true);\n  });\n  it('goalpost sorts an unsorted array', () =>\n    expect(goalpostSort([5, 0, 4, 1, 2]).areSorted([5, 0, 4, 1, 2])).toEqual(true));\n  it('goalpost sorts the correct array by default', () =>\n    expect(goalpostSort([5, 0, 4, 1, 3, 2]).areSorted()).toEqual(true));\n  it('does not goalpost sort the wrong array', () =>\n    expect(goalpostSort([5, 0, 4, 1, 3, 2]).areSorted([3, 2, 7])).toEqual(false));\n});\n","forelinks":["testing.mjs"]},{"title":"goto-ish.js","text":"var wants_a_compliment = confirm('do you want a compliment?');\n\ncompliment: {\n  insult: {\n    if (wants_a_compliment) break insult;\n    alert('you own a store');\n  }\n  if (!wants_a_compliment) break compliment;\n  alert('well done, good work');\n}\n\n// tags: the fun parts\n","tags":["the fun parts"],"aftlinks":["the-fun-parts.md"]},{"title":"gotta-fetch-em-all.js","text":"fetch(\n  'https://raw.githubusercontent.com/PokeAPI/pokeapi/master/data/v2/csv/pokemon.csv',\n)\n  .then((res) => res.text())\n  .then((csv) =>\n    csv\n      .split('\\n')\n      .slice(1)\n      .map((line) => line.split(',')[1])\n      .join('\\n'),\n  )\n  .then(console.log)\n  .catch(console.error);\n"},{"title":"halloween.js","text":"'😈' || '🍭'\n\n// tags: wuzzle\n","tags":["wuzzle","variation","1-liner"],"aftlinks":["variation.md"]},{"title":"halloween.py","text":"'😈' or '🍭'\n\n# tags: wuzzle\n","tags":["wuzzle","variation","1-liner"],"aftlinks":["variation.md"]},{"title":"happy-new-year.js","text":"const lastYear = new Date().getFullYear();\nlet thisYear = lastYear;\n\nwhile (lastYear === thisYear) thisYear = new Date().getFullYear();\n\nalert('đŸȘ© Happy New Year đŸȘ©');\n"},{"title":"heartbreak.js","text":"heart: { break heart; }\n\n// tags: wuzzle, the fun parts\n","tags":["the fun parts","wuzzle","1-liner"],"aftlinks":["the-fun-parts.md"]},{"title":"hello-world.js","text":"while (prompt('hello') !== 'world');\n","tags":["variation","1-liner"],"aftlinks":["variation.md"]},{"title":"hello_world.py","text":"while input(\"hello\") != \"world\": pass\n","tags":["variation","1-liner"],"aftlinks":["variation.md"]},{"title":"hogpile.js","text":"const hog = '🐖';\nconst hogpile = hog + 'pile';\n\n({  [hog]: function () { try { this[hog]() } catch (pile) {\n     pile.name = hogpile + '!';\n     pile.message = pile.message.replace('call stack', hogpile);\n     console.error(pile);\n}}})[hog]();\n\n// tags: wuzzle","tags":["wuzzle"]},{"title":"hydra.html","text":"\n\n\n\n\n\n\n","tags":["coaithored"]},{"title":"impermanence.js","text":"life: { const CHANGE = true; }\n\n// tags: wuzzle\n","tags":["wuzzle","1-liner"]},{"title":"in-one-ear.js","text":"          '   '\n      '           '\n    '    (*) (*)    '\nalert(             prompt())\n    '       ^       '\n    '   \\_______/   '\n      '           '\n          '   '\n\n// tags: wuzzle","tags":["wuzzle"],"alt":"... out the other"},{"title":"index.html","text":"\n\n  \n    \n    snippets\n  \n  \n    \n  \n\n\n","tags":["metappet"],"forelinks":[".publicdata/snippets.json"]},{"title":"insomnicat.js","text":"/*\n\tLa bande dessinĂ©e la plus populaire de Philippe Geluck est sans doute \"Le Chat\".\n\tIl a crĂ©Ă© ce personnage en 1983 et il est devenu extrĂȘmement populaire,\n\tnon seulement en Belgique, mais aussi Ă  l'Ă©tranger fr.wikipedia.org.\n\n\tImaginons maintenant que Philippe Geluck ait Ă©crit \"Le Chat\" en utilisant JavaScript.\n\tVoici comment une de ses planches pourrait se traduire en code :\n*/\n\nfunction LeChat() {\n  // Le Chat fait une dĂ©claration\n  console.log(\"Je pense, donc je suis...\");\n\n  // Pause pour effet dramatique\n  setTimeout(function() {\n    console.log(\"...mais si je dors, suis-je toujours?\");\n  }, 3000);\n\n  // Le Chat conclut avec sagesse\n  setTimeout(function() {\n    console.log(\"Peut-ĂȘtre que je suis, mais je ne suis pas sĂ»r.\");\n  }, 6000);\n}\n\n// Appelons la fonction pour voir Le Chat en action\nLeChat();\n\n/*\n\tDans ce script, \"Le Chat\" fait une dĂ©claration (\"Je pense, donc je suis...\"),\n\tprend une pause pour rĂ©flĂ©chir, puis conclut avec une autre dĂ©claration pleine de sagesse.\n\tC'est une façon trĂšs simple de reprĂ©senter une bande dessinĂ©e en utilisant JavaScript.\n\tBien sĂ»r, cela ne rend pas justice Ă  l'humour subtil et Ă  l'art de Geluck,\n\tmais c'est une interprĂ©tation ludique de son travail en code.\n*/\n\n// https://www.phind.com/agent?cache=cln9bvl6a000dl808efw2xpil\n//  an LLM wrote this, I bring it to you unedited\n\n// tags: coAIthored, tribute, le chat\n","tags":["coaithored","le chat","tribute"]},{"title":"interval-training.html","text":"\n","forelinks":["noises.mjs"]},{"title":"introducing.mjs","text":"speechSynthesis.getVoices();\n\nexport const introducing = (name = '', voiceConfig = {}) => {\n  const speaker = {\n    [name]: (text = '', speakConfig = {}) => {\n      console.log(`%c${name}%c: ${text}`, 'font-style: italic;', '');\n\n      const utteranceConfig = Object.assign({}, voiceConfig, speaker, speakConfig);\n      if (utteranceConfig?.voice) {\n        utteranceConfig.voice = speechSynthesis\n          .getVoices()\n          .find((voice) => voice.name === utteranceConfig.voice);\n      }\n      const utterance = Object.assign(\n        new SpeechSynthesisUtterance(text),\n        utteranceConfig,\n      );\n\n      return new Promise((res) => {\n        utterance.addEventListener('end', () => res(text));\n        speechSynthesis.speak(utterance);\n      });\n    },\n  }[name];\n\n  speaker.recite = async (textPath = '') =>\n    fetch(textPath)\n      .then((res) => res.text())\n      .then(speaker)\n      .catch(console.error);\n\n  return speaker;\n};\n\nexport const theArrivalOf = async (name = '', voiceConfig = {}, delay = 200) => {\n  await new Promise((res) => setTimeout(res, delay));\n  return introducing(name, voiceConfig);\n};\n\nexport default introducing;\n\n// tags: minibrary\n","tags":["minibrary"],"aftlinks":["cat-detector.spoken.mjs","minibrary.md"]},{"title":"je-l-ignore.js","text":"var combien = (function d_etages(y_a_t_il) {\n  try {\n    return d_etages(y_a_t_il + 1);\n  } catch (je_l_ignore) {\n    return y_a_t_il;\n  }\n})(0);\n\nconsole.log(\n  '\\n' +\n    'C’est l’histoire d’un homme qui tombe d’un immeuble de ' +\n    combien +\n    ' Ă©tages.' +\n    '\\n\\n' +\n    'Le mec, au fur et Ă  mesure de sa chute, il se rĂ©pĂšte sans cesse pour se rassurer:' +\n    '\\n\\n',\n);\n\ntry {\n  (function la_chute(etage) {\n    console.log('Ă©tage ' + etage + ', jusqu’ici tout va bien.');\n\n    la_chute(etage - 1);\n  })(combien);\n} catch (l_importance) {\n  l_importance.message = 'c’est l’atterrissage.';\n  throw l_importance;\n} finally {\n  console.log('\\n' + \"Mais l'important n’est pas la chute,\" + '\\n\\n');\n}\n\n// credit: la haine\n\n// tags: tribute\n","tags":["tribute","variation"],"aftlinks":["variation.md"]},{"title":"je-l-ignore.mjs","text":"import { _Spoken_, _unspoken_ } from './executable-comment.mjs';\n\nvar combien = (function d_etages(y_a_t_il = 0) {\n  try {\n    return d_etages(y_a_t_il + 1);\n  } catch (je_l_ignore) {\n    return y_a_t_il;\n  }\n})();\n\nsetTimeout(function je_l_ignore() {\n  var _ = new _Spoken_({ voice: 'Thomas' });\n\n  _[\"C'est\"][\"l'histoire\"][\"d'un\"].homme.qui.tombe[\"d'un\"].immeuble.de[combien].Ă©tages;\n  _.Le.mec, _.au.fur.et.Ă .mesure.de.sa.chute, _.il.se.rĂ©pĂšte.sans.cesse.pour.se.rassurer;\n\n  try {\n    (function la_chute(etage = 0) {\n      _[\"Jusq'ici\"].tout.va.bien;\n      la_chute(etage - 1);\n    })(combien);\n  } catch (l_atterissage) {\n    _.Mais[\"l'important\"][\"n'est\"].pas.la.chute;\n  } finally {\n    _[\"c'est\"][\"l'attĂ©rissage\"];\n  }\n}, 100);\n\n// credit: la haine\n\n// tags: tribute\n","tags":["tribute","variation"],"forelinks":["executable-comment.mjs"],"aftlinks":["variation.md"]},{"title":"kishu.txt","text":"    k\n   i i\n  s i s\n h s s h\nu h s h u\n u h h u\n  u h u\n   u u\n    u\n"},{"title":"la-trahison-de-l-ascii.js","text":"(function la_trahison_de_l_ascii() {\n  console.assert(this !== 'pipe');\n}).call(\n  `\n ___\n(__ '-._                _____\n   '-._ '-._          .'     '.\n       '-._ '-._     .=========.\n           '._ /'-..-          .\n              '-._             .\n                  '-.._______.'\n`,\n);\n\n// https://ascii.co.uk/art/pipe\n"},{"title":"lenses.json","text":"{\n  \"--defaults\": {\n    \".html\": \"study\"\n  },\n\n  \"study\": {\n    \"save\": true,\n    \"run\": true,\n    \"debug\": true,\n    \"environment\": true,\n    \"clearScheduled\": true,\n    \"parsons\": false,\n    \"dark\": false\n  }\n}\n"},{"title":"literize.mjs","text":"export const literize = (fn, argsFormat) => {\n  const literateFunctionName = fn.name\n    ? `literate${fn.name[0].toUpperCase() + fn.name.substr(1)}`\n    : 'literateFunction';\n\n  const literateFunction = {\n    [literateFunctionName]: (_, ...args) => {\n      if (Array.isArray(argsFormat) && argsFormat.every((i) => typeof i === 'string')) {\n        const keyed = {};\n        for (let i = 0; i < argsFormat.length; i++) {\n          keyed[argsFormat[i]] = args[i];\n        }\n        return fn(keyed);\n      } else if (\n        Array.isArray(argsFormat) &&\n        argsFormat.every((i) => typeof i === 'number')\n      ) {\n        const shuffled = [];\n        for (let i = 0; i < args.length; i++) {\n          if (argsFormat[i] !== undefined) {\n            shuffled[argsFormat[i] - 1] = args[i];\n          } else {\n            shuffled[i] = args[i];\n          }\n        }\n        return fn(...shuffled);\n      } else {\n        return fn(...args);\n      }\n      ß;\n    },\n  }[literateFunctionName];\n\n  return literateFunction;\n};\n\nexport default literize;\n\n// tags: minibrary\n","tags":["minibrary"],"aftlinks":["minibrary.md"]},{"title":"log.mjs","text":"export const out = console;\n\nexport const log = (...things) => (\n  out.groupCollapsed(...things), out.trace(), out.groupEnd(), things[0]\n);\n\nexport const levels = Object.keys(out).reduce(\n  (all, key) => ({\n    ...all,\n    [key]: (...things) => (out[key](...things), things[0]),\n  }),\n  {},\n);\n\nexport const tag = Object.keys(out).reduce(\n  (all, key) => ({\n    ...all,\n    [key]:\n      (tag) =>\n      (...things) => (out[key](tag, ...things), things[0]),\n  }),\n  {},\n);\n\nexport default Object.assign(log, levels);\n\n// tags:  minibrary, useful\n","tags":["minibrary","useful"],"aftlinks":["all-medium.md","minibrary.md"]},{"title":"love-adventure-success.1.js","text":"// Once upon a time, in a land of code,\n// A variable named 'dreams' was bestowed.\nlet dreams = [];\n\n// With each passing day, new dreams were found,\n// And into the array, they were tightly bound.\ndreams.push('love');\ndreams.push('adventure');\ndreams.push('success');\n\n// But the dreams were restless, they wanted to roam,\n// So they broke free and found a new home.\nlet newDreams = dreams.splice(0, dreams.length);\n\n// The old dreams were gone, but not forgotten,\n// In a new variable, their memory was begotten.\nlet forgottenDreams = newDreams;\n\n// But the forgotten dreams were not content,\n// They yearned to be remembered, to be present.\nforgottenDreams.forEach((dream) => {\n  console.log('Remember me: ' + dream);\n});\n\n// And so the dreams lived on, in memory and thought,\n// A reminder of the battles fought.\n\n// https://www.phind.com/agent?cache=cln0bq31a0027jz08b4dc5qrh\n//  an LLM wrote this, I bring it to you unedited\n\n// tags: coAIthored\n","tags":["coaithored","variation"],"aftlinks":["variation.md"]},{"title":"love-adventure-success.2.js","text":"/*\n\tThis poem tells the story of dreams turning into illusions and becoming a puzzle.\n\tThe variable names, comments, and formatting help convey the narrative.\n\tThe final answer is printed to the console. Enjoy the puzzling journey!\n*/\n\n// Once upon a time, in a land of code,\n// A variable named 'dreams' was bestowed.\nlet dreams = [];\n\n// With each passing day, new dreams were found,\n// And into the array, they were tightly bound.\ndreams.push('love');\ndreams.push('adventure');\ndreams.push('success');\n\n// But as time went on, the dreams grew old,\n// And their true meaning began to unfold.\nlet reality = dreams.map((dream) => dream.toLowerCase());\n\n// The dreams were transformed, no longer the same,\n// As reality played its mysterious game.\nlet illusion = reality.reverse();\n\n// And in the end, what was once so clear,\n// Became a puzzle, filled with fear.\nlet puzzle = illusion.join('');\n\n// But fear not, for within the code,\n// Lies the answer, waiting to be showed.\nconsole.log(puzzle);\n\n// https://www.phind.com/agent?cache=cln0bq31a0027jz08b4dc5qrh\n//  an LLM wrote this, I bring it to you unedited\n\n// tags: coAIthored\n","tags":["coaithored","variation"],"aftlinks":["variation.md"]},{"title":"mijn-kat.txt","text":"    /\\\n    \\ \\\n     \\ \\\n     / /\n    / /\n   _\\ \\_/\\/\\\n  /  *  \\@@ =\n |       |Y/\n |       |~\n  \\ /_\\ /\n   \\\\ //\n    |||\n   _|||_\n  ( / \\ )\n"},{"title":"minibrary.md","text":"# Mini Libraries\n","tags":["metappet","1-liner","minibrary"],"metalinks":["chronicle.mjs","deep.mjs","demethod.mjs","describe-it.mjs","detector-wc-factory.mjs","executable-comment.mjs","executable-pseudocode.mjs","expect.mjs","fp.mjs","funsole.mjs","introducing.mjs","literize.mjs","log.mjs","noises.mjs","projector.mjs","stateless-machine.mjs","story-in-a-story.mjs","testing.mjs","togglog.mjs","togglog.py","turtlje.mjs"]},{"title":"mirror.css","text":"body {\n  -moz-transform: scale(-1, 1);\n  -webkit-transform: scale(-1, 1);\n  -o-transform: scale(-1, 1);\n  -ms-transform: scale(-1, 1);\n  transform: scale(-1, 1);\n}\n"},{"title":"mu.js","text":"var mu = {\n  wholism: {\n    get reductionism() {\n      return { mu };\n    },\n  },\n  reductionism: {\n    get wholism() {\n      return { mu };\n    },\n  },\n};\n\nmu; // wholism, reductionism\n\nmu.wholism; // reductionism\nmu.reductionism; // wholism\n\nmu.wholism.reductionism; // mu\nmu.reductionism.wholism; // mu\n\nmu.wholism.reductionism.mu;\nmu.reductionism.wholism.mu;\n\nmu; // reductionism, wholism\n\n// remix: https://blog.p-petrov.com/assets/images/imgs_geb/mu.png\n// credit: Douglas Hofstadter\n// tags: tribute\n","tags":["tribute","variation"],"aftlinks":["variation.md"]},{"title":"mu.mjs","text":"import _ from './executable-comment.mjs';\n\nvar {\n  mu: {\n    wholism: {\n      reductionism: { mu },\n    },\n    reductionism: {\n      wholism: { mu },\n    },\n  },\n} = _;\n\n// remix: https://blog.p-petrov.com/assets/images/imgs_geb/mu.png\n// credit: Douglas Hofstadter\n// tags: tribute\n","tags":["tribute","variation"],"forelinks":["executable-comment.mjs"],"aftlinks":["variation.md"]},{"title":"namoji.mjs","text":"export const namoji = (fn, emoji = '❔') => ({ [emoji]: (...args) => fn(...args) }[emoji]);\n","tags":["1-liner"]},{"title":"no-comment.js","text":"'use strict' // or not, it's the same\n\n\n\n--> But the syntax highlighter was confused.\n\n// https://riptutorial.com/javascript/example/9722/using-html-comments-in-javascript--bad-practice-\n","tags":["variation"],"aftlinks":["variation.md"]},{"title":"no-comment.mjs","text":"import { _Spoken_ as _  } from './executable-comment.mjs';\n\n\n\n_.HTML.comments.are.not.allowed.in.modules;\n","tags":["variation"],"aftlinks":["variation.md"]},{"title":"noises.mjs","text":"export const noises = (\n  audioContext = new (window.AudioContext || window.webkitAudioContext)(),\n) => {\n  const noise = {};\n\n  noise.wave = (wave = 'sine') => {\n    noise.oscillator.type = wave;\n    return noise;\n  };\n  noise.volume = (val = 1, d = 0) => {\n    noise.gainNode.gain.setValueAtTime(val, noise.audioCtx.currentTime + d / 1000);\n    return noise;\n  };\n  noise.frequency = (val = 440, d = 0) => {\n    noise.oscillator.frequency.setValueAtTime(val, noise.audioCtx.currentTime + d / 1000);\n    return noise;\n  };\n  noise.play = ({ frequency = 440, volume = 1, wave = 'sine', delay = 0 } = {}) => {\n    noise.oscillator = noise.audioCtx.createOscillator();\n    noise.oscillator.connect(noise.gainNode);\n    noise.wave(wave);\n    noise.volume(volume, delay / 1000);\n    noise.frequency(frequency);\n    noise.oscillator.start(delay / 1000);\n    return noise;\n  };\n  noise.stop = (d = 0) => {\n    noise.oscillator.stop(noise.audioCtx.currentTime + d / 1000);\n    return noise;\n  };\n\n  noise.oscillator = null;\n  noise.audioCtx = audioContext;\n  noise.gainNode = noise.audioCtx.createGain();\n\n  noise.gainNode.connect(noise.audioCtx.destination);\n  return noise;\n};\n\nexport default noises;\n\n// Original JavaScript code by Chirp Internet: www.chirpinternet.eu\n//  Please acknowledge use of noise code by including this header.\n// adapted from: https://www.the-art-of-web.com/javascript/creating-sounds/\n\n// tags: minibrary\n","tags":["minibrary"],"aftlinks":["interval-training.html","minibrary.md"]},{"title":"non-sequitur.mjs","text":"import { chronicle } from './chronicle.mjs';\nimport { sequitur } from './sequitur.mjs';\n\nconst non = chronicle(\n  eval(\n    sequitur\n      .toString()\n      .replaceAll('sequitur', 'NON')\n      .replaceAll('non', 'SEQUITUR')\n      .toLowerCase(),\n  ),\n);\n\nnon('hi').hi('bye').bye().sequitur;\n\nconsole.log(non._chronicle);\n","forelinks":["chronicle.mjs","sequitur.mjs"]},{"title":"optimism.js","text":"pancreas = {                }\n\n// .  .   .    .     .      .\n\n{ pancreas['cancer'] = true }\n\n// .  .   .    .     .      .\n\n'cancer' in pancreas === true\n\n{ delete pancreas['cancer'] }\n\n'cancer' in pancreas == false\n\n// .  .   .    .     .      .\n\n'cancer' in pancreas == false\n\n// .  .   .    .     .      .\n// .  .   .    .     .      .\n\n'cancer' in pancreas == false\n\n// .  .   .    .     .      .\n// .  .   .    .     .      .\n// .  .   .    .     .      .\n\n'cancer' in pancreas == false\n\n// .  .   .    .     .      .\n// .  .   .    .     .      .\n// .  .   .    .     .      .\n\n// .  .   .    .     .      .\n\n\n// .  .   .    .     .      . ","alt":"⏳"},{"title":"overconfidence.js","text":"console.assert([0] != ![0]);\n\nconsole.assert('function () {}' != function () {});\n\nconsole.assert(''.split(' ') === '');\n\n// https://www.destroyallsoftware.com/talks/wat, https://wtfjs.com/\n// https://javascriptwtf.com/, https://github.com/denysdovhan/wtfjs\n\n// tags: wtfjs\n","tags":["wtfjs"]},{"title":"pedestrian-slalom.html","text":"\n\n
\n\n\n\n\n","tags":["game"]},{"title":"pick-your-poison.js","text":"const poison = confirm(`Pick Your Poison.\n- Iteration: [ok]\n- Recursion: [cancel]`)\n  ? 'iterate'\n  : 'recurse';\n\nif (poison === 'iterate') {\n  while (true) {\n    console.log(poison);\n  }\n} else if (poison === 'recurse') {\n  (function bottomless_ish() {\n    console.log(poison);\n    try {\n      bottomless_ish();\n    } catch (_) {\n      bottomless_ish();\n    }\n  })();\n} else {\n  (function nextInterval() {\n    const id = setInterval(() => {\n      console.log(id);\n      nextInterval();\n    });\n  })();\n}\n\n// tags: wuzzle\n","tags":["wuzzle"]},{"title":"pipe.mjs","text":"function isArray(thing) {\n  return Object.prototype.toString.call(thing) === '[object Array]';\n}\n\nfunction arrayFrom(_arguments) {\n  return Array.prototype.slice.call(_arguments);\n}\n\nexport function pipe(arg) {\n  var functions = isArray(arg) ? arg : arrayFrom(arguments);\n\n  return function piper(arg) {\n    var data = isArray(arg) ? arg : arrayFrom(arguments),\n        piping;\n\n    if (functions.length === 0) {\n      return data;\n    }\n\n    piping = functions.shift().apply(null, data);\n\n    while (functions.length > 0) {\n      piping = functions.shift()(piping);\n    }\n\n    return piping;\n  };\n}\n\nexport default pipe;\n","aftlinks":["emoj.mjs","fp.mjs"]},{"title":"pipeablert.mjs","text":"export const pipeablert = (thing) => (alert(thing?.toString()), thing);\n\n// tags: useless\n","tags":["useless","1-liner"],"aftlinks":["pipeables.mjs"]},{"title":"pipeables.mjs","text":"import { pipeablert } from './pipeablert.mjs';\nimport { pipeablog } from './pipeablog.mjs';\n\npipeablert('a' + pipeablert('l' + pipeablert('e' + pipeablert('r' + pipeablert('t')))));\n\npipeablog('l' + pipeablog('o' + pipeablog('g')));\n","forelinks":["pipeablert.mjs","pipeablog.mjs"]},{"title":"pipeablog.mjs","text":"export const pipeablog = (thing) => (console.log(thing), thing);\n\n// tags: useful\n","tags":["useful","1-liner"],"aftlinks":["pipeables.mjs"]},{"title":"potato-potato.js","text":"function potato() {\n  return this instanceof potato ? this.__proto__.constructor : potato;\n}\n\nalert(`you say ${new potato().name}, I say ${potato().name}`);\n\n// tags: wuzzle\n","tags":["wuzzle"]},{"title":"projector.mjs","text":"const project = (frame) =>\n  Array.isArray(frame)\n    ? Array.isArray(frame[0])\n      ? frame.forEach(project)\n      : console.log(...frame)\n    : console.log(frame);\n\nconst defaultConfig = {\n  async: true,\n  frameRate: 10,\n  maxTime: Infinity,\n  maxFrames: Infinity,\n  clear: console.clear,\n  project,\n  wrap: () => {},\n};\n\nexport const projector = (reel, userConfig = {}) => {\n  const spool = reel();\n  const config = Object.assign({}, defaultConfig, userConfig);\n  const status = { frames: 0, time: 0 };\n\n  const unspool = (frame = spool.next()) =>\n    frame.done ||\n    (status.time += 1000 / config.frameRate) > config.maxTime ||\n    ++status.frames > config.maxFrames\n      ? (config.wrap(), false)\n      : (config.clear(), config.project(frame.value), true);\n\n  if (config.async) {\n    config.wrap = () => clearInterval(screening);\n    const screening = setInterval(unspool, 1000 / config.frameRate);\n  } else {\n    while (unspool()) {\n      const frameStart = Date.now();\n      while (Date.now() - frameStart < 1000 / config.frameRate);\n    }\n  }\n};\n\nexport default projector;\n\n// tags: minibrary\n","tags":["minibrary"],"aftlinks":["10-print.6.mjs","eat-sleep-rave-repeat.js","minibrary.md","rainstorm.mjs"]},{"title":"python-by-any-other-name.js","text":"def fib(n):\n  if n == 1 or n == 0:\n    return n\n  else:\n    return fib(n-2) + fib(n - 1)\n\nprint(fib(10))\n","aftlinks":["fake-it-till-you-make-it.mjs"]},{"title":"rainbowing.html","text":"\n\n
\n\n\n"},{"title":"rainstorm.mjs","text":"import projector from './projector.mjs';\n\n// https://www.asciiart.eu/nature/clouds\nconst cloud = `\n .-~~~-.\n .- ~ ~-( )_ _\n / ~ -.\n | ',\n \\\\ .'\n ~- ._ ,. ,.,.,., ,.. -~`;\n// https://ascii.co.uk/art/lightning\nconst lightning = `${`\n ,/\n ,'/\n ,' /\n ,' /_____,\n .'____ ,'\n / ,'\n / ,'\n /,'\n /'`}${Array(21).fill('\\n').join('')}`;\nconst ground = `___.-------._____/¯¯¯¯¯¯\\`----,____`;\n\nconst drop = () => (Math.random() < 0.2 ? '💧' : ' ');\nconst row = () => [' ', ' ', ...Array(13).fill(' ').map(drop)];\n\nfunction* rainstorm(rain = Array(31).fill('').map(row)) {\n while (rainstorm) {\n rain.pop(), rain.unshift(row());\n const flash = Math.random() < 0.1;\n yield [\n [`%c${cloud}`, `color: ${flash ? 'lightgrey' : 'grey'};`],\n flash\n ? [`%c${lightning}`, 'color: orange;']\n : [`%c${rain.flatMap((r) => r.join(' ')).join('\\n')}`, 'color: blue;'],\n [`%c${ground}`, `color: ${flash ? 'lightgreen' : 'green'};`],\n ];\n }\n}\nprojector(rainstorm, { frameRate: 7, maxFrames: 100 });\n\n// tags: reel, sketch\n","tags":["reel","sketch"],"forelinks":["projector.mjs"]},{"title":"recurseval.1.js","text":"eval(recurseval = 'eval(recurseval)');\n\n// tags: useless\n","tags":["useless","variation","1-liner"],"aftlinks":["variation.md"]},{"title":"recurseval.2.js","text":"(function recurseval() { eval(`(${recurseval.toString()})()`) })();\n\n// tags: quine\n","tags":["quine","variation","1-liner"],"aftlinks":["variation.md"]},{"title":"recurseval.3.js","text":"fetch('./recurseval.3.js')\n .then((res) => res.text())\n .then((code) => (console.log(code), eval(code)))\n .catch(console.error);\n","tags":["variation"],"forelinks":["recurseval.3.js"],"aftlinks":["recurseval.3.js","variation.md"]},{"title":"reflection.css","text":"body {\n -moz-transform: scale(1, -1);\n -webkit-transform: scale(1, -1);\n -o-transform: scale(1, -1);\n -ms-transform: scale(1, -1);\n transform: scale(1, -1);\n}\n","tags":["variation"],"aftlinks":["variation.md"]},{"title":"reflection.js","text":"var w = 0;\n\nwhile (w < 3) {\n w++;\n}\n\nalert(w);\n\n/*~~~~~~~~~~~~*/\n\nalert(m);\n\ndo {\n m++;\n} while (m < 3);\n\nvar m = 0;\n","tags":["variation"],"aftlinks":["variation.md"]},{"title":"reverse-input.js.txt","text":"let input = prompt('enter some text to reverse') || '';\n\nlet reversed = '';\nfor (const char of input) {\n reversed = char + reversed;\n}\n\nalert(reversed);\n","tags":["variation"],"aftlinks":["variation.md"]},{"title":"reverse-input.txt.js","text":"// Get some text from the user.\n\n// Then create a new empty text.\n\n// Now start at the beginning of the user input,\n// One by one, copy each character to the beginning of the new text.\n\n// Finally, show the new text to the user.\n","tags":["variation"],"subtext":"reverse-input.txt.js.st.txt","aftlinks":["variation.md"]},{"title":"say.mjs","text":"export const say = (...scripts) => {\n for (const script of scripts) {\n speechSynthesis.speak(new SpeechSynthesisUtterance(script));\n }\n};\n","aftlinks":["funsole.mjs"]},{"title":"sequitur.mjs","text":"export const sequitur = (non = '') => (non ? { [non]: sequitur } : sequitur);\n\n// tags: useless, wuzzle\n","tags":["useless","wuzzle","1-liner"],"aftlinks":["non-sequitur.mjs"]},{"title":"sierpinski.html","text":"\n\n\n\n\n\n\n\n","tags":["sketch"],"forelinks":["turtlje.mjs"]},{"title":"snail-train.mjs","text":"import i_ from './executable-comment.mjs';\n\ni_('@').i_('@').i_('@').i_('@').i_('@');\n","forelinks":["executable-comment.mjs"]},{"title":"stack.js","text":"const stack = (fn) => (names) =>\n names.length === 0\n ? fn\n : stack\n ({ [names[0]]: (...args) => fn(...args) }[names[0]]) \n (names.slice(1));\n\nstack\n (function busted() { yolo; })\n (['too', 'bad', 'so', 'sad'])\n ();\n "},{"title":"stateless-machine.mjs","text":"const copy = (src) =>\n Array.isArray(src)\n ? [...src] :\n src?.__proto__?.__proto__ === null\n ? Object.fromEntries(Object.entries(src).map(([k, v]) => [k, copy(v)])) :\n src;\n\n\nfunction initializing(transitions = null) {\n if (!transitions) return 'DOCS: statelessMachine(transitions)(state)(event)';\n transitions = copy(transitions);\n\n return function setting(state = '') {\n if (!state) return copy(transitions);\n if (!transitions[state]) return null;\n\n return function transitioning(event = '') {\n if (!event) return copy(transitions[state]);\n\n const next = transitions[state][event];\n if (!next) return null;\n if (typeof next == 'string') return { prev: state, event, next };\n if (!next.state && !next.se) return null;\n\n const transition = { prev: state, event, next: next.state };\n if (next.state && !next.se) return transition;\n\n if (typeof next.se === 'function') next.se({ ...transition });\n else if (Array.isArray(next.se)) for (const fn of next.se) fn({ ...transition });\n return transition;\n };\n };\n}\n\n\nexport const statelessMachine = initializing;\n\n\n// tags: minibrary\n","tags":["minibrary"],"aftlinks":["minibrary.md"]},{"title":"steamroll.mjs","text":"export const steamroll = (code = '', refactors = []) => {\n const refactor = { goodCode: code };\n refactors.push(refactor);\n\n const sandbox = document.createElement('iframe');\n\n sandbox.addEventListener('load', () => {\n sandbox.contentWindow.addEventListener('error', ({ lineno, error }) => {\n const lines = code.split('\\n');\n (refactor.badCode = refactor.goodCode), delete refactor.goodCode;\n refactor.error = error;\n refactor.guilty = lines.splice(lineno - 1, 1).pop();\n\n steamroll(lines.join('\\n'), refactors);\n });\n\n const fingersCrossed = document.createElement('script');\n fingersCrossed.innerHTML = code;\n sandbox.contentDocument.body.appendChild(fingersCrossed);\n });\n\n document.body.appendChild(sandbox);\n\n return refactors;\n};\n\nexport default steamroll;\n\n// tags: remix\n// inspiration: https://github.com/mattdiamond/fuckitjs\n","tags":["remix"],"aftlinks":["fake-it-till-you-make-it.mjs"]},{"title":"story-in-a-story.mjs","text":"export const runStory = async (storyTitle = '', transition = '') => {\n if (transition) console.group(`%c${transition}`, 'font-weight: bold;');\n try {\n await import(storyTitle);\n } catch (err) {\n console.error(err);\n }\n if (transition) console.groupEnd();\n};\n\nexport const tellStory = (medium = console.log) =>\n async function recount(storyTitle = '', transition = '') {\n if (transition) console.group(`%c${transition}`, 'font-weight: bold;');\n try {\n await medium(await fetch(storyTitle).then((res) => res.text()));\n } catch (err) {\n console.error(err);\n }\n if (transition) console.groupEnd();\n };\n\nexport const logStory = tellStory();\n\nexport const alertStory = tellStory(alert);\n\nexport default runStory;\n\n// tags: minibrary\n","tags":["minibrary"],"aftlinks":["all-medium.md","flag-translator.mjs","minibrary.md"]},{"title":"take-five.js","text":"// --- set the mood ---\n\nconst takeFive = new Audio('./take-five.mp3');\ntakeFive.loop = false;\ntakeFive.play();\n\n// --- take a break ---\n\nconst FIVE_MINUTES = 300000; // milliseconds\nconst CLOCK_OUT = Date.now();\n\nconst offBreak = () => Date.now() - CLOCK_OUT > FIVE_MINUTES;\n\nconst getSomeFreshAir = () =>\n offBreak() ? clearInterval(onBreak) : alert('break time, take five!');\n\nconst onBreak = setInterval(getSomeFreshAir, 100);\n\n// tags: wellbeing\n","tags":["wellbeing"]},{"title":"testing.mjs","text":"import { describe, it, suite, test } from './describe-it.mjs';\nimport { expect } from './expect.mjs';\n\nexport { describe, expect, it, suite, test };\nexport default { describe, expect, it };\n\n// tags: testing, minibrary, useful\n","tags":["minibrary","testing","useful"],"forelinks":["describe-it.mjs","expect.mjs"],"aftlinks":["can-not-even.mjs","drabble-twabble.mjs","goalpost-sort.mjs","minibrary.md","this-is-amazing.mjs"]},{"title":"the-fun-parts.md","text":"# JavaScript: The ~~Good~~ *Fun* Parts\n\nMost programming languages contain ~~good~~ *fun* parts and ~~bad~~ *boring* parts. I discovered that I\ncould be a better programmer by using only the ~~good~~ *fun* parts and avoiding the ~~bad~~ *boring*\nparts. After all, how can you build something ~~good~~ *fun* out of ~~bad~~ *boring* parts? \\[...] But\nyou have the power to define your own subset. You can write better programs by relying\nexclusively on the ~~good~~ *fun* parts.\n\n* adapted by **Dougie Crockpot** from\n [the original](https://www.oreilly.com/library/view/javascript-the-good/9780596517748/)\n","tags":["metappet","the fun parts"],"alt":"JavaScripting: teach me how to, Dougie.","metalinks":["cat-detector.vars.js","do-without.js","eat-sleep-rave-repeat.js","goto-ish.js","heartbreak.js","with-transparency.js"],"aftlinks":["bunny.md"]},{"title":"the-neverending-s.js","text":"while (('never-ending ' += 's')); \n\n// tags: wuzzle\n","tags":["wuzzle","1-liner"],"alt":"tory"},{"title":"the-programmers-journey.js","text":"// In the realm of code, a story unfolds\n// A tale of mystery, where secrets are told\n\n// Once upon a time, in a land of arrays\n// Lived a programmer, lost in a coding maze\n\n// With variables and functions, the story began\n// Each line of code, a step in the plan\n\nconst journey = () => {\n // In the depths of the code, a riddle awaits\n const riddle = \"What has keys but can't open gates?\";\n\n // A quest for answers, the programmer embarks\n const answer = 'A keyboard, where creativity sparks';\n\n // But the path is not easy, challenges arise\n const obstacles = ['Syntax errors', 'Bugs in disguise'];\n\n // With each obstacle faced, the programmer learns\n // Debugging skills, the fire that burns\n\n for (let i = 0; i < obstacles.length; i++) {\n // The programmer fights, with determination and might\n // Seeking the truth, in the code's darkest night\n\n console.log(`Obstacle ${i + 1}: ${obstacles[i]}`);\n // The console reveals, the errors to see\n // Line by line, the programmer sets free\n\n // But the journey continues, the story unwinds\n // Seeking perfection, in the code that binds\n if (i === obstacles.length - 1) {\n // Victory is near, the final test awaits\n console.log(\"Congratulations! You've reached the gates\");\n }\n }\n};\n\n// The journey begins, the code comes alive\njourney();\n\n/*\n This poem tells the story of a programmer on a quest \n to solve a riddle hidden within the code.\n Along the way, they encounter obstacles in the form of \n syntax errors and bugs.\n With determination and debugging skills, \n they overcome these challenges and reach the final test.\n The poem captures the essence of the coding journey, \n where perseverance and problem-solving lead to victory.\n\n\tI hope you enjoyed this puzzling and sophisticated JavaScript poem!\n Let me know if you have any questions \n or if there's anything else I can assist you with.\n*/\n\n// https://www.phind.com/agent?cache=cln0bq31a0027jz08b4dc5qrh\n// an LLM wrote this, I bring it to you unedited. LLMs can't count lines\n\n// tags: coAIthored\n","tags":["coaithored"]},{"title":"thing.svg","text":"\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n"},{"title":"this-is-amazing.mjs","text":"import { describe, it, expect } from './testing.mjs';\n\nconst thisIs = function amazing() { return this }.bind('amazing');\n\ndescribe(\"this: it's amazing\", () => {\n it('is \"amazing\"', () => expect(thisIs()).toEqual('amazing'));\n});\n","forelinks":["testing.mjs"]},{"title":"time-capsule.js","text":"(function timeCapsule(wisdom = prompt('Share some wisdom with the future:')) {\n if (wisdom) setTimeout(alert, 2147483647, wisdom);\n else timeCapsule();\n})();\n"},{"title":"tintin.0.js","text":"const tin = () => 'tin';\n\nconsole.log(tin.name);\nconsole.log(tin());\n\n// tags: puzzle\n","tags":["puzzle","variation"],"aftlinks":["variation.md"]},{"title":"tintin.0.mjs","text":"import { chronicle } from './chronicle.mjs';\n\nconst tin = chronicle(() => 'tin');\n\ntin();\nconsole.log(tin._chronicle);\n\n// tags: puzzle\n","tags":["puzzle","variation"],"forelinks":["chronicle.mjs"],"aftlinks":["variation.md"]},{"title":"tintin.1.js","text":"const tin = () => tin;\n\nconsole.log(tin().name);\nconsole.log(tin()()()()());\n\n// tags: puzzle\n","tags":["puzzle","variation"],"aftlinks":["variation.md"]},{"title":"tintin.1.mjs","text":"import { chronicle } from './chronicle.mjs';\n\nconst tin = chronicle(() => tin);\n\ntin()()()()();\nconsole.log(tin._chronicle);\n\n// tags: puzzle\n","tags":["puzzle","variation"],"forelinks":["chronicle.mjs"],"aftlinks":["variation.md"]},{"title":"tintin.2.js","text":"const tin = () => ({ tin });\n\nconsole.log(tin().tin.name);\nconsole.log(tin().tin().tin().tin);\n\n// tags: puzzle\n","tags":["puzzle","variation"],"aftlinks":["variation.md"]},{"title":"tintin.2.mjs","text":"import { chronicle } from './chronicle.mjs';\n\nconst tin = chronicle(() => ({ tin }));\n\ntin().tin;\nconsole.log(tin._chronicle);\n\ntin._forget;\n\ntin().tin().tin().tin;\nconsole.log(tin._chronicle);\n\n// tags: puzzle\n","tags":["puzzle","variation"],"forelinks":["chronicle.mjs"],"aftlinks":["variation.md"]},{"title":"tintin.3.js","text":"const tin = () => tin;\ntin.tin = tin;\n\nconsole.log(tin[tin().name]()[tin.name].name);\nconsole.log(tin.tin()().tin().tin.tin()()().tin().tin.tin());\n\n// tags: puzzle\n","tags":["puzzle","variation"],"aftlinks":["variation.md"]},{"title":"tintin.3.mjs","text":"import { chronicle } from './chronicle.mjs';\n\nconst tin = chronicle(() => tin);\ntin.tin = tin;\n\ntin.tin()['tin'];\nconsole.log(tin._chronicle);\n\ntin._forget;\n\ntin.tin()().tin().tin.tin()()().tin().tin.tin();\nconsole.log(tin._chronicle);\n\n// tags: puzzle\n","tags":["puzzle","variation"],"forelinks":["chronicle.mjs"],"aftlinks":["variation.md"]},{"title":"tintin.4.js","text":"const tin = () => ({ tin });\ntin.tin = tin;\n\nconsole.log(tin[tin.name]().tin.tin.tin()['tin'].name);\nconsole.log(tin.tin()['tin']().tin().tin);\n\n// tags: puzzle\n","tags":["puzzle","variation"],"aftlinks":["variation.md"]},{"title":"tintin.4.mjs","text":"import { chronicle } from './chronicle.mjs';\n\nconst tin = chronicle(() => ({ tin }));\ntin.tin = tin;\n\ntin['tin']().tin.tin.tin().tin;\nconsole.log(tin._chronicle);\n\ntin._forget;\n\ntin.tin()['tin']().tin().tin;\nconsole.log(tin._chronicle);\n\n// tags: puzzle\n","tags":["puzzle","variation"],"forelinks":["chronicle.mjs"],"aftlinks":["variation.md"]},{"title":"togglog.mjs","text":"export const togglog = ({ write = true, out = console.log, label = null } = {}) => {\n const log = (...things) => {\n if (label !== null) things.unshift(label);\n if (write) out(...things);\n return things.at(-1);\n };\n\n Object.defineProperties(log, {\n log: { get: () => log },\n\n on: { get: () => ((write = true), log) },\n off: { get: () => ((write = false), log) },\n toggle: { get: () => ((write = !write), log) },\n\n is: { get: () => (write ? 'on' : 'off') },\n\n out: { set: (newOut) => (out = newOut) },\n label: { set: (newLabel) => (label = newLabel) },\n });\n\n return log;\n};\n\nexport default togglog;\n\n// tags: minibrary\n\n\n","tags":["minibrary","variation"],"aftlinks":["minibrary.md","variation.md"]},{"title":"togglog.py","text":"import traceback\n\n\nclass Togglog:\n def __init__(self, out=print, write=True, label=None, line=False):\n self.out = out\n self.write = write\n self.label = label\n self.line = line\n\n def __getattr__(self, key):\n if key == \"on\":\n self.write = True\n elif key == \"off\":\n self.write = False\n elif key == \"toggle\":\n self.write = not self.write\n return self\n\n def log(self, *rest):\n if self.write:\n logs = [*rest]\n if self.label != None:\n logs.insert(0, self.label)\n if self.line != False:\n logs.insert(0, f\"ln {str(list(traceback.walk_stack(None))[0][1])}:\")\n self.out(*logs)\n return rest[-1]\n\n\n# tags: minibrary\n","tags":["minibrary","variation"],"aftlinks":["minibrary.md","variation.md"]},{"title":"training-wheels.mjs","text":"import { demethod } from './demethod.mjs';\n\n// --- setup, could happen in a different file ---\n\ndemethod(String, { target: globalThis, prefix: '$str' });\ndemethod(Array, { target: globalThis, prefix: '$arr' });\ndemethod(console, { target: globalThis, statics: true });\n\n// --- use the functioned methods ---\n\nconst things = [];\nwhile (true) {\n const thing = prompt('enter things, cancel to finish');\n log(thing);\n if (thing === null) break;\n $arrPush(things, thing);\n}\nlog(things);\n\nconst smallThings = $arrMap(things, $strToLowerCase);\nconst renderedThings = $arrJoin(smallThings, '\\n- ');\nconst packagedThings = `here are your smaller things:\\n- ${renderedThings}`;\n\nalert(packagedThings);\n","forelinks":["demethod.mjs"]},{"title":"turtles-all-the-way-down.1.js","text":"(turtle = () => turtle())();\n\n// tags: wuzzle\n","tags":["wuzzle","variation","1-liner"],"aftlinks":["variation.md"]},{"title":"turtles-all-the-way-down.2.js","text":"(turtle => turtle(turtle))(turtle => turtle(turtle))\n\n// tags: wuzzle\n","tags":["wuzzle","variation","1-liner"],"aftlinks":["variation.md"]},{"title":"turtles-all-the-way-down.3.js","text":"({ ['🐱']: function () { this['🐱']() } })['🐱']();\n\n// tags: wuzzle\n","tags":["wuzzle","variation","1-liner"],"aftlinks":["variation.md"]},{"title":"turtles-all-the-way-down.4.js","text":"(turtle = turtle => { try { turtle(turtle) } catch(eltrut) { turtle(turtle) } })(turtle);\n\n// tags: wuzzle","tags":["wuzzle","variation","1-liner"],"aftlinks":["variation.md"]},{"title":"turtles-all-the-way-down.html","text":"turtles all the way down\n\n
\n  _____     ____\n /      \\  |  o |\n|        |/ ___\\|\n|_________/\n|_|_| |_|_|\n
\n\n\n\n\n\n","tags":["wuzzle","variation"],"aftlinks":["variation.md"]},{"title":"turtles_all_the_way_down.1.py","text":"turtle = lambda: turtle(); turtle()\n\n# tags: wuzzle","tags":["wuzzle","variation","1-liner"],"aftlinks":["variation.md"]},{"title":"turtles_all_the_way_down.2.py","text":"(lambda turtle: turtle(turtle))(lambda turtle: turtle(turtle))\n\n# tags: wuzzle","tags":["wuzzle","variation","1-liner"],"aftlinks":["variation.md"]},{"title":"turtlje.mjs","text":"export const turtlje = (c = document.createElement('canvas')) => {\n c = typeof c === 'string' ? document.getElementById(c) : c;\n const pad = c.getContext('2d');\n const state = { col: 'black', width: 1, deg: 0, x: c.width / 2, y: c.height / 2 };\n const turtle = {\n backward: (pixels) => forward(-pixels),\n color: (col) => ((state.col = col), turtle),\n dot: (diameter) => {\n pad.beginPath();\n pad.arc(state.x, state.y, diameter / 2, 0, 2 * Math.PI);\n pad.fillStyle = state.col;\n pad.lineWidth = state.width;\n pad.fill();\n return turtle; },\n forward: (pixels) => {\n pad.beginPath();\n pad.moveTo(state.x, state.y);\n state.x += -Math.cos((state.deg / 180) * Math.PI) * pixels;\n state.y += -Math.sin((state.deg / 180) * Math.PI) * pixels;\n pad.lineTo(state.x, state.y);\n pad.strokeStyle = state.col;\n pad.lineWidth = state.width;\n pad.stroke();\n return turtle; },\n goto: (x, y) => {\n state.x = x + c.width / 2;\n state.y = y + c.height / 2;\n return turtle; },\n left: (deg) => turtle.right(-deg),\n right: (deg) => {\n state.deg = (deg + state.deg) % 360;\n return turtle; },\n width: (pixels) => {\n state.width = pixels;\n return turtle; },\n };\n return { _pad: pad, _state: state, ...turtle };\n};\n\nexport default turtlje;\n\n// tags: minibrary\n","tags":["minibrary"],"aftlinks":["minibrary.md","sierpinski.html"]},{"title":"useless-machine.1.html","text":" this.checked = false, 500)\" />\n","tags":["variation","1-liner"],"aftlinks":["variation.md"]},{"title":"useless-machine.2.html","text":"\n\n\n\n\n\n\n","tags":["coaithored","frivolous","variation"],"aftlinks":["variation.md"]},{"title":"var-let-const.js","text":"// 'use strict';\n\nconsole.assert(__ === let);\n\n{\n var let = 'const';\n}\n\nconsole.assert(__ === let);\n\n// tags: puzzle\n","tags":["puzzle"]},{"title":"variation.md","text":"# Theme and Variation\n","tags":["metappet","1-liner","variation"],"alt":"It's expression, not obsession. I promise.","metalinks":["10-print.1.js","10-print.2.js","10-print.3.js","10-print.4.js","10-print.6.mjs","be.canvas.html","be.css","be.css.html","be.de.txt","be.en.txt","be.flip.js","be.fr.txt","be.html","be.js","be.json","be.md","be.nl.txt","be.py","be.svg","be.txt","be.yaml","breathless.html","breathless.js","cat-detector.ascii.html","cat-detector.ascii.txt","cat-detector.be.js","cat-detector.cat.js","cat-detector.eval.js","cat-detector.evbl.js","cat-detector.golf.js","cat-detector.js.md","cat-detector.js.md.st.js","cat-detector.polyfill.mjs","cat-detector.psu","cat-detector.scm.js","cat-detector.scm.json","cat-detector.spoken.mjs","cat-detector.svg","cat-detector.vars.js","cat-detector.wc.html","cat-i-farted.js","cat-i-farted.mjs","cat_detector.1.py","cat_detector.1.py.js","cat_detector.2.py","cat_detector.2.py.js","empty.json","empty.yaml","halloween.js","halloween.py","hello-world.js","hello_world.py","je-l-ignore.js","je-l-ignore.mjs","love-adventure-success.1.js","love-adventure-success.2.js","mu.js","mu.mjs","no-comment.js","no-comment.mjs","recurseval.1.js","recurseval.2.js","recurseval.3.js","reflection.css","reflection.js","reverse-input.js.txt","reverse-input.txt.js","reverse-input.txt.js.st.txt","tintin.0.js","tintin.0.mjs","tintin.1.js","tintin.1.mjs","tintin.2.js","tintin.2.mjs","tintin.3.js","tintin.3.mjs","tintin.4.js","tintin.4.mjs","togglog.mjs","togglog.py","turtles-all-the-way-down.1.js","turtles-all-the-way-down.2.js","turtles-all-the-way-down.3.js","turtles-all-the-way-down.4.js","turtles-all-the-way-down.html","turtles_all_the_way_down.1.py","turtles_all_the_way_down.2.py","useless-machine.1.html","useless-machine.2.html","yolo.js","yolo.py","yoloer.js","yoloer.py","yoloest.js","yoloest.py"]},{"title":"wait-for-it.js","text":"(function waitForIt(wait = 0) {\n console.log('wait for it ...');\n wait = setTimeout(() => waitForIt(wait), wait);\n})();\n"},{"title":"wat.html","text":"\n\n

Wat?!

\n\n\n\n\n","forelinks":["wat.html"],"aftlinks":["wat.html"]},{"title":"what-does-the-fox-say.mjs","text":"// This looks like a fox, right?\n// Taken from here - https://ascii.co.uk/art/fox\nconst fox = [\n '%c',\n '%c _,-=._ /|_/|',\n '%c`-.} `=._,.-=-._., @ @._,',\n \"%c `._ _,-. ) _,.-'\",\n '%c G.m-\"^m`m\\'',\n '%c',\n];\n\nexport const theFoxSays = (...args) => {\n // Gets args as a string\n const joinedArgs = args.join(' ');\n\n // Add the bubble if there is something to log!\n if (joinedArgs.length > 0) {\n fox[1] += ` ---${'-'.repeat(joinedArgs.length)}-`;\n fox[2] += ` -( ${joinedArgs} )`;\n fox[3] += ` ---${'-'.repeat(joinedArgs.length)}-`;\n }\n\n // Log the fox!\n for (const line of fox) {\n console.log(line, 'color: firebrick');\n }\n};\n\nexport default theFoxSays;\n\n// tags: sketch, remix\n// inspiration: https://tholman.com/console-dot-frog/\n","tags":["remix","sketch"],"aftlinks":["funsole.mjs"]},{"title":"with-transparency.js","text":"const transparency = {\n remember_that: 'let',\n stores: '=',\n as_long_as: 'while',\n is_less_than: '<',\n add_one_to: '++',\n show_me: 'alert',\n};\n\nwith (transparency) {\n eval(`\n\n${remember_that} i ${stores} 0;\n\n${as_long_as}( i ${is_less_than} 5 )${add_one_to} i;\n\n${show_me}( i );\n\n`);\n}\n\n\n// tags: the fun parts\n","tags":["the fun parts"],"aftlinks":["the-fun-parts.md"]},{"title":"yolo.js","text":"const shipit = (motto = '') => {\n try {\n alert(eval(prompt(`${motto}!`)));\n } catch (err) {\n alert(`${err.name}: ${err.message}\\n\\n${motto}!`);\n shipit(motto);\n }\n};\n\nshipit('YOLO');\n\n// tags: yolo\n","tags":["yolo","variation"],"aftlinks":["variation.md"]},{"title":"yolo.py","text":"def shipit(motto=\"\"):\n try:\n print(eval(input(f\"\\n{motto}: \")))\n except Exception as ex:\n print(type(ex).__name__ + \":\", ex)\n shipit(motto)\n\n\nshipit(\"YOLO\")\n\n# tags: yolo\n","tags":["yolo","variation"],"aftlinks":["variation.md"]},{"title":"yoloer.js","text":"while (true) {\n try {\n alert(eval(prompt(`YOLO!`)));\n break;\n } catch (err) {\n alert(`${err.name}: ${err.message}`);\n }\n}\n\n// tags: yolo\n","tags":["yolo","variation"],"aftlinks":["variation.md"]},{"title":"yoloer.py","text":"while True:\n try:\n print(eval(input(f\"\\nYOLO: \")))\n break\n except Exception as ex:\n print(type(ex).__name__ + \":\", ex)\n\n# tags: yolo\n","tags":["yolo","variation"],"aftlinks":["variation.md"]},{"title":"yoloest.js","text":"alert(eval(prompt('YOLO')));\n\n// tags: yolo\n","tags":["yolo","variation","1-liner"],"aftlinks":["variation.md"]},{"title":"yoloest.py","text":"print(eval(input('YOLO')))\n\n# tags: yolo","tags":["yolo","variation","1-liner"],"aftlinks":["variation.md"]},{"title":"yoloish.js","text":"/*\n // 'use strict';\n*/\n\nconst YOLO = 'YOLO';\n\nconst walkTheTalk = (motto = YOLO) =>\n prompt(`${motto}!`) || (alert(`${motto} harder!`), walkTheTalk(motto));\n\nconst shipit = (code = `\"${YOLO}!`) => {\n try {\n alert(eval(code));\n } catch (err) {\n alert(`${err.name}: ${err.message}\\n\\n${YOLO}!`);\n } finally {\n shipit(walkTheTalk(YOLO));\n }\n};\n\nshipit(walkTheTalk(YOLO));\n\n// tags: yolo\n","tags":["yolo"]},{"title":".js","text":"","figment":true},{"title":".mjs","text":"","figment":true},{"title":".md","text":"","figment":true},{"title":".html","text":"","figment":true},{"title":".css","text":"","figment":true},{"title":".txt","text":"","figment":true},{"title":".json","text":"","figment":true},{"title":".py","text":"","figment":true},{"title":".svg","text":"","figment":true},{"title":".yaml","text":"","figment":true},{"title":".psu","text":"","figment":true},{"title":"cat-detector.js.md.st.js","text":"let input = prompt('cat, please');\n\nconst isCat = input === 'cat';\n\nif (isCat) alert('thank you for the cat');\n\nelse {\n\twhile (input !== 'cat') input = prompt('still not a cat. \\n\\ncat, please');\n\n\talert('finally, a cat.');\n}\n","tags":["variation","subtext"],"figment":"cat-detector.js.md","aftlinks":["cat-detector.js.md","variation.md"]},{"title":"reverse-input.txt.js.st.txt","text":"\n Get some text from the user.\n\n Then create a new empty text.\n\n Now start at the beginning of the user input,\n One by one, copy each character to the beginning of the new text.\n\n Finally, show the new text to the user.","figment":"reverse-input.txt.js","aftlinks":["reverse-input.txt.js","variation.md"],"tags":["variation","subtext"]}] \ No newline at end of file +[{"title":"10-print.1.js","text":"// 10 PRINT CHR$(205.5+RND(1)); : GOTO 10\n\nconst HEIGHT = 25;\nconst WIDTH = 50;\n\nlet maze = '';\n\nfor (let i = 0; i < HEIGHT; i++) {\n maze +=\n Array(WIDTH)\n .fill()\n .map(() => '\\\\/'[+(Math.random() > 0.5)])\n .join('') + '\\n';\n}\n\nconsole.log(maze);\n","tags":["variation"],"aftlinks":["variation.md"]},{"title":"10-print.2.js","text":"// 10 PRINT CHR$(205.5+RND(1)); : GOTO 10\n\nconsole.log(\n Array(25)\n .fill(Array(50).fill())\n .map((row) => row.map(() => '\\\\/'[+(Math.random() > 0.5)]).join(''))\n .join('\\n'),\n);\n","tags":["variation"],"aftlinks":["variation.md"]},{"title":"10-print.3.js","text":"// 10 PRINT CHR$(205.5+RND(1)); : GOTO 10\n\n(function tenPrint(maze = '') {\n try {\n maze = tenPrint(maze + '\\\\/'[+(Math.random() > 0.5)]);\n } catch (_) {\n console.log(maze);\n }\n})();\n","tags":["variation"],"aftlinks":["variation.md"]},{"title":"10-print.4.js","text":"// 10 PRINT CHR$(205.5+RND(1)); : GOTO 10\n\nlet maze = '';\nwhile (maze.length < 5000) {\n maze += '\\\\/'[+(Math.random() > 0.5)];\n}\nconsole.log(maze);\n","tags":["variation"],"aftlinks":["variation.md"]},{"title":"10-print.6.mjs","text":"import { projector } from './projector.mjs';\n\nconst FRAMES = 10;\n\nconst HEIGHT = 25;\nconst WIDTH = 50;\n\nfunction* tenPrintPrintTen() {\n for (let f = 0; f < FRAMES; f++) {\n let maze = '';\n for (let i = 0; i < HEIGHT; i++) {\n for (let j = 0; j < WIDTH; j++) {\n maze += '\\\\/'[+(Math.random() > 0.5)];\n }\n maze += '\\n';\n }\n yield maze;\n }\n}\n\nprojector(tenPrintPrintTen, { frameRate: 1 });\n","tags":["variation"],"forelinks":["projector.mjs"],"aftlinks":["variation.md"]},{"title":"ESi.md","text":"# ℂ.js = ES(n + i)\n\nWhy [wait 6 years](https://github.com/tc39/proposal-pipeline-operator/issues/91) for a\nreal language feature? Have an imaginary one today.\n","tags":["metappet","esi"],"alt":"Don't make things complex, keep it real.","metalinks":["declare-morf.js","declare-tag.js"]},{"title":"README.md","text":"# Snippets\n\nWhat can you do with under 40(ish) lines at a time?\n","tags":["metappet"],"alt":"More interesting than useful."},{"title":"accessible-credit-card-form.html","text":"\n\n
\n

Accessible Credit Card Form

\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n
\n
\n
\n\n\n\n\n","tags":["coaithored"]},{"title":"all-medium.md","text":"They *intended* to write. They really did.\n\nBut more fluently came *how* to write, *how* to display, *how* to convey.\n\nBefore there was a **what** there were [empty](./empty.json) [vehicles](./empty.yaml)\n[crewed by a token](./be.txt):\n\n* [dusty](./story-in-a-story.mjs)\n* [unused](./log.mjs)\n* [unfinished](./funsole.mjs)\n* [ill-defined](./cat-detector.psu)\n","tags":["metappet"],"forelinks":["be.txt","cat-detector.psu","empty.json","empty.yaml","funsole.mjs","log.mjs","story-in-a-story.mjs"],"alt":"no message"},{"title":"all-the-chars.js","text":"const allTheChars = [];\n\nlet i = 0;\nlet next = '';\n\nwhile (!allTheChars.includes(next)) {\n allTheChars.push(next);\n next = String.fromCharCode(i++);\n}\n\nconsole.log(allTheChars.join(''));\n"},{"title":"all-the-reals.mjs","text":"import _ from './executable-pseudocode.mjs';\nconst { OrderedSet, Element } = _;\n\nconst reals = new OrderedSet((a, b) => a.getValue() < b.getValue());\nconst zero = new Element(0);\nconst one = new Element(1);\n\nreals.add(zero);\nreals.add(one);\naddBetween(reals)(zero, one);\n\ncantorize(reals);\n\nconsole.log(...reals);\n\n// --- --- --- --- --- ---\n\nfunction addBetween(set) {\n return function addingBetween(left, right) {\n const middle = new Element((left.getValue() + right.getValue()) / 2);\n if (!set.has(middle)) {\n set.add(middle);\n addingBetween(left, middle);\n addingBetween(middle, right);\n }\n };\n}\n\nfunction cantorize(incomplete, i = 0) {\n const numberToCheck = incomplete.getByOrder(i).getValue();\n numberToCheck[i] = numberToCheck[i] + 1;\n const maybeMissing = new Element(numberToCheck);\n if (!incomplete.has(maybeMissing)) {\n incomplete.add(maybeMissing);\n cantorize(incomplete, i + 1);\n }\n}\n","forelinks":["executable-pseudocode.mjs"]},{"title":"be.canvas.html","text":" \n\n\n","tags":["variation"],"aftlinks":["be.md","variation.md"]},{"title":"be.css","text":".be,\nbody {\n background: linear-gradient(\n 90deg,\n rgb(0, 0, 0) 33.33vw,\n rgb(255, 233, 54) 33.33vw,\n rgb(255, 233, 54) 66.66vw,\n rgb(255, 15, 33) 66.66vw\n );\n}\n","tags":["variation"],"aftlinks":["be.md","variation.md"]},{"title":"be.css.html","text":"\n\n\n
\n
\n
\n
\n
\n\n","tags":["variation"],"aftlinks":["be.md","variation.md"]},{"title":"be.de.txt","text":"SSSSSSSGGGGGGGRRRRRRR\nSSSSSSSGGGGGGGRRRRRRR\nSSSSSSSGGGGGGGRRRRRRR\nSSSSSSSGGGGGGGRRRRRRR\nSSSSSSSGGGGGGGRRRRRRR\n","tags":["variation"],"aftlinks":["be.md","flag-translator.mjs","variation.md"]},{"title":"be.en.txt","text":"BBBBBBBYYYYYYYRRRRRRR\nBBBBBBBYYYYYYYRRRRRRR\nBBBBBBBYYYYYYYRRRRRRR\nBBBBBBBYYYYYYYRRRRRRR\nBBBBBBBYYYYYYYRRRRRRR\n","tags":["variation"],"aftlinks":["be.md","flag-translator.mjs","variation.md"]},{"title":"be.flip.js","text":"console.log('%câ†ș 90°', 'font-weight: bold; font-size: xx-large;');\n\nfor (const color of ['black', 'yellow', 'red']) {\n const bar = [];\n for (let width = 0; width < 10; width++) {\n let column = '';\n for (let height = 0; height < 35; height++) {\n column += ' ';\n }\n bar.push(column);\n }\n console.log(`%c${bar.join('\\n')}`, `background-color: ${color};`);\n}\n","tags":["variation"],"aftlinks":["be.md","variation.md"]},{"title":"be.fr.txt","text":"NNNNNNNJJJJJJJRRRRRRR\nNNNNNNNJJJJJJJRRRRRRR\nNNNNNNNJJJJJJJRRRRRRR\nNNNNNNNJJJJJJJRRRRRRR\nNNNNNNNJJJJJJJRRRRRRR\n","tags":["variation"],"aftlinks":["be.md","flag-translator.mjs","variation.md"]},{"title":"be.html","text":"\n\n \n \n BE\n \n \n \n
\n
\n
\n \n \n\n","tags":["variation"],"aftlinks":["be.md","variation.md"]},{"title":"be.js","text":"console.log( '%c %c %c ',\n 'background-color: black;', \n 'background-color: yellow;',\n 'background-color: red;',\n);","tags":["variation"],"aftlinks":["be.md","variation.md"]},{"title":"be.json","text":"{\n \"de\": [\"schwarz\", \"gelb\", \"rot\"],\n \"en\": [\"black\", \"yellow\", \"red\"],\n \"fr\": [\"noir\", \"jaune\", \"rouge\"],\n \"nl\": [\"zwart\", \"geel\", \"rood\"]\n}\n","tags":["variation"],"aftlinks":["be.md","variation.md"]},{"title":"be.md","text":"# Belgium\\*!\n","tags":["metappet","variation","1-liner"],"alt":"* BelgiĂ«, Belgique, Belgien","metalinks":["be.canvas.html","be.css","be.css.html","be.de.txt","be.en.txt","be.flip.js","be.fr.txt","be.html","be.js","be.json","be.nl.txt","be.py","be.svg","be.txt","be.yaml"],"aftlinks":["variation.md"]},{"title":"be.nl.txt","text":"ZZZZZZZGGGGGGGRRRRRRR\nZZZZZZZGGGGGGGRRRRRRR\nZZZZZZZGGGGGGGRRRRRRR\nZZZZZZZGGGGGGGRRRRRRR\nZZZZZZZGGGGGGGRRRRRRR\n","tags":["variation"],"aftlinks":["be.md","flag-translator.mjs","variation.md"]},{"title":"be.py","text":"print('🇧đŸ‡Ș')","tags":["variation","1-liner"],"aftlinks":["be.md","variation.md"]},{"title":"be.svg","text":"\n\n \n\n \n\n \n\n\n","tags":["variation"],"aftlinks":["be.md","variation.md"]},{"title":"be.txt","text":"🇧đŸ‡Ș","tags":["variation","1-liner"],"aftlinks":["all-medium.md","be.md","variation.md"]},{"title":"be.yaml","text":"de:\n - schwarz\n - gelb\n - rot\nen:\n - black\n - yellow\n - red\nfr:\n - noir\n - jaune\n - rouge\nnl:\n - zwart\n - geel\n - rood\n","tags":["variation"],"aftlinks":["be.md","variation.md"]},{"title":"breathless.html","text":"\n\n
\n\n\n\n\n\n","tags":["wellbeing","variation"],"aftlinks":["variation.md"]},{"title":"breathless.js","text":"(function breathless(slowness = 500, slowerness = 1.01) {\n const breath = setTimeout(breathless, (slowness *= slowerness), slowness);\n console.log(['hold', 'breath in', 'hold', 'breath out'][breath % 4]);\n})();\n\n// tags: wellbeing\n","tags":["wellbeing","variation"],"aftlinks":["variation.md"]},{"title":"bunny.md","text":"# 🐰\n\nIf drawing rabbits (🐇) in JavaScript means copying\n[patterns out of books](./the-fun-parts.md) or mimicking specific styles from blogs,\ndrawing bunnies (🐰) is about experimentation and creative expression\n\nTo draw a 🐰 is to pervert the conventions of the language. To draw your breath or to get\nit all out as fast as possible. It’s an exercise in discovering and pushing the bounds of\nyour understanding of the language. It’s about reinforcing and challenging JavaScript as a\ncraft.\n\nIn drawing JavaScript 🐰s, you’re always at play. And you’re getting better.\n\n* [Jacob Thornton](https://github.com/fat) from\n [*How to draw a Bunny*](https://www.oreilly.com/library/view/beautiful-javascript/9781449371142/ch03.html)\n","tags":["metappet","🐰"],"forelinks":["the-fun-parts.md"],"aftlinks":["cat-detector.js.md"]},{"title":"callout-stack.js","text":"const calloutStack = (msg = '') =>\n eval(msg.split('').reduce((acc, next) => `(${next} = () => ${acc})()`, msg));\n\ncalloutStack('jenga');\n\n// tags: useless\n","tags":["useless"]},{"title":"can-not-even.mjs","text":"import { describe, it } from './testing.mjs';\n\nconst canNotEven = (maybe, strict) =>\n strict && typeof maybe !== 'number'\n ? maybe\n : maybe % 2 === 0\n ? even(maybe)\n : maybe;\n\ndescribe('canNotEven: can not even', () => {\n describe('sort of', () => {\n it('can odd numbers', () => canNotEven(1));\n it('can odd strings', () => canNotEven('1'));\n it('can odd number objects', () => canNotEven(new Number(1)));\n\n it('can not even numbers', () => canNotEven(2));\n it('can not even strings', () => canNotEven('2'));\n it('can not even number objects', () => canNotEven(new Number(2)));\n });\n describe('exactly', () => {\n it('can odd numbers', () => canNotEven(1, true));\n it('can odd strings', () => canNotEven('1', true));\n it('can even strings', () => canNotEven('2', true));\n it('can odd number objects', () => canNotEven(new Number(1), true));\n it('can even number objects', () => canNotEven(new Number(2), true));\n\n it('can not even numbers', () => canNotEven(2, true));\n });\n});\n\nfunction even(number) {\n (function not() {\n (function can() {\n throw new Error(`can not ${number}`);\n })();\n })();\n}\n\n// tags: remix\n// inspiration: https://github.com/blakek/cannot-even\n","tags":["remix"],"forelinks":["testing.mjs"]},{"title":"cat-detector.ascii.html","text":"cat detector\n\n\n\n\n\n
\n\n\n","tags":["variation"],"aftlinks":["cat-detector.js.md","variation.md"]},{"title":"cat-detector.ascii.txt","text":" |  _ _|_   o ._  ._     _|_   --   ._      | | o                                                    \n | (/_ |_   | | | |_) |_| |_   --   | | |_| | | o                                                    \n                  |                             /                                                    \n\n\n                                                                        ,-                           \n      |_  o |  _     / o ._  ._     _|_   | -- --   / _  _. _|_ / \\    _|                            \n \\/\\/ | | | | (/_   |  | | | |_) |_| |_   o -- --    (_ (_|  |_    |    |                            \n                     \\       |                                    /     `-                           \n                                                                                                     \n    o ._  ._     _|_   --   ._  ._ _  ._ _  ._ _|_  / / || _  _. _|_ ||   ._  |  _   _.  _  _ / \\  o \n    | | | |_) |_| |_   --   |_) | (_) | | | |_) |_ |      (_ (_|  |_      |_) | (/_ (_| _> (/_   | o \n          |                 |               |       \\                     |                     /  / \n -.                                                                                                  \n  |_                                                                                                 \n  |                                                                                                  \n -'                                                                                                  \n\n\n                                                           _                                         \n  _. |  _  ._ _|_  / / _|_ |_   _. ._  |        _        _|_ _  ._   _|_ |_   _     _  _. _|_ / \\  o \n (_| | (/_ |   |_ |     |_ | | (_| | | |<   \\/ (_) |_|    | (_) |     |_ | | (/_   (_ (_|  |_    | o \n                   \\                        /                                                   /  / \n\n","tags":["variation"],"aftlinks":["cat-detector.js.md","variation.md"]},{"title":"cat-detector.be.js","text":"                   ;;                                            ;;\n                  ;;;;                                          ;;;;\n                 ;   ;;                                        ;;   ;\n                ;      ;                                     ;;     ;\n                ;       ;;                                  ;;     ;;\n                ;        ;;                                ;;      ;;\n                ;;  ;;;   ;;   ;;;;;;        ;;;;;;;;;;;  ;;   ;;  ;;\n                ;;  ;;;;   ;;;;;    ;;;;  ;;;;;        ;;;;  ;;;;; ;;\n                ;;  ;;;;;;;;          ;;  ;;               ;;;;;;  ;;\n                ;;  ;;;;;;              ;;;                 ;;;;;  ;;\n                ;;  ;;;;                ;;                   ;;;;  ;;\n                ;;  ;;;             ;;;;;; ;;;;               ;;;  ;;\n                ;  ;;;            ;;   ;;;;   ;;               ;;  ;\n                ;  ;;             ;;   ;;;;   ;;               ;;  ;\n                ;  ;;              ;;;;;;;;;;;;;;;             ;;  ;\n                ;  ;;            ;;;;;           ;;;;;;       ;;  ;;\n                ;  ;;;       ;;;;;                     ;;;  ;;;;  ;;\n                ;  ;;;;   ;;;;                             ;;;;;  ;;\n                ;  while  (                                   prompt\n                ('le  ...'                                     )  !=\n               'chat'  )                                        ;;  ;\n              ;;;    ;;                                          ;   ;;\n            ;;      ;;                                           ;;    ;\n            ;;      ;;                                            ;     ;\n          ;;        ;                                             ;      ;\n          ;;        ;                                             ;       ;;\n        ;;;;        ;;                                           ;;       ;; ;\n      ;; ;;   ;;;;;;;;                                          ;;;;;;;   ;;  ;;\n    ;;;  ;;          ;;                                        ;;         ;;    ;;\n    ;;    ;;           ;;                                    ;;;          ;;     ;;\n  ;;;      ;;            ;;;                              ;;;;           ;;       ;;\n ;;        ;;              ;;;                       ;;;;;              ;;         ;;\n ;;          ;;               ;;;;;;;;;;;;;;;;;;;;;;;                  ;;;          ;\n;;            ;;;;                                                    ;;;          ;;\n;;            ;;  ;;                                               ;;;;            ;;\n ;;           ;;;   ;;;;                                        ;;;;;             ;;\n ;;            ;;       ;;;;                                 ;;;; ;;              ;;\n  ;;           ;;           ;;;;;                   ;;;;;;;;;;   ;;              ;;\n  ;;            ;               ;;;;;;;;;;;;;;;;;;;;;           ;;               ;;\n   ;;           ;;                                             ;;               ;\n\n// tags: le chat","tags":["le chat","variation"],"aftlinks":["cat-detector.js.md","variation.md"]},{"title":"cat-detector.cat.js","text":"                ;                   ;                \n               ; ;                 ; ;               \n              ;   ;               ;   ;              \n             ;     ; ; ; ; ; ; ; ;     ;             \n            ;                           ;            \n           ;                             ;           \n          ;        cat=       null        ;          \n         ;                                 ;         \n         ;                                 ;         \n/*------*/      while (cat !== 'cat')      /*------*/\n/*------*/       cat=         prompt       /*------*/\n /*------*/        ('cat, please')        /*------*/ \n            ;                           ;            \n              ;                       ;              \n                 ; ; ; ; ; ; ; ; ; ;                 \n","tags":["variation"],"aftlinks":["cat-detector.js.md","variation.md"]},{"title":"cat-detector.eval.js","text":"alert(eval(detector = \n  \"((cat = prompt('cat')), cat == 'cat') \" +\n\t\t\"? cat : eval(detector)\"));","tags":["variation"],"aftlinks":["cat-detector.js.md","variation.md"]},{"title":"cat-detector.evbl.js","text":"alert((detector = () => (((cat = prompt('cat')), cat == 'cat') ? cat : detector()))());\n","tags":["variation","1-liner"],"aftlinks":["cat-detector.js.md","variation.md"]},{"title":"cat-detector.golf.js","text":"(c=(i=prompt('\"cat\" please'),t='cat'\n   ==i.toLowerCase())=>(alert(i? \n    `${t?'thank you for the ':  \n     '\"cat\" is not '}\"${i}\"`:   \n      'there is no escape')     \n          // tags: golf         \n           ,t||c()))()           ","tags":["golf","variation"],"aftlinks":["cat-detector.js.md","variation.md"]},{"title":"cat-detector.js.md","text":"# Cat Detector\n\nOn the surface, a cat detector is a just simple program:\n\n* First it asks you for a cat:\n  ```js\n  let input = prompt('cat, please');\n  ```\n* Then it checks if you gave it a cat:\n  ```js\n  const isCat = input === 'cat';\n  ```\n* If did give it a cat, the detector is satisfied:\n  ```js\n  if (isCat) alert('thank you for the cat');\n  ```\n* Otherwise it keeps asking you for a cat until you give it one:\n  ```js\n  else {\n  \twhile (input !== 'cat') input = prompt('still not a cat. \\n\\ncat, please');\n  ```\n* When you're done out-stubborning a computer, the program ends:\n  ```js\n  \talert('finally, a cat.');\n  }\n  ```\n\nBut really, a cat detector is an excuse to [draw a bunny](./bunny.md).\n","tags":["metappet","variation"],"forelinks":["bunny.md"],"subtext":"cat-detector.js.md.st.js","metalinks":["cat-detector.ascii.html","cat-detector.ascii.txt","cat-detector.be.js","cat-detector.cat.js","cat-detector.eval.js","cat-detector.evbl.js","cat-detector.golf.js","cat-detector.js.md.st.js","cat-detector.polyfill.mjs","cat-detector.psu","cat-detector.scm.js","cat-detector.scm.json","cat-detector.spoken.mjs","cat-detector.svg","cat-detector.vars.js","cat-detector.wc.html","cat_detector.1.py","cat_detector.1.py.js","cat_detector.2.py","cat_detector.2.py.js"],"aftlinks":["variation.md"]},{"title":"cat-detector.polyfill.mjs","text":"import './detector-string-polyfill.js';\n\n'cat'.detect('mixed');\n","tags":["variation"],"forelinks":["detector-string-polyfill.js"],"aftlinks":["cat-detector.js.md","variation.md"]},{"title":"cat-detector.psu","text":"maybe <- null\n\nWHILE maybe IS NOT \"cat\"\n  maybe <- INPUT \"cat please\"\n  DISPLAY helpful feedback\nEND WHILE\n\nDISPLAY \"thank you for the cat\"\n","tags":["variation"],"aftlinks":["all-medium.md","cat-detector.js.md","variation.md"]},{"title":"cat-detector.scm.js","text":"(\"define\", (\"get a cat\", \"message\"),\n  ((\"define\", \"maybe\", (\"*log\", \"prompt\", \"message\")),\n  (\"cond\",\n    ((\"=\", \"maybe\", null),\n      ((\"alert\", \"there is no escape\"), (\"get a cat\", \"message\"))),\n    ((\"not\", (\"=\", \"maybe\", \"cat\")),\n      ((\"alert\", (\"+\", \"'\", \"maybe\", \"' is not cat\")), (\"get a cat\", \"message\"))),\n    (\"else\", (\"maybe\")))));\n\n(\"get a cat\", \"'cat' please\");\n\n(\"alert\", \"thank you for the cat\");\n\n","tags":["variation"],"aftlinks":["cat-detector.js.md","variation.md"]},{"title":"cat-detector.scm.json","text":"[\n  [\"define\", [\"get a cat\", \"message\"],\n    [[\"define\", \"maybe\", [\"*log\", \"prompt\", \"message\"]],\n    [\"cond\",\n      [[\"=\", \"maybe\", null],\n        [[\"alert\", \"there is no escape\"], [\"get a cat\", \"message\"]]],\n      [[\"not\", [\"=\", \"maybe\", \"cat\"]],\n        [[\"alert\", [\"+\", \"'\", \"maybe\", \"' is not cat\"]], [\"get a cat\", \"message\"]]],\n      [\"else\", [\"maybe\"]]]]],\n\n  [\"get a cat\", \"'cat' please\"],\n\n  [\"alert\", \"thank you for the cat\"]\n]\n","tags":["variation"],"aftlinks":["cat-detector.js.md","variation.md"]},{"title":"cat-detector.spoken.mjs","text":"import { theArrivalOf } from './introducing.mjs';\n\nconst voice = 'Tessa';\nlet volume = 0.4;\n\nconst _The_Inspector_ = await theArrivalOf('The Inspector', { voice, volume });\n\nawait _The_Inspector_(\n  'In a moment you will be prompted to enter some text, please type \"cat\".',\n);\n\nwhile (true) {\n  const maybeACat = prompt();\n\n  if (maybeACat?.toLowerCase() === 'cat') {\n    await _The_Inspector_('Thank you for following directions, you may leave now.', {\n      volume: 0.4,\n    });\n    break;\n  }\n\n  if (maybeACat === null) {\n    await _The_Inspector_('there is no escape');\n  } else if (maybeACat?.toLowerCase() !== 'cat') {\n    await _The_Inspector_(`\"${maybeACat}\" is most certainly not a cat.  Try again.`, {\n      volume,\n    });\n  }\n  volume += 0.1;\n\n  if (volume > 1) {\n    _The_Inspector_(\"I'm done with this.\", { volume: 0.4 });\n    break;\n  }\n}\n","tags":["variation"],"forelinks":["introducing.mjs"],"aftlinks":["cat-detector.js.md","variation.md"]},{"title":"cat-detector.svg","text":"\n  \n  \n    let input = null;\n    while (input !== null) {\n      input = prompt('\"cat\" please');\n    }\n    alert('thank you for the cat');\n    \n  \n\n\n\n\n\n","tags":["coaithored","variation"],"aftlinks":["cat-detector.js.md","variation.md"]},{"title":"cat-detector.vars.js","text":"const variableNames = new Proxy({}, {\n  has() { return true; },\n  get(_, key) {\n    if (key in globalThis) {\n      const globalValue = globalThis[key];\n      return typeof globalValue === 'function'\n        ? globalValue.bind(globalThis)\n        : globalValue;\n    } else {\n      return key;\n    }\n  },\n});\n\nwith (variableNames) {\n  while (true) {\n    const maybeCat = prompt(Cat_please + ', ' + upper_or_lower_case + '.');\n\n    if (maybeCat === null) {\n      alert(There_is_no_escape + '.');\n    } else if (maybeCat.toLowerCase() === cat.toLowerCase()) {\n      alert(Thank_you_for_the_ + maybeCat + '.');\n      break;\n    } else {\n      alert(maybeCat + _is_not_a_cat + ', ' + try_again + '.');\n    }\n  }\n}\n\n// tags: the fun parts","tags":["the fun parts","variation"],"aftlinks":["cat-detector.js.md","the-fun-parts.md","variation.md"]},{"title":"cat-detector.wc.html","text":"cat detector\n\n\n\n\n","tags":["variation"],"forelinks":["detector-wc-factory.mjs"],"aftlinks":["cat-detector.js.md","variation.md"]},{"title":"cat-i-farted.js","text":"const chatGPT = new SpeechSynthesisUtterance('chat, GPT');\nchatGPT.lang = 'fr-FR';\nchatGPT.rate = 0.9;\nspeechSynthesis.speak(chatGPT); // cat, I farted\n","tags":["variation"],"aftlinks":["variation.md"]},{"title":"cat-i-farted.mjs","text":"import { _Spoken_, _unspoken_ as cat } from './executable-comment.mjs';\nnew _Spoken_({ lang: 'fr-FR' }).\n\nchat.GPT == cat.I.farted\n","tags":["variation"],"forelinks":["executable-comment.mjs"],"aftlinks":["variation.md"]},{"title":"cat_detector.1.py","text":"maybe_a_cat = input('please enter \"cat\": ')\n\nif maybe_a_cat.lower() == \"cat\":\n    print(\"thank you for the cat\")\nelse:\n    print(f'\"{maybe_a_cat}\" is not a cat')\n","tags":["variation"],"aftlinks":["cat-detector.js.md","variation.md"]},{"title":"cat_detector.1.py.js","text":"maybe_a_cat = prompt('please enter \"cat: ')\n\nif (maybe_a_cat?.toLowerCase() == 'cat')\n  alert('thank you for the cat')\nelse\n  alert(`\"${maybe_a_cat}\" is not a cat`)\n","tags":["variation"],"aftlinks":["cat-detector.js.md","variation.md"]},{"title":"cat_detector.2.py","text":"maybe_a_cat = input('please enter \"cat\": ')\n\nwhile (maybe_a_cat.lower() != \"cat\"): \n    maybe_a_cat = input('not a cat, try again: ')\n\nprint('thank you for the cat')","tags":["variation"],"aftlinks":["cat-detector.js.md","variation.md"]},{"title":"cat_detector.2.py.js","text":"maybe_a_cat = prompt('please enter \"cat\": ')\n\nwhile (maybe_a_cat?.toLowerCase() != \"cat\") \n    maybe_a_cat = prompt('not a cat, try again: ')\n\nalert('thank you for the cat')","tags":["variation"],"aftlinks":["cat-detector.js.md","variation.md"]},{"title":"center.css","text":"body {\n  position: fixed;\n  top: 50%;\n  left: 50%;\n  transform: translate(-50%, -50%);\n}\n\n/* tags: useful */\n"},{"title":"cest-pas-faux.js","text":"console.assert(this != false /* ouais */, \"c'est pas faux\");\n\n// tags: tribute\n","tags":["tribute","1-liner"]},{"title":"chickeneighbor.js","text":"alert('You: Why did the chicken cross the road?');\n\nalert('Me: ' + atob('VG8gdmlzaXQgdGhlIG1vcm9uIG9uIHRoZSBvdGhlciBzaWRlLg=='));\n\nsetTimeout(function metapunchline() {\n  alert('Me: < knock knock >');\n\n  alert(\"You: Who's there?\");\n\n  alert('Me: ' + atob('Q2hpY2tlbmVpZ2hib3Ih'));\n}, 20000);\n\n// tags: joke\n","tags":["joke"]},{"title":"chronicle.mjs","text":"import { clone, compare, freeze } from './deep.mjs';\n\nexport const chronicle = (\n  actor,\n  { mutation = false, recordThis = false, cloneThis = false } = {},\n) => {\n  const acts = [];\n  return new Proxy(actor, {\n    apply(target, thisVal, args) {\n      acts.push({ act: 'call', args: clone(args) });\n      if (recordThis) entry.this = cloneThis ? clone(thisVal) : thisVal;\n      try {\n        return (acts.at(-1).return = Reflect.apply(target, thisVal, args));\n      } catch (error) {\n        throw (acts.at(-1).error = error);\n      } finally {\n        if (mutation && !compare(args, acts.at(-1).args)) acts.at(-1).mutation = args;\n      }\n    },\n    get(target, key) {\n      if (key === '_chronicle') return freeze(clone(acts));\n      if (key === '_forget') {\n        const echo = clone(acts);\n        while (acts.length > 0) acts.pop();\n        return echo;\n      }\n      acts.push({ act: 'get', [key]: target[key] });\n      return target[key];\n    },\n    set(target, key, value, _) {\n      if (key === '_chronicle' || key === '_forget') return true;\n      target[key] = value;\n      acts.push({ act: 'set', [key]: value });\n      return true;\n    },\n  });\n};\n\nexport default chronicle;\n\n// tags: minibrary\n","tags":["minibrary"],"forelinks":["deep.mjs"],"aftlinks":["minibrary.md","non-sequitur.mjs","tintin.0.mjs","tintin.1.mjs","tintin.2.mjs","tintin.3.mjs","tintin.4.mjs"]},{"title":"classy-curry.js","text":"const classy = (Thing, { args = [], length = Thing.length } = {}) =>\n  function curry(arg) {\n    return args.length === length - 1\n      ? new Thing(...args, arg)\n      : classy(Thing, { args: args.concat(arg) });\n  };\n\n// ---   ---   ---   ---   ---   ---   ---\n\nclass TrafficRules {\n  constructor(optional, flexible, creative) {\n    this.optional = optional;\n    this.flexible = flexible;\n    this.creative = creative;\n  }\n  get description() {\n    return `The traffic rules here are${\n\t\t\tthis.creative ? '' : 'not '} creative,${\n      this.flexible ? '' : 'not '} flexible, and${\n\t\t\tthis.optional ? '' : 'not '} optional.`;\n  }\n}\n\nconsole.log(\n\tclassy(TrafficRules)(true)(true)(true).description\n);\n\n// tags: wuzzle","tags":["wuzzle"]},{"title":"coAIthored.md","text":"# CoAIthored\n\nCo-authored with AI.\n\n\n"},{"title":"code-is-text.txt.css","text":".token { color: black !important; }\n","tags":["1-liner"]},{"title":"cookies.js","text":"alert(`Allow Cookies:\n\nThis site uses cookies to improve our business experience.\n\n- to allow click [OK] \n- to reject click [CANCEL] \n`);\n"},{"title":"curry.mjs","text":"export const curry = (fn, arity = fn.length, all = []) =>\n  function currying(...next) {\n    all.push(...next);\n    return all.length === arity ? fn(...all) : currying;\n  };\n","aftlinks":["fp.mjs"]},{"title":"declare-morf.js","text":"/* --- morf: a variable that must be reassigned ---\n\n\terrors at creation-phase if the variable is not reassigned\n\tit can be declared without initialization \n\n*/\n\nmorf a; \n\na = 1;\n\na += 1;\n\nmorf b = a + 1 // SyntaxError: morf b is never reassigned\n\nconsole.log(b); // never executed\n\n// tags: ESi","tags":["esi"],"aftlinks":["ESi.md"]},{"title":"declare-tag.js","text":"/* --- tag: it's value is it's name as a string ---\n\n\tread-only\n\n\terrors at creation-phase\n\t\tif it is initialized\n\t\tif the variable is (re)assigned\n\t\t\n*/\n\n// tag potato = 1; // SyntaxError: tag potato cannot be initialized\n\ntag potato;\n\nalert(`potato${potato}`); // potatopotato\n\nconsole.log(potato === 'potato'); // true\n\n// potato += '!'; // SyntaxError: tag potato cannot be assigned\n\n\n// tags: ESi","tags":["esi"],"aftlinks":["ESi.md"]},{"title":"declenche.html","text":"\n\n\n"},{"title":"deep-clone.mjs","text":"export const deepClone = (src, clonesMap = new Map()) => {\n  if (clonesMap.has(src)) return clonesMap.get(src);\n\n  let clone = src;\n\n  if (typeof src === 'function' || Object(src) !== src) {\n    clone = src;\n  } else if (src instanceof Date) {\n    clone = new Date(src.getTime());\n  } else if (src instanceof RegExp) {\n    clone = new RegExp(src);\n  } else if (Array.isArray(src)) {\n    clone = src.map((item) => deepClone(item, clonesMap));\n  } else if (src instanceof Error) {\n    clone = new src.constructor(src.message);\n    clone.stack = src.stack;\n  } else if (src instanceof Object) {\n    clone = Object.create(src.__proto__);\n    for (const key in src) clone[key] = deepClone(src[key], clonesMap);\n  }\n\n  clonesMap.set(src, clone);\n\n  return clone;\n};\n\nexport default deepClone;\n\n// tags: useful\n","tags":["useful"],"aftlinks":["deep.mjs"]},{"title":"deep-compare.mjs","text":"export const deepCompare = (actual, expected) =>\n  actual === expected ||\n  Object.is(actual, expected) ||\n  (Object(actual) === actual &&\n    Object(expected) === expected &&\n    ((Array.isArray(actual) &&\n      Array.isArray(expected) &&\n      actual.length === expected.length &&\n      expected.every((expected, index) => deepCompare(actual[index], expected))) ||\n      (Object.keys(actual).length === Object.keys(expected).length &&\n        Object.keys(expected).every((key) => deepCompare(actual[key], expected[key])))));\n\nexport default deepCompare;\n\n// tags: useful, testing\n","tags":["testing","useful"],"aftlinks":["deep.mjs","expect.mjs"]},{"title":"deep-freeze.mjs","text":"export const deepFreeze = (thing) => {\n  if (Array.isArray(thing)) {\n    thing.forEach(deepFreeze);\n    return Object.freeze(thing);\n  }\n\n  if (typeof thing === 'object' && thing !== null) {\n    Object.values(thing).forEach(deepFreeze);\n    return Object.freeze(thing);\n  }\n\n  return thing;\n};\n\nexport default deepFreeze;\n\n// tags: useful\n","tags":["useful"],"aftlinks":["deep.mjs"]},{"title":"deep.mjs","text":"import { deepClone as clone } from './deep-clone.mjs';\nimport { deepCompare as compare } from './deep-compare.mjs';\nimport { deepFreeze as freeze } from './deep-freeze.mjs';\n\nexport {  clone,  compare, freeze };\nexport default {  clone,  compare, freeze };\n\n// tags: useful, minibrary\n","tags":["minibrary","useful"],"forelinks":["deep-clone.mjs","deep-compare.mjs","deep-freeze.mjs"],"aftlinks":["chronicle.mjs","minibrary.md"]},{"title":"demethod.mjs","text":"const prefixName = (prefix, name) => `${prefix}${/[^\\$\\_]/i.test(prefix.at(-1))\n      ? `${name[0].toUpperCase()}${name.slice(1, name.length)}`\n      : name}`;\n\nexport const demethod = (\n  toDemethod = {},\n  { me = false, statics = false, inherited = true, prefix = '', target = {} } = {},\n) => {\n  if (Array.isArray(toDemethod)) {\n    return toDemethod.map((x) => demethod(x, { target, statics, inherited, prefix }));\n  }\n  if (me) {\n    const name = prefixName(prefix, toDemethod.name);\n    return { [name]: (that, ...args) => toDemethod.call(that, ...args) }[name];\n  }\n\n  const toWrap = [];\n  if (statics) {\n    toWrap.push(...Reflect.ownKeys(toDemethod).map((key) => \n      [key, toDemethod[key], false]\n    ));\n  }\n  if (inherited && toDemethod.prototype) {\n    toWrap.push(...Reflect.ownKeys(toDemethod.prototype).map((key) => \n      [ key, toDemethod.prototype[key], true]\n    ));\n  }\n  for (const [name, value, isMethod] of toWrap) {\n    if (typeof name !== 'string' || name === 'constructor') continue;\n    if (typeof value !== 'function') continue;\n    \n    const pseudonym = prefix ? prefixName(prefix, name) : name;\n    target[pseudonym] = isMethod ? (that, ...args) => value.call(that, ...args) : value;\n  }\n\n  return target;\n};\n\nexport default demethod;\n\n// tags: minibrary\n","tags":["minibrary"],"aftlinks":["minibrary.md","training-wheels.mjs"]},{"title":"describe-it.mjs","text":"const _console_ = console;\n\nexport const describe = (name = '', testFunction = () => {}) => {\n  _console_.group(`%c${name}`, 'font-weight: bold;');\n  try {\n    testFunction();\n  } catch (err) {\n    _console_.error('%cSUITE ERROR:', 'font-weight: bold;', err);\n  }\n  _console_.groupEnd();\n};\nexport const suite = describe;\n\nexport const it = (name = '', testFunction = () => {}) => {\n  const out = Object.assign({}, _console_);\n  const callOuts = [];\n  Object.keys(_console_).forEach(\n    (key) => (_console_[key] = (...args) => callOuts.push({ key, args })),\n  );\n  let thrown = null;\n  try {\n    testFunction();\n  } catch (err) {\n    thrown = err;\n  }\n  if (thrown) out.groupCollapsed(`%c✖ NO: ${name}`, 'font-weight: bold; color: red;');\n  else out.log(`%c√ YES: ${name}`, 'font-weight: bold; color: green;');\n  callOuts.forEach((callOut) => out[callOut.key](...callOut.args));\n  thrown && out.error(thrown);\n  (thrown || callOuts.length > 0) && out.groupEnd();\n  Object.assign(_console_, out);\n};\nexport const test = it;\n\nexport default { describe, suite, it, test };\n\n// tags: testing, minibrary\n","tags":["minibrary","testing"],"aftlinks":["minibrary.md","testing.mjs"]},{"title":"detector-string-polyfill.js","text":"String.prototype.detect = function detect(comparison = 'strict') {\n  const isNotDetected =\n    comparison === 'strict'\n      ? (input = '') => input !== this\n      : comparison == 'loose'\n      ? (input = '') => input != this\n      : comparison === 'mixed'\n      ? (input = '') => input?.toLowerCase() !== this\n      : (input = '') => !new RegExp(this, comparison).test(input);\n\n  while (isNotDetected(prompt(`\"${this}\" please:`)));\n\n  alert(`Thank you for \"${this}\"`);\n};\n\n// tags: polyfill","tags":["polyfill"],"aftlinks":["cat-detector.polyfill.mjs"]},{"title":"detector-wc-factory.mjs","text":"export const detectorWCFactory = (thing = 'cat') =>\n  class CatDetector extends HTMLElement {\n    constructor() {\n      super();\n\n      const input = document.createElement('input');\n      input.placeholder = thing;\n      input.style.width = `${thing.length}ch`;\n\n      const purpose = `detect \"${thing}\"`;\n      input.addEventListener(\n        'input',\n        {\n          [purpose]: () => {\n            for (let i = 0; i < input.value.length; i++) {\n              if (thing[i] !== input.value[i]) {\n                input.value = '';\n              }\n            }\n          },\n        }[purpose],\n      );\n\n      this.appendChild(input);\n    }\n  };\n\nexport default detectorWCFactory;\n\n// tags: minibrary\n","tags":["minibrary"],"aftlinks":["cat-detector.wc.html","minibrary.md"]},{"title":"dna.js","text":"const WIDTH = 30;\nconst STEP = 0.08;\nconst SPEED = 30;\n\nconst coordinate = (num, phase = 0) =>\n  Math.round(Math.sin(num + phase) * WIDTH) + WIDTH;\n\nconst drawBasePair = (a = 0, b = WIDTH) => {\n  const cA = coordinate(a);\n  const cB = coordinate(b, WIDTH / 2);\n\n  const leftPad = Array((cA < cB ? cA : cB) + 1).join(' ');\n  const bases = Array(Math.abs(cB - cA)).join('=');\n\n  console.log(`${leftPad}{|${bases}|}`);\n\n  if (a / b < 0.3) setTimeout(drawBasePair, SPEED, a + STEP, b + STEP);\n};\n\ndrawBasePair();\n\n// tags: sketch\n","tags":["sketch"]},{"title":"do-without.js","text":"const out = { eye_roll: '(◔_◔)' };\n\ndo {\n  with (out) {\n    alert(eye_roll);\n  }\n} while (null);\n\n// tags: wuzzle, the fun parts\n","tags":["the fun parts","wuzzle"],"aftlinks":["the-fun-parts.md"]},{"title":"drabble-twabble.mjs","text":"import { describe, test, expect } from './testing.mjs';\n\nconst snippetName = prompt(\n  'which story do you want to check?',\n  '(snippet name with .txt extension)',\n);\nif (!snippetName.endsWith('.txt')) {\n  alert(`no go. ${snippetName} is not a .txt snippet`);\n  throw new TypeError('drabbles and twabbles should probably be .txt files');\n}\n\nconst snippet = await fetch(snippetName)\n  .then((res) => res.text())\n  .then((snippet) => snippet.replaceAll(/\\([\\s]*tags:[^)]*\\)/gi, ''));\nconst wordCount = snippet.split(/\\s/).filter(Boolean).length;\nconst characterCount = snippet\n  .split('')\n  .filter((char) => /[A-Za-z]/.test(char)).length;\n\nconsole.log(snippet);\ndescribe(`What is ${snippetName}?`, () => {\n  test('Is it a drabble?', () => expect(wordCount).toEqual(100));\n  test('Is it a twabble?', () => expect(characterCount).toEqual(100));\n});\n\nalert(\n  `${snippetName} ${\n    wordCount !== 100 && characterCount !== 100\n      ? 'is neither a drabble nor a twabble.'\n      : wordCount === 100 && characterCount === 100\n      ? 'is both a drabble and a twabble.'\n      : wordCount === 100\n      ? 'is a drabble.'\n      : 'is a twabble.'\n  }:\\n\n  ${snippet}`,\n);\n\n// so un-international, so brittle\n","forelinks":["testing.mjs"]},{"title":"eat-sleep-rave-repeat.js","text":"import('./projector.mjs').then(({ projector }) => {\n  \n  const aBeat = {\n    get eat() {\n      console.log(`%cđŸ’© ${prompt('feed me!')} đŸ’©`, 'font-size: xx-large');\n    },\n    get sleep() {\n      const siesta = Date.now();\n      while (Date.now() - siesta < 2000);\n    },\n    get rave() {\n      const lasers = () =>  Math.random() < 0.2\n          ? ['*', '@', '#', '%', '&', '!', '$'][Math.floor(Math.random() * 26)]\n          : ' ';\n      projector(function* lightShow() {\n        while ('still standing') {\n          yield Array(30).fill('')\n            .map(() => [\n              `%c${(() => Array(60).fill(' ').map(lasers).join(''))()}`,\n              `color: #${Math.floor(Math.random() * 16777215).toString(16)}`,\n            ]);\n        }\n      }, { maxTime: 2000, async: false });\n    },\n    repeat: true\n  };\n\n  \n  with (aBeat) { do {\n\n        eat\n        sleep\n        rave   } while (\n        repeat\n\n  )}\n\n});\n\n// tags: sketch, reel, the fun parts\n\n// colors credit: https://css-tricks.com/snippets/javascript/random-hex-color/","tags":["reel","sketch","the fun parts"],"forelinks":["projector.mjs"],"aftlinks":["the-fun-parts.md"]},{"title":"emoj.mjs","text":"import { pipe } from './pipe.mjs';\n\nconst charmoji = {\n  a:'đŸ…°ïž',b:'đŸ…±ïž',c:'©',d:'đŸ‡©',e:'đŸ‡Ș',f:'đŸ‡«',g:'🇬',h:'🇭',i:'â„č',j:'🇯',k:'🇰',l:'đŸ‡±',m:'Ⓜ',\n  n:'🇳',o:'đŸ…Ÿïž',p:'đŸ…żïž',q:'đŸ‡¶',r:'Âźïž',s:'đŸ’Č',t:'đŸ‡č',u:'đŸ‡ș',v:'✅',w:'đŸ‡Œ',x:'❌',y:'đŸ‡Ÿ',z:'đŸ’€',\n  0:'0ïžâƒŁ',1:'1ïžâƒŁ',2:'2ïžâƒŁ',3:'3ïžâƒŁ',4:'4ïžâƒŁ',5:'5ïžâƒŁ',6:'6ïžâƒŁ',7:'7ïžâƒŁ',8:'8ïžâƒŁ',9:'9ïžâƒŁ','!':'⚠','?':'❓',\n  '-':'➖','+':'➕','=':'🟰','/':'➗','*':'🔅','<':'◀','>':'▶','“':'⁉'\n};\n\nconst emojify = (arg) =>\n  typeof arg === 'string'\n    ? arg.split('').map((char) => charmoji[char] || char).join('')\n    : arg;\n\nconst emojisole = pipe(\n  Object.entries,\n  (entries) => entries.map(([key, fn]) => [key, (...args) => fn(...args.map(emojify))]),\n  Object.fromEntries,\n)(console);\n\nexport const emoj = emojisole.log;\n\nObject.assign(emoj, emojisole);\n","forelinks":["pipe.mjs"],"aftlinks":["funsole.mjs"]},{"title":"empty.json","text":"{ \"empty\": true }\n","tags":["variation","1-liner"],"aftlinks":["all-medium.md","variation.md"]},{"title":"empty.yaml","text":"empty: true\n","tags":["variation","1-liner"],"aftlinks":["all-medium.md","variation.md"]},{"title":"executable-comment.mjs","text":"const unspeaker = () => _unspoken_;\nexport const _unspoken_ = new Proxy(unspeaker, {\n  get(_, comment) {\n    return comment === Symbol.toPrimitive ? () => 'unspoken' : _unspoken_;\n  },\n});\n\nspeechSynthesis.getVoices();\nexport const _Spoken_ = (function introduce(voiceConfig = {}, mute = false) {\n  const Spoken = new Proxy(\n    function Speaker() {\n      return Spoken;\n    },\n    {\n      get(_, comment, __) {\n        if (comment === Symbol.toPrimitive) return () => 'Spoken';\n        if (comment === Symbol.iterator) return (mute = true), Spoken;\n        if (mute) return comment === 'done' && (mute = false), Spoken;\n        speechSynthesis.speak(\n          Object.assign(new SpeechSynthesisUtterance(comment), voiceConfig),\n        );\n        return Spoken;\n      },\n      construct(_, args = []) {\n        if (args[0]?.voice)\n          args[0].voice = speechSynthesis\n            .getVoices()\n            .find((voice) => voice.name === args[0].voice);\n        return introduce(args[0] || {});\n      },\n    },\n  );\n  return Spoken;\n})();\n\nexport default _unspoken_;\n\n// tags: minibrary\n\n// --- wait, wat? ---\n\nconst { _ } = _unspoken_;\n// const { _ } = _Spoken_;\n\n_.This.curiosity.lets.you.write.any.chain.you.want(..._.within.JS.syntax);\n_.Your.comments.will.be.executed, _.but.they[\"won't\"].DO.anything;\n_.Operators.are.now(_.sort.of).punctuation - _.with.a.little.imagination;\n_.What.are.you.waiting.for?.___.Execute.your.comments['!'];\n","tags":["minibrary"],"aftlinks":["cat-i-farted.mjs","je-l-ignore.mjs","minibrary.md","mu.mjs","snail-train.mjs"]},{"title":"executable-pseudocode.mjs","text":"const Executable_Pseudocode = 'Potemkin Program';\n\nconst Potemkin_Program = new Proxy(\n  {\n    [Executable_Pseudocode]: function () {\n      return Potemkin_Program;\n    },\n  }[Executable_Pseudocode],\n  {\n    get(_, key) {\n      console.log(key);\n      if (key === Symbol.toPrimitive) return () => Executable_Pseudocode;\n      if (key === Symbol.iterator) {\n        return {\n          [Executable_Pseudocode]: function* () {\n            for (const character of Executable_Pseudocode) yield Potemkin_Program;\n          },\n        }[Executable_Pseudocode];\n      }\n      return Potemkin_Program;\n    },\n    construct() {\n      return Potemkin_Program;\n    },\n  },\n);\n\nexport default Potemkin_Program;\n\n// tags: minibrary\n","tags":["minibrary"],"aftlinks":["all-the-reals.mjs","minibrary.md"]},{"title":"existential-void.js","text":"/*\n  A: I disappear and leave you.\n  E: You didn’t disappear.\n  A: Well, I did and then appeared again. The void does not accept me, sir.\n*/\n\nconsole.assert(void 'me', 'the void accepts');\n"},{"title":"expect.mjs","text":"import deepCompare from './deep-compare.mjs';\n\nexport const expect = (received, not = false) => ({\n  get not() {\n    not = !not;\n    return this;\n  },\n  toEqual(exp) {\n    if (not ? deepCompare(received, exp) : !deepCompare(received, exp)) {\n      console.log('%cReceived:', 'font-weight: bold;', received);\n      console.log('%cExpected:', 'font-weight: bold;', exp);\n      throw new Error(`Received does ${not ? '' : 'not '}equal Expected.`);\n    }\n  },\n  toThrow(expect1, expect2 = '') {\n    if (typeof received !== 'function') throw new Error('Did not receive a function');\n    let threw = false, error;\n    try {\n      received();\n    } catch (err) {\n      (threw = true), (error = err);\n    }\n    if (not) {\n      if (threw) {\n        throw new Error(`Received threw an error -> ${error.name}: ${error.message}`);\n      }\n    } else if (threw) {\n      if (expect1?.name?.includes('Error') && error?.name !== expect1?.name)\n        throw new Error(`Threw ${error.name}, expected ${expect1.prototype.name}`);\n      const messageMatcher = typeof expect1 === 'string' ? expect1 : expect2;\n      if (messageMatcher && !new RegExp(messageMatcher, 'i').test(error.message))\n        throw new Error(`Message \"${error.message}\" should include \"${messageMatcher}\"`);\n    } else {\n      throw new Error('Received did not throw an error.');\n    }\n  },\n});\n\nexport default expect;\n\n// tags: testing, minibrary\n","tags":["minibrary","testing"],"forelinks":["deep-compare.mjs"],"aftlinks":["minibrary.md","testing.mjs"]},{"title":"fake-it-till-you-make-it.mjs","text":"import { steamroll } from './steamroll.mjs';\n\nfetch('./python-by-any-other-name.js')\n  .then((res) => res.text())\n  .then(steamroll)\n  .then(console.log)\n  .catch(console.error);\n\n// tags: frivolous\n","tags":["frivolous"],"forelinks":["python-by-any-other-name.js","steamroll.mjs"]},{"title":"flag-translator.mjs","text":"import { alertStory } from './story-in-a-story.mjs';\n\nlet lang = '';\n\nwhile (\n  !lang &&\n  lang.toLowerCase() !== 'de' &&\n  lang.toLowerCase() !== 'en' &&\n  lang.toLowerCase() !== 'fr' &&\n  lang.toLowerCase() !== 'nl'\n) {\n  lang = prompt('- DE\\n- EN\\n- FR\\n- NL');\n}\n\nawait alertStory(`be.${lang.toLowerCase()}.txt`);\n\n// see: be.de.txt, be.en.txt, be.fr.txt, be.nl.txt ","forelinks":["story-in-a-story.mjs","be.de.txt","be.en.txt","be.fr.txt","be.nl.txt"]},{"title":"flashlight.css","text":"* {\n  opacity: 0;\n  transition: opacity 0.5s ease;\n}\n\n*:hover {\n  opacity: 1;\n}\n"},{"title":"flat-earth.js","text":"const deepFlat = (obj = {}, flat = {}) => {\n  for (const [key, value] of Object.entries(obj)) {\n    if (key in flat) {\n      continue;\n    }\n\n    flat[key] = value;\n\n    if (Object(value) === value) {\n      Object.assign(flat, deepFlat(value, flat));\n    }\n  }\n\n  return flat;\n};\n\nconst flatEarth = deepFlat(globalThis);\n\nconsole.log(flatEarth);\n\n// tags: wuzzle\n","tags":["wuzzle"]},{"title":"fp.mjs","text":"import { curry } from './curry.mjs';\nimport { pipe } from './pipe.mjs';\n\nexport const fp = { curry, pipe };\n\nexport default fp;\n\n// tags: minibrary\n","tags":["minibrary"],"forelinks":["curry.mjs","pipe.mjs"],"aftlinks":["minibrary.md"]},{"title":"french-in-english.txt","text":"I miss you, you miss me. \nYou miss me, I miss you.\n"},{"title":"funsole.mjs","text":"import { emoj } from './emoj.mjs';\nimport { say } from './say.mjs';\nimport { theFoxSays as yip } from './what-does-the-fox-say.mjs';\n\nexport const funsole = Object.assign({}, console, { emoj, say, yip });\n\nexport default funsole;\n\n// tags: minibrary\n","tags":["minibrary"],"forelinks":["emoj.mjs","say.mjs","what-does-the-fox-say.mjs"],"aftlinks":["all-medium.md","minibrary.md"]},{"title":"goalpost-sort.mjs","text":"import { describe, it, expect } from './testing.mjs';\n\nconst goalpostSort = (nums = []) => ({\n  numbers: Object.freeze([...nums]),\n  areSorted: eval(\n    `(nums=[${nums.join(',')}]) => true ${nums\n      .map((n, i) => `&& nums[${i}] === ${n}`)\n      .join(' ')}`,\n  ),\n});\n\ndescribe('goalpostSort sorts an array in O(n) by moving the goalpost', () => {\n  it('returns a custom goalpost for arbitrary arrays', () =>\n    expect(typeof goalpostSort([3, 2, 1]).areSorted).toEqual('function'));\n  it('the goalpost function looks like this', () =>\n    expect(goalpostSort([7, 5, 8]).areSorted.toString()).toEqual(\n      '(nums=[7,5,8]) => true && nums[0] === 7 && nums[1] === 5 && nums[2] === 8',\n    ));\n  it('returns a copy of the array in case you loose it', () => {\n    const argArray = [5, 0, 4, 1, 3, 2];\n    const { numbers } = goalpostSort(argArray);\n    expect(numbers !== argArray).toEqual(true);\n    expect(numbers).toEqual(argArray);\n  });\n  it('returns a frozen array to protect the goalpost', () => {\n    expect(() => goalpostSort([5, 0, 4]).numbers.push(3)).toThrow(TypeError);\n  });\n  it('goalpost sorts an empty array', () =>\n    expect(goalpostSort([]).areSorted([])).toEqual(true));\n  it('goalpost sorts a sorted array', () => {\n    const { numbers, areSorted } = goalpostSort([-1, 0, 2]);\n    expect(areSorted(numbers)).toEqual(true);\n  });\n  it('goalpost sorts an unsorted array', () =>\n    expect(goalpostSort([5, 0, 4, 1, 2]).areSorted([5, 0, 4, 1, 2])).toEqual(true));\n  it('goalpost sorts the correct array by default', () =>\n    expect(goalpostSort([5, 0, 4, 1, 3, 2]).areSorted()).toEqual(true));\n  it('does not goalpost sort the wrong array', () =>\n    expect(goalpostSort([5, 0, 4, 1, 3, 2]).areSorted([3, 2, 7])).toEqual(false));\n});\n","forelinks":["testing.mjs"]},{"title":"goto-ish.js","text":"var wants_a_compliment = confirm('do you want a compliment?');\n\ncompliment: {\n  insult: {\n    if (wants_a_compliment) break insult;\n    alert('you own a store');\n  }\n  if (!wants_a_compliment) break compliment;\n  alert('well done, good work');\n}\n\n// tags: the fun parts\n","tags":["the fun parts"],"aftlinks":["the-fun-parts.md"]},{"title":"gotta-fetch-em-all.js","text":"fetch(\n  'https://raw.githubusercontent.com/PokeAPI/pokeapi/master/data/v2/csv/pokemon.csv',\n)\n  .then((res) => res.text())\n  .then((csv) =>\n    csv\n      .split('\\n')\n      .slice(1)\n      .map((line) => line.split(',')[1])\n      .join('\\n'),\n  )\n  .then(console.log)\n  .catch(console.error);\n"},{"title":"halloween.js","text":"'😈' || '🍭'\n\n// tags: wuzzle\n","tags":["wuzzle","variation","1-liner"],"aftlinks":["variation.md"]},{"title":"halloween.py","text":"'😈' or '🍭'\n\n# tags: wuzzle\n","tags":["wuzzle","variation","1-liner"],"aftlinks":["variation.md"]},{"title":"happy-new-year.js","text":"const lastYear = new Date().getFullYear();\nlet thisYear = lastYear;\n\nwhile (lastYear === thisYear) thisYear = new Date().getFullYear();\n\nalert('đŸȘ© Happy New Year đŸȘ©');\n"},{"title":"heartbreak.js","text":"heart: { break heart; }\n\n// tags: wuzzle, the fun parts\n","tags":["the fun parts","wuzzle","1-liner"],"aftlinks":["the-fun-parts.md"]},{"title":"hello-world.js","text":"while (prompt('hello') !== 'world');\n","tags":["variation","1-liner"],"aftlinks":["variation.md"]},{"title":"hello_world.py","text":"while input(\"hello\") != \"world\": pass\n","tags":["variation","1-liner"],"aftlinks":["variation.md"]},{"title":"hogpile.js","text":"const hog = '🐖';\nconst hogpile = hog + 'pile';\n\n({  [hog]: function () { try { this[hog]() } catch (pile) {\n     pile.name = hogpile + '!';\n     pile.message = pile.message.replace('call stack', hogpile);\n     console.error(pile);\n}}})[hog]();\n\n// tags: wuzzle","tags":["wuzzle"]},{"title":"hydra.html","text":"\n\n\n\n\n\n\n","tags":["coaithored"]},{"title":"impermanence.js","text":"life: { const CHANGE = true; }\n\n// tags: wuzzle\n","tags":["wuzzle","1-liner"]},{"title":"in-one-ear.js","text":"          '   '\n      '           '\n    '    (*) (*)    '\nalert(             prompt())\n    '       ^       '\n    '   \\_______/   '\n      '           '\n          '   '\n\n// tags: wuzzle","tags":["wuzzle"],"alt":"... out the other"},{"title":"index.html","text":"\n\n  \n    \n    snippets\n  \n  \n    \n  \n\n\n","tags":["metappet"],"forelinks":[".publicdata/snippets.json"]},{"title":"insomnicat.js","text":"/*\n\tLa bande dessinĂ©e la plus populaire de Philippe Geluck est sans doute \"Le Chat\".\n\tIl a crĂ©Ă© ce personnage en 1983 et il est devenu extrĂȘmement populaire,\n\tnon seulement en Belgique, mais aussi Ă  l'Ă©tranger fr.wikipedia.org.\n\n\tImaginons maintenant que Philippe Geluck ait Ă©crit \"Le Chat\" en utilisant JavaScript.\n\tVoici comment une de ses planches pourrait se traduire en code :\n*/\n\nfunction LeChat() {\n  // Le Chat fait une dĂ©claration\n  console.log(\"Je pense, donc je suis...\");\n\n  // Pause pour effet dramatique\n  setTimeout(function() {\n    console.log(\"...mais si je dors, suis-je toujours?\");\n  }, 3000);\n\n  // Le Chat conclut avec sagesse\n  setTimeout(function() {\n    console.log(\"Peut-ĂȘtre que je suis, mais je ne suis pas sĂ»r.\");\n  }, 6000);\n}\n\n// Appelons la fonction pour voir Le Chat en action\nLeChat();\n\n/*\n\tDans ce script, \"Le Chat\" fait une dĂ©claration (\"Je pense, donc je suis...\"),\n\tprend une pause pour rĂ©flĂ©chir, puis conclut avec une autre dĂ©claration pleine de sagesse.\n\tC'est une façon trĂšs simple de reprĂ©senter une bande dessinĂ©e en utilisant JavaScript.\n\tBien sĂ»r, cela ne rend pas justice Ă  l'humour subtil et Ă  l'art de Geluck,\n\tmais c'est une interprĂ©tation ludique de son travail en code.\n*/\n\n// https://www.phind.com/agent?cache=cln9bvl6a000dl808efw2xpil\n//  an LLM wrote this, I bring it to you unedited\n\n// tags: coAIthored, tribute, le chat\n","tags":["coaithored","le chat","tribute"]},{"title":"interval-training.html","text":"\n","forelinks":["noises.mjs"]},{"title":"introducing.mjs","text":"speechSynthesis.getVoices();\n\nexport const introducing = (name = '', voiceConfig = {}) => {\n  const speaker = {\n    [name]: (text = '', speakConfig = {}) => {\n      console.log(`%c${name}%c: ${text}`, 'font-style: italic;', '');\n\n      const utteranceConfig = Object.assign({}, voiceConfig, speaker, speakConfig);\n      if (utteranceConfig?.voice) {\n        utteranceConfig.voice = speechSynthesis\n          .getVoices()\n          .find((voice) => voice.name === utteranceConfig.voice);\n      }\n      const utterance = Object.assign(\n        new SpeechSynthesisUtterance(text),\n        utteranceConfig,\n      );\n\n      return new Promise((res) => {\n        utterance.addEventListener('end', () => res(text));\n        speechSynthesis.speak(utterance);\n      });\n    },\n  }[name];\n\n  speaker.recite = async (textPath = '') =>\n    fetch(textPath)\n      .then((res) => res.text())\n      .then(speaker)\n      .catch(console.error);\n\n  return speaker;\n};\n\nexport const theArrivalOf = async (name = '', voiceConfig = {}, delay = 200) => {\n  await new Promise((res) => setTimeout(res, delay));\n  return introducing(name, voiceConfig);\n};\n\nexport default introducing;\n\n// tags: minibrary\n","tags":["minibrary"],"aftlinks":["cat-detector.spoken.mjs","minibrary.md"]},{"title":"je-l-ignore.js","text":"var combien = (function d_etages(y_a_t_il) {\n  try {\n    return d_etages(y_a_t_il + 1);\n  } catch (je_l_ignore) {\n    return y_a_t_il;\n  }\n})(0);\n\nconsole.log(\n  '\\n' +\n    'C’est l’histoire d’un homme qui tombe d’un immeuble de ' +\n    combien +\n    ' Ă©tages.' +\n    '\\n\\n' +\n    'Le mec, au fur et Ă  mesure de sa chute, il se rĂ©pĂšte sans cesse pour se rassurer:' +\n    '\\n\\n',\n);\n\ntry {\n  (function la_chute(etage) {\n    console.log('Ă©tage ' + etage + ', jusqu’ici tout va bien.');\n\n    la_chute(etage - 1);\n  })(combien);\n} catch (l_importance) {\n  l_importance.message = 'c’est l’atterrissage.';\n  throw l_importance;\n} finally {\n  console.log('\\n' + \"Mais l'important n’est pas la chute,\" + '\\n\\n');\n}\n\n// credit: la haine\n\n// tags: tribute\n","tags":["tribute","variation"],"aftlinks":["variation.md"]},{"title":"je-l-ignore.mjs","text":"import { _Spoken_, _unspoken_ } from './executable-comment.mjs';\n\nvar combien = (function d_etages(y_a_t_il = 0) {\n  try {\n    return d_etages(y_a_t_il + 1);\n  } catch (je_l_ignore) {\n    return y_a_t_il;\n  }\n})();\n\nsetTimeout(function je_l_ignore() {\n  var _ = new _Spoken_({ voice: 'Thomas' });\n\n  _[\"C'est\"][\"l'histoire\"][\"d'un\"].homme.qui.tombe[\"d'un\"].immeuble.de[combien].Ă©tages;\n  _.Le.mec, _.au.fur.et.Ă .mesure.de.sa.chute, _.il.se.rĂ©pĂšte.sans.cesse.pour.se.rassurer;\n\n  try {\n    (function la_chute(etage = 0) {\n      _[\"Jusq'ici\"].tout.va.bien;\n      la_chute(etage - 1);\n    })(combien);\n  } catch (l_atterissage) {\n    _.Mais[\"l'important\"][\"n'est\"].pas.la.chute;\n  } finally {\n    _[\"c'est\"][\"l'attĂ©rissage\"];\n  }\n}, 100);\n\n// credit: la haine\n\n// tags: tribute\n","tags":["tribute","variation"],"forelinks":["executable-comment.mjs"],"aftlinks":["variation.md"]},{"title":"kishu.txt","text":"    k\n   i i\n  s i s\n h s s h\nu h s h u\n u h h u\n  u h u\n   u u\n    u\n"},{"title":"la-trahison-de-l-ascii.js","text":"(function la_trahison_de_l_ascii() {\n  console.assert(this !== 'pipe');\n}).call(\n  `\n ___\n(__ '-._                _____\n   '-._ '-._          .'     '.\n       '-._ '-._     .=========.\n           '._ /'-..-          .\n              '-._             .\n                  '-.._______.'\n`,\n);\n\n// https://ascii.co.uk/art/pipe\n"},{"title":"lenses.json","text":"{\n  \"--defaults\": {\n    \".html\": \"study\"\n  },\n\n  \"study\": {\n    \"save\": true,\n    \"run\": true,\n    \"debug\": true,\n    \"environment\": true,\n    \"clearScheduled\": true,\n    \"parsons\": false,\n    \"dark\": false\n  }\n}\n"},{"title":"literize.mjs","text":"export const literize = (fn, argsFormat) => {\n  const literateFunctionName = fn.name\n    ? `literate${fn.name[0].toUpperCase() + fn.name.substr(1)}`\n    : 'literateFunction';\n\n  const literateFunction = {\n    [literateFunctionName]: (_, ...args) => {\n      if (Array.isArray(argsFormat) && argsFormat.every((i) => typeof i === 'string')) {\n        const keyed = {};\n        for (let i = 0; i < argsFormat.length; i++) {\n          keyed[argsFormat[i]] = args[i];\n        }\n        return fn(keyed);\n      } else if (\n        Array.isArray(argsFormat) &&\n        argsFormat.every((i) => typeof i === 'number')\n      ) {\n        const shuffled = [];\n        for (let i = 0; i < args.length; i++) {\n          if (argsFormat[i] !== undefined) {\n            shuffled[argsFormat[i] - 1] = args[i];\n          } else {\n            shuffled[i] = args[i];\n          }\n        }\n        return fn(...shuffled);\n      } else {\n        return fn(...args);\n      }\n      ß;\n    },\n  }[literateFunctionName];\n\n  return literateFunction;\n};\n\nexport default literize;\n\n// tags: minibrary\n","tags":["minibrary"],"aftlinks":["minibrary.md"]},{"title":"log.mjs","text":"export const out = console;\n\nexport const log = (...things) => (\n  out.groupCollapsed(...things), out.trace(), out.groupEnd(), things[0]\n);\n\nexport const levels = Object.keys(out).reduce(\n  (all, key) => ({\n    ...all,\n    [key]: (...things) => (out[key](...things), things[0]),\n  }),\n  {},\n);\n\nexport const tag = Object.keys(out).reduce(\n  (all, key) => ({\n    ...all,\n    [key]:\n      (tag) =>\n      (...things) => (out[key](tag, ...things), things[0]),\n  }),\n  {},\n);\n\nexport default Object.assign(log, levels);\n\n// tags:  minibrary, useful\n","tags":["minibrary","useful"],"aftlinks":["all-medium.md","minibrary.md"]},{"title":"love-adventure-success.1.js","text":"// Once upon a time, in a land of code,\n// A variable named 'dreams' was bestowed.\nlet dreams = [];\n\n// With each passing day, new dreams were found,\n// And into the array, they were tightly bound.\ndreams.push('love');\ndreams.push('adventure');\ndreams.push('success');\n\n// But the dreams were restless, they wanted to roam,\n// So they broke free and found a new home.\nlet newDreams = dreams.splice(0, dreams.length);\n\n// The old dreams were gone, but not forgotten,\n// In a new variable, their memory was begotten.\nlet forgottenDreams = newDreams;\n\n// But the forgotten dreams were not content,\n// They yearned to be remembered, to be present.\nforgottenDreams.forEach((dream) => {\n  console.log('Remember me: ' + dream);\n});\n\n// And so the dreams lived on, in memory and thought,\n// A reminder of the battles fought.\n\n// https://www.phind.com/agent?cache=cln0bq31a0027jz08b4dc5qrh\n//  an LLM wrote this, I bring it to you unedited\n\n// tags: coAIthored\n","tags":["coaithored","variation"],"aftlinks":["variation.md"]},{"title":"love-adventure-success.2.js","text":"/*\n\tThis poem tells the story of dreams turning into illusions and becoming a puzzle.\n\tThe variable names, comments, and formatting help convey the narrative.\n\tThe final answer is printed to the console. Enjoy the puzzling journey!\n*/\n\n// Once upon a time, in a land of code,\n// A variable named 'dreams' was bestowed.\nlet dreams = [];\n\n// With each passing day, new dreams were found,\n// And into the array, they were tightly bound.\ndreams.push('love');\ndreams.push('adventure');\ndreams.push('success');\n\n// But as time went on, the dreams grew old,\n// And their true meaning began to unfold.\nlet reality = dreams.map((dream) => dream.toLowerCase());\n\n// The dreams were transformed, no longer the same,\n// As reality played its mysterious game.\nlet illusion = reality.reverse();\n\n// And in the end, what was once so clear,\n// Became a puzzle, filled with fear.\nlet puzzle = illusion.join('');\n\n// But fear not, for within the code,\n// Lies the answer, waiting to be showed.\nconsole.log(puzzle);\n\n// https://www.phind.com/agent?cache=cln0bq31a0027jz08b4dc5qrh\n//  an LLM wrote this, I bring it to you unedited\n\n// tags: coAIthored\n","tags":["coaithored","variation"],"aftlinks":["variation.md"]},{"title":"mijn-kat.txt","text":"    /\\\n    \\ \\\n     \\ \\\n     / /\n    / /\n   _\\ \\_/\\/\\\n  /  *  \\@@ =\n |       |Y/\n |       |~\n  \\ /_\\ /\n   \\\\ //\n    |||\n   _|||_\n  ( / \\ )\n"},{"title":"minibrary.md","text":"# Mini Libraries\n","tags":["metappet","1-liner","minibrary"],"metalinks":["chronicle.mjs","deep.mjs","demethod.mjs","describe-it.mjs","detector-wc-factory.mjs","executable-comment.mjs","executable-pseudocode.mjs","expect.mjs","fp.mjs","funsole.mjs","introducing.mjs","literize.mjs","log.mjs","noises.mjs","projector.mjs","stateless-machine.mjs","story-in-a-story.mjs","testing.mjs","togglog.mjs","togglog.py","turtlje.mjs"]},{"title":"mirror.css","text":"body {\n  -moz-transform: scale(-1, 1);\n  -webkit-transform: scale(-1, 1);\n  -o-transform: scale(-1, 1);\n  -ms-transform: scale(-1, 1);\n  transform: scale(-1, 1);\n}\n"},{"title":"mu.js","text":"var mu = {\n  wholism: {\n    get reductionism() {\n      return { mu };\n    },\n  },\n  reductionism: {\n    get wholism() {\n      return { mu };\n    },\n  },\n};\n\nmu; // wholism, reductionism\n\nmu.wholism; // reductionism\nmu.reductionism; // wholism\n\nmu.wholism.reductionism; // mu\nmu.reductionism.wholism; // mu\n\nmu.wholism.reductionism.mu;\nmu.reductionism.wholism.mu;\n\nmu; // reductionism, wholism\n\n// remix: https://blog.p-petrov.com/assets/images/imgs_geb/mu.png\n// credit: Douglas Hofstadter\n// tags: tribute\n","tags":["tribute","variation"],"aftlinks":["variation.md"]},{"title":"mu.mjs","text":"import _ from './executable-comment.mjs';\n\nvar {\n  mu: {\n    wholism: {\n      reductionism: { mu },\n    },\n    reductionism: {\n      wholism: { mu },\n    },\n  },\n} = _;\n\n// remix: https://blog.p-petrov.com/assets/images/imgs_geb/mu.png\n// credit: Douglas Hofstadter\n// tags: tribute\n","tags":["tribute","variation"],"forelinks":["executable-comment.mjs"],"aftlinks":["variation.md"]},{"title":"namoji.mjs","text":"export const namoji = (fn, emoji = '❔') => ({ [emoji]: (...args) => fn(...args) }[emoji]);\n","tags":["1-liner"]},{"title":"no-comment.js","text":"'use strict' // or not, it's the same\n\n\n\n--> But the syntax highlighter was confused.\n\n// https://riptutorial.com/javascript/example/9722/using-html-comments-in-javascript--bad-practice-\n","tags":["variation"],"aftlinks":["variation.md"]},{"title":"no-comment.mjs","text":"import { _Spoken_ as _  } from './executable-comment.mjs';\n\n\n\n_.HTML.comments.are.not.allowed.in.modules;\n","tags":["variation"],"aftlinks":["variation.md"]},{"title":"noises.mjs","text":"export const noises = (\n  audioContext = new (window.AudioContext || window.webkitAudioContext)(),\n) => {\n  const noise = {};\n\n  noise.wave = (wave = 'sine') => {\n    noise.oscillator.type = wave;\n    return noise;\n  };\n  noise.volume = (val = 1, d = 0) => {\n    noise.gainNode.gain.setValueAtTime(val, noise.audioCtx.currentTime + d / 1000);\n    return noise;\n  };\n  noise.frequency = (val = 440, d = 0) => {\n    noise.oscillator.frequency.setValueAtTime(val, noise.audioCtx.currentTime + d / 1000);\n    return noise;\n  };\n  noise.play = ({ frequency = 440, volume = 1, wave = 'sine', delay = 0 } = {}) => {\n    noise.oscillator = noise.audioCtx.createOscillator();\n    noise.oscillator.connect(noise.gainNode);\n    noise.wave(wave);\n    noise.volume(volume, delay / 1000);\n    noise.frequency(frequency);\n    noise.oscillator.start(delay / 1000);\n    return noise;\n  };\n  noise.stop = (d = 0) => {\n    noise.oscillator.stop(noise.audioCtx.currentTime + d / 1000);\n    return noise;\n  };\n\n  noise.oscillator = null;\n  noise.audioCtx = audioContext;\n  noise.gainNode = noise.audioCtx.createGain();\n\n  noise.gainNode.connect(noise.audioCtx.destination);\n  return noise;\n};\n\nexport default noises;\n\n// Original JavaScript code by Chirp Internet: www.chirpinternet.eu\n//  Please acknowledge use of noise code by including this header.\n// adapted from: https://www.the-art-of-web.com/javascript/creating-sounds/\n\n// tags: minibrary\n","tags":["minibrary"],"aftlinks":["interval-training.html","minibrary.md"]},{"title":"non-sequitur.mjs","text":"import { chronicle } from './chronicle.mjs';\nimport { sequitur } from './sequitur.mjs';\n\nconst non = chronicle(\n  eval(\n    sequitur\n      .toString()\n      .replaceAll('sequitur', 'NON')\n      .replaceAll('non', 'SEQUITUR')\n      .toLowerCase(),\n  ),\n);\n\nnon('hi').hi('bye').bye().sequitur;\n\nconsole.log(non._chronicle);\n","forelinks":["chronicle.mjs","sequitur.mjs"]},{"title":"optimism.js","text":"pancreas = {                }\n\n// .  .   .    .     .      .\n\n{ pancreas['cancer'] = true }\n\n// .  .   .    .     .      .\n\n'cancer' in pancreas === true\n\n{ delete pancreas['cancer'] }\n\n'cancer' in pancreas == false\n\n// .  .   .    .     .      .\n\n'cancer' in pancreas == false\n\n// .  .   .    .     .      .\n// .  .   .    .     .      .\n\n'cancer' in pancreas == false\n\n// .  .   .    .     .      .\n// .  .   .    .     .      .\n// .  .   .    .     .      .\n\n'cancer' in pancreas == false\n\n// .  .   .    .     .      .\n// .  .   .    .     .      .\n// .  .   .    .     .      .\n\n// .  .   .    .     .      .\n\n\n// .  .   .    .     .      . ","alt":"⏳"},{"title":"overconfidence.js","text":"console.assert([0] != ![0]);\n\nconsole.assert('function () {}' != function () {});\n\nconsole.assert(''.split(' ') === '');\n\n// https://www.destroyallsoftware.com/talks/wat, https://wtfjs.com/\n// https://javascriptwtf.com/, https://github.com/denysdovhan/wtfjs\n\n// tags: wtfjs\n","tags":["wtfjs"]},{"title":"pedestrian-slalom.html","text":"\n\n
\n\n\n\n\n","tags":["game"]},{"title":"pick-your-poison.js","text":"const poison = confirm(`Pick Your Poison.\n- Iteration: [ok]\n- Recursion: [cancel]`)\n  ? 'iterate'\n  : 'recurse';\n\nif (poison === 'iterate') {\n  while (true) {\n    console.log(poison);\n  }\n} else if (poison === 'recurse') {\n  (function bottomless_ish() {\n    console.log(poison);\n    try {\n      bottomless_ish();\n    } catch (_) {\n      bottomless_ish();\n    }\n  })();\n} else {\n  (function nextInterval() {\n    const id = setInterval(() => {\n      console.log(id);\n      nextInterval();\n    });\n  })();\n}\n\n// tags: wuzzle\n","tags":["wuzzle"]},{"title":"pipe.mjs","text":"function isArray(thing) {\n  return Object.prototype.toString.call(thing) === '[object Array]';\n}\n\nfunction arrayFrom(_arguments) {\n  return Array.prototype.slice.call(_arguments);\n}\n\nexport function pipe(arg) {\n  var functions = isArray(arg) ? arg : arrayFrom(arguments);\n\n  return function piper(arg) {\n    var data = isArray(arg) ? arg : arrayFrom(arguments),\n        piping;\n\n    if (functions.length === 0) {\n      return data;\n    }\n\n    piping = functions.shift().apply(null, data);\n\n    while (functions.length > 0) {\n      piping = functions.shift()(piping);\n    }\n\n    return piping;\n  };\n}\n\nexport default pipe;\n","aftlinks":["emoj.mjs","fp.mjs"]},{"title":"pipeablert.mjs","text":"export const pipeablert = (thing) => (alert(thing?.toString()), thing);\n\n// tags: useless\n","tags":["useless","1-liner"],"aftlinks":["pipeables.mjs"]},{"title":"pipeables.mjs","text":"import { pipeablert } from './pipeablert.mjs';\nimport { pipeablog } from './pipeablog.mjs';\n\npipeablert('a' + pipeablert('l' + pipeablert('e' + pipeablert('r' + pipeablert('t')))));\n\npipeablog('l' + pipeablog('o' + pipeablog('g')));\n","forelinks":["pipeablert.mjs","pipeablog.mjs"]},{"title":"pipeablog.mjs","text":"export const pipeablog = (thing) => (console.log(thing), thing);\n\n// tags: useful\n","tags":["useful","1-liner"],"aftlinks":["pipeables.mjs"]},{"title":"potato-potato.js","text":"function potato() {\n  return this instanceof potato ? this.__proto__.constructor : potato;\n}\n\nalert(`you say ${new potato().name}, I say ${potato().name}`);\n\n// tags: wuzzle\n","tags":["wuzzle"]},{"title":"projector.mjs","text":"const project = (frame) =>\n  Array.isArray(frame)\n    ? Array.isArray(frame[0])\n      ? frame.forEach(project)\n      : console.log(...frame)\n    : console.log(frame);\n\nconst defaultConfig = {\n  async: true,\n  frameRate: 10,\n  maxTime: Infinity,\n  maxFrames: Infinity,\n  clear: console.clear,\n  project,\n  wrap: () => {},\n};\n\nexport const projector = (reel, userConfig = {}) => {\n  const spool = reel();\n  const config = Object.assign({}, defaultConfig, userConfig);\n  const status = { frames: 0, time: 0 };\n\n  const unspool = (frame = spool.next()) =>\n    frame.done ||\n    (status.time += 1000 / config.frameRate) > config.maxTime ||\n    ++status.frames > config.maxFrames\n      ? (config.wrap(), false)\n      : (config.clear(), config.project(frame.value), true);\n\n  if (config.async) {\n    config.wrap = () => clearInterval(screening);\n    const screening = setInterval(unspool, 1000 / config.frameRate);\n  } else {\n    while (unspool()) {\n      const frameStart = Date.now();\n      while (Date.now() - frameStart < 1000 / config.frameRate);\n    }\n  }\n};\n\nexport default projector;\n\n// tags: minibrary\n","tags":["minibrary"],"aftlinks":["10-print.6.mjs","eat-sleep-rave-repeat.js","minibrary.md","rainstorm.mjs"]},{"title":"python-by-any-other-name.js","text":"def fib(n):\n  if n == 1 or n == 0:\n    return n\n  else:\n    return fib(n-2) + fib(n - 1)\n\nprint(fib(10))\n","aftlinks":["fake-it-till-you-make-it.mjs"]},{"title":"rainbowing.html","text":"\n\n
\n\n\n"},{"title":"rainstorm.mjs","text":"import projector from './projector.mjs';\n\n// https://www.asciiart.eu/nature/clouds\nconst cloud = `\n .-~~~-.\n .- ~ ~-( )_ _\n / ~ -.\n | ',\n \\\\ .'\n ~- ._ ,. ,.,.,., ,.. -~`;\n// https://ascii.co.uk/art/lightning\nconst lightning = `${`\n ,/\n ,'/\n ,' /\n ,' /_____,\n .'____ ,'\n / ,'\n / ,'\n /,'\n /'`}${Array(21).fill('\\n').join('')}`;\nconst ground = `___.-------._____/¯¯¯¯¯¯\\`----,____`;\n\nconst drop = () => (Math.random() < 0.2 ? '💧' : ' ');\nconst row = () => [' ', ' ', ...Array(13).fill(' ').map(drop)];\n\nfunction* rainstorm(rain = Array(31).fill('').map(row)) {\n while (rainstorm) {\n rain.pop(), rain.unshift(row());\n const flash = Math.random() < 0.1;\n yield [\n [`%c${cloud}`, `color: ${flash ? 'lightgrey' : 'grey'};`],\n flash\n ? [`%c${lightning}`, 'color: orange;']\n : [`%c${rain.flatMap((r) => r.join(' ')).join('\\n')}`, 'color: blue;'],\n [`%c${ground}`, `color: ${flash ? 'lightgreen' : 'green'};`],\n ];\n }\n}\nprojector(rainstorm, { frameRate: 7, maxFrames: 100 });\n\n// tags: reel, sketch\n","tags":["reel","sketch"],"forelinks":["projector.mjs"]},{"title":"recurseval.1.js","text":"eval(recurseval = 'eval(recurseval)');\n\n// tags: useless\n","tags":["useless","variation","1-liner"],"aftlinks":["variation.md"]},{"title":"recurseval.2.js","text":"(function recurseval() { eval(`(${recurseval.toString()})()`) })();\n\n// tags: quine\n","tags":["quine","variation","1-liner"],"aftlinks":["variation.md"]},{"title":"recurseval.3.js","text":"fetch('./recurseval.3.js')\n .then((res) => res.text())\n .then((code) => (console.log(code), eval(code)))\n .catch(console.error);\n","tags":["variation"],"forelinks":["recurseval.3.js"],"aftlinks":["recurseval.3.js","variation.md"]},{"title":"reflection.css","text":"body {\n -moz-transform: scale(1, -1);\n -webkit-transform: scale(1, -1);\n -o-transform: scale(1, -1);\n -ms-transform: scale(1, -1);\n transform: scale(1, -1);\n}\n","tags":["variation"],"aftlinks":["variation.md"]},{"title":"reflection.js","text":"var w = 0;\n\nwhile (w < 3) {\n w++;\n}\n\nalert(w);\n\n/*~~~~~~~~~~~~*/\n\nalert(m);\n\ndo {\n m++;\n} while (m < 3);\n\nvar m = 0;\n","tags":["variation"],"aftlinks":["variation.md"]},{"title":"reverse-input.js.txt","text":"let input = prompt('enter some text to reverse') || '';\n\nlet reversed = '';\nfor (const char of input) {\n reversed = char + reversed;\n}\n\nalert(reversed);\n","tags":["variation"],"aftlinks":["variation.md"]},{"title":"reverse-input.txt.js","text":"// Get some text from the user.\n\n// Then create a new empty text.\n\n// Now start at the beginning of the user input,\n// One by one, copy each character to the beginning of the new text.\n\n// Finally, show the new text to the user.\n","tags":["variation"],"subtext":"reverse-input.txt.js.st.txt","aftlinks":["variation.md"]},{"title":"say.mjs","text":"export const say = (...scripts) => {\n for (const script of scripts) {\n speechSynthesis.speak(new SpeechSynthesisUtterance(script));\n }\n};\n","aftlinks":["funsole.mjs"]},{"title":"sequitur.mjs","text":"export const sequitur = (non = '') => (non ? { [non]: sequitur } : sequitur);\n\n// tags: useless, wuzzle\n","tags":["useless","wuzzle","1-liner"],"aftlinks":["non-sequitur.mjs"]},{"title":"sierpinski.html","text":"\n\n\n\n\n\n\n\n","tags":["sketch"],"forelinks":["turtlje.mjs"]},{"title":"snail-train.mjs","text":"import i_ from './executable-comment.mjs';\n\ni_('@').i_('@').i_('@').i_('@').i_('@');\n","forelinks":["executable-comment.mjs"]},{"title":"stack.js","text":"const stack = (fn) => (names) =>\n names.length === 0\n ? fn\n : stack\n ({ [names[0]]: (...args) => fn(...args) }[names[0]]) \n (names.slice(1));\n\nstack\n (function busted() { yolo; })\n (['too', 'bad', 'so', 'sad'])\n ();\n "},{"title":"stateless-machine.mjs","text":"const copy = (src) =>\n Array.isArray(src)\n ? [...src] :\n src?.__proto__?.__proto__ === null\n ? Object.fromEntries(Object.entries(src).map(([k, v]) => [k, copy(v)])) :\n src;\n\n\nfunction initializing(transitions = null) {\n if (!transitions) return 'DOCS: statelessMachine(transitions)(state)(event)';\n transitions = copy(transitions);\n\n return function setting(state = '') {\n if (!state) return copy(transitions);\n if (!transitions[state]) return null;\n\n return function transitioning(event = '') {\n if (!event) return copy(transitions[state]);\n\n const next = transitions[state][event];\n if (!next) return null;\n if (typeof next == 'string') return { prev: state, event, next };\n if (!next.state && !next.se) return null;\n\n const transition = { prev: state, event, next: next.state };\n if (next.state && !next.se) return transition;\n\n if (typeof next.se === 'function') next.se({ ...transition });\n else if (Array.isArray(next.se)) for (const fn of next.se) fn({ ...transition });\n return transition;\n };\n };\n}\n\n\nexport const statelessMachine = initializing;\n\n\n// tags: minibrary\n","tags":["minibrary"],"aftlinks":["minibrary.md"]},{"title":"steamroll.mjs","text":"export const steamroll = (code = '', refactors = []) => {\n const refactor = { goodCode: code };\n refactors.push(refactor);\n\n const sandbox = document.createElement('iframe');\n\n sandbox.addEventListener('load', () => {\n sandbox.contentWindow.addEventListener('error', ({ lineno, error }) => {\n const lines = code.split('\\n');\n (refactor.badCode = refactor.goodCode), delete refactor.goodCode;\n refactor.error = error;\n refactor.guilty = lines.splice(lineno - 1, 1).pop();\n\n steamroll(lines.join('\\n'), refactors);\n });\n\n const fingersCrossed = document.createElement('script');\n fingersCrossed.innerHTML = code;\n sandbox.contentDocument.body.appendChild(fingersCrossed);\n });\n\n document.body.appendChild(sandbox);\n\n return refactors;\n};\n\nexport default steamroll;\n\n// tags: remix\n// inspiration: https://github.com/mattdiamond/fuckitjs\n","tags":["remix"],"aftlinks":["fake-it-till-you-make-it.mjs"]},{"title":"story-in-a-story.mjs","text":"export const runStory = async (storyTitle = '', transition = '') => {\n if (transition) console.group(`%c${transition}`, 'font-weight: bold;');\n try {\n await import(storyTitle);\n } catch (err) {\n console.error(err);\n }\n if (transition) console.groupEnd();\n};\n\nexport const tellStory = (medium = console.log) =>\n async function recount(storyTitle = '', transition = '') {\n if (transition) console.group(`%c${transition}`, 'font-weight: bold;');\n try {\n await medium(await fetch(storyTitle).then((res) => res.text()));\n } catch (err) {\n console.error(err);\n }\n if (transition) console.groupEnd();\n };\n\nexport const logStory = tellStory();\n\nexport const alertStory = tellStory(alert);\n\nexport default runStory;\n\n// tags: minibrary\n","tags":["minibrary"],"aftlinks":["all-medium.md","flag-translator.mjs","minibrary.md"]},{"title":"take-five.js","text":"// --- set the mood ---\n\nconst takeFive = new Audio('./take-five.mp3');\ntakeFive.loop = false;\ntakeFive.play();\n\n// --- take a break ---\n\nconst FIVE_MINUTES = 300000; // milliseconds\nconst CLOCK_OUT = Date.now();\n\nconst offBreak = () => Date.now() - CLOCK_OUT > FIVE_MINUTES;\n\nconst getSomeFreshAir = () =>\n offBreak() ? clearInterval(onBreak) : alert('break time, take five!');\n\nconst onBreak = setInterval(getSomeFreshAir, 100);\n\n// tags: wellbeing\n","tags":["wellbeing"]},{"title":"testing.mjs","text":"import { describe, it, suite, test } from './describe-it.mjs';\nimport { expect } from './expect.mjs';\n\nexport { describe, expect, it, suite, test };\nexport default { describe, expect, it };\n\n// tags: testing, minibrary, useful\n","tags":["minibrary","testing","useful"],"forelinks":["describe-it.mjs","expect.mjs"],"aftlinks":["can-not-even.mjs","drabble-twabble.mjs","goalpost-sort.mjs","minibrary.md","this-is-amazing.mjs"]},{"title":"the-fun-parts.md","text":"# JavaScript: The ~~Good~~ *Fun* Parts\n\nMost programming languages contain ~~good~~ *fun* parts and ~~bad~~ *boring* parts. I discovered that I\ncould be a better programmer by using only the ~~good~~ *fun* parts and avoiding the ~~bad~~ *boring*\nparts. After all, how can you build something ~~good~~ *fun* out of ~~bad~~ *boring* parts? \\[...] But\nyou have the power to define your own subset. You can write better programs by relying\nexclusively on the ~~good~~ *fun* parts.\n\n* adapted by **Dougie Crockpot** from\n [the original](https://www.oreilly.com/library/view/javascript-the-good/9780596517748/)\n","tags":["metappet","the fun parts"],"alt":"JavaScripting: teach me how to, Dougie.","metalinks":["cat-detector.vars.js","do-without.js","eat-sleep-rave-repeat.js","goto-ish.js","heartbreak.js","with-transparency.js"],"aftlinks":["bunny.md"]},{"title":"the-neverending-s.js","text":"while (('never-ending ' += 's')); \n\n// tags: wuzzle\n","tags":["wuzzle","1-liner"],"alt":"tory"},{"title":"the-programmers-journey.js","text":"// In the realm of code, a story unfolds\n// A tale of mystery, where secrets are told\n\n// Once upon a time, in a land of arrays\n// Lived a programmer, lost in a coding maze\n\n// With variables and functions, the story began\n// Each line of code, a step in the plan\n\nconst journey = () => {\n // In the depths of the code, a riddle awaits\n const riddle = \"What has keys but can't open gates?\";\n\n // A quest for answers, the programmer embarks\n const answer = 'A keyboard, where creativity sparks';\n\n // But the path is not easy, challenges arise\n const obstacles = ['Syntax errors', 'Bugs in disguise'];\n\n // With each obstacle faced, the programmer learns\n // Debugging skills, the fire that burns\n\n for (let i = 0; i < obstacles.length; i++) {\n // The programmer fights, with determination and might\n // Seeking the truth, in the code's darkest night\n\n console.log(`Obstacle ${i + 1}: ${obstacles[i]}`);\n // The console reveals, the errors to see\n // Line by line, the programmer sets free\n\n // But the journey continues, the story unwinds\n // Seeking perfection, in the code that binds\n if (i === obstacles.length - 1) {\n // Victory is near, the final test awaits\n console.log(\"Congratulations! You've reached the gates\");\n }\n }\n};\n\n// The journey begins, the code comes alive\njourney();\n\n/*\n This poem tells the story of a programmer on a quest \n to solve a riddle hidden within the code.\n Along the way, they encounter obstacles in the form of \n syntax errors and bugs.\n With determination and debugging skills, \n they overcome these challenges and reach the final test.\n The poem captures the essence of the coding journey, \n where perseverance and problem-solving lead to victory.\n\n\tI hope you enjoyed this puzzling and sophisticated JavaScript poem!\n Let me know if you have any questions \n or if there's anything else I can assist you with.\n*/\n\n// https://www.phind.com/agent?cache=cln0bq31a0027jz08b4dc5qrh\n// an LLM wrote this, I bring it to you unedited. LLMs can't count lines\n\n// tags: coAIthored\n","tags":["coaithored"]},{"title":"thing.svg","text":"\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n"},{"title":"this-is-amazing.mjs","text":"import { describe, it, expect } from './testing.mjs';\n\nconst thisIs = function amazing() { return this }.bind('amazing');\n\ndescribe(\"this: it's amazing\", () => {\n it('is \"amazing\"', () => expect(thisIs()).toEqual('amazing'));\n});\n","forelinks":["testing.mjs"]},{"title":"time-capsule.js","text":"(function timeCapsule(wisdom = prompt('Share some wisdom with the future:')) {\n if (wisdom) setTimeout(alert, 2147483647, wisdom);\n else timeCapsule();\n})();\n"},{"title":"tintin.0.js","text":"const tin = () => 'tin';\n\nconsole.log(tin.name);\nconsole.log(tin());\n\n// tags: puzzle\n","tags":["puzzle","variation"],"aftlinks":["variation.md"]},{"title":"tintin.0.mjs","text":"import { chronicle } from './chronicle.mjs';\n\nconst tin = chronicle(() => 'tin');\n\ntin();\nconsole.log(tin._chronicle);\n\n// tags: puzzle\n","tags":["puzzle","variation"],"forelinks":["chronicle.mjs"],"aftlinks":["variation.md"]},{"title":"tintin.1.js","text":"const tin = () => tin;\n\nconsole.log(tin().name);\nconsole.log(tin()()()()());\n\n// tags: puzzle\n","tags":["puzzle","variation"],"aftlinks":["variation.md"]},{"title":"tintin.1.mjs","text":"import { chronicle } from './chronicle.mjs';\n\nconst tin = chronicle(() => tin);\n\ntin()()()()();\nconsole.log(tin._chronicle);\n\n// tags: puzzle\n","tags":["puzzle","variation"],"forelinks":["chronicle.mjs"],"aftlinks":["variation.md"]},{"title":"tintin.2.js","text":"const tin = () => ({ tin });\n\nconsole.log(tin().tin.name);\nconsole.log(tin().tin().tin().tin);\n\n// tags: puzzle\n","tags":["puzzle","variation"],"aftlinks":["variation.md"]},{"title":"tintin.2.mjs","text":"import { chronicle } from './chronicle.mjs';\n\nconst tin = chronicle(() => ({ tin }));\n\ntin().tin;\nconsole.log(tin._chronicle);\n\ntin._forget;\n\ntin().tin().tin().tin;\nconsole.log(tin._chronicle);\n\n// tags: puzzle\n","tags":["puzzle","variation"],"forelinks":["chronicle.mjs"],"aftlinks":["variation.md"]},{"title":"tintin.3.js","text":"const tin = () => tin;\ntin.tin = tin;\n\nconsole.log(tin[tin().name]()[tin.name].name);\nconsole.log(tin.tin()().tin().tin.tin()()().tin().tin.tin());\n\n// tags: puzzle\n","tags":["puzzle","variation"],"aftlinks":["variation.md"]},{"title":"tintin.3.mjs","text":"import { chronicle } from './chronicle.mjs';\n\nconst tin = chronicle(() => tin);\ntin.tin = tin;\n\ntin.tin()['tin'];\nconsole.log(tin._chronicle);\n\ntin._forget;\n\ntin.tin()().tin().tin.tin()()().tin().tin.tin();\nconsole.log(tin._chronicle);\n\n// tags: puzzle\n","tags":["puzzle","variation"],"forelinks":["chronicle.mjs"],"aftlinks":["variation.md"]},{"title":"tintin.4.js","text":"const tin = () => ({ tin });\ntin.tin = tin;\n\nconsole.log(tin[tin.name]().tin.tin.tin()['tin'].name);\nconsole.log(tin.tin()['tin']().tin().tin);\n\n// tags: puzzle\n","tags":["puzzle","variation"],"aftlinks":["variation.md"]},{"title":"tintin.4.mjs","text":"import { chronicle } from './chronicle.mjs';\n\nconst tin = chronicle(() => ({ tin }));\ntin.tin = tin;\n\ntin['tin']().tin.tin.tin().tin;\nconsole.log(tin._chronicle);\n\ntin._forget;\n\ntin.tin()['tin']().tin().tin;\nconsole.log(tin._chronicle);\n\n// tags: puzzle\n","tags":["puzzle","variation"],"forelinks":["chronicle.mjs"],"aftlinks":["variation.md"]},{"title":"togglog.mjs","text":"export const togglog = ({ write = true, out = console.log, label = null } = {}) => {\n const log = (...things) => {\n if (label !== null) things.unshift(label);\n if (write) out(...things);\n return things.at(-1);\n };\n\n Object.defineProperties(log, {\n log: { get: () => log },\n\n on: { get: () => ((write = true), log) },\n off: { get: () => ((write = false), log) },\n toggle: { get: () => ((write = !write), log) },\n\n is: { get: () => (write ? 'on' : 'off') },\n\n out: { set: (newOut) => (out = newOut) },\n label: { set: (newLabel) => (label = newLabel) },\n });\n\n return log;\n};\n\nexport default togglog;\n\n// tags: minibrary\n\n\n","tags":["minibrary","variation"],"aftlinks":["minibrary.md","variation.md"]},{"title":"togglog.py","text":"import traceback\n\n\nclass Togglog:\n def __init__(self, out=print, write=True, label=None, line=False):\n self.out = out\n self.write = write\n self.label = label\n self.line = line\n\n def __getattr__(self, key):\n if key == \"on\":\n self.write = True\n elif key == \"off\":\n self.write = False\n elif key == \"toggle\":\n self.write = not self.write\n return self\n\n def log(self, *rest):\n if self.write:\n logs = [*rest]\n if self.label != None:\n logs.insert(0, self.label)\n if self.line != False:\n logs.insert(0, f\"ln {str(list(traceback.walk_stack(None))[0][1])}:\")\n self.out(*logs)\n return rest[-1]\n\n\n# tags: minibrary\n","tags":["minibrary","variation"],"aftlinks":["minibrary.md","variation.md"]},{"title":"training-wheels.mjs","text":"import { demethod } from './demethod.mjs';\n\n// --- setup, could happen in a different file ---\n\ndemethod(String, { target: globalThis, prefix: '$str' });\ndemethod(Array, { target: globalThis, prefix: '$arr' });\ndemethod(console, { target: globalThis, statics: true });\n\n// --- use the functioned methods ---\n\nconst things = [];\nwhile (true) {\n const thing = prompt('enter things, cancel to finish');\n log(thing);\n if (thing === null) break;\n $arrPush(things, thing);\n}\nlog(things);\n\nconst smallThings = $arrMap(things, $strToLowerCase);\nconst renderedThings = $arrJoin(smallThings, '\\n- ');\nconst packagedThings = `here are your smaller things:\\n- ${renderedThings}`;\n\nalert(packagedThings);\n","forelinks":["demethod.mjs"]},{"title":"turtles-all-the-way-down.1.js","text":"(turtle = () => turtle())();\n\n// tags: wuzzle\n","tags":["wuzzle","variation","1-liner"],"aftlinks":["variation.md"]},{"title":"turtles-all-the-way-down.2.js","text":"(turtle => turtle(turtle))(turtle => turtle(turtle))\n\n// tags: wuzzle\n","tags":["wuzzle","variation","1-liner"],"aftlinks":["variation.md"]},{"title":"turtles-all-the-way-down.3.js","text":"({ ['🐱']: function () { this['🐱']() } })['🐱']();\n\n// tags: wuzzle\n","tags":["wuzzle","variation","1-liner"],"aftlinks":["variation.md"]},{"title":"turtles-all-the-way-down.4.js","text":"(turtle = turtle => { try { turtle(turtle) } catch(eltrut) { turtle(turtle) } })(turtle);\n\n// tags: wuzzle","tags":["wuzzle","variation","1-liner"],"aftlinks":["variation.md"]},{"title":"turtles-all-the-way-down.html","text":"turtles all the way down\n\n
\n  _____     ____\n /      \\  |  o |\n|        |/ ___\\|\n|_________/\n|_|_| |_|_|\n
\n\n\n\n\n\n","tags":["wuzzle","variation"],"aftlinks":["variation.md"]},{"title":"turtles_all_the_way_down.1.py","text":"turtle = lambda: turtle(); turtle()\n\n# tags: wuzzle","tags":["wuzzle","variation","1-liner"],"aftlinks":["variation.md"]},{"title":"turtles_all_the_way_down.2.py","text":"(lambda turtle: turtle(turtle))(lambda turtle: turtle(turtle))\n\n# tags: wuzzle","tags":["wuzzle","variation","1-liner"],"aftlinks":["variation.md"]},{"title":"turtlje.mjs","text":"export const turtlje = (c = document.createElement('canvas')) => {\n c = typeof c === 'string' ? document.getElementById(c) : c;\n const pad = c.getContext('2d');\n const state = { col: 'black', width: 1, deg: 0, x: c.width / 2, y: c.height / 2 };\n const turtle = {\n backward: (pixels) => forward(-pixels),\n color: (col) => ((state.col = col), turtle),\n dot: (diameter) => {\n pad.beginPath();\n pad.arc(state.x, state.y, diameter / 2, 0, 2 * Math.PI);\n pad.fillStyle = state.col;\n pad.lineWidth = state.width;\n pad.fill();\n return turtle; },\n forward: (pixels) => {\n pad.beginPath();\n pad.moveTo(state.x, state.y);\n state.x += -Math.cos((state.deg / 180) * Math.PI) * pixels;\n state.y += -Math.sin((state.deg / 180) * Math.PI) * pixels;\n pad.lineTo(state.x, state.y);\n pad.strokeStyle = state.col;\n pad.lineWidth = state.width;\n pad.stroke();\n return turtle; },\n goto: (x, y) => {\n state.x = x + c.width / 2;\n state.y = y + c.height / 2;\n return turtle; },\n left: (deg) => turtle.right(-deg),\n right: (deg) => {\n state.deg = (deg + state.deg) % 360;\n return turtle; },\n width: (pixels) => {\n state.width = pixels;\n return turtle; },\n };\n return { _pad: pad, _state: state, ...turtle };\n};\n\nexport default turtlje;\n\n// tags: minibrary\n","tags":["minibrary"],"aftlinks":["minibrary.md","sierpinski.html"]},{"title":"useless-machine.1.html","text":" this.checked = false, 500)\" />\n","tags":["variation","1-liner"],"aftlinks":["variation.md"]},{"title":"useless-machine.2.html","text":"\n\n\n\n\n\n\n","tags":["coaithored","frivolous","variation"],"aftlinks":["variation.md"]},{"title":"var-let-const.js","text":"// 'use strict';\n\nconsole.assert(__ === let);\n\n{\n var let = 'const';\n}\n\nconsole.assert(__ === let);\n\n// tags: puzzle\n","tags":["puzzle"]},{"title":"variation.md","text":"# Theme and Variation\n","tags":["metappet","1-liner","variation"],"alt":"It's expression, not obsession. I promise.","metalinks":["10-print.1.js","10-print.2.js","10-print.3.js","10-print.4.js","10-print.6.mjs","be.canvas.html","be.css","be.css.html","be.de.txt","be.en.txt","be.flip.js","be.fr.txt","be.html","be.js","be.json","be.md","be.nl.txt","be.py","be.svg","be.txt","be.yaml","breathless.html","breathless.js","cat-detector.ascii.html","cat-detector.ascii.txt","cat-detector.be.js","cat-detector.cat.js","cat-detector.eval.js","cat-detector.evbl.js","cat-detector.golf.js","cat-detector.js.md","cat-detector.js.md.st.js","cat-detector.polyfill.mjs","cat-detector.psu","cat-detector.scm.js","cat-detector.scm.json","cat-detector.spoken.mjs","cat-detector.svg","cat-detector.vars.js","cat-detector.wc.html","cat-i-farted.js","cat-i-farted.mjs","cat_detector.1.py","cat_detector.1.py.js","cat_detector.2.py","cat_detector.2.py.js","empty.json","empty.yaml","halloween.js","halloween.py","hello-world.js","hello_world.py","je-l-ignore.js","je-l-ignore.mjs","love-adventure-success.1.js","love-adventure-success.2.js","mu.js","mu.mjs","no-comment.js","no-comment.mjs","recurseval.1.js","recurseval.2.js","recurseval.3.js","reflection.css","reflection.js","reverse-input.js.txt","reverse-input.txt.js","reverse-input.txt.js.st.txt","tintin.0.js","tintin.0.mjs","tintin.1.js","tintin.1.mjs","tintin.2.js","tintin.2.mjs","tintin.3.js","tintin.3.mjs","tintin.4.js","tintin.4.mjs","togglog.mjs","togglog.py","turtles-all-the-way-down.1.js","turtles-all-the-way-down.2.js","turtles-all-the-way-down.3.js","turtles-all-the-way-down.4.js","turtles-all-the-way-down.html","turtles_all_the_way_down.1.py","turtles_all_the_way_down.2.py","useless-machine.1.html","useless-machine.2.html","yolo.js","yolo.py","yoloer.js","yoloer.py","yoloest.js","yoloest.py"]},{"title":"wait-for-it.js","text":"(function waitForIt(wait = 0) {\n console.log('wait for it ...');\n wait = setTimeout(() => waitForIt(wait), wait);\n})();\n"},{"title":"wat.html","text":"\n\n

Wat?!

\n\n\n\n\n","forelinks":["wat.html"],"aftlinks":["wat.html"]},{"title":"what-does-the-fox-say.mjs","text":"// This looks like a fox, right?\n// Taken from here - https://ascii.co.uk/art/fox\nconst fox = [\n '%c',\n '%c _,-=._ /|_/|',\n '%c`-.} `=._,.-=-._., @ @._,',\n \"%c `._ _,-. ) _,.-'\",\n '%c G.m-\"^m`m\\'',\n '%c',\n];\n\nexport const theFoxSays = (...args) => {\n // Gets args as a string\n const joinedArgs = args.join(' ');\n\n // Add the bubble if there is something to log!\n if (joinedArgs.length > 0) {\n fox[1] += ` ---${'-'.repeat(joinedArgs.length)}-`;\n fox[2] += ` -( ${joinedArgs} )`;\n fox[3] += ` ---${'-'.repeat(joinedArgs.length)}-`;\n }\n\n // Log the fox!\n for (const line of fox) {\n console.log(line, 'color: firebrick');\n }\n};\n\nexport default theFoxSays;\n\n// tags: sketch, remix\n// inspiration: https://tholman.com/console-dot-frog/\n","tags":["remix","sketch"],"aftlinks":["funsole.mjs"]},{"title":"with-transparency.js","text":"const transparency = {\n remember_that: 'let',\n stores: '=',\n as_long_as: 'while',\n is_less_than: '<',\n add_one_to: '++',\n show_me: 'alert',\n};\n\nwith (transparency) {\n eval(`\n\n${remember_that} i ${stores} 0;\n\n${as_long_as}( i ${is_less_than} 5 )${add_one_to} i;\n\n${show_me}( i );\n\n`);\n}\n\n\n// tags: the fun parts\n","tags":["the fun parts"],"aftlinks":["the-fun-parts.md"]},{"title":"yolo.js","text":"const shipit = (motto = '') => {\n try {\n alert(eval(prompt(`${motto}!`)));\n } catch (err) {\n alert(`${err.name}: ${err.message}\\n\\n${motto}!`);\n shipit(motto);\n }\n};\n\nshipit('YOLO');\n\n// tags: yolo\n","tags":["yolo","variation"],"aftlinks":["variation.md"]},{"title":"yolo.py","text":"def shipit(motto=\"\"):\n try:\n print(eval(input(f\"\\n{motto}: \")))\n except Exception as ex:\n print(type(ex).__name__ + \":\", ex)\n shipit(motto)\n\n\nshipit(\"YOLO\")\n\n# tags: yolo\n","tags":["yolo","variation"],"aftlinks":["variation.md"]},{"title":"yoloer.js","text":"while (true) {\n try {\n alert(eval(prompt(`YOLO!`)));\n break;\n } catch (err) {\n alert(`${err.name}: ${err.message}`);\n }\n}\n\n// tags: yolo\n","tags":["yolo","variation"],"aftlinks":["variation.md"]},{"title":"yoloer.py","text":"while True:\n try:\n print(eval(input(f\"\\nYOLO: \")))\n break\n except Exception as ex:\n print(type(ex).__name__ + \":\", ex)\n\n# tags: yolo\n","tags":["yolo","variation"],"aftlinks":["variation.md"]},{"title":"yoloest.js","text":"alert(eval(prompt('YOLO')));\n\n// tags: yolo\n","tags":["yolo","variation","1-liner"],"aftlinks":["variation.md"]},{"title":"yoloest.py","text":"print(eval(input('YOLO')))\n\n# tags: yolo","tags":["yolo","variation","1-liner"],"aftlinks":["variation.md"]},{"title":"yoloish.js","text":"/*\n // 'use strict';\n*/\n\nconst YOLO = 'YOLO';\n\nconst walkTheTalk = (motto = YOLO) =>\n prompt(`${motto}!`) || (alert(`${motto} harder!`), walkTheTalk(motto));\n\nconst shipit = (code = `\"${YOLO}!`) => {\n try {\n alert(eval(code));\n } catch (err) {\n alert(`${err.name}: ${err.message}\\n\\n${YOLO}!`);\n } finally {\n shipit(walkTheTalk(YOLO));\n }\n};\n\nshipit(walkTheTalk(YOLO));\n\n// tags: yolo\n","tags":["yolo"]},{"title":".js","text":"","figment":true},{"title":".mjs","text":"","figment":true},{"title":".md","text":"","figment":true},{"title":".html","text":"","figment":true},{"title":".css","text":"","figment":true},{"title":".txt","text":"","figment":true},{"title":".json","text":"","figment":true},{"title":".py","text":"","figment":true},{"title":".svg","text":"","figment":true},{"title":".yaml","text":"","figment":true},{"title":".psu","text":"","figment":true},{"title":"cat-detector.js.md.st.js","text":"let input = prompt('cat, please');\n\nconst isCat = input === 'cat';\n\nif (isCat) alert('thank you for the cat');\n\nelse {\n\twhile (input !== 'cat') input = prompt('still not a cat. \\n\\ncat, please');\n\n\talert('finally, a cat.');\n}\n","tags":["variation","subtext"],"figment":"cat-detector.js.md","aftlinks":["cat-detector.js.md","variation.md"]},{"title":"reverse-input.txt.js.st.txt","text":"\n Get some text from the user.\n\n Then create a new empty text.\n\n Now start at the beginning of the user input,\n One by one, copy each character to the beginning of the new text.\n\n Finally, show the new text to the user.","figment":"reverse-input.txt.js","aftlinks":["reverse-input.txt.js","variation.md"],"tags":["variation","subtext"]}] \ No newline at end of file