When whitespace isn’t whitespace, but it is white [:space:] November 12th, 2008

It might be whitespace, but it’s not being entirely candid with you.

Blogging about the password anti-pattern, finally October 26th, 2008

If you think I’m behind the times with this post then just give me your GMail username and password so I can tell all your contacts how tardy I am!

Random ordering of query results in Django September 3rd, 2008

Those who can, Google; those who can’t, teach Google.

I’m with Ignorant → August 8th, 2008

Never ask someone how stupid they are; conversely, don’t be surprised if they buy books explicitly meant for dummies.

Drupal, licensing and the GPL June 30th, 2008

If you’re about to start programming under the GPL, and you want to read just one article about it, then: don’t read this; read the Drupal licensing FAQ instead.

Inconsistent syntax in SQL Server’s sp_rename April 3rd, 2008

Microsoft’s developer-level APIs don’t always work in precisely the way you’d expect them to, you know.

Deserving of a serious LAMPing March 31st, 2008

Reinventing primary keys, one horrifying integrity error at a time.

If random is secure, pseudorandom is pseudosecure September 15th, 2007

Do you bank online? How are you asked for your secret code? Three randomly placed digits of it, hmm? The reason for the randomness is that any malicious keylogging software can’t see your screen, just your keyboard: so even if it logged every time you banked online, the fraudster it reported back to could never [...]

Some Drupal gotchas August 29th, 2007

These have arisen in my recent workshops, and during programming….

The Page content type isn’t the same as the page template; nor is it the same as a page on the site, which is actually called a node.
The file in your templates directory, called template.php: that’s the only .php file that isn’t actually a template (templates [...]

Distributed Drupal development, determined by dedicated Drupaler August 20th, 2007

A recent thread on the Drupal development list (started by me, I confess) led to Larry Garfield publishing his development environment online. It’s interesting to see what problems he’s had to solve (and what problems he hasn’t needed to solve).
Our development is explained on those list postings: I’ll put a diagram and more coherent explanation [...]