Now that I finally wrote a blog post about this tiny monitor that sits on my desk, let’s talk about what makes it tick, starting with the UI part that I called the dashboard. After spending some time trying various libraries (usually written in python), I ended up with the simplest concept: a website. This part of Harkness is actually a tiny React application, and all the pretty parts are HTML, CSS, and JavaScript (with Typescript).
Rendering Git commit messages on a tiny screen
Ever since I watched the Like Light video, I’ve wanted to play around with Arduino, Raspberry Pi… Anything with some kind of hardware. My friend Angelo helped me scratch an itch by making a button to wipe a folder on my computer, but aside from that I didn’t do much. Last year, I treated myself to a Raspberry PI Zero and a HyperPixel Display and decided to play around with the ecosystem, see what could be done.
Implementing a network protocol with Swift and snapshot testing
In a previous post, I mentioned Beanstalk, a simple and fast work queue. It uses a simple and straightforward protocol, and learning to implement it in Swift has proven to be extremely fun.
Delete Facebook
Using Tagged to write safer Swift code
I recently started a tiny side project that implements the Beanstalk protocol. If you’ve never heard of beanstalkd, it’s a work queue that’s really convenient for simple projects: you post jobs to queues and those jobs are picked up and handled by workers. Each job that you post to a queue has a priority that goes from 0 (urgent) to 4,294,967,295 (not so much). In Swift, this can be represented with a UInt32, but let’s see how we can use Tagged to make it safer and more expressive, starting with an example from a real-world codebase.