Video: A Developer's Introduction to Drupal

April 16, 2010

A few weeks ago I did a webinar for PHP|Architect and the Tek-X conference. The webinar was recorded, and is now available as a video. You can watch the presentation on A Developer's Introduction to Drupal at their site.

The presentation is aimed at developers who are just getting started with Drupal...

Linux/UNIX/OS X: How to find and combine multiple files

April 16, 2010

This explains how to use a UNIX-like command line (including Linux and OS X) and the find command to search through a subdirectory and find all of the files with a certain extension, and then combine those all into one file. Surprisingly, this isn't a difficult task. It can be accomplished with one...

mkdir: Creating multiple subdirectories in one command

April 15, 2010

Often times, I want to create a full directory structure, and I'd like to do it with just one call to mkdir. That is, I want to create a root directory and multiple subdirectories all at once. Here's how to do this.

mkdir -p myProject/{src,doc,tools,db}

The above creates the top-level directory

Blackboard UX Fail! How not to label buttons.

April 11, 2010

Several times in my experiences with Blackboard, I have accidentally clicked the wrong button. In Blackboard's forum thread editing screen, there are both Save and Submit buttons.

There are three problems with this display:

  • Both button terms are ambiguous (Save to what? Submit to for what?)
  • These...

Configuring Static IPs on a Comcast SMC Router

April 2, 2010

I have recently been working on configuring a business-class Comcast SMC router to make use of a group of 5 static IPs. The documentation I found was sparse, and I spent a few days figuring out how to do this.

Turns out that it is very simple.

<!--break--> Say you have a server, Server A, that you...

Loading Drupal Nodes into MongoDB with Drush

March 26, 2010

To do some prototyping, I wanted to load all 32k of our Drupal nodes into MongoDB. At first, the thought of doing this seemed daunting. Then I realized that with Drush I could use a very simple script to perform an entire migration.

The result: With a 14 line PHP script, I transferred all of the...

MapReduce as a Star Trek Episode

March 26, 2010

Kristina Chodorow, a member of the MongoDB development team, and maintainer of the Mongo PHP driver, wrote a great blog explaining Map Reduce as a Star Trek episode. It's a quick and humorous read.

Kristina is also doing a TEK-X Webinar on MongoDB today. I'm encouraging my dev team to attend. <!...

A 53,900% speedup: Nginx, Drupal, and Memcache bring concurrency up and page load time way down

March 22, 2010

With a clever hack utilizing Memcache, Nginx, and Drupal, we have been able to speed the delivery time of many of our major pages by 53,900% (from 8,100 msec to 15 msec, according to siege and AB benchmarks). Additional, we went from being able to handle 27 concurrent requests to being able to handle...

Heating Water: UX principles from your microwave

March 17, 2010

When I was at WebMD back in the late '90's, I often worked on pieces of the site that were designed by Tog. (If you haven't heard of him, check out his Wikipedia page). I developed a sincere respect for UX engineering because of him.

Today, I was looking for a decent set of UX guidelines to give...

MongoDB: 5 Things Every PHP Developer Should Know About MongoDB

March 5, 2010

2010 will be remembered as the year SQL died; the year relational databases were moved off of the front line; the year that developers discovered that they no longer had to force every single object into a tabular structure in order to persist the data.

2010 is the year of the document database....