Books are weird

So my buddy Mike Proulx wrote a book about Social TV. That’s pretty convenient since my job IS social TV. We got a few copies at work so I grabbed one to take home and read.

I truthfully cannot remember the last real book I read. Although I spend most of my day reading, I read code, documentation, email and web pages, but not whole books.

Sitting down to read an actual book on actual paper was a bit jarring. For one, I was taken by the lack of interruption. There were no animations anywhere, no ads, no blinking dock icons and no Growl notifications. It felt weird. Also, all the links are broken. 🙂 I felt like that toddler who thought a magazine was a broken iPad.

As far as books go, Social TV is about the most futuristic a printed book  can be. The footnotes are not references to other books – they’re URLs. Annoyingly, most of them are pretty long and have to be typed in by hand.

But each chapter has a companion page on the web site. I loved the tagline: ‘The second screen companion to the book “Social TV’. I never thought of books as having a second screen (only TV), but I guess it works even though my printed book is a pretty dumb screen.

The companion site also has a good list of videos referenced in the chapter and I watched a few of them. But again, it reminded me of how limited paper books are in the content they can deliver. Curiously, the book doesn’t include any pictures or screenshots either (which paper books do support!) that would have lessened the need for many paragraphs of text describing the look of web pages.

I was browsing Wikipedia earlier in the day and I found an error on a page. I quickly clicked edit and fixed it. A couple chapters in, I’ve already found a few typos in Social TV (sorry Mike) but there’s no edit button. As a matter of fact, Mike can’t fix them in my copy either unless he comes over to my house with a typewriter(!) and some whiteout.

Printed books are weird devices. If I grew up with them but they now feel so antiquated to me, I can’t imagine my kids will tolerate anything but digital books as they grow up.

Friends don’t let Friends play Words with Friends

I’ve been playing Scrabble on Facebook for years. It’s fun, challenging and a good user experience. I play on my iPhone and iPad too. All the apps are free.

Recently, people have encouraged me to play Zynga’s Words with Friends. It sucks. Let me tell you why.

  1. It’s a blatant knockoff of Scrabble. This game was designed by a bunch of lawyers sitting in a room with a Scrabble board. One by one they tweaked the board and the pieces until they thought they wouldn’t get sued because it was “different enough”. As a result, the game is inferiorly designed. It doesn’t encourage players to open up the board by moving towards the corners for example.
  2. You can pay for higher scores. If you want see how many points your word is worth, you have to buy points that can be redeemed for additional features like word scoring. This is basically paying off the dealer at a poker game. This feature is free in Scrabble.
  3. The ads are obnoxious. Sure, you have to pay the bills, but an undismissable video ad after every play is offensive. Of course you can pay to get rid of the ads. In Scrabble, he ads are to the side and non-intrusive.
  4. It’s missing some basic features. Want to see the history of plays in a game? You can’t even buy that feature. There isn’t even a dictionary to check a word before you attempt to play it.

So go ahead, invite me to a game of Scrabble on Facebook. If you want to play Words with Friends, well, I’m not your friend.

Apple customer service

Rarely do I expect much from a company’s customer service. Usually it’s endless phone trees with occasional responses by incompetent employees.

Not Apple.

A few weeks ago I walked into my local Apple store with a Magsafe power adapter that no longer worked. This is a common issue and Apple settled a lawsuit because of them. The greeter next to the Genius Bar intercepted me and asked how he could help. I told him my power adapter didn’t work, and he looked it quizzically for 10 seconds. He then went into a cabinet, pulled out a new adapter, handed it to me, said “here you go!” and I walked out of the store. That was too easy.

For my Dad’s birthday, I bought him the SlingPlayer app for his iPad. When he tried to run it, it reported that his SlingPlayer hardware was not compatible with the app. In fact, the app only support their latest two models, not any of the ones before that. Boo! The app page actually explains this, but I missed it.

I emailed Apple via their Express Lane site and explained the problem. The confirmation page said to expect a response within 48 hours. 12 hours later, I got an email with a full refund. A day later I got a followup email asking if I had any further issues.

Now that’s customer service.

Apple, you’ll be getting more of my money in the future because you actually seem to care about my experience with your products.

2011 World Series Prediction: Rangers have a shot

Now that the Red Sox are out of the playoffs (painfully so), I can be completely objective about who I think will win the World Series.

Some people would use matchup history, batting averages, ERA or even run simulations based on individual players to come up with a prediction. I’ll use another metric: deadliness of the team name.

So let’s assume that the name of each team was put into a death match with the other team. Here’s how it would come out.


