When Magnus first told me about his plans for the So You Think You Can Code 2025 Advent Calendar, I was genuinely thrilled. At the time, my own plan was to contribute one or maybe two articles. Unfortunately, life and work got in the way.
When he told me that, he asked if I would be willing to write the final day post — the 25th article of the project. I didn’t hesitate for a second. Even though I wasn’t writing every day, I was reading every day. Sometimes I had to catch up by a few posts, and some articles were so interesting and technically dense that I went back to them once, sometimes twice.
I spent this morning finalizing everything based on my notes, some assistance from Magnus, and a bit of AI to help with structure and proofreading. What follows is my result.
But before I dive into my summary and thoughts — thoughts that are mine — I want to say thank you to all the contributors. I know how much work something like this requires, and it is not an easy thing to pull off. Magnus also asked me to pass along his thanks to everyone involved, which I’m happy to do here.
Thank you — from the organizer.
We have spent the last 24 days opening doors into different dimensions of logic. From high-level TypeScript abstractions to the raw, clanking metal of 16-bit DOS assembly, this series has been more than a collection of tutorials. It has been an odyssey of creative engineering.
As we conclude, we look back at the craft. We celebrate the authors who shared their engineering soul — their battles with entropy, their obsession with constraints, and their pursuit of beauty through technical rigor.🌟
Day 01 – Magnus Thor: Fluent LINQ in TypeScript Read Time: ~5 mins A masterclass in API design. Magnus introduced QueryableArray<T> to solve the verbosity of native JS array chaining, providing C#-style declarative power with zero external dependencies.
Day 02 – Magnus Thor: The Grinch of WGSL Swizzling Read Time: ~4 mins A vital technical breakdown of WebGPU’s restricted “Swizzle Writes.” Magnus explained the architectural distinction between memory locations and temporary r-values, enforcing strict data discipline in the modern pipeline.
Day 03 – Magnus Thor: WebGPU Performance Profiling Read Time: ~5 mins Magnus deconstructed the “lie” of average FPS. He demonstrated how to use the timestamp-query feature to measure GPU render passes in exact nanoseconds, establishing a scientific baseline for identifying true bottlenecks.
Day 04 – PCrush: From Pixels to Playback Read Time: ~5 mins An impressive display of GPU-based Digital Signal Processing (DSP). By reinterpreting RGBA pixel data as frequency-modulated audio samples, PCrush synthesized high-fidelity sound entirely within a fragment shader.
Day 05 – Frank Taylor: CSS Houdini Paint Worklets Read Time: ~4 mins Frank demonstrated how to offload procedural images to the CSS Paint thread. By isolating complex visuals (like Sierpinski triangles) from the main UI thread, he achieved high-fidelity procedural backgrounds without impacting interaction latency.
Day 06 – Shoofle: An Asynchronous Assembly Adventure on the Game Boy Read Time: ~10 mins A genuine thrill. Shoofle provided a high-stakes look at the Sharp SM83 processor. This entry detailed the necessity of manual stack management and V-Blank synchronization. By utilizing LYC interrupts and preserving register states ($af$, $bc$, $de$, $hl$) during context switches, Shoofle achieved non-blocking orchestration on 1989 silicon. It was a rare look at “racing the beam” through manual cycle counting.
Day 07 – Magnus Thor: Off-Thread Graphics and WebRTC Read Time: ~6 mins Magnus architected a heavy rendering pipeline using OffscreenCanvas and Web Workers. By piping the results through WebRTC, he proved that high-performance browser visualization can—and should—live outside the main thread.
Day 08 – Mårten Rånge: Introduction to Path Tracers Read Time: ~9 mins A mathematical masterpiece. Mårten moved beyond the “tricks” of ray-marching to deconstruct the rendering equation through Monte Carlo integration. His explanation of Lambertian reflections and the “reversed” journey of a photon demonstrated how physically accurate light-bleeds and soft shadows are a natural consequence of the math.
Day 09 – Magnus Thor: Shader Adventures in Rust: WebGPU + Wasm Read Time: ~6 mins Magnus showcased the future of browser systems programming. By integrating Rust’s memory safety with WebGPU via wasm-pack, he demonstrated native-level performance for iterative mathematical simulations like fractals.
Day 10 – Magnus Thor: TPL in TypeScript Read Time: ~5 mins A professional-grade implementation of .NET Task Parallel Library patterns. Magnus introduced CancellationToken and structured state management, making millions of concurrent async operations predictable and manageable.
Day 11 – PCrush: Hashing, Golfing, and Packing for the Web Read Time: ~8 mins Technical wizardry at its finest. PCrush explained WebGL context hashing to truncate method names and showed how to pack code into raw PNG pixels to leverage the browser’s native Deflate decompressor for extreme size optimization.
Day 12 – Frank Taylor: Markov Christmas Lights Read Time: ~5 mins Frank explored the synchronization of physical hardware state-machines with generative logic. Using Node-RED and Markov Chains, he treated lighting as a probabilistic sequence, bridging generative math with physical IoT devices.
Day 13 – Mårten Rånge: Disassembling a Glow-Tracer Read Time: ~7 mins “Code surgery” on an obfuscated shader. Mårten deconstructed distance-based color logic and fused operations to shave a 413-byte production down to a mere 399 bytes.
Day 14 – Magnus Thor: Real-Time WGSL Playground Read Time: ~5 mins Magnus built a collaborative environment for WebGPU. This tool leveraged WebRTC for live-broadcasting of WGSL compilation, turning shader development into a low-latency, social event.
Day 15 – PCrush: AssemblyScript for All Read Time: ~4 mins A practical performance bridge. PCrush showed how AssemblyScript allows developers to write heavy compute logic (like image processing) with near-native Wasm speeds using a TypeScript-like syntax.
Day 16 – Magnus Thor: Procedural Worlds in Roblox Read Time: ~6 mins An elevation of game scripting to systems engineering. Magnus used Fractal Brownian Motion (FBM) to generate infinite, deterministic landscapes, proving that even high-level platforms benefit from DRY principles and version control.
Day 17 – Benni (Nordischsound): Retro C64 SID Music Read Time: ~6 mins Benni demonstrated that SID music is a programming feat. He broke down the manual entry of arpeggios and pulse-wave manipulation on 1982 hardware, providing the .sid files for deep technical study of 8-bit sound architecture.
Day 18 – Starfighter: The Recursive Meatball Algorithm Read Time: ~3 mins A brilliant bit of “Culinary DevOps.” Starfighter applied the Mannerström Protocol to a meatball recipe, treating it as a YAML manifest with flavor-based unit tests. Actually this is the meatballs i make for christmas.
Day 19 – Frank Taylor: Markov Melody Machine Read Time: ~5 mins Frank used Higher-Order Markov Chains and the WebAudio API to identify “probabilistic hubs”—specific notes where the algorithm pivots to blend basslines and melodies seamlessly.
Day 20 – canmom: A Nest of Divergence-Free Fields Read Time: ~9 mins
A heavyweight masterpiece. Using Rust and wgpu compute shaders, canmom generated vector fields that are mathematically guaranteed to be “solenoidal”—meaning the flow is divergence-free. This creates a physical system where particles move in eternal, non-colliding loops without clumping together or “leaking” out of the simulation bounds. It is a stunning example of using GPGPU power to simulate incompressible, fluid-like motion with organic, swirling “Uzumaki” patterns.
Day 21 – Starfighter & Magnus: Orchestrating the Machine Read Time: ~6 mins The “GPU-native Sequencer.” This entry taught how to treat time as a 0.0 to 1.0 “domain,” ensuring visual performances remain mathematically locked to the rhythm regardless of CPU tempo jitter.
Day 22 – Ricky Davies: Multi-Window Synchronization Read Time: ~5 mins Ricky used the Broadcast Channel API to synchronize particles across independent windows. By mapping local coordinates to a global screen grid, he turned the entire desktop into a single coordinated simulation. Actually an API i did not heard of before
Day 23 – Mårten Rånge: Coding Like It’s 1984 (DOS) Read Time: ~7 mins Pure, unadulterated engineering. Mårten wrote a 16-bit .COM file in under 256 bytes, speaking directly to CPU registers and the 0xA000 VGA memory, stripping away all modern software bloat.
Day 24 – Magnus Thor: The Architect of Constraints Read Time: ~8 mins A very interesting philosophical shift. Magnus looked back at his 1992 roots to argue that beauty in code is revealed, not constructed. By defining constraints—through Domain Warping and Voronoi tessellation—he proved that organic complexity is the inevitable result of well-defined mathematical rules.
💡Note: I used AI to refine the spelling in my notes and make them flow.
My notes can be found here My Notes
This calendar has been a testament to what happens when curious minds come together to explore the boundaries of technology. From the first line of TypeScript to the final byte of DOS assembly, every entry has contributed to a larger map of modern engineering. No matter the era of the hardware or the complexity of the language, the goal remained the same: to explore, to optimize, to create, and to share.
While the 24 days of December are coming to an end, the knowledge shared here remains. The repositories are public, the shaders are running, and the lessons in logic are yours to keep. We hope this series has inspired you to look deeper into the tools you use every day and perhaps find a bit of “engineering soul” in your own projects.
The 2025 Advent Calendar is now complete. Go forth and code!🚀
Hakko, 25th of December 2025