Recent articles

Jump to a random 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

Wrapping your callbacks in Promises

Updated on: February 10, 2020

A little while ago I wrote a post about PromiseKit. In this post I wrote mainly about how you could wrap API calls in Promises using the NSURLConnection extension that the creator of PromiseKit provides. Since writing that article I’ve had a bunch of people asking me more about PromiseKit. More specifically, some people wanted […]

Read post

How I migrated from Apache to Nginx

Updated on: November 26, 2019

It’s no secret that nginx has certain advantages over apache. One of them is that nginx is supposed to have better options for forwarding requests to ports other than port 80. My VPS has been using apache ever since I set it up because at the time apache was the only server I knew how […]

Read post

Expand your learning with my books

Practical Swift Concurrency (the video course) header image

Learn everything you need to know about Swift Concurrency and how you can use it in your projects with Practical Swift Concurrency the video course. It contains:

  • About ten hours worth of videos and exercises
  • Sample projects that use the code shown in the videos.
  • FREE access to the Practical Swift Concurrency book
  • Free updates for future iOS and Swift versions.

The course is available on Teachable for just $89

Enroll now