I set up this page years ago and proceeded to not post anything at all!
Maybe this year I’ll have something..

A year ago, I was dabbling with the Zig programming language, and spat out a Vulkan renderer over a few weeks to learn the language. I paused and never returned.. scrapped!

On a more positive note, I’ve been writing some Odin recently, and it has quickly grown on me. I looked at Zig as my ergonomic C-style C++ replacement, but perhaps going something closer to C with utilities was what I wanted after all.
Odin really delivers here!


After three years of engineering and collaborating in a complex GPU tech-stack that spans user-space driver, firmware, compiler, tooling, and GPU model, it’s become apparent that there’s a lot more reading, dissecting, and root-cause analysis (RCA), over writing entirely new blocks of code.

Once in a while, with newer architectures, you get to refactor and propagate new data flows. Other times it may resolving cross-module data propagation to get the end-to-end feature to work. Most of the time, RCA is the name of the game; opening up black boxes, jumping domains, and being pragmatic in choosing parts to try to make sense of.

It’s all very interesting, fun, and clearly value-generating engineering work, but these are also slightly different brain muscles being exercised from what got me going with programming the first place.


The creative muscles of writing independently from scratch need to also be exercised; having ideas (novel or inspired), forming a prototype, exploring the idea-domain, challenging your own assumptions and your formed solutions.

To tinker with your own world in a playful way, freely, and without constraints. For fun, for learning, and for making cool things!

I hope that writing some blog posts will help kick off a habit to resume side projects.
Until then.