Hello, world
Booting up the blog: what this site is and what will show up here.
$ ssh voxelbrew
Last login: never
voxelbrew:~$ echo "hello, world"
This is my first post on my new website. Third time’s the charm.
I previously launched cchulo.labs and cchulo.dev, and neither stuck,
mostly because of the names. I never liked having a domain named after
me. My name is a bit unusual, and while it’s memorable if you know
Spanish, it says nothing about a tech blog or a portfolio. It took me a
while to think of naming the site after something I’m passionate about
instead: computer graphics, and voxels in particular. Add a coffee
habit, and voxelbrew.sh was born.
A few months ago I worked on a custom fork of DS5-Linux-Bridge. It was my first time using Claude Fable, and I wanted to see how it handled a real-life hardware problem. The goal was to turn my Fractal Ridge HTPC into a PS5-like console that boots from a DualSense controller.
A few weeks before that I was dabbling in self-hosting LLMs.
Before that, I was working on Neon Engine, a custom rendering engine and a passion project I’ve picked up and put down since college. It has gone through several rewrites. My goal is to “complete” it, and by that I mean get a 1.0 out toward the end of the year.
In the years before that I mostly explored observability stacks, web development, and game development. I even found a video of one of the first games I ever made, a Diablo-inspired ARPG. The source code is long lost, but it’s fun to see how far I’ve come, and it’s the kind of thing I want to be able to look back on here ten years from now…
Digging that up is when I realized I didn’t have a place to write any of this down. There are lessons in these experiments, and whoever stumbles onto this blog might get something out of them, or at least some inspiration.
The obstacle has always been time. Since college, balancing side projects, a full-time job, and eight hours of sleep has left hardly anything over for maintaining a blog. That is, until now, with the help of… sigh… AI.
You’re probably tired of hearing that word. I am too, to a degree. I’m a fan, but what rubs me the wrong way is how often it’s a solution looking for a problem, shoved into random products where it makes no sense. We could all stand to borrow from Ian Malcolm in Jurassic Park and ask not whether we could, but whether we should. Expect that to be a recurring theme here.
I was feeling a little conflicted about not starting sooner. For years I imagined a blog full of tutorials that helped people sort out technical problems. You don’t need my posts for that anymore. You can just prompt Claude. The value has moved toward designing systems and knowing enough to guide an architecture. In a way, that’s nothing new. Writing code was always part of a software engineer’s job, but never the main part. The real work was translating requirements into a specification, and only then into code.
Even so, I will still share technical knowledge. Not only because AI doesn’t get everything right, but because we shouldn’t lean on the tool so hard that we stop learning. The best way to understand something, and to keep it, is to do it yourself. And honestly, the reason I got into this field at all was a fascination with what makes computers tick, one that goes back to 1994 and the first “computer” I built out of a shoebox. Mostly, though, I’ll write about how to think about problems and how to use the tools, AI included, to solve them.
That’s the plan, anyway. Expect posts about new projects, game demos (I’m working on one), and whatever else I’m digging into. If you want to know more about who’s writing, the About page is the place. Thanks for stopping by.