Articles

I attended Opscode Chef training a couple weeks ago and got super-psyched about it. I’m working on a project for Jackson River, and utilizing Chef is a big component. While writing the cookbook for this project, I found that I needed more access to Drush. Here’s the result of that effort, my fork of the drush cookbook. It contains the following lightweight resources: drush_cmd, drush_variable, drush_php_eval, drush_make, and drush_site_install.

Step 11: Enable Varnish. But steps 1 through 10 matter more. Varnish isn’t a magical solution to all your performance woes. In truth, it’s one of the more aptly-named software packages: you should only apply it only after you’ve finished sanding down the rough edges of your site’s performance. Here are some topics I run through before enabling Varnish on a Drupal site.

For three years, I ran a little-known site called My Band Needs a Name. It was never more than a proof-of-concept, unfortunately, and last month, I was faced with a decision to renew the domain or not. I chose the latter, but as a tribute of sorts, here are some of the better contributed band names.

I switched to a Nexus 4 back in February, partly out of tech curiosity and partly out of frustration with stagnant iOS innovation. While I still believe that iOS is stagnant and behind the times, with WWDC a few short weeks away, I have renewed hope that Apple can turn it around.

A few weeks back, my iPhone started acting strangely. It would freeze up for a few seconds, the Home button wasn’t working consistently, and the battery wasn’t really working great. I knew it soon would be time to replace it. Friends, co-workers, and family had been on me to take a look at the Nexus 4 — and my curiosity got the better of me.

Typically the system_settings_form() function isn’t considered for more complex operations or data types beyond integers and strings. What if you want to save an array to a variable? Or what if you need to transform a string value containing a username into an integer user ID? Normally, these cases would require a custom #submit callback, but I want to propose an alternative.

After 3 years on a Linode VPS, benclark.com is now powered by Amazon Web Services. Although I was a happy Linode customer, a lot has changed in the last 3 years. Recently I’ve been kicking myself for not learning more about AWS, and that got me thinking about why I’m not learning other new things.

There are four different kinds of Drupal developers, and they move along a predictable life cycle. We all start out as beginners hacking away at the theme, but if the environment is right, we grow up to be good Drupal citizens.

I started working from home when I joined Jackson River, and after a week or two of settling in, I realized four things about myself. As it turns out, it’s not hard at all to get into “work mode” And overall, I’m a lot more productive. But there are downsides, too: I find that it’s hard to stop working at the end of the day. And after over a year of working from home, I felt cut off from the world.

So, call me crazy, but when I’ve got a dozen Terminal windows and tabs open at once, and they’re all ssh’d to different boxes, it gets hard to remember which host is which. I end up checking the prompt or doing something like hostname to remember where I am. So, I found a way to automatically switch the Terminal settings to color-code my SSH hosts.

Drupal offers built-in support for sites in virtual subdirectories, e.g. www.example.com/subdir, but getting this up and running under Lighttpd is not well documented. Fear not, for it can be done with only minor configuration file tweaks and a few extra mod_rewrite directives.

Let’s start with the obvious. First, if you run more than one Drupal site on a single server, you should be running those sites in multisite configuration. Second, if you’re looking for exceptional Drupal performance and a small memory footprint, you should experiment with Lighttpd. This howto explains how to run multisite Drupal on Lighttpd.

After struggling with Guestbook spam on benandmaggiegetmarried.com, I realized how slow Dreamhost had become; after moving to a Dedicated-Virtual account at MediaTemple on Monday, I ultimately migrated my sites to a Linode virtual machine running Arch Linux & lighttpd.