This was a lot less straightforward than I expected. So I’m posting the incantations here in hopes it’ll save others some time.
Sequel Pro is a very capable Mac-based, open source, MySQL client. One of these many capabilities is to tunnel via SSH to another server. In this case, we’re going from your host machine (an OSX desktop), to your Vagrant guest machine, to access the MySQL database server there. If you don’t currently have a Vagrant machine on hand, try Puphpet.com.
For years I’ve eschewed using services such as HTML validators, because I was developing on my local machine, or even on a Virtual Machine inside my local machine; and external services couldn’t get to my website while it was under development. Worse yet, involving a webhook, a callback from a web based service, to your own website, was a chore because you had to deploy your site to a public-facing server before you could test it.
Until now. (Insert maniacal laugh here.)
I’ve recently started using a clever service called ngrok, which exposes your local development site to the Internet. Even if you’re behind a firewall.
(Quick aside. I believe it’s pronounced “en-grok”, rather than “n. g. rok”. Adherents of AngularJS will have to force themselves to conform.) Continue reading
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.
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
I’m sick of going looking for this information across the web when I need it. So I’m putting it all together in one place. This is for my own use, but you’re welcome to reference it as well, if you find it useful. Just so it’s been said: the canonical online reference (IMO) is the Mozilla Developer Network, aka MDN. Continue reading
I’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
Over 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.
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
It’s been a looong time coming. Let’s face it, the default WordPress themes are pretty cool, but when everyone has one… Meh, not so much. And if you’re a webmaster, especially a notorious one, you kind of owe it to the world to show off your chops. Continue reading
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