photo
YYYY-MM-DDScreenshotNameDescription
2026-10-26The Happy Halloween DioramaThe Happy Halloween DioramaA three.js Halloween demo.
2026-10-19Spherical Linear Interpolation in WebAssembly 3.0Spherical Linear Interpolation in WebAssembly 3.0A research paper on improving SLERP performance.
2026-10-19OrcOrc3D mesh skinning demo in WebGPU.
2026-09-07FroggerFroggerQwen 3.8 27B generated Frogger clone in Webassembly.
2026-08-25PongPongQwen 3.8 27B generated Pong in Webassembly.
2026-08-16ChessChessA chess game in WebGPU and WebAssembly, with a computer opponent.
2026-06-21Spatial SheepSpatial SheepA 3D WebGPU game tech demo utilizing spatial audio.
2026-02-04LinnaLinnaA WebGPU 3D Benchmark that automatically scales quality down to mobile GPU hardware. Performance results.
2025-12-27Chess DemoChess DemoA silly cinematic chess demo sequence.
2025-10-26Audio Worklet MOD PlayerAudio Worklet MOD PlayerA WebAssembly MOD Player that utilizes SharedArrayBuffer + Audio Worklets, playing the very first MOD 'Amegas' from Karsten Obarski.
2025-01-12Commander Keen: Foray in the Forest - CRT Terminator EditionCommander Keen: Foray in the Forest - CRT Terminator EditionPatch to Foray in the Forest Keen mod to target CRT Terminator's 70Hz hardware vsync signal.
2024-12-13132x50 Text Plasma132x50 Text PlasmaA plasma effect in DOS VGA text mode with Borland Turbo C++ 3.0.
2024-10-01CRT Terminator Digital VGA Feature Card ISA DV1000CRT Terminator Digital VGA Feature Card ISA DV1000We created a digital video output card for old IBM XT/286/386/486 computers.
2024-09-26Red-Black Tree in C++Red-Black Tree in C++Illustrates how to implement a Red-Black Tree in C++, covering all operations. Part 2/3 of an article series.
2024-09-26Binary Search Tree in C++Binary Search Tree in C++Discussing how to write a compact Binary Search Tree. Part 1/3 of an article series.
2024-08-20Improving Techtuber Benchmarking VisualizationImproving Techtuber Benchmarking VisualizationAn attempt to educate the public about the beauty and usefulness of Pareto frontier graphs.
2024-08-11Spider SolitaireSpider SolitaireA multiple deck spider solitaire with Windows 3.1 deck backs.
2024-02-12juj/emgcjuj/emgcSIMD-optimized multithreaded mark-and-sweep garbage collector for Emscripten/WebAssembly.
2024-02-09Advent of Code 2023Advent of Code 2023Advent of Code 2023 on a Commodore 64. YouTube Playlist.
2024-02-05fbcp-ili9341fbcp-ili9341A hand-written ARM assembly and DMA hardware transfer optimized userland display driver for connecting older DispmanX based Raspberry Pis to SPI displays.
2023-12-25EDITEDITA code text editor for DOS and Commodore 64. Also includes a C64 Advent of Code client and C standard library implementation.
2023-09-09KEEN70HZKEEN70HZUsing CRT Terminator to fix up the 70Hz vsync problems that the developers left behind in Commander Keen 4-6.
2022-12-28UINT64_HUINT64_HA 'uint64' data type for 16-bit real mode programs in Borland Turbo C++ 3.0.
2022-12-28Advent of Code 2022Advent of Code 2022Advent of Code 2022 on a MikroMikko 4TT m326.
2022-12-27TICK_HTICK_HHigh precision wallclock timing for profiling in real-mode DOS.
2022-08-28Bat Chase Skrolli 2022.3 artikkeliBat Chase Skrolli 2022.3 artikkeliThe Skrolli magazine article extracted from PDF to HTML form (in Finnish). English Translation using Claude Opus 5.5.
2022-08-28Bat Chase GameBat Chase GameA minimal WebAssembly game written to Skrolli magazine issue 2022.3.
2022-03-22HDMI testikuvaHDMI testikuvaRecreating the Finnish TV channel test pattern from the 1990s on Sipeed Tang Nano 4K FPGA board.
2022-03-15Minimal WebAssembly WebGL animationMinimal WebAssembly WebGL animationSprite + text rendering in 15KB of uncompressed WebGL+WebAssembly.
2022-01-2564KALLOC64KALLOCProvides a way to perform 64K page aligned allocations in Borland Turbo C++ 3.0 for Sound Blaster DMA programming.
2022-01-24Last FrontierLast FrontierAn experiment in using WebTransport for real-time web gaming.
2021-12-17Ohjelmoinnin Perusteet JavaScriptillaOhjelmoinnin Perusteet JavaScriptillaSeven lectures in programming JavaScript.
2021-09-22Web Audio Test SuiteWeb Audio Test SuiteA hosted copy of juj/audio_test_suite for reproducing web browser audio bugs.
2021-06-27No More MagicNo More MagicA WebAssembly WebGL sprite rendering benchmark.
2021-05-15juj/wasm_webgpujuj/wasm_webgpuThe fastest and smallest WebGPU system bindings library for WebAssembly on the planet.
2021-03-17Unity 2020.3.0f1 Dragon Crashers DemoUnity 2020.3.0f1 Dragon Crashers DemoEarly WebGL demo of Dragon Crashers in Unity with WebAssembly.
2020-12-29MathGeoLibMathGeoLibSIMD-optimized real-time 3D mathematics and geometry primitive library.
2020-11-03Flappy BirdFlappy BirdSizecoding in asm.js/wasm.
2020-10-29Amiga Boing BallAmiga Boing BallA reproduction of the iconic CES 1984 demo in WebAssembly.
2020-05-14An Exact Algorithm for Finding Minimum Oriented Bounding BoxesAn Exact Algorithm for Finding Minimum Oriented Bounding BoxesA research paper on calculating minimum volume oriented bounding boxes.
2019-12-31Tiny RacingTiny RacingA game tech demo from Tiny Unity.
2019-12-31DuckTales sceneDuckTales sceneA 3D WebGL/WebAssembly OBJ loader scene viewer.
2019-12-21Season's Greetings 2019Season's Greetings 2019An experiment in WebAssembly sizecoding.
2018-01-21Resume from 2018Resume from 2018Resume and portfolio I put together for Unity.
2017-08-12CubeCubeA magic cube rendering for testing different WebGL renderbuffer and framebuffer format options.
2017-02-28Epic Zen GardenEpic Zen GardenPort of Epic's Unreal Engine 4 Zen Garden demo to WebAssembly while working at Mozilla.
2015-10-19Unity Teleporter DemoUnity Teleporter DemoPort of Teleporter demo project to Asm.js web, made in collaboration with Unity while working at Mozilla.
2015-08-2710kCubes10kCubesA synthetic asm.js WebGL rendering benchmark.
2013-12-27GfxapiGfxapiA 3D engine sandbox I developed between 2005-2014.
2013-12-23Season's Greetings 2013Season's Greetings 2013A small Christmasy puzzle game in asm.js.
2013-06-17HTML5 ScummVMHTML5 ScummVMPort of ScummVM over to asm.js.
2013-01-22Resume from 2013Resume from 2013Resume and portfolio I put together for Mozilla.
2011-09-03Dithered Color QuantizationDithered Color QuantizationMy C++ implementation of the Eurographics 1998 paper 'Dithered Color Quantization'. Download quantize.zip.
2011-03-10Master's ThesisMaster's ThesisMy Master's Thesis 'On Check Character Systems in Algebraic Groups'.
2011-02-02kNetkNetA cross-platform real-time network communication library.
2009-12-15A Thousand Ways to Pack the Bin - A Practical Approach to Two-Dimensional Rectangle Bin PackingA Thousand Ways to Pack the Bin - A Practical Approach to Two-Dimensional Rectangle Bin PackingResearch on heuristic bin packing algorithms in 2D.
2008-06-02Seeking Performance in Nonlinear Dimensionality Reduction COMP4240 Course ProjectSeeking Performance in Nonlinear Dimensionality Reduction COMP4240 Course ProjectA course report on Nonlinear Dimensionality Techniques at University of Newcastle, Australia.
2007-05-07Bachelor's ThesisBachelor's ThesisMy bachelor's thesis 'Simple Primality Tests'.
2002-00-00Particle CloudParticle CloudSimulation of colliding particles, originally written in Java when I was around 16 years old. Decompiled and ported to JavaScript by Qwen 3.8 27B.
1997-05-07First GameFirst GameThe oldest surviving program code that I've written, at 12 years old. A tiny ASCII character chasing game.