Luminescent Dreams

Home Music Player with a Raspberry Pi

September 05, 2025

(image source)

Long ago, my houshold had a home audio system that consisted of multiple components hooked together and then plugged into some speakers. Our system consisted of a Marantz receiver and audio router, a THX-certified 5-channel amplifier, a couple of 4-foot-tall speakers, and a CD player. We also hooked our tiny little 13" TV into this so that even though our screen was small, the sound was magnificent.

> > > Read More

Mononix

July 09, 2023

As though I don’t have enough projects, I actually have another one.

For the longest time, I’ve had a huge amount of frustration with Nix as a developer, because normal build tools are hostile to Nix, and the Nix build tools are fractious and don’t really function well together, or work with the build tools for other languages. Just in Rust, I have tried buildRustPackage, buildRustCrate, Crane, crate2nix, and cargo2nix. And then in Javascript I’ve worked with node2nix and npm2nix, and buildNodePackage. There are no tools in C, though arguably C applications are the easiest of all things to build in Rust. Given that C doesn’t have a package manager, so there is no need to fight against the toolchains in order to build a C app in Nix with well-defined toolchains and dependencies.

> > > Read More

Carrying out a View Model Request

April 07, 2023

Happy Friday, everyone!

Last week, I talked about view models in my Kifu application. This week, I’ve continued on by actually implementing the most important thing that can happen in a Go application: being able to put a stone on the board.

For this article, let’s talk put this request/response architecture into practice. You can watch me explaining and implementing this in my stream, Putting a stone on the board.

The Request

Let’s review the request itself:

> > > Read More

View Model Architecture in the Kifu

March 31, 2023

Good morning and Happy Friday, everyone!

I’ve continued on with a couple of weeks of working on a new Go application (which I currently call Kifu, after the traditional name for a record of a game of Go). I have a set of goals for this application that mean that I have to make a very disciplined architecture, since I want to run the application on both Linux and on Android.

> > > Read More

Coding Together for March 30th, 2023

March 30, 2023

For the last several months, I’ve been doing a weekly one-hour coding stream. Starting this week, I’ve moved it to Thursday night (tonight!) at 8pm EDT (0000 UTC).

In the last stream, I talked about a Kifu, what it’s for, why I’m trying my hand at building an application, and then I spent the rest of the stream designing the application in HTML form. Tonight, I’ll explain the architecture of the application as I have built it, and my intent for why I’ve architected it this way. Then we will dig into implementing the very first instruction: that of placing a stone on the board.

> > > Read More

Role Playing

Horror at the Harvest Festival. Legend in the Mist, 4 of 5 seats filled