Brian Gilham

Mobile developer, creator, and tinkerer.

What WWDC Means for You

Today I had the opportunity to give a quick talk at Extreme Coffee about some of the new tech introduced at WWDC. It was one of those “you had to be there” kind of talks, but I figured I’d share the slides in case they come in handy for anyone else.

I covered Extensions, Handoff, Cloud Kit, and the concept of Size Classes. The talk was aimed at devleopers who may have heard about these features, but didn’t necessarily know a whole lot about what they are or how they work.

If you are in the Toronto area and are interested in having me give this talk to your company, organization, or meetup, drop me a line.

Swift, Objective-C, and Foundation

I was pleasantly surprised when Apple introduced Swift at the WWDC keynote. Excited and enthusiastic to get started, I spent the better part of that night — and much of the next morning — checking it out. And the ability to switch back and forth in the same project means migrating to Swift isn’t an all-or-nothing affair.

However I ran into an issue that initially had me stumped. I had included a few Objective-C classes in my Swift project — bridging header and all. But, when attempting to build the project the Swift compiler would throw out errors left and right. It appeared to be trying to compile Object-C code and, as one would expect, failing miserably.

I was stumped until I realized it was a silly oversight on my part. Many third-party Objective-C libraries do not import Foundation. They assume it will be there because for many years, it was. Sloppy, but not totally unreasonable. Obviously, in Swift, this is no longer a safe assumption. Once I added #import <Foundation/Foundation.h> to the imported header, all was well.

Slightly embarassing and obvious in hindsight, but I hope this post saves someone else a lot of time and frustration.

GitHub Counterpart

The idea for GitHub Counterpart came to me while browsing some old Xcode projects on GitHub. I became frustrated having to constantly navigate back and forth between header and implementation files. I wished it was as easy as using Xcode’s “Jump to Next Counterpart” keyboard shortcut. Well, now it is.

GitHub Counterpart will, while viewing any file ending in .h or .m, switch between the two by hitting Command+Ctrl+M. It’s a simple little hack, but I’ve already found it quite handy. I hope you will too.

If you have any pull requests, suggestions, or problems I’m all ears.

You can find it on GitHub.

Fit for Life + Hubot

Despite being housed in the back of a convenience store, a few of us at TWG have become big fans of Fit for Life. It’s hard to beat a $5 wrap at lunchtime. To that end, I created a small Hubot script to let us know what the day’s special is.

It may only be applicable to the King & Brant location in Toronto. But feel free to use it for your own purposes. You can get it on GitHub.

Lessons I Learned in 2013

  1. Good work doesn’t happen in isolation.
  2. Hard work won’t distinguish you. But it helps.
  3. Time is your most important gift. Guard it well.
  4. Admit mistakes often. Brag rarely.
  5. Celebrate the success of others constantly.
  6. Small, well-defined work wins every time.
  7. Never stop finding people smarter than you.
  8. Save your money. It gives you choices.
  9. Know your role. Play it well.
  10. We’re all making this up as we go.

Journalism School

I always tell people I used to be a journalist.

That’s what they told us on the first day. From this point forward, we were all journalists. It was the first day of college and it felt empowering.

They also told us to say goodbye to our friends and family.

Long hours laying out pages. Constant interviews, both in person and on the phone. Lots of small towns with names like Colborne and Picton. I loved it. It was the first thing I remember being really good at.

My Mom framed the first article I was paid to write. It hangs on the wall in my home office.

Want to be a better programmer?

Talk to strangers. Learn how to be an expert on something in 15 minutes. Cold call. Be adaptable. Care about the micro and the macro, simultaneously. Be a jack of all trades. Ask good questions. Know when to let silence do the work for you. Own up to your mistakes and do better tomorrow.

I gave up on journalism when I realized paid jobs were scarce. But the lessons I learned made me who I am today.

“Wait. You Made Goalie?”

Back in April, I was fortunate to attend the inaugural NSNorth. The conference was amazing, of course. But the real benefit of any conference comes from time spent with fellow attendees.

The first night, I found myself in conversation with Gordon Fontenot. We were discussing iOS development and, inevitably, I mentioned Goalie. Much to my surprise, he was already familiar with it.

Wait. You made Goalie?

Without another word, he smiled and shook my hand. Later, I was able to gush about Liftoff and shake his.

If that isn’t just the best damn reason in the world to continue selling software, I don’t know what is.