HotDocs, Aaron Swartz and Cory Doctorow

Cory and me

My friend Mariann has been an avid promoter and attendee of Toronto’s HotDocs festival, lo these many years. So it was no surprise when she called to recruit me to be part of her entourage while attending said festival. I had, in fact, discussed one of this year’s selections with colleagues at my new place of employment (well, perhaps not so new any longer: I’ve been there about six months now; but more on that another time), and was keen to attend a screening of The Internet’s Own Boy: Aaron Swartz. But not just any screening: one of the several screenings was to feature a panel discussion with Cory Doctorow, Lawrence Lessig, Gabriella Coleman and the director, Brian Knappenberger.
Continue reading

Learning the Radio Alphabet

AlphaBravo_Feat

Last year I was taken with a sudden and feverish desire to master what some call the NATO Phonetic Alphabet. You know: Alpha, Bravo, Charlie, for ABC.

Except a phonetic alphabet is, in fact, something else; it’s a notational standard for the representation of a language. It’s about how to pronounce the language.

By contrast, the radio alphabet, allows you to accurately transcribe letters by assigning a word for each letter. Handily, the words assigned start with the letter they’re assigned to. So, Alpha for A, Bravo for B, and so on. It’s about reading it out to someone across, say, a radio, and being reasonably certain they won’t mistake a P for a T.

OK, so that’s the What. Continue reading

Sabre Web Services in PHP

oecdworld200I’ve been on contract for the past couple of months at a lovely company up in Newmarket, called Solutions360. I’m part of a team working on a system for the travel industry. So we’re deep into API’s for hotels, flights, cruises and such. Listing, booking, cancelling have been our constant concerns for weeks now.

My bailiwick is a module called a Service Manager, which translates requests from our system to an outside web service. Then captures the responses and again translates them into a standard format for the system to display.

The first Service Manager I wrote used the cURL library to communicate with the external service. So when it came time to interface with the Sabre services I tried using the same mechanism; but for some reason it was a non-starter. I tweaked it as much as I could; as much as it made sense to. But the only response I got was an error that the service “couldn’t internalize the request.” *sigh*

And while Sabre’s support team has proven to be enormously helpful and responsive, on the phone and via email, if it isn’t Java or .Net, you’re pretty much on your own. Continue reading

aaLog: A Logging Class for PHP

log ladyOver the years of learning the many and various skills necessary for being a well-versed web developer, you find a number of tools to help you get things done. Sometimes you have to build those tools for yourself.

There are any number of logging solutions out there, but I decided to build my own for a number of reasons. First, I had some specific requirements in mind, and I didn’t want to spend a bunch of time exhaustively researching the available options, when I could just build my own. Secondly, building my own solution allowed me to exercise design and development muscles I might not otherwise get to flex. Thirdly, building my own allows me to share it with you.

To my great and everlasting shame, however, I never got around to documenting this class. Well, never is a long time. “Never”, until now. But it has been many years since I started this project, and I’d been meaning to post some documentation since then.
Continue reading

AirHogs.com is Live!

Air Hogs01 home page

I was lucky enough to be selected to work on the build of the Air Hogs website redesign at Proximity Canada. We had a terrific team, and the build went fairly smoothly; especially considering it was my first time using the ExpressionEngine CMS. I’m enormously proud of this project, so with your kind indulgence I’m going to bore you with a tour of a few of the highlights of the project. The one saving grace of this post, is it will have lots of very pretty pictures. Continue reading

IE Refusing Session Cookies

Photo Credit: Bree Hester, Baked Bree.

So here’s another good reason to loathe Microsoft and yearn for an opportunity to kick them in the ‘nads. (But I’m not bitter.)

I’m working on two web applications: one is the public facing site, and the other is the administration site. So, natch, for the latter I created a local domain called oursite_admin.local. I’m usually partial to .dev, but the team had already started with .local, and I had no serious philosophical issues with that. Contrary to scurrilous rumours, I’m actually a very easy going fellow. Continue reading

Waterloo Festival for Animated Cinema: You Should Go!

I’m playing hooky today to attend the 12th edition of the Waterloo Festival for Animated Cinema. I’d come across this festival years ago through an acquaintance’s Facebook posting, and I promised myself that I’d attend the following year. That didn’t happen. In fact, it took another couple of years before I finally got off my duff and trekked out to K-W.

When Joseph Chen, the festival’s organizer and curator, saw me with my camera, he pressed me into service, asking me to shoot everything and everyone. So I became one of the volunteers supporting the event, and I’ve been back every year since. Continue reading

Essential Movies

It’s happened a couple of times: while chatting with colleagues I reference a seminal movie, and I get a blank look, or “I’ve never seen that.” My jaw drops. “You’re kidding!”

We’re talking about such mammoths of cinematic history as Apocalypse Now, or The Ten Commandments.

So I started putting together a list of essential movies. And here’s what I’ve found: there are essential movies, and there are really, really good movies. And sometimes, the difference between the two depends on your own introduction to the movie. So, yeah: this is my own opinion of what constitutes an essential movie. And the line is blurry; and it may move. But this is it for now. Continue reading