Search
All posts →Recent posts
May 31, 20264 min read
The Most Difficult Thing I've Ever Done - Starting a Company
Years ago I wrote that finishing a book was the hardest thing I'd ever done. Starting a company has taken the title, and it's hard in a different way.
September 13, 20208 min read
Effect of Swift Extension and Libraries On Build Time
Does separating code into extra extensions and/or modules have a meaningful impact on compile times?
August 10, 20209 min read
Developing an Algorithm Case Study: Area encircled by multiple paths on a 2D plane
While toying around with an app idea I came across the need to develop my own algorithm and therefore return to Data Structures and Algorithms techniques I learned in college. Here is the problem, my process, and my solution.
September 12, 20191 min read
JSON Encoder Change in Swift 5.1
While updating my app for the iOS 13 SDK, I came across a change in JSONEncoder that broke some of the logic in my code. It now supports encoding top-level values.
September 6, 20191 min read
Swift Quiz – Boolean Expression
What is the value of result after doing: let result = false && true || true
September 3, 20192 min read
Careful with Fancy KVO Callback
Be warned: there may be a bug in the fancier version of Key Value Observering. I discovered it while implementing a progress callback in my Decree web request library.
September 3, 20194 min read
Singletons and Shared Instances in Swift
A couple very common programming patterns, especially in the Apple world, are Singleton and Shared Instance. People often confuse the two and there's also controversy around them. Let's clear these things up.
September 1, 20198 min read
Keyboard Field Prompt
I walk through how I solved the question: How do I display a text field directly above the keyboard to prompt the user for some text?
August 8, 20192 min read
Decree – A Declarative URL Request Framework
Decree allows you to make HTTP requests in a clear and type-safe way by declaring web services and endpoints. It supports all Apple platforms as well as Linux. It is the culmination of a technique I've developed over many projects. Some of those projects even include both a frontend and backend implemented in Swift that get to share a single source of endpoint declarations.
July 29, 20193 min read
A Lesson From Nature: Complexity from Simplicity
I recently came across a video showing an “Amazing Crabs Shell Exchange” and realized that it was a perfect example from nature of how seemingly complex (or “amazing”) behavior can emerge from simple governing desires. This is directly applicable to programming. Lets explore how.
