The Slow Shift to Swift: ...why is it there?

Jul 22, 2015

The full title should really be: If it’s optional, why is it there?

As a productivity coach, and pretty hardcore minimalist, I tend to question the existence of things we call optional. When it comes to continuous improvement and iterative design I’m always looking for ways to reduce things to the essence of what they are. Put another way, if a sentence can communicate the same idea without a word, I remove it. Further, if a piece of code can perform the same function without a variable, I remove it. Having said that, sometimes you can’t see where this distillation can occur because of the noise and distractions. This signal-to-noise problem is particularly true in most programming languages, which depend on syntactic sugar in the form of symbols to help the computer know what we are trying to communicate—Swift eliminates much of this syntactic sugar; however, when it comes to nil and optionals, they are a mixed blessing.

The ability to have nil, and the various methods for creating private variables and syntactic sugar in Objective-C makes distilling code difficult sometimes. This concept became pretty apparent as I refactored the extension for NSManagedObjectContext in Time Journal.


The Slow Shift to Swift: Order of Conversion

Jul 15, 2015

As I’ve said before, switching to Swift has been fraught with danger, false starts, and frustrations. I’ve lost countless hours and source control commits during the process. But I’m gonna keep on going because: (a) I think Swift is that much of a game-changer, (b) a lot of the problems, I think, stemmed from the order in which I was trying to convert the code, and (c) I was trying to avoid the interoperability bit—don’t be that person.


The Slow Shift to Swift: Refactoring Ancient Code

Jul 8, 2015

The oldest, least retouched, bit of code for Time Journal is in the AppDelegate, which is what iOS uses to allow developers to effect the launching and shutting down of their applications. Unfortunately, this was one of the first things I wrote for Time Journal. Probably written pretty quickly. And, without really considering the refactoring piece of things.

So, sticking with the premise of doing things different this time around, it pained me to convert the AppDelegate to Swift.


The Slow Shift to Swift: False Starts and Frustrations

Jul 1, 2015

This has as much to do with the Mastery Curve as anything.

Master curve

It took a very short time to pick up Objective-C to the point that Time Journal could be released to the App Store. The verbosity of the language was a welcomed relief for me as I tend to write code in a self-documenting fashion, which is to say, a developer (namely, future me) can come in with limited prior knowledge and have an understanding of the system.


Credit’s Due: Sean Parent

Jun 20, 2015

When it comes to software development no single person has impacted and influenced me more than Sean Parent; and I’m pretty sure I’m not alone. I was first introduced to his work via a Google Tech Talk that forever changed the way I thought about programming as an effort to create generic standalone solutions. I credit this single talk as being the cause behind my ability to make the CMS I was developing grow by leaps and bounds in terms of flexibility, capability, and minimal installation footprint.


Hello world!

Jun 18, 2015

If all goes according to plan...this should be visible June 18, 2015.

Seriously. This is just a test of the Josh Bruce Communication Network.