December 2018

Silencing Specific Build Warnings

When Recruiting Goes Horribly Wrong

November 2018

Building a Cross-Platform Framework

July 2018

Conditional Compilation in Swift, Part 2

Conditional Compilation in Swift, Part 1

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


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


Some thoughts on Castle

February 2015

Incrementing Build Numbers in Xcode

December 2014


November 2013

Ender's Game

August 2013

An Observation on Objective-C

December 2011

The Terrible State of Web Development