2023

ANSI fractal demo

Minimal ANSI Renderer

As someone who loves the terminal, I have often suspected that I could re-create the parts of NCurses functionality that I use in a few hundred lines of code. I’m not interested in developing for vintage computers. (I love them, but that’s a hobby that will have to wait until I move to a bigger apartment.) I haven’t found myself using the “window” functionality in NCurses. I always wrap NCurses “color pairs” in a function that allows me to arbitrarily paint any combination of colors in any cell. All I really want is to be able to “paint” my terminal, redraw a full screen of colored text (preferably at 60fps) and accept non-blocking keyboard input. It turns out that it really doesn’t take much code to do all this from scratch. […]

Squares in space gameplay

An exercise in over-engineered game programming

As a learning exercise in some object-oriented programming techniques, as well as to spend some time getting more comfortable with Javascript, I decided to develop a small browser game. My main interest was in understanding how message passing can work in practice, and to experiment with dependency injection, but I came away with many other lessons about program organization, especially decoupling. […]

Scroll to Top