Make Drush support PHP-5.1

Drupal has a fairly easy to meet set of requirements http://drupal.org/node/502452

But Drupal projects are free to set their own rules in this area and Drush has used functions only available in PHP 5.2 - as far as I can see this is just the json functions.

Frustratingly the latest version of RedHat provides PHP 5.1 and this is the second time I've run into the problem with a client who uses RedHat and understandably wants to stick to the standard packages.

Read more

Amazon MP3 Downloads for Linux

It's great that Amazon actually offer a version of thier MP3 downloader for Linux - just a shame that it doesn't work for many distributions.

Fortunately clamz is available 

It's a great little command line utility with a very forgetable name.

Read more

Hard Drive Testing using smartmontools

Test the hard drive with

smartctl -t long /dev/hd?

This may take hours to run and will do so as a background process.

Once complete run the following to see results

smartctl -l selftest /dev/hd?

Read more

Getting Calibre working on Debian Lenny

I recently bought a Sony e-reader, the main Linux package to support this is calibre but I found that it wouldn't automatically sync my ebooks.

 The FAQ says 

 "The linux kernel can export two version of SYSFS, one of which is deprecated."

Apparently Debian Lenny exports the deprecated version and you have to recompile the kernel to undo this.

Read more

Going Google

I seem to be progressivly going Google, it started with search but for a long time I resisted the lure of Googles other treats.

However since I got an Android phone I've been getting slowly sucked in with accounts on Gmail, Picassa, Google, Calender, and now Google Apps

Read more

Drupal Wishlist

Drupal has a lot of great strengths and some weaknesses

The following are the key areas of Drupal that (as a programmer) I would like to see improved.

Negative testing 

Drupal only seems to test the positive path, that is that given the right inputs you get the right results and apart from security nothing else matters.

The result of this is that incorrect inputs result in silent failures that can be very hard to debug.

Read more

Safari Books - bad redesign

I've had an account with O'Reilly's Safari books on and off for years

I've cancelled it before beacuase of design issues that rendered it unworkable for me.

This time they have "upgraded" the site from an AJAX based layout which allowed me to choose between "print fidelity" and "HTML view".

The new layout uses Flash to render the pages as they look in print in a scrollable window.

I hate this because

Read more

When to Choose Drupal

Drupal is a very flexible CMS which can be extended to provide the functionality needed for may different types of website.

I've worked on a few projects where I was brought in for my Drupal expertise, but in the end felt that Drupal wasn't a good solution in these particular circumstances. So I've been pondering what sorts of projects is Drupal best suited to.

Read more

Is Drupal a Standard?

I've been working in the CMS arena for 10 years, and the whole time I've been expecting one or more “industry standard” CMS's to come along, but instead we've seen thousands of competing products with almost every web agency claiming to have CMS product.

While development costs have come down a long way due to greater experience and code re-use they still haven't come down anywhere close to the level that people are used to from purchasing shrink-wrapped mass market software.

Read more

Drupal is not Test Friendly

I was originally excited about the embrace that Drupal seemed to have given to testing.

However after spending some time with it I've concluded that Drupal really isn't very test friendly.

Most tests for Drupal are integration tests not unit tests.

That is to say that they test a bunch of components together - not each bit separately.

This is because Drupal components (modules or functions) are not well encapsulated, global variables are used, data is cached within functions,  passed via the database etc. 

Read more