Swift 4 KeyPaths and You
Swift 4 is almost upon us, and I thought I would explore one of its features that I haven’t had the opportunity to that much: KeyPaths. There’s a lot of inte...
Swift 4 is almost upon us, and I thought I would explore one of its features that I haven’t had the opportunity to that much: KeyPaths. There’s a lot of inte...
At work, we’re investigating new architectures to use in our app that should make it easier to develop and test our code across the many teams who work on ou...
I decided this week to release the CopyOnWrite type I finished up in the last post I wrote on the subject. You can get at it via all the popular ways to inte...
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...
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...
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...
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 ...
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...
I haven’t played around with Swift 2 too much yet as I’ve been busy with other things in the past couple of months. However today I fired up Xcode 7 (beta 4)...
My first major blog post here was on crafting the weakify function and how you could use it to weakly bind a method reference to an instance of the class the...
I recently ran into a curious problem on one of my side projects that I didn’t understand at first. I was using a swift protocol to provide a uniform interfa...
One of my favorite features of Swift is the fact that functions are first class values: they can be assigned to variables, passed around as arguments to othe...
I just added HTTPS support to this site 😄
I’ll be at the try! swift conference today through Wednesday! I’m super excited for the presentations and workshop, and for the chance to meet new people and...
I backed the micro.blog Kickstarter back in January, and I set it up to read from this blog once invites came in. You can find me there at https://micro.blog...
I’ve made a couple tweaks this site that I think warrant a post so that everyone is aware.
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...
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...
Welcome to my site. In the coming weeks I plan to post about various programming topics related to things I’m working on and learning. I’ll likely focus a lo...
The WWDC keynote came and went, and I thought I’d review here which of my wishes came true:
WWDC 2017 starts in a few days. I’m excited at the potential new toys Apple will be announcing for developers, and I’d be remiss if I didn’t have specific th...
My spouse wanted me to write down what I learned for creating custom shop NPCs in Minecraft so she could learn how as well, so I thought I’d do a blog post s...
Update: I corrected an error in the last item setup to change it from 199 pokeballs to 119 pokeballs, which was an oversight on my part. Using 199 instead co...
Apple is delaying their previously announced enforcement of App Transport Security until further notice: