Latest Posts on my blog
Decode It Like It's 1999 02/2017
Behind the scenes of my MPEG1/MP2 decoder, written in JavaScript
Quake for Oculus Rift 05/2016
The founding father of First Person Shooters updated for VR.
The Absolute Worst Way To Read Typed Array Data with JavaScriptCore 11/2015
My journey to read some data from JavaScript Typed Arrays in a fast way.
Play GTA V In Your Browser – Sort Of 07/2015
A giant hack using WebSockets and a JavaScript mpeg1 decoder.
Older, Noteworthy Articles
Reverse Engineering WipEout 04/2015
A Model Viewer for the original WipEout for PSX. A detailed journey into the 20 year old data formats of the game.
Xibalba – A WebGL First Person Shooter 07/2014
The screencast/making-of of a simple 3D game for WebGL
9 Years of Sleep 05/2010
Weird sleep cycles produce pretty graphs.
Selected Comments
I still hold out hope for additional significant scalar improvements, but the pessimistic view would be that current C/C++ code is faster than Javascript will ever get. EVER. John Carmack on ‘Letter to John Carmack’
MPEG-1 is actually one of the easiest to parse video formats that have been in common use; everything that came after it is more complex. KeyJ on ‘MPEG1 Video Decoder in JavaScript’
I've actually run into quite a few cases where I use requestAnimationFrame as a one-shot call. Typically this is because I recognize some part of my UI needs to be redrawn. Brandon Jones on ‘What the requestAnimationFrame API Should Have Looked Like’