Recent Posts

Encapsulating Value Semantics, Part 3

4 minute read

In my last post on this topic, we built up a small struct named CopyOnWrite that abstracts away the need to manually check whether or not a reference needs t...

Encapsulating Value Semantics, Part 2

6 minute read

In my previous post in this series, I gave a brief overview of how value semantics work along with a couple of good resources for more in-depth details on ho...

Encapsulating Value Semantics, Part 1

6 minute read

I watched a couple of really good videos on value semantics recently. One was by Alexis Gallagher, named Value SEMANTICS (not value types!), which does a goo...

Hello Again!

2 minute read

Well, it’s been a year since my last post, and what a year it’s been. 2016 has been a whirlwind of unexpected events, many of them incredibly disheartening a...

Fun With Optionals, Part 1 - Basics

4 minute read

Optionals are another one of my favorite features of Swift. When I started learning Objective-C, I was so happy that sending messages to nil was basically a ...

Jekyll frustrations

5 minute read

It’s been awhile since I wrote a blog post, and upon wanting to come back and do another I noticed that jekyll had been updated to 3.0 (jekyll is what genera...

Weakify now available as a framework

less than 1 minute read

Yesterday I decided to collect my weakify functions (that i’ve been tweaking since that post a bit for some new use cases I’ve discovered) into a framework t...