Recent articles

Jump to a random post

Supporting Low Data Mode in your app

Updated on: May 15, 2024

Together with iOS 13, Apple announced a new feature called Low Data Mode. This feature allows users to limit the amount of data that’s used by apps on their phone. The low data mode setting is available in the settings app. Whenever a user is on a slow network, a very busy network or on […]

Read post

Spend less time maintaining your test suite by using the Builder Pattern

Updated on: February 10, 2020

Often when we write code, we have to initialize objects. Sometimes the object’s initializer doesn’t take any arguments and a simple let object = MyObject() call suffices to create your object, other times things aren’t so simple and you need to supply multiple arguments to an object’s initializer. If you have read my previous post, […]

Read post

Cleaning up your dependencies with protocols

Updated on: February 10, 2020

If you’re into writing clean, testable and maintainable code you must have come across the term “Dependency Injection” at some point. If you’re not sure what dependency injection is, that’s okay. I will explain it briefly so we’re all on the same page before we get to the main point of this post. Dependency Injection […]

Read post

About my iOS development book…

Updated on: February 10, 2020

It’s been almost two years since I blogged on this page. I know, two years is a long break for a person that claims to love “Writing about my everyday coding problems and solutions”. Well, there is a very valid reason for my absence because I have been working on a book! Two actually, but […]

Read post

Enforcing modular code with frameworks in Xcode

Updated on: February 10, 2020

Every iOS developer I know dreams of writing code that’s DRY, modular, testable and reusable. While this is a great goal to strive for it’s often quite hard to write code that is completely modular. It just takes one oversight to blow most of the modularity you have achieved right out the window. One technique […]

Read post

Surviving a start-up’s bankruptcy

Updated on: February 10, 2020

On a Tuesday almost two months ago, near the end of april, me and my coworkers received an email about an important meeting the next. We knew that something was going on, the look and feel of this email wasn’t the same as usual. This one seemed a bit darker, a bit more serious. On […]

Read post

On variable naming when teaching

Updated on: February 10, 2020

One of the hardest things a programmer has to do on a daily basis is naming things. Anything that we name will stay with us for a while and it’s very likely that other programmers will have to use the thing we just named as well. So naming something properly is very important. It’s often […]

Read post

Build a simple web scraper with node.js

Published on: February 29, 2016

Recently I released my first personal iOS app into the wild. The app is called unit guide for Starcraft 2 and it provides Starcraft 2 player with up to date and accurate information for every unit in the game. Instead of manually creating a huge JSON file I wrote a web scraper in node.js that […]

Read post

Clean derived data from Xcode, the simple way

Updated on: February 10, 2020

Update for Xcode 11: Unfortunately, it appears that this method of cleaning derived data no longer works😕. Looks like we’re stuck purging ~/Library/Developer/Xcode/DerivedData/ by hand again. If you do know of a workaround similar to the one described here, send me a tweet and I’ll update this post! Any iOS developer that has spent significant […]

Read post

Expand your learning with my books

Practical Combine header image

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

  • Thirteen chapters worth of content.
  • Playgrounds and sample projects that use the code shown in the chapters.
  • Free updates for future iOS versions.

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

Learn more