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.
2023-05-29Emunittest Unity 2023Emunittest Unity 2023Real-time rendered WebAssembly game demos publicly released to browser vendors by Unity, used as browser development performance benchmarks.
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.
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.
2016-03-23Open Web Games 4.2.1Open Web Games 4.2.1A browser asm.js/WebAssembly games performance benchmark suite curated at Mozilla when Mozilla Games Initiative came to completion. Some of the benchmarks have been lost to time.
2016-03-13Emunittest 0.5Emunittest 0.5Early asm.js and WebAssembly real-time rendered game demos used as browser development performance benchmarks, from Mozilla Games Initiative.
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.
2015-06-21Input-to-photon latency testingInput-to-photon latency testingSlides from a presentation on an Arduino based setup for measuring end-to-end input-to-photon rendering latency of WebGL in browsers.
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. Video visualization.
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.