JSConf 2015 — Three Talks I’m Psyched to Attend

Did I mention I’m going to JSConf this year? It starts tomorrow, so I maybe could have posted this sooner, but this is my first time going, and I’m stuck in an airport waiting for my flight’s crew, so let’s do this.

I’m one of those people that reads over the entire schedule before the conference and plans all the talks I plan on attending. This year, there are three talks that I consider can’t-miss. Here’s why:

Beyond Responsive: Building a mobile web you’re f*ing proud of

Responsive design is always an interesting topic, and that title just makes me want to drop everything and start building a better web. Kate Hudson promises us a talk that goes beyond the usual spiel about media queries; there’s all kinds of stuff in that pitch that makes my mouth water.

Async Programming in ES7

I’ve seen Jafar speak before, and it’s something to behold. If you’ve never heard of RxJS, you don’t know what you’re missing, and you have no idea what’s in store for you in this talk. Expect everything you know about promises to be questioned.

Zombies and Soup: Why End-to-End testing sucks (and why it doesn’t have to)

This one piqued my interest for a couple of reasons: First, I’ve heard a lot about Walmart Labs, but I’ve never seen someone like Dave Cadwallader speak. Second, end to end testing is an enormous pain, and I’m wondering how one of the world’s biggest retailers has approached it. This is definitely the Friday talk I’m most looking forward to.

If you’re hitting up JSConf this year, what are you looking forward to?


Goodbye Google Reader

It’s a sad day for the blogging community; Google Reader has shut down.

As someone who follows way too many blogs, an RSS reader is essential for me. I’ve switched to Feedly, which is great, but as a Google Reader user since 2007, I’m more than a little sad to see it go.

However, as part of the switch to Feedly, I’ve dug through and purged most of the posts I’d starred and tagged in Reader, keeping only a few that have left a lasting impression on my life. Since you might enjoy these as well, here are seven of my favourite blog posts from the past five years:

1. The Office According to The Office

This is an excellent study of the modern corporation, explained entirely by referencing characters and situations from the first few seasons of the TV show, The Office. If business was always taught this well, we’d all have MBAs.

2. How to Give a Kick-Ass Presentation with a Hangover

This was written by a veteran conference organizer, and it’s a list of 60 or so tips for speaking at conferences. I’ve read it before every important talk I’ve ever given (including my talks at SenchaCon and OSCON), and it’s helped me enormously each time.

3. Halfway

I’ve mentioned this post before. The irony of posting it on July 1st — again — is not lost on me.

4. Why Aren’t you Really Good at Graphic Design?

A reminder that the internet changed everything, and all skills are learnable.

5. Overnight Success

Don’t worry about the post, just watch the minute-long video. It’s probably the most motivating video I’ve ever seen, and I watch it anytime I feel like I’m half-assing some part of my work, to remind myself that sometimes you have to stop playing video games for a while if you really want to build something great.

6. On Craft

This is a post about changing jobs. The bit about craftsmanship in the first few paragraphs is exquisitely written, and I take from it whenever I need to explain software development to anyone.

7. Me, but you, but me

Beautiful writing from the legendary Mark Pilgrim. Proof that you can be both a fantastic programmer and a fantastic writer.

I hope this makes up for publishing so few of my own posts over the past year and a half. I don’t think I’ll ever get back to a weekly scheduled, but I’ll do better going forward than I have recently. Many of the posts above weren’t written by professional bloggers, and the thought that I could someday write something that would reach someone the way these posts reached me… well, it’s something I’d like to start working towards, again.


Effective Code Review (OSCON 2012)

In approximately 24 hours, I will be speaking at OSCON 2012.

My talk is about code review, why you should do it, and how it can help you write (much) better code. We’ll talk about hidden benefits, how to do code review with distributed teams, code review tools, and much more.

Here are the details if you’d like to attend:

Effective Code Review

Wednesday, July 18th at 1:40 PM in room Portland 256.

Hope to see you there!


Why I Switched to Windows Phone, Part 1.5

I know a lot of you are anxiously waiting for part two of this series. I’m going to publish it eventually! It’s not an easy post to write, and I had to scrap another draft an hour ago. Someday…

In the meantime, I present a follow-up to part one, where we discussed the absurd price difference between an iPhone and a Windows Phone in Canada.

I’m sure by now you’ve heard that I moved.

I switched my HD7 to an American plan this weekend. That’s a fun story in and of itself, but it got me thinking about how much trouble I’d be in if I had gone the Rogers/iPhone route.

