Hi! I'm Ryan, and I build products with a focus on privacy and ethical design.

The Corgi is my
rubber duck debugger.

Wed 05 June 2019 3 minutes

On Sign-In with Apple

An amazing product with features many seem to be missing.

Wed 15 May 2019 2 minutes

One Last Ride

Redesigning a personal website is a personal hell.

Thu 07 March 2019 3 minutes

Vim, ALE, Docker, and Per-Project Linting

How to make ALE use python/flake8 in Docker without running Vim over SSH.

Mon 18 February 2019 1 minute

Rust, Cargo, lcrypto/OpenSSL, Mac, and You

OpenSSL on Mac is a weird mess, and it can make compiling Rust programs annoying. This is a short guide to help.

Thu 31 January 2019 6 minutes

Dynamic Images in iOS Push Notification Extensions

A guide to rendering dynamic images in push notification extensions for iPhone and iPad.

Wed 02 January 2019 1 minute

Using a Custom JSONEncoder for Pandas and Numpy

Serialization that plays nicely together.

Mon 31 December 2018 5 minutes

My 2018 Reading List

An end-of-year look at what I read, and what I recommend.

Tue 18 December 2018 3 minutes

Forcing PNG for Twitter Profile Photos

How to ensure your images are crisp and clear on Twitter.

Mon 03 December 2018 6 minutes

Swipeable NSCollectionView

A look at how swipe-to-reveal can be implemented in NSCollectionView.

Fri 29 June 2018 3 minutes

Rust, or: What's the Deal with GUIs?

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.

Activity