Skip to main content


Taavo is a Boston native who earned his B.A. at Macalester College in St. Paul, Minnesota. Since he first learned to program in '94, he's been involved with a wide variety of projects - from neural network message categorization, software internationalization and desktop application development to everyday web development. Paradoxically, Taavo is also an actor, dancer and playwright, and received his M.F.A. from Naropa University in 2009. You can find info on his performances at

DesignTutorialsWeb Development

Git Primer

What is git? Git is an application for distributed version control. It’s version control because it lets you deftly create and manage versions of your files, and it’s distributed because there is no server. What is a git repository? A git repository is a collection of files that git is…
July 5, 2012
WordPress local install guide Instructions

WordPress Local Install Instructions

This is a rough guide, since I don’t have a specific project to test it on. When we get there, I’d like to test it out myself to improve this document. That said... 1)  Download and Install MAMP/XAMPP There are XAMPP downloads for both Mac and Windows, although I’ve never…
April 28, 2012
DebuggingTutorialsWeb Development

Attaching .docx files via PHP

Interesting bug today: A client's web form takes file uploads and forwards them as email attachments. Script works great for .doc files, but .docx files end up as mysterious attachments with filenames like ATT00010.txt, whose content starts with this: application/vnd.openxmlformats-officedocument.wordprocessingml.document; name="filename.docx" Content-Disposition: attachment; filename="filename.docx" Content-Transfer-Encoding: base64 This "header" is followed…
June 21, 2011
TutorialsWeb Development

One WordPress Install, Multiple Sites

One of our clients wanted two sites—two URLs, two designs, two sets of content—on a single Wordpress install. They wanted to be able to log into a single admin area to manage both sites, and to be able to make posts of certain categories show up on both sites, while…
December 15, 2010
Server ConfigurationTutorials

PHP-MSSQL on Linux: Easier Than You’ve Heard

We've integrated in-house Microsoft SQL Server databases with public PHP web sites a number of times, now. Until today, this meant dealing with Windows VPSes for even modest sites, simply because we were unable to find a Windows shared hosting plan which permitted access to remote databases, and all the…
October 25, 2010
TutorialsWeb Development

Updating Drupal

Compared to WordPress's automated self-updates, Drupal's update process is something of a chore. This chore isn't made any easier by Drupal's documentation (also here), which at the time of writing takes up nine pages, is self-contradictory, unnecessarily time-consuming and somewhat paranoid. And it never offers a canonical pragmatic checklist. After…
July 28, 2009