Blog Contents

How I disapproved of forced unwrapping optionals in Swift in general, but have made my peace with the existence of the operator in practice.

development, swift

Some notes on trying to keep the flexibile approach to data-structures within the safety net of a type-strict language like Swift.

development, swift

A look at what seems to be an unsolvable issue with Windows Performance Monitoring - it stores the events without a timezone reference but using daylight saving aware times.

development, windows

A simple macOS status bar item that lets you quickly manage your running Docker containers.

docker, macos

A write up of the testing pattern I use for Go http handlers as I've not seen this technique documented anywhere else.

golang, testing

I made a small open source tool that lets you generate fretboard designs ready for laser cutting or CNC routing based on MakerJS.

cnc, javascript, laser, maker

A quick tip on using the direnv project to make it easier to manage multiple Go projects without sharing your GOPATH.

development, golang

One of the current weaknesses of Go is how third part libraries are managed, in particular how they depend on third party services, which is not ideal for production build systems. This is a write-up of how I've solved this for one particular project at Bromium.

development, golang

Having used Go to ship a major project for the first time, here's a summary of what I found its strengths and weaknesses to be, and why it was the right tool for this particular job.

development, golang

A look at how powerful Quartz Composer is for quickly putting together a networked display for our home.

development, quartz
Digital Flapjack Ltd, UK Company 06788544