Hi! I'm Ryan, and I build products with a focus on privacy and ethical design.
The Corgi is my
rubber duck debugger.
Redesigning a personal website is a personal hell.
How to make ALE use python/flake8 in Docker without running Vim over SSH.
OpenSSL on Mac is a weird mess, and it can make compiling Rust programs annoying. This is a short guide to help.
A guide to rendering dynamic images in push notification extensions for iPhone and iPad.
Serialization that plays nicely together.
An end-of-year look at what I read, and what I recommend.
How to ensure your images are crisp and clear on Twitter.
A look at how swipe-to-reveal can be implemented in NSCollectionView.
Exploring what a GUI API could look like in Rust.
Looking for Older Pieces?
I've been writing (professional and... not so much) since about 2005. Check out the Archives for a full list of pieces.