Tampa Bay Rays Texas Rangers
Rays vs Rangers
Now if the Rays were still the Devil Rays with their stingy pointy thing, then this could turn out differently, but a sun ray against a ranger? Assuming the Rangers come well-hydrated and don’t forget their hats, the Rangers should come out with nothing more than a sunburn.
Prediction: Rangers

Detroit Tigers New York Yankees
Tigers vs Yankees
I’ll say these tigers are not well-trained or at least not well-fed so anyone of the Northeastern United States would be a tasty snack or make for an entertaining maul, especially since a yankee wouldn’t be expecting a tiger, them not being native to the northeast and all.
Prediction: Tigers


Texas Rangers Detroit Tigers
Rangers vs Tigers
The thing about Rangers is they tend to have guns. Tigers, while ferocious do not absorb bullets well. Bonus: the Rangers will have a nice meal that night.
Prediction: Rangers


Arizona DiamondbacksMilwaukee Brewers
Diamondbacks vs Brewers
This is a joke right? Drunk beermaker vs deadly snake? Venom poisoning beats alcohol poisoning every time.
Prediction: Dbacks

Philadelphia PhilliesSt
Phillies vs Cardinals
“Phillies” are apparently upstanding citizens of Philidelphia. Let’s ignore that bizarre mascot, the Phanatic, which would be toast in fight against a toaster. While I’m sure a cardinal could give you a pretty good peck, even a Philadelphian might just be smart enough to survive a cardinal attack. It might be a different story if this was a scene from The Birds, but assuming this is a Phillie and an cardinal, mono a mono, I see the Phillie surviving.
Prediction: Phillies


Arizona Diamondbacks Philadelphia Phillies
Diamondbacks vs Phillies
While a sober Philadelphian (is there such a thing?) might be a bit more of a challenge to a pissed off deadly snake, unless that Philadelphian is really fast and an expert stomper, I’ll give the snake 10:1 odds.
Prediction: Diamondbacks

World Series

(Where the “World” consists of 29 teams from the United States and one other just a few miles from the Northern US border)

Arizona Diamondbacks Texas Rangers
Diamondbacks vs Rangers
Well, shooting a tiger is one thing, but sniping a snake is another. Perhaps if the ranger brought a shotgun, it might be a bit easier. Then again, if the ranger is not a military man, but a crunchy park ranger, it would be all over. It’s a close one, but I’ll root for my fellow mammals on this one. Yay, guns make us better than all the other animals!
Prediction: Rangers

There you have it, the Rangers winning their first World Series after failing last year. It should be fun to watch, even if the Red Sox will be watching from their couches, just like me. It’s really too bad – a sock could very effectively contain a diamondback.

WebEx, preschooler edition

My primary email address has been around a long time and so I get a lot of spam on it. I’m used it. My kids’ email addresses (they forward to me) do not get much, well mostly because they don’t use email.

The other day I got some spam from a big company (WebEx, owned by Cisco).

Hi Audrey, 

I would like to discuss ways to extend your reach and reduce expenses for your organization. Please reply to this email with a time to contact you this week and I can show you how companies like yours are accelerating their growth with Cisco WebEx online collaboration solutions.

Best regards,

Courtney Stacy
Solutions Specialist
Collaboration Software Group
Phone: 978-936-9124
Fax: 978-936-2218

Cisco WebEx LLC
3979 Freedom Circle
Santa Clara, CA 95054
United States

 Think before you print.
This e-mail may contain confidential and privileged material for the sole use of the intended recipient. Any review, use, distribution or disclosure by others is strictly prohibited. If you are not the intended recipient (or authorized to receive for the recipient), please contact the sender by reply e-mail and delete all copies of this message.

My response:

Audrey would love to talk to you. She’s at preschool right now and then has to have lunch before naptime. Does 4pm work for you? She does like to use Skype to talk to her Grammy, so I’m sure she’ll take right to hosting meetings on webex. Saving money will be great for her as she just got a piggybank.

We look forward to hearing from you,

Jeff (Audrey’s father)

No reply yet.

The sad state of REST and Javascript in 2011

At work, I’ve been building a a tool that does a bunch of JavaScript interaction with REST services. It should be able to use GET, POST, PUT and DELETE and be able to send custom headers.

No big deal, right? Well, the service isn’t running on the same host as the client is served from. While I could change that, I don’t want to for various reasons.

I’ve surveyed my options and none are ideal.

