Trying to grok rendering

It's humbling when programming with a lower-level language like Zig. This morning I spent an hour trying to figure out how to allocate a two-dimensional array. After a while I just gave up and decided to implement a two-dimensional array from a single dimension. After all, it'…

A year of Zig

It's been over a year since I switched to Zig to build all my side/curiosity projects. Surprisingly, switching to a lower-level language has consistently improved the quality of my projects and my love for programming. I find myself being able to get braver and approach programs I…

The joy of audio programming

What's going on here? Last week I wrote about the frustrations of programming audio. Last week I was stuck on a problem where I had no idea what the issue was. It turns out that in PulseAudio, if you use the async server and don't close…

Frustrations of programming Audio

When skill issues hit you in the face, they sure do hit you hard. The last few days of trying to wrangle PulseAudio to work have been quite humbling. The worst part is that I had audio working. My ego couldn't be satisfied with it being so easy,…

Patterns when programming down under

By "down under," I mean as close to the kernel as possible, before you get too excited, it's not really that close, but it's as close as system libraries. I finally got audio to work! Not perfectly, but still functional. Turns out I just…

Zig is safe, I'm learning it the hard way

Truth be told, I've heard about Zig being safer than C, but I did not know what it meant—mainly because I did not know why C is unsafe. Today I came across one of those scenarios. It stumped me for a couple of hours until I realized…