Skip to content

Instantly share code, notes, and snippets.

View p01's full-sized avatar

Mathieu 'p01' Henri p01

View GitHub Profile
@p01
p01 / List_of_demos.md
Last active August 29, 2015 14:09
List of demos in the Monster Audio-Visual demos in a TCP packet talk at JSConf EU 2014
@p01
p01 / index.html
Last active August 29, 2015 14:13
JS1k 2015 Invitation
<!doctype html>
<html>
<head>
<title>JS1k 2015 Invitation by Mathieu 'p01' Henri</title>
<meta charset="utf-8" />
<meta name="author" content="Mathieu 'p01' Henri, @p01"/>
<meta name="viewport" content="width=device-width,initial-scale=1"/>
<style>
html, body { margin: 0; padding: 0; border: 0; }
#c { display: block; } /* kill scrollbars from hell */
@p01
p01 / dirty_trigo.js
Last active November 6, 2016 16:47
Find approximation of trigonometric value
onchange = function(e) {
try {
var value = eval(expression.value);
var TWO_PI = Math.PI * 2;
var minError = TWO_PI;
var results = [];
for(var i=0; i < 1e4; i++) {
var error = Math.abs(value - (i % TWO_PI));
if (error < minError) {
@p01
p01 / live-coding-at-SG.html
Last active November 26, 2015 22:48
Live coding at Creative Coding Singapore
<style>
#b {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: radial-gradient(circle, #000, #123);
}
@p01
p01 / index.html
Last active January 31, 2016 23:24
LIVE code at FRAMSIA - 20160127
<style>
#b {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: radial-gradient(circle, #345, #201);
}
@p01
p01 / demo.js
Last active March 25, 2016 22:45
JS1k 2016: THE SECRET OF MENTAL ISLAND
for(_='024z),v33$22:atQon!,4GddKKKJ99@@bbJK?rocess>ect(`qq_kk^0,Z37YllX^^^WmlkmXXWVhhU5511mm☁",ff77rrrqomq__(n[parseInt("c.fiX,Text("Z:0)cc*MQh.sin(x/,1,c.globalAlpha=,R`Zxz,aaoo ii Klo@ @ Style="#K"[0|s%264],35)]*s&1) orqo ,c.f!t="pppppx serif"x+=Y)n=[35,YG1G6G9,,58,62,65,73,82,93,98101723313947658596,:Z2$,247,262,2,294,$ZY0],A=new AudioC!text,C=A.creQeScriptP>or(a.width=1zvs=ZC.c!n`A.destinQi!vC.!audiop>=functi!(l){for(b=l.outputBuer.getChannelDQa(x=0va.height=YZ214"Y0v46f".1162:740Y:054,002",x=0;x<1z;x++,s+=6.25/A.sampleRQe)R`x,$0+MQh.min(27)+4vb[x]=JV oqssss_q o VWWW^ lkjl ^ Xmsmsrs_ WU tt_qrorXXXXXXXjjUUUUfh+fi Kjo KJ@ 66enK@bb$bbfidg44cf4444cf@ jjfi@Jfk@dh?44dk00:$88ggbb@@@@@97?J UK-1),Y0);B4B"16THE SECRET OF"G8Z98)62MENTAL"G2050)ISLAND"G8096)}';G=/[-U-Z^-`>-@JKG!Q:$vz]/.exec(_);)with(_.split(G))_=join(shift());eval(_)
@p01
p01 / index.html
Last active August 25, 2022 18:57
Face detection in 280 bytes
<canvas id=a><video id=v><svg onload="navigator.getUserMedia({video:1},n=m=>{v.src=top.URL.createObjectURL(m);setInterval(async(c=a.getContext`2d`)=>{c.drawImage(v,0,0,208,150);for(i of await new FaceDetector().detect(a))with(i.boundingBox)c.strokeRect(x,y,width,height)},9)},n)">