method cross-domain requests browser compatibility HTTP verbs custom headers synchronous calls
XmlHttpRequest no pretty much all all yes yes
XmlHttpRequest + CORS/XDomainRequest yes Firefox 3.5+, Safari 4+, IE 8+, and Chrome all yes yes
client-side flash proxy yes pretty much all GET, POST some yes
jsonp yes pretty much all GET no no

CORS seems like the ideal solution if it was available in all browsers.
If the client flash proxy wasn’t limited to GET and POST and didn’t require crossdomain files all over the place, then maybe I would have gone with that.
Instead, I decided on jsonp, with a servlet filter that emulates other HTTP verbs, Content-Type and request body. At least this way my REST service doesn’t have to change. I’ve only built an adapter for JavaScript’s silly limitations.

It’s enough to make me want throw up my hands and start writing Objective-C.

My Browsers of Choice, 1994-Present

Lately, I’ve been using Google Chrome. As much as I hated the fact that Google decided that none of the other browsers were good enough and had to make yet another to make web developers’ lives that much more complicated, they’ve done a good job. Chrome is fast, compatible and stable.


That got me thinking about how browsers have improved over the years and what my browser of choice has been.

1994-5: Lynx & NCSA Mosaic
I used both back when the web was born. Mosaic had graphics, but Lynx sure was fast over a modem.

1996-1998: Netscape Navigator
The commercial version of Mosaic, frames and JavaScript (nee LiveScript) made Netscape awesome.

1998-2003: Internet Explorer
When IE 4 came out, it was simply better than Navigator. It was faster, less crashy and pages looked better.

2003-2009: Firefox
Extensions, less bloat and better compatibility made Firefox great in its day.

2009-Present: Google Chrome
Firefox got more and more bloated over the years and its performance suffered. It seemed to be always using ridiculous amounts of CPU when it was doing nothing. Chrome was a welcome alternative with plenty of extensions and notably faster performance.

Safari is a strong contender these days as well and will get better as more extensions become available for it. For now, I’m pretty happy with Google Chrome.

The pace of browser improvements over the last 16 years has been impressive. I’m sure what we have today will still be laughable compared to whatever my browser of choice will be in 2026.

I think I survived the Summer of 2010

Tomorrow is the first day of fall and the end to what may have been the busiest summer of my life. I’m just happy to have survived it. A summary of my life events over the last 3 months:


  • Quit my job at at Yahoo! after 8.5 years
  • Took two days off
  • Began work at a startup
  • Launched our first product
  • Learned a heck of a lot of new stuff


  • Watched Elliott double in age and weight
  • Helped Audrey learn how to use a toilet (reliably)
  • Dropped off Audrey at her first day of preschool
  • Launched a new website for Audrey’s preschool


  • Spent 2 weeks traveling Europe with 4 kids (all under 4)
  • Hosted friends at our house for 3 weeks
  • Drove to New Hampshire to visit family 10 or more times
  • Replaced two MacBook screens (my Mom’s broke too!)
  • Spent a weekend on the Cape, another on Martha’s Vineyard
  • And finally, celebrated another birthday

I don’t think I’ve forgone so much sleep since college. It was challenging, but ultimately rewarding.

That said, I’m hoping for a relaxing and uneventful fall.

Replacing a MacBook display and a little hacking

Last week, Anne dropped her bag with her MacBook in it on the floor. She didn’t think anything of it until hours later when she went to turn on her computer and the LCD display was cracked inside. Lots of scary broken lines appeared with only a small section on the left actually working.

I did some research and found the cheapest way to get this fixed was to buy a replacement screen. I picked one up on eBay for $75 from For some reason they sell them for more on their own site (?).

It shipped quickly and I had it on Thursday. I followed the helpful video from iResQ to take the machine apart and install the new screen.

The most difficult part by far was getting the inverter cable plugged in as it’s behind the hinge. My Dad helped by pulling the hinge back and keeping the video cable out of the way.

A random magnet fell out of the side when I took out the display. Apparently it’s a “sleep magnet” which, when closed with the lid, activates the computer’s sleep mode. It took me a while, but I found the spot in the lid where it went in, coming down just to the left of the fn key.

More annoying than difficult was getting all the little clips around the edges back in place. I found it helped to arch them a bit and then spread them back out again once they were in. All in all, it probably took me 2 hours to complete.

While I had it open, I made one little extra modification I read about online. Apples should be red, right?

MacBook hack

What I was looking for was a piece of cellophane, but we didn’t have any. I searched around and found something that worked just as well – a piece of red plastic from a bag of frozen french fries. I cut it to size, taped it in, and now Anne has the coolest MacBook (with working display!) on the block.