iOS Dependency Management: A Crash Course

When building software it’s important to lock down any dependencies you use. Not only will this ensure you can reliably build older versions of your app, it can also help your app architecture. If you can refactor your code into individual components (in this case, pods), and reliably integrate them back into your app, you can clean your main code base and increase reusability.

2016 in Review

Wow, 2016 was eventful. This year I:

Implementing Merge Sort in Swift

Merge sort is a sorting algorithm with a simple strategy: divide and conquer. Here’s a quick tutorial with examples of how to implement top-down and bottom-up methods in Swift.

Divide and Conquer with Binary Search in Swift

A new day, a new algorithm. Today I’d like to go over binary search, or divide and conquer.

Swift Algorithm Essentials: Insertion Sort

I’ve always been fascinated by algorithms. Much of what makes software engineering challenging is finding the right way to do something. When processing large amounts of data, finding the right algorithm can make the difference between accomplishing a task or failing entirely.

Interfaces vs Inheritance in Swift

I suppose it is tempting, if the only tool you have is a hammer, to treat everything as if it were a nail.

2015 in Review

It looks like Back to the Future was wrong: 2015 was not the year of the hover board.

The Experience

For Memorial Day weekend, my girlfriend and I traveled down to North Carolina to visit family. On the way, we decided to book a hotel with the app. Using it brought up an interesting point: the most important part about creating software is the user experience.

Git in Three Hundred Words

Just recently there was an article posted to Hacker News titled Git in six hundred words, which went over the basics of git. If you’re relatively new to git, it’s definitely worth a read.

One Brick at a Time

I think software development is something you need to approach like building a house.