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.
Collective Effort
It has been three and a half year that I get the occasional notification from GitHub, about someone asking Facebook to add Swift Support to Infer. They grow up so fast!