What’s Been Happening – Feb 2015 Edition

TorStarSendOff-1024For the past 15 months I’ve had the tremendous pleasure of working at an institution I respect enormously: The Toronto Star. My job was to support the toronto.com property, where hard working editors constantly maintain an up to date list of things to do, attractions, restaurants and events such as concerts and plays, in our wonderful city.

And along the way, I got to work with an awesome team of software professionals, tasked with supporting, maintaining and enhancing the digital version of Canada’s largest newspaper.

But, sadly, all things come to an end. The powers that be decided to move the Toronto.com site off the WordPress platform, and onto Adobe’s CQ5 content management system. So my job was disappearing. I was advised of this decision well in advance, so I started my job search early. But truth be told, I was kind of hoping something would materialize at TorStar.

It didn’t.
Continue reading

PhotoQ Be Gone

I was recently contacted by Dave Wilson of DaveWilsonPhotography.com. Dave had been using the PhotoQ WordPress plugin for his photoblog. It allowed him to schedule the release of posts with a given image. It would additionally extract and display the image’s EXIF data. This was before WordPress could schedule posts on its own, and saved Dave all kinds of time. He could spend a few hours loading up pictures and posts, and he’d be set for a month of daily posts.

But nothing lasts forever, and Dave’s happy setup was disturbed as his host’s PHP engine was upgraded, while PhotoQ, now no longer supported, was not. The front end of the site still worked fine, but the admin side had issues.
Continue reading

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