Where Zettlr Failed: How I Wrote My Entire Thesis Using (Almost) Only One Program
This is a (late) extension to both my PhD series and my “How I work” series. In this article, I explain the technical setup of my PhD thesis — how I integrated my data analysis pipeline into my writing, and how I enabled exports for the various journals I had to submit my work to. [Read more]
WebGL Series, Part 8: Implementing Multi-sample Antialiasing (MSAA)
In this last article in my series on WebGL, I re-implement antialiasing to make the rendered graphic look more crisp. This step concludes the full setup of the iris indicator that you can see on the demo page. [Read more]
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]