Recent articles

Jump to a random post

Step up your async game with PromiseKit

Updated on: August 27, 2021

Some of the most engaging apps we use today are apps that require network connectivity of some kind. They communicate with an API somewhere to fetch and store data for example. Or they use an API to search through a huge amount of data. The point is, you don’t want your application to sit around […]

Read post

Why you should avoid force unwrapping in Swift

Updated on: April 26, 2024

Whenever I’m programming, I have a goal in mind, generally a problem to solve. I want my solutions to be simple, yet elegant and reliable. Thankfully, Swift is a great language for this. The language is safe, its syntax is beautiful with great readability. The way Swift handles nullability with Optional contributes greatly to its […]

Read post

High performance shadows for UIView

Updated on: February 10, 2020

No app is truly complete without some subtle shadows. Especially now that Google’s Material Design is showing us that shadows are cool again we need a way to properly add them in our apps. In my previous post I wrote about a way to create a custom UICollectionView layout. There was one problem with that post though, […]

Read post

Creating a custom UICollectionViewLayout in Swift

Updated on: February 10, 2020

Note: This blog post has been updated for Xcode 11 and Swift 5 👍🏼 If you’re looking to learn more about the new collection view layout techniques that were introduced in iOS 13, this post should contain everything you need. If you’ve ever built an iOS app that uses some kind of grid layout or […]

Read post

Find every other element in an array with Swift

Updated on: April 23, 2024

There are times when you need to extract a subset of an array. For example, you might need to find all elements in an array at an odd index. Or maybe you need all items at an even index. In other words, you’re looking for every "other" element in an array. This might seem like […]

Read post

Exploring protocols and protocol extensions in Swift

Updated on: February 21, 2024

In 2015 Apple announced Protocol extensions at WWDC and went on to explain the idea of Protocol Oriented Programming (video here), I think every iOS developer got really exited when they saw this. The ability to add default implementations to protocol methods through extensions makes it seem like everything we will ever build can and […]

Read post

Icon fonts vs. svg icons

Published on: April 16, 2015

We can all agree that using png sprites for icons is not the most modern (or best) way to present icons on the web. Png is a rasterized format which means that if you try to make the image (or icon) larger, the quality will become worse. When browsers started properly supporting @font-face and svg […]

Read post

How to choose between rem and em

Published on: April 12, 2015

A few days ago I found this article that argues for using rem units when defining font sizes. Generally speaking this is good advice. The rem comes with great predictable behavior, just like pixels do. But the rem also comes with accessibility advantages. When a user changes the font size in their browser settings, the rem and em […]

Read post

Why consistency will always beat motivation

Updated on: July 7, 2025

Motivation is fun when it’s there but it fades quickly and it doesn’t help you get anything done long term. In this post I talk about my experience with setting up a system that aids in building a more consistent workflow to help me remain productive throughout the week.

Read post

Using Flexbox in the real world

Published on: April 1, 2015

The Flexbox module for css was built with the intent to make a more robust, less hacky way to layout elements on pages. When you’re building a webpage you often don’t know how high or wide every element could or should be. This can cause problems in certain layouts which lead to ugly hacks. Flexbox […]

Read post

Expand your learning with my books

Practical Core Data header image

Learn everything you need to know about Core Data and how you can use it in your projects with Practical Core Data. It contains:

  • Twelve chapters worth of content.
  • Sample projects for both SwiftUI and UIKit.
  • Free updates for future iOS versions.

The book is available as a digital download for just $39.99!

Learn more