The Central Hub of Toad Knowledge

The Emmys Chooses Drupal 7

For those who watched the Primetime Emmys last night the content management system (CMS) used to support the website probably didn't matter all that much. That's because the site just worked, despite a heavy load of over 3 million page views (with a peak in a single hour of over 500,000). Behind the scenes the site is the result of a lot of hard work from...
By Joaquin Lippincott, President & Founder

Metal Toad and Kapow Launch Ken Burns America

Ken Burns America launched this week on the website. In partnering with Kapow, Metal Toad took on the task of modifying and patching the NotreDAM Digital Asset Manager to meet the content repository and asset management goals of the project. From there, we created a lightweight client API to expose NotreDAM's data to the project's Django-based websites, built "NotreDAM Light", an asset browser for Django, integrataed Solr for search, and assisted with SEO and Django app development…
By Joaquin Lippincott, President & Founder

Upgrade to PHP 5.5 on OS X 10.8 Mountain Lion

The following is a rapid installation of PHP 5.5 on OS X 10.8. This compiles 5.5 from source, including two required libraries and finding the appropriate configure command. If you are comfortable at the command line, and especially if you are comfortable compiling your own binaries, then this should take no more than 30 minutes, with the majority being the actual PHP compilation. Let's jump right in. Here's an overview of the steps:
By Chris Trahey, Director of Strategy

Keeping track of page load times in Munin

As part of the services we provide for some of our clients, we monitor web page load times. The Munin plugin we were using at the time was this outdated shell script. It worked fine up until we were monitoring lots of urls. If one of those urls took too long to load, it caused the entire plugin to timeout. This sort of timeout would lead to a slew of warning/critical emails from Munin. Oh, and it also only loaded just the html, none of the additional resources a normal browser would grab.…
By Chris Svajlenka, Development Team Lead

Bucket policy for friendly file exchange on Amazon S3

We sometimes need to exchange huge files with our customers and partners (too big to fit within the typical storage limits of Basecamp, or the free tier on Google Drive, Dropbox, etc). There are now many user-friendly client apps for Amazon S3. I like Cyberduck. Combined with AWS's flexible policy system, setting up a transfer bucket is a snap.
By Dylan Tack, Director of Technology

The Project Manager Bill of Rights

Following my last blog post on PM Retention, I worked with our team and set about about putting together a Project Manager Bill of Rights to live next to the existing Developer Bill of Rights. The outcome is a ten-item list that guides the organization with regards to the breadth of the PM role, and the rights and respect that our PMs deserve. The bill of rights reads as follows (with notes added to explain each):
By Adam Edgerton, Director of Project Management & Operations

Regex for Quoted String with escapable quotes

This post is a long-format reply to Jonathan Jordan's recent post. Jonathan's post was about the non-capturing backreference in Regular Expressions. He and I are both working a lot in Behat, which relies heavily on regular expressions to map human-like sentences to PHP code. One of the common patterns in that space is the quoted-string, which is a fantastic context in which to discuss the backreference (and also introduce lookarounds).
By Chris Trahey, Director of Strategy

Puppet Labs Chooses Drupal

By Joaquin Lippincott, President & Founder

What I Learned Today: Regular Expression Backreferences

This is another post in my challenge to learn something new every day and then share that in a blog post. This is fairly simple, but even though I'm comfortable with regular expressions, I was not familiar with the "?:" syntax (aka: question mark colon). I was working on some Behat tests using the MinkExtension, and this is used fairly often in the code (?P<option>(?:[^"]|\\")*).
By Jonathan Jordan, Software Architect