The blog is currently being ported from WordPress to over 12 years of static pages of content. If there's an article missing that you're hoping to see, please contact me and let me know and I'll prioritize getting it online.

Managing multiple versions of PHP on Mac OS X with Homebrew

I sense a trend starting. A few weeks ago, I wrote a post about managing different versions of Python on Mac OS X, and today I’m going to explain how I use multiple versions of PHP on the same platform. The Problem Until the homebrew-php group figure out a better way of handling several versions of PHP (their instructions haven’t worked for several months), and without installing something like phpenv, I concocted my own means to manage PHP versions using bash aliases similar to my Python post.

Continue Reading

Dynamically Injecting Scraped GitHub Data in a Google Spreadsheet

At the new job, I started piecing together a Google Spreadsheet about our open-source software in various languages, based on frameworks, or example applications. One of the things we wanted to track for each repository was a count of open issues and pull requests we had at GitHub. Turns out Google made this pretty easy, but you have to scrape the repo page first. The code I wrote a scraper in Python using Flask, Requests and BeatifulSoup, hosted the project on Heroku, and works a little like this:

Continue Reading

HOWTO: Get a Mac, Python, Homebrew, PyEnv, and Bash aliases to play nicely

Okay, I’ll be blunt: I’m a Linux guy. I know, shocker. I’ve recently moved to an awesome new job and part of that role will be an area of developer advocacy which will require me to go to meetups and tech conferences from time to time, and talk about how freakin' awesome my new employer is. And they are, srsly. You should sign up and use it if you’re thinking about building a news/activity feed/timeline in your app.

Continue Reading

10 Best practices for developers, from top devs at Google, Pinterest, Signpost, ILM...

Found a great article on about 10 best practices for developers, curated from engineers at some of tech’s biggest sites such as Google, Pinterest, and more. The article is worth reading, but here’s a summary: Think carefully before you choose your first language pick a language based on the community You’re no code monkey! understand the motivation behind why you’re being asked to build something Stay agile and don’t stop shipping fail fast, always be testing, release early and often, practice TDD Stay in control of the testing process TL;DR: TDD is awesome, do that.

Continue Reading

Suppressing the Print dialog in Firefox for auto-printing

UPDATE: This article was written over a decade ago. I haven’t tested whether this technique still works in Firefox (or any other browser with a similar setting). Use at your own risk. If you truly need this functionality, you’ll need to find out which version of Firefox was available back in early 2006 and follow these instructions. Imagine the horrific screams of Internet users world-wide as their printers start spewing coupons and ads from their printer without warning, and without the precious print dialog box to “cancel” the print process.

Continue Reading