From VS Code to Helix
I want less Big Tech in my life. After years of dismissing Helix as too fringe and complicated, I've tried (and loved) it.
I want less Big Tech in my life. After years of dismissing Helix as too fringe and complicated, I've tried (and loved) it.
After 15 years on macOS, I made the leap to Arch Linux using Omarchy. Here's what I discovered about the trade-offs, workflow changes, and why shorter battery life and fan noise haven't sent me back to my MacBook.
After years on a VPS, I'm moving my self-hosted services home and using the opportunity to migrate to a more flexible and robust setup.
Super quick one I want to document here! I got myself on a side quest, again! No biggie, my ZSH shell was taking ages to load. When I say ages, more like...
As a software engineer, I often work on big tasks that require hours of continuous and focused work. However, we have plenty of meetings, colleagues asking us something in Slack, and lunch breaks. Add a colleague who comes to you and calls you for a cup of coffee if you work from the office. And usually, we don’t…
Programming notes for Unreal Engine, Houdini, Game Development, Math, & Graphics
What do you think is gonna happen after I press tab when looking at this screenshot?
The rise of AI-powered coding has created an unexpected market: cleaning up the technical debt from prompt-generated software. Here's why 'Vibe Coding cleanup' is becoming a legitimate service category and what it means for the future of software development.
We all love Python’s comprehensive standard library, but let’s face it – PyPI’s wealth of packages often becomes essential. Sharing single-file, self-contained Python scripts that rely on these external tools can be a headache. Historically, we’ve relied on requirements.txt or full-fledged package managers such as…
Explore why Markdown, despite its ubiquity, might not be the best fit for technical content.
The Grafana Stack can be an incredible powerful monitoring solution, but through my experience I found out how maintenance intensive it is and how uncertain the…
Markov chain babblers, bogus php files, and more!
You don't own your email; you rent it. This vulnerability leaves your entire digital life at risk. Read how to seize back control of your most critical online asset by switching providers and setting up your own unbannable email server.
This post outlines the evolution of the EYG editor. The major changes over time, design thoughts and some implementation notes.
I've made my own web-based coding environment for working on little projects. A few years ago I found Glitch. It's great: a web-based coding environment that makes it really easy to quickly start edit
I built a small proof-of-concept for a system that enables real-time bidirectional editing between any modern code editor and a GUI, enabled by an LSP1 server. Code-based CAD I like working on small projects at home that benefit from CAD. I’m also a programmer with a personal development environment that I’ve spent…
An exploration of the layout models of TeX and Typst.
Jujutsu (jj), a new version control system written in Rust, has popped up on my radar a few times over the past year. Looked interesting based on a cursory look, but being actually pretty satisfied with Git, and not having major problems with it, I haven’t checked it out. That is, until last week, when I finally…
My startup for terminals wrapped up mid-2025 when the funding ran dry. So I don’t have money, but what I do have are a very particular set of skills. Skills I have acquired over a very long career convincing terminals they are actually GUIs.
In this post I will talk about my favourite computer ergonomics hack, a DIY device I call "The Beeper".
Achieving Data Freedom Through Open Source and Rust
Not long ago, I introduced acp.el, an Emacs lisp implementation of ACP (Agent Client Protocol), the agent protocol developed between Zed and Google fo...
People rant about having to learn algorithmic questions for interviews. I get it — interview system is broken, but you ought to learn binary search at least.
How we handle 92 million compilations a year without everything catching fire
Fang-Pen Lin's blog about programming