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.
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.
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.
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.
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.