WebGL Series, Part 7: Adding a Bloom-Filter
In the second-to-last installment of my series on WebGL, I explain how a Bloom filter works and how I added it into the processing-pipeline of the iris indicator. [Read more]
WebGL Series, Part 6: Post-Processing
In part six of this series on WebGL, I introduce the concepts behind post-processing a rendered image, and how to implement that in a WebGL program. [Read more]
WebGL Series, Part 5: Computing Colors
In this fifth article on WebGL, I explain how I procedurally generate colors and animate them to convey changes in the state of the iris indicator. [Read more]
WebGL Series, Part 4: Animating Things
In this fourth article of my eight-part series on WebGL, I explain how I animated the rendering and ensure that it conveys a sense of motion. [Read more]
WebGL Series, Part 3: Drawing Things
In this third installment of my 8-part series on WebGL, I explain how I finally was able to draw triangles onto the screen, based on the previous two articles that were merely concerned with setting things up. [Read more]
WebGL Series, Part 2: Setup and the OpenGL Rendering Pipeline
This is the second part of my eight-part series on WebGL. This article introduces the basic architectural design of the iris indicator and provides a primer on what WebGL is. [Read more]
A Rabbit Hole Called WebGL
Over Christmas, I made another little side project. But this time around, it turned out to be a rabbit hole of galactic extend. So read this article on my journey, as I fell down the rabbit hole of OpenGL and graphics rendering. [Read more]
Vibe Coding: The Final Form of Hyper-Individualism
A few days ago, I had to deal with the first "vibe coded" PR to my software. In this article, I reflect on this encounter, and analyze the social habitus of the "vibe coder." I conceptualize "vibe coding"—inexperienced users generating complex code via AI tools—as the final manifestation of hyper-individualism. Drawing on sociological frameworks, I argue that this practice disrupts open-source norms by producing unreviewable, high-impact PRs that ignore community standards and technical context. While motivated, their output reflects a "tragedy of the lone producer" who sacrifices meaningful engagement for isolated productivity. This trend can threaten software integrity and community health. [Read more]
Shutdown on Capitol Hill: An Afterword to my PhD Thesis
After five years, we know a little bit more about the lawmaking processes in U.S. Congress. At the same time, Congress is barely legislating anymore, because the government is currently under shutdown. What remains from U.S. democracy as we know it after nine months of Trump? An afterword to my PhD thesis. [Read more]
I think I Finally Got Monads
Sometimes, we all get hung up on fringe phenomena that are largely inconsequential for the world's pressing issues, but still satisfy some urge to understand within us. One such thing for me were monads, a weird little concept from group theory that sits at the heart of many programming jokes. I have spent years trying to understand them, and now that I finally did, I had to realize that I will probably never need them. [Read more]