Blog

Upgrade to Mac OS X Snow Leopard: Initial Impressions

This morning, before heading into work, I ran by the Apple Store to pick up a few copies of Snow Leopard. For most of the morning, I alternated Macs while upgrading one of them, and this post will provide some initial reactions / thoughts on running Snow Leopard.

The upgrade went smoothly—took about 1 hour on my new Macbook Pro 13.3", and about 1.5 hours on an older Core Duo Macbook Pro. No real hiccups, but I have to say I was disappointed that Apple didn't make a new 'Welcome' video. It's the same one as they had for 10.5 :-(

On the first startup, the Setup Assistant displayed the welcome video, then simply said "Thanks for installing 10.6" (I did the upgrade install instead of a Clean install, FYI), and I went about my normal routine. The screen gamma was changed to OSX's new default, 2.2, which is a bit more contrasty... but I simply recalibrated with my Spyder color calibrator and colors were back to my preference.

Exchange Support

Apple's built-in support for Microsoft Exchange is the main reason I went as soon as possible to pick up my copy of Snow Leopard. Immediately after installing, I started playing around with the settings. The biggest question I had was how to set up multiple personal calendars (through MobileMe) concurrently with multiple Exchange calendars (a task impossible to accomplish on the iPhone).

Mail Exchange Server 2007 Setup Options Pane

Adding Module Stylesheets using drupal_add_css()

A couple days ago, when building a quick site with limited functionality (basically a pretty front end to a database website), I ran into a hiccup with my custom module/theme for the site, which caused me to scratch my head for a few minutes.

In my custom module (called 'idcards'), I added a stylesheet for a couple forms on the site using the drupal_add_css() function:

/**
 * Implementation of drupal_add_css()
 */
drupal_add_css(drupal_get_path('module', 'idcards') .'/idcards.css');

Later on in the development, I added a custom theme (based off a Zen subtheme I use for many smaller sites), and in that custom theme's .info file, I added a stylesheet named idcards.css.

When I cleared all the caches, I noticed the custom form styling (added by the module's idcards.css file) was missing, and on further investigation, I found that the module's idcards.css file was not being added to the pages!

The Storm Before the Calm - Help Drupal Designers!

With less than two weeks remaining until Drupal 7's 'code freeze,' when new features and major patches will no longer be added to Drupal 7 (instead, everyone will work to optimize and clean up all the approved patches/features for an official Drupal 7 release), it's crunch time for those wishing to make Drupal a dream for designers and themers.

Initially, I had a lot of time to help along with a bunch of other great Drupal users (new and veteran alike) to help nail down a better set of core template files (.tpl.php files), along with some CSS definitions, in order to allow people to code new (and hopefully better) themes straight from Drupal core, using nothing but CSS and a .info file. (See the Stark theme (built into Drupal 7) for an example of how simple a Drupal theme can truly be!).

We've made it through:

Excuse Me While I Rant...

I will never fly United Airlines again.

I am a very patient kind of person (at least I think so), and I am typically one to let things slide unless they're pretty radically against the grain. But today, even after giving United three opportunities to redeem their 'United Express' service, I have decided to not acquire any of their services again.

First: I didn't expect much from them, as they are a very 'economical' choice in terms of price/amenities. But I did expect to be relatively comfortable (at least as comfortable as sitting in a subway seat for a few hours, and relatively on-time. The first flight from JFK to IAD was delayed almost 45 minutes, during which time a full flight had to sit in an un-airconditioned/non-working airplane. This was quite annoying, but I thought, "Well, it ain't so bad: you still have your wits about you." Then I realized we were sitting on a plane with a broken secondary engine, probably bought from some junkyard and refitted with used seats and an inexperienced flight crew, and my life was in jeopardy.

Running Apache Benchmarks: Drupal/Joomla core vs. Static Page Cache

I just discovered (after asking about it in the #drupal IRC channel) the wonderful little program ab, included in an Apache installation. This little nugget does one thing, and does it well: It beats the heck out of your server, then tells you how your server did in terms of page serving. I tested a few different configurations on a dedicated, 4-core, 4 GB RAM server from SoftLayer, and used the following two commands:

1. Download the specified URL 1,000 times, with KeepAlive turned off (each request gets a new http connection):

ab -n 1000 -c 5 http://ip.address.of.site/path-to-page.php

2. Downlaod the specified URL 1,000 times, with KeepAlive turned on (thus allowing the connection to be maintained for as many http downloads as you have set in your httpd.conf file):

ab -n 1000 -kc 5 http://ip.address.of.site/path-to-page.php

I ran these tests a few different ways, and here are the results of the tests I ran with KeepAlive on, with the number of pages per second ab reported listed after the method:

  • Drupal - normal page caching turned on, css/js aggregation, 55kb page – 12.5 pages/sec
  • Joomla - no page caching (disabled due to buggy 1.x caching), 65kb page – 8.2 pages/sec
  • Drupal - boost module enabled, serving up the boost-cached file – 3,250 pages/sec
  • Joomla - custom page caching system enabled, serving static html file – 2,600 pages/sec

Speed boost due to caching: ~250x faster!