March 2023

Handy git customizations

December 2022

Adventures in Advent of Code

August 2022

My First App

May 2022

Conditional Compilation, Part 4: Deployment Targets

October 2021

Simplifying Backwards Compatibility in Swift

April 2021

Core Data and SwiftUI

Custom Property Wrappers for SwiftUI

March 2021

Exploiting String Interpolation For Fun And For Profit

October 2020

HTTP in Swift, Part 18: Wrapping Up

HTTP in Swift, Part 17: Brain Dump

August 2020

HTTP in Swift, Part 16: Composite Loaders

HTTP in Swift, Part 15: OAuth

July 2020

HTTP in Swift, Part 14: OAuth Setup

HTTP in Swift, Part 13: Basic Authentication

HTTP in Swift, Part 12: Retrying

HTTP in Swift, Part 11: Throttling

HTTP in Swift, Part 10: Cancellation

HTTP in Swift, Part 9: Resetting

HTTP in Swift, Part 8: Request Options

HTTP in Swift, Part 7: Dynamically Modifying Requests

HTTP in Swift, Part 6: Chaining Loaders

HTTP in Swift, Part 5: Testing and Mocking

HTTP in Swift, Part 4: Loading Requests

June 2020

HTTP in Swift, Part 3: Request Bodies

HTTP in Swift, Part 2: Basic Structures

HTTP in Swift, Part 1: An Intro to HTTP

The Missing Accessory

Anything worth doing…

February 2020

Introducing Time

April 2019

Conditional Compilation, Part 3: App Extensions

December 2018

Silencing Specific Build Warnings

When Recruiting Goes Horribly Wrong

November 2018

Building a Cross-Platform Framework

July 2018

Conditional Compilation, Part 2: Including and Excluding Source Files

Conditional Compilation, Part 1: Precise Feature Flags

May 2018

The Laws of Core Data

Rands on Public Speaking

Deriving a New Formula

April 2018

You should give that presentation

A Better MVC, Part 5: An Evolution

Presentation Nerves

Yet Another New Blogging Engine

If iPads were meant for kids

March 2018

Apple Networking Feedback

February 2018

Sometimes I hate being a programmer

Swift Protocols Wishlist

January 2018

The 2018c Timezone Database Update

Simplifying Swift framework development

Reading your own entitlements

December 2017

Misusing enums

November 2017

Level up your debugging skills

My Rating System

A Better MVC, Part 4: Future Directions

A Better MVC, Part 3: Fixing Massive View Controller

A Better MVC, Part 2: Fixing Encapsulation

A Better MVC, Part 1: The Problems

Keynote's awesome Outline Mode

iOS Feature Wish: Contact Provider Extensions

October 2017

Every beginning has an end

Everything old is new again

November 2016

An Apology to Pat Rothfuss

August 2016

My Dream App

February 2016

Intercalation

The Periodic Table

December 2015

Thinking too deeply about Santa Claus

Mini Rant: Car Electrical Systems

Edit distance and edit steps

October 2015

Setting up a home office

Changes

Some thoughts on Castle

February 2015

Incrementing Build Numbers in Xcode

December 2014

Empathy

November 2013

Ender's Game

August 2013

An Observation on Objective-C

December 2011

The Terrible State of Web Development