For one thing, Wind has fantastic roaming rates. This has been very useful, since I gave my number to a bunch of moving and relocation contacts before leaving Canada, and had to keep it to stay in touch with them once I arrived. You can’t really beat 20¢ per minute.

Were I still on Rogers, these calls would have cost me $1.45 per minute. That’s over 7 times as much!

It gets even uglier if you look at text. Wind doesn’t charge anything for incoming text messages — even here in the US — and they still only charge 15¢ outgoing. Rogers charges 75¢ each way, so for one incoming and one outgoing message, Rogers is 10 times more expensive.

Of course, worst of all is data. Assuming no prior arrangements are made (though Wind wins there as well) Wind charges $1/MB. A little high? Yes. But Rogers? A whopping $10.24/MB.


And then there are the early termination fees.

Do you know how much Wind charged me to cancel my contract with them? Nothing. Even though I signed up for a 12-month promotion, they don’t consider that a contract and it cost me absolutely nothing to cancel my “plan” 3 months in.

If I had gone the iPhone/Rogers route, it’s a whole other story.

I would have signed up for a 3-year plan on a brand new 4S, and I would have done it about a week before Rogers (slightly) lowered their early cancellation penalties. That wouldn’t have applied to me, since the new rules are only effective for contracts starting on or after January 22nd.

Under the old scheme, I would have paid the lesser of of $400 or $20 times the number of months left in my contract ($400 is lower), and the lesser of $100 or $5 times the number of months left in my contract ($100 is lower). Plus tax.

All told, I would have been out $565 for my early cancellation.

I was really happy with Wind. I heartily recommend them to anyone in the Canadian cities they cover. But I am really, really happy I didn’t go with Rogers.


Move Update

I was hoping to write a real post this week — ideally a follow-up to part one of the why I switched to Windows Phone saga — but my duties related to last week’s news have left me little time for writing.

Instead, here is a short list of things I have learned since deciding to move from Ottawa to California:

  1. The Bay Area is arguably the most expensive housing market in North America.
  2. About 1 in every 8 unprovoked and fatal shark attacks occurs off the coast of California*.
  3. You can convert Celsius to Fahrenheit using the following formula: F = C / 5 * 9 + 32.
  4. California is home to 33 species of snakes, 6 of which are lethally poisonous**.
  5. With a bit of practice, you can draw a maple leaf rather easily using a series of straight lines and Vs.

Jokes and life endangerment aside, I’m still really excited to go. I’ve submitted my visa application information to Netflix’s team of lawyers, who will submit it on my behalf. I’ve also been in touch with Netflix’s relocation team, who will help me move a bunch of my stuff to California, and set me up with a car and a place to live for a few weeks while I make more permanent arrangements.

This whole process is completely new and exciting to me; I can’t wait to see how the next few weeks play out!

* Several people have tried (and utterly failed) to convince me that “there’s nothing to worry about”, as sharks only inhabit the southern regions of the California coast. (If you want a source for my 1-in-8 math, I counted 14 references to California out of 113 entries in (this list.)

** Fun fact: Snakes are my third biggest irrational fear. As you may have guessed, sharks take the top spot. (Heights are second.) Interestingly, I’m not afraid of spiders, despite the long list of infamously frightening varieties that are found in California.


To the Edge of the World

You may have noticed that this blog has been a little… quiet, lately. In fact, at 28 days, this is the longest gap I’ve ever left between posts. And if you follow me on Twitter or Google+, you’ll notice I’ve been silent there, too.

What gives?

Well, I’ve been very busy with something I had to keep very secret. And now after a month of emails, phone calls, flights, worrying, and jumping up and down, I have an announcement to make:

I’m moving to San Jose and taking a job at Netflix.

I’ll let that sink in for a moment.

Ok, now let’s answer all the common questions:

You’re leaving Macadamian!?


Macadamian has been a huge, positive influence on my life. It was my first software job, and I have about a million memories of my time there that I will cherish forever:

  • My first project for a real client.
  • My first blog post.
  • My first 80-hour week.
  • My first time surviving layoffs.
  • My first time seeing someone that I really cared about leave.

Those last two stung a lot. But the show went on, and Macadamian continued to do bigger and better things. I have no doubt that this trend will continue in my absence, and I’m so glad to have shared in its success for the past five years.

You’re really moving to California? (Didn’t you just buy a house?)

Yes. (And yes.)

I’ll be flying out sometime at the end of March; my darling wife will probably join me a few weeks later. The plan, for now, is to rent out the house — so if you’re looking to rent a townhouse in Gloucester, give me a shout. I’m also selling my car.

I’ve lived in Ottawa for my entire life. I will miss it immensely, and I will visit often. I’m starting out with a temporary visa, so I have a few years to figure out what the next few will look like. It’s both unbelievably exciting, and unimaginably scary.

In short: I couldn’t be more thrilled.

Netflix, eh?


I’ll be joining the Discovery Engineering team as a Senior User Interface Engineer. I’ll be responsible for any Netflix app that runs on a TV: game consoles, bluray players, Boxee, you name it. It’s going to be a blast.

My day-to-day will be mostly JavaScript, as the interfaces for those platforms are written in HTML5. I’m absolutely stoked to help craft an experience that will be seen by millions of users. I can’t wait to see what my team comes up with in the coming months and years!

This is a very exciting time in my life, and it’s been killing me to keep it under wraps. Going forward, I’ll be a lot more noisy about the daily joys and struggles of preparing to move across the continent, and to another country.

And hey, if you ever miss me, just sign into Netflix and fire up your favourite flick. I won’t be able to watch it with you, but I’ll do my best to make sure you enjoy it :)


Why I Switched to Windows Phone, Part One

After three and a half years, I’ve parted ways with my iPhone and taken up a Windows Phone. There are a lot of reasons — two posts’ worth, in fact. Today we discuss the big motivation: cost.

It’s no secret that Canada is one of the most expensive places in the world to own a smartphone. That’s why, when my iPhone 3G broke down not long ago, my first thought was: “Great. How much is this going to cost me to replace?”

Well, by my calculations, $2836.98.

The up-front cost for a 16GB iPhone 4S, on contract, is $219.22. $159 for the phone + $35 activation fee + applicable taxes. (I’m doing all these calculations with Rogers, but the numbers vary only slightly with the other iOS-friendly Canadian carriers.)

The monthly plans are the real killers. Unless you think you can get by on 100MB of data per month, you’re looking at a base price of $52.35. That nets you 500MB (not great, but enough for my needs) with 200 minutes, and unlimited SMS. However, that doesn’t include such luxuries as caller ID and voicemail.

These features are sold as add-ons, either à la carte, or through “value packs”. The only sensible option through Rogers is their iPhone Value Pack, which adds:

  • call display,
  • name display, (how are those separate things?)
  • visual voicemail,
  • and ringbacks. (A fluff feature nobody uses.)

This will run an additional $12/month, bringing our monthly bill to a total of $72.72 after tax. Add that up over the course of the three-year contract, and we hit a total of $2617.76. With the initial phone costs, we’re back up to $2836.98.

This is outrageous! Keep in mind that that’s a very low-end plan (500MB data, 200 minutes). There’s no way I’m going to commit to that. I have a mortgage.

Enter Wind

Wind Mobile is a new(ish) carrier in Canada. They offer much better packages at much cheaper rates than the big carriers. The tradeoff here is that they have much less network coverage; their network only exists in five Canadian cities. (I’m fortunate enough to live in one of them.)

They have a 12-month contract promotion on right now for their Oh Canada plan. Unlimited voice, SMS, and data, for $29/month. Yes, you read that right, and yes, it includes caller ID. (Voicemail is an extra, to the tune of $5/month.)

After tax, that’s a monthly bill of $38.42. Over three years, that’s a grand total of $1383.12. (This assumes I can find a similar promotion when this one ends, or dial back my plan to keep roughly the same costs — easy, since this promotion’s features far exceed my needs.)

This is great, but Wind uses a fancy new network protocol that isn’t compatible with the iPhone. In fact, they only sell Blackberry and Android devices, which I just can’t seem to like.

What’s a geek to do?

Enter Windows Phone

I’d used a Windows Phone before, and it was one of those fish-to-water things (more on that in part two). When I was in Vegas for MIX, my workplace was kind enough to loan me an LG Optimus 7. The OS offers much of the polish that BB/Android lacks, the kind of polish you can’t give up after 44 months of iOS.

The features are close enough for my needs. It’s an easy transition.

Unfortunately, not very many Windows Phones are compatible with Wind’s network, and they’re hard to find in Canada. It turned out my only options were the Dell Venture Pro and the HTC HD7. The HD7 is a newer model, and we had one at work that I could try out for a week, so that became my target.

The only Canadian carrier to have ever sold the HD7 was Bell. Bell and Wind use completely different networking technology, so even if I could track one down, I’d still be stuck with unreasonably expensive plans.

I needed the version of the HD7 sold by T-Mobile, and American carrier whose network is compatible with Wind’s.

I found a seller on eBay with a new, still-in-the-box HD7. He would only ship to the US. Not a deal breaker, but definitely an added cost.

Including the price of the auction, the fee to unlock the phone from T-Mobile, the conversion from USD to CAD, the pick-up fee at the American UPS store, tax coming back into Canada, and the toll booth in between, my new phone cost me $366.64.

How did we do overall?

Setting my new HD7 up on Wind was relatively painless, though there is a one-time $25 fee for the SIM card. All in all, the phone, setup charges, and plan for three years totals $1749.76.

That’s a savings of $1087.22 over the iPhone package outlined above.

I like Apple’s devices. The hardware is well-designed, iOS is beautiful, and I was very, very happy all those years with my 3G. But to me, there is no way that an iPhone is worth nearly $1100 more than a Windows Phone.


Stay tuned for part two, where I discuss why it felt like the right time to leave iOS.


Gone Skatin’

Gone Skatin'

click to enlarge


P.S. If anyone’s looking for CES coverage, here’s what I’ve got:

The big news of the day is that RIM announced a new version of its Playbook OS. Looks good. Coming in Feburary.

I was led to believe (along with half the rest of the internet) that Microsoft would announce a new XBox at their keynote. Apparently this did not occur. And apparently Ballmer’s final keynote was a bit of a let down. Still, the Metro update was neat.

There are also a ton of cool-looking devices being thrown around. Nokia and Samsung did pretty well, and I’ve heard a lot of buzz about Vizio.

Finally, here are some interesting people to follow if you’re looking for CES news for the rest of the week:

On Twitter, I’d recommend @miguelcarrasco for steady updates, and Mashable’s @film_girl if you want to completely drown in techie minutiae.

If Google+ is more your thing, you should circle +Mohamed Mansour for a whole bunch of reasons, useful CES highlights notwithstanding. Also, +David Bates is on location, and I’ve been enjoying his coverage thus far.

That’s it! Time to head back to the rink.


Elsewhere: How to Handle Browser Differences on iPhone and iPad

I wrote a post for the company blog this week.

It’s about how we’ve reached a point with mobile Safari where different versions have different functionality. Is this a problem? What can we do about it?

Find out on the Macadamian blog!


You Know Better Than That

In grade six, everyone thought I was smart.

I’m not smart. Anyone who watched me struggle through university can tell you that. Smart kids get scholarships. Smart kids ace exams. Smart kids get good grades. I’m not smart.

But in grade six, I was still doing alright in school, and people still thought I was smart. Especially my teacher, Mrs. Mainwood.

Every time I would hand in an assignment, or show her my homework, or answer a question, she would compliment me on how well I did. It was nice. When I gave a speech in front of the whole class one time, she asked if I would come back next year and present it again so that future students could see how it’s done. Nice.

Finally one day, something strange happened.

Mrs. Mainwood came to my desk to talk about some written assignment I’d handed in. She pointed at a bulleted list I had written. It looked like this:

  • some sentence about the assignment
  • another sentence
  • and another

The content was fine, and the rest of the assignment was fine, but she was really upset about this bulleted list. Why?

Because it had no capitalization or punctuation.

That was it. And apparently it was very important. She was furious! She went on a rant that I’m sure the rest of the class could easily hear. I still remember the exact words that ended her tirade: “You know better than that.”

I didn’t understand what she meant at the time; I probably just apologized and fixed my mistake. (I’m an apologetically easy-going guy). But I understand now. It was a big deal.

It looked stupid.

It was an eyesore on an otherwise flawless page. And you know what? Mrs. Mainwood was right. I did know better. My list looked careless, but I cared about what I was saying. See the problem?

I’m sick of seeing tweets and Facebook posts written in all lower-case letters. Questions that don’t end with question marks. Paragraphs where every thought is laid out between mangled ellipsis instead of real sentences.

I’m not talking about imperfect grammar. English is a messy language, I get that. Plurals and spelling are often non-obvious, especially for non-native speakers, and even native speakers break the rules sometimes. We’re forgiven.

But everyone — everyone — knows that sentences start with a capital letter, and end with some sort of symbol. No fancy rules, no special cases. It’s one of the first things we learn while becoming literate.

So if you’re one of those people who’s social network feed is devoid of periods, capital letters, and apostrophes, please do better. I know you have it in you. Your lack of basic grammar is distracting from your message, and it’s driving people like me and Mrs. Mainwood crazy.

You don’t have to be smart to get this right.

You know better than that.