P01✨
CREATIVE CODER &
TECHNICAL SPEAKER
I am Mathieu 'p01' Henri, creative coder, technical speaker, demoscener, JavaScript developer and size optimizer extraordinaire. Microsoft engineer writing tools serving hundreds of engineers and hundreeds of millions of users by day. Coder artist of tiny realtime audio visual animations by night.
Here is a collection of my talks about art+code and audio visual productions for the web platform, PC and Atari ST. Enjoy.
EXPI
EXPI lives in the Brotli dictionary. RIP JPEG encoder. RIP Compo stream.
M22
M22: DEMO-lishing 1kb competition since 2012 using Javascript and the web platform
🏄♀️ 1KB QUINE
FLUID SIMULATION
Homage to the Fluid Simulation by Yusuke Endoh for IOCCC 2012, in 1kb of HTML, CSS and Javascript quine, code-golfed by Xem , Aemkei, RReverser and Irratix and myself
MONOSPACE
MONOSPACE: Flip dots with feelings, a JavaScript demo in 1021 bytes, winner of the 1024 bytes demo competition at Assembly 2020.
👩🌾 256B
MUSIC VIDEO
Music video with Speech synthesis, Web Audio music and animated visuals about a woman farmer in 255 bytes of HTML+Javascript
TETRIS ▙
TETRIS themed music and visuals in 252 bytes of HTML+Javascript
OUTER_M2
OUTER_M2: EXPLODING NEUTRINOS, a smashing JavaScript demo for the 1024 bytes demo competition at the Assembly 2019.
WE DON'T MAKE
MISTAKES AT
DEVONE 2019
Giving the closing keynote DEV ONE 2019, held on April 11 in Linz, Austria was absolutely fantastic. The conference was very well organized with one track, 11 talks about "scale" and 600 wonderful delegates. I learnt so much that day, got confirmation for some good practices but also learnt about many opportunities to improve our work. Also it was a pleasure to meet new people and see familiar faces among the organizers and attendees from Script'17.
MUSIC FOR TINY AIRPORTS
AT WEB AUDIO CONFERENCE
The Web Audio Conference 2018, held in September 19-21 in Berlin was a great mix of researchers, web developers, artists and performers presenting their projects. I had the chance to provide a deep dive into music for tiny airports, explaining how to generate hours and hours of music in a handful of bytes.
MUSIC FOR TINY
AIRPORTS 2/1 🛫
Celebrating the 40 years anniversary of Brian Eno's "Ambient 1: Music for Airports" with an homage written in 256 bytes with the Web Audio API.
THEY COME
AT DUSK 👺
A survival horror game for JS1k 2018, where you run away from dead miners as you hear your heart beat. Turn around using the arrow keys until all you hear is beeeeeeeep.
FRONTFEST
MOSCOW
It was an honour to be invited to Fronfest Moscow 2017 with the little family to give my first workshop; implementing a Twin-stick shooter using ES6 and Canvas, and to continue my CODE🎙ART series of talks + live coding aiming to inspire new web developer artists.
VOLTRA
VOLTRA: Grinding the Universe, a gritty JavaScript demo, winner of the 1024 bytes demo competition at the Assembly 2017.
BREATHING
EARTH
Another take on Nadieh Bremer mesmerizing Breathing Earth visualisation, running at 60fps on a 2D Canvas without libraries or frameworks.
CODING⯌ART
AT RENDER
CODING⯌ART at Render 2017 was part of my series of talks + live coding aiming to inspire new web developer artists.
DWITTER
SON1K
DWITTER—SON1K, the winning entry of JS1k 2017 is a social AudioVisual LIVE coding environment for the Twitter generation.
CODING⬢ART
AT SCRIPT'17
Script'17 was all kinds of awesome: Great organization, line up, venue, catering, diverse and welcoming. It was a pleasure to talk to you all and LIVE code something useless before the party. Looking forward to see useless things from you all.
JS1K 2017
INVITATION
JS1k 2017, the yearly 1kb JavaScript contest, is about to start and kuvos asked me at FFConf if I would like to make an invitation demo again. Hell yes!
ART×JS
AT FFCONF
ART×JS was the closing talk at FFconf 2016. The goal was to bring new developer artists to the web by abusing standards and developing a visual understanding of mathematics.
ASTRA
ASTRA is a JavaScript odyssey in 1002 bytes for Assembly 2016
10 PRINT THEREMIN
AT WEB REBELS
A lighting talk about labyrinth generation and theremin instrument using the Web Audio API in 219 bytes presented at Web Rebels 2016.
DEMO REEL AND
TINY JAVASCRIPT
AT FRONT TRENDS
I had the pleasure to speak about creating bite sized audio-visual demos, and LIVE code one at Front Trends 2016 in Warsaw, Poland.
LRNZ
SNGLRT
LRNZ SNGLRT is a minimalist and energetic entry for JS1k 2016 showing twisted Lorenz attractors with ambient occlusion, soft shadows, ... a strong beat & clean design.
TINY AUDIO-VISUAL DEMOS
AT JSCONF ASIA
I had the honor to open the second day of JSConf Asia 2015 in Singapore with a talk and LIVE programming session about Tiny Audio-Visual Demos
BLCK4777
Winning 1kb intro at Assembly 2015, BLCK4777 is a JavaScript explosion of light and triangles in 1023 bytes
IMPOSSIBLE
ROAD
Back in October 2014, a good friend of mine, showed me IMPOSSIBLE ROAD and half joked that I should do a remake for JS1k the yearly 1kb JavaScript contest happens in Spring. This set my mind on hyperdrive.
JS1K 2015
INVITATION
JS1k 2015, the yearly 1kb JavaScript contest, is around the corner and kuvos asked a couple of optimizer extraordinaires to open the show. Hopefully this little invitation will tingle the spider sense of talented developers and code golfers in time for them to submit high quality entries to JS1k 2015.
DRAGON
PUNCH
An itsy bitsy Dragon curve renderer in 121 bytes.
THREAD
The "10 print" maze generator in 15 bytes of x86 assembler.
THREAD JS
Breaking the 64 bytes fronteer with the famous "10 print" maze generator.
SHEET
An Excel-like spreadsheet with arbitrary expressions and persistence using localStorage golfed under 256 bytes with aem1k, subzey, xem, rlauck, odensc, mmastrac, and corruptio
MINICRAFT
Tribute to MINECRAFT, voxel flyby in 252 bytes of HTML5
WOLFENSTEINY
An homage to Wolfenstein 3D in 251 bytes of HTML5
TEA STORM
256 bytes JavaScript signed distance field raymarcher using 2D Canvas. TEA STORM won at Function 2013
JAVASCRIPT
IS JARIG
Javascript is 18 years old! Let's celebrate with a nice little tune.
MINI
DISTRICT
How to build a 3D City in 256 bytes with Canvas 2D
ANDES
The Andes are the world longest mountain range: 7,000 km and 1,022 bytes of JavaScript, making for a nice entry for Assembly 2013
MINAMI
DISTRICT
DEMOJS 2013's winner 1k intro. With MINAMI DISTRICT I wanted to do something fresh. Something never seen in normal demos before: A city with a twister skyscraper.
HYPERSONIC
MANDELBULB
A hasty invalid JS1k entry using webGL+Audio. Possibly the first one.
MATRAKA
DEMOJS 2012's winner 1k intro with 3D graphics and music, written in JavaScript and packaged into a self extracting PNG image. See and hear for yourself! Remember, everything you're about to see and hear fits in 1024 bytes. Watch out, the music is quite loud
MICRO NOVA
Quite possibly the smallest WebGL demo effect. Micro Nova clocks under 512bytes and shows supernova-like blasting colors.
RAYTRACED
CHECKBOARD
What about an Ascii art raytraced checkboard animation in 128 bytes of HTML + JavaScript ?
JS1K SPEECH
SYNTHESIZER
Sorry but I didn't have the time nor felt like doing heavy 3D, FPS game, particle systems, flying hearts and flowers for JS1K#4. This time, Audio was ON and several entries featured a melody and other simple sound effects, so I had to make a Speech Synthesizer in 1K of JavaScript.
TV NOISE
Fall 2011, another meme struck Pouet.net. TV NOISE. Over the course of a few weeks, every single platform went psssh. There you go open web platform: TV noise in 128 bytes.
MUSIC
SOFTSYNTH
This is the brain child of 140byt.es and Experimental music from very short C programs.
SUDOKU
SOLVER
Solves a Sudoku grid using magic, recursion, and 140bytes of brute force.
COTTON
CANDY
First stab at webGL, in 1k between two nappy changes. It's glitchy and tiny but I quite like this puppy. It ranked #3 at DemoJS.
WOLF1K
The idea of this entry for the JS1K contest was to do the impossible: a 1K remake of the famous WOLF5K that rocked the final edition of the5K. It does not feature guns, evil grins and violence for in WOLF1K there is no room for guns or any form of violence.
JSPONGY
Since Mentor^TBC released Spongy, an amazing 128b intro raymarching a Menger sponge, I wondered how far such effect could be size optimized in JavaScript while keeping complex camera path. The answer: 281 bytes.
TILT SHIFT
A very fast & simple tilt-shift effect in Canvas.
MARS
LANDSCAPE
Remember the amazing MARS 4Kb intro by Tim Clarke in 1993 ? Here comes a remake in 256b using JavaScript and Canvas
PNEBULA
Almost the first 256b intro using Canvas ever :p
MANDELBROT
TRACER
Possibly the smallest Mandelbrot tracer ever in JavaScript: 101 bytes
DEFENDER OF
THE FAVICON
The brilliant arcade game Defender now playable inside the favicon of your browser! The idea was to push the concept of generated favicons far and beyond and pack a thrilling retro shooter in 16×16 pixels.
TUNNEX
Ascii art tunnel + Scroll text: The first multi-effect 256b production in JavaScript
RUBBER
IN SOLID #
A crazy twister effect in 256bytes of DHTML
3D TOMB II
3D TOMB II: The tomb of the 4096 mummies is a first person shooter in a fully textured environment done in less than 4KB of JavaScript.
OOMA 2
Rotozoom with tilt and experimental music in a valid 480bytes Atari bootsector.
STARFIELD
A simple 3D starfield with title and fog in 256 bytes of Javascript
ASAHIKAWA
Flyby the city of Asahikawa in 64 bytes.
MANDELBROT
ROTOZOOM
Many people did fractals renderers in Javasript in 256 bytes, but no one ever made one that zooms and rotate... until today.
TERRA
A voxel landscape rendered using a plasma in a valid 480bytes Atari bootsector. TERRA ranked #2 at Outline 2006
NEJA
My first JavaScript demo, presented at the Assembly 2005 where it ranked #4
OOMA
The winning bootsector of Outline 2005, featuring two images zooming with experimental music in a valid 480bytes Atari bootsector.
FIRE
Warming up with a 32 bytes fire effect for MSDOS after a few years break from the demoscene for studies and work.
COPTER
CRUISE
A simple Commanche-like that won the 20lines 'Terrain' contest at the OzoneAsylum in July 2004
SIERPINSKI
GASKET
A cute Sierpinski gaskets in 96 bytes of DHTML.
256B.HTM
ROUND 2
The second edition of the 256B.HTM contest allowed 3 entries per author. Mine ranked 1st, 2nd and 4th out of 43. Only a few points shy of a total take over!
256B.HTM
The first edition of the 256B.HTM contest allowed 5 entries per author. Mine ranked 1st, 10th, 19th and 29th out of 63.
DRAWING LINES
IN JAVASCRIPT
An efficient method to draw and animate many lines in JavaScript, without Canvas or any similar graphic API.
EQUALIZER
A little intro for the famous Equalizer BBS made in 4kb for MSDOS
MAGIC
A cute little intro for the Magic BBS made in 3.5kb for MSDOS
PULPINA
Winning 64kb DOS intro at the Volcanic party 1997, made in one week, in Pacal.
URYA
A sweet text mode 64kb intro on PC, written in PASCAL and showed at the WIRED'96 demoparty where it ranked 4th.
Let's talk
Don't be shy; get in touch by mail , twitter , github , linkedin or pouet if you have any questions, feedback, speaking, workshop or performance opportunity.