Two improvements to CacheExclude

March 3, 2009

A few days ago, Crell and I released a new version of the CacheExclude module. This module makes it possible for Drupal administers to explicitly exclude pages or URL patterns from the Drupal page cache. With a little judicious use of this tool, you can gain the site-wide performance advantages of...

Journal Article: "At the Foundations of Information Justice"

February 25, 2009

In 2006 I started working on a paper on a concept I call "Information Justice". The idea is that information can be understood as a form of wealth, complete with a wealthy, oligarchic class and a poor, powerless lower class. If this is so, then there are serious ethical considerations to be had when...

Shell script to simplify Drupal CVS module checkouts

February 24, 2009

I am finally fed up enough with the multi-step process for checking out a Drupal contrib module that I created a simple shell script to do the dirty work for me. This script is named cvscheckoutmodule.sh (imaginative, huh?). In hopes that this might be of interest/use to others... here it is. <!-...

a++: Using PHP strings in unusual ways

February 22, 2009

Here's a PHP question for you: When the following code is executed, what will the output be (or will the code fail)?

<?php
$char = 'a';
print ++$char . PHP_EOL;
?>

The answer: The above will print a single line.

b

The reason for this is that an increment operation on a string increments the letter...

Great Brewers: A new website that uses the Quiz module.

February 12, 2009

An active member of the Quiz community has just released his new website: Great Brewers. I haven't had a chance to peruse the entire website, but it looks cool from what I've seen so far (Check out the front page).

Python on Mac: Using the xattr functions to get extended attributes

February 9, 2009

Have you ever noticed that sometimes when you copy OS X files from your Mac to, say, a Linux or Windows server, you get a bunch of files that begin with ._? Those are metadata files. They store extended attributes for other files. Why don't they appear on Mac OS X? Because on OS X, extended attributes...

SSH Per-Host Configuration

February 5, 2009

And the "new trick of the week" award goes to... SSH configuration files.

I've been an OpenSSH user for a LONG, LONG time. I've used lots of different configuration, and connected to probably hundreds of hosts. No, I don't use a GUI interface. Yes, I prefer scp to just about any other remote copying...

Testing Geshi

February 4, 2009

I am testing the GeSHI syntax highlighting library. A Drupal module is available for adding GeSHI to the input filters. So... here goes.

<?php
require_once 'QueryPath/QueryPath.php';

qp(QueryPath::HTML_STUB, 'title')
  ->text('This is the title.')
  ->top()
  ->find('body')
  ->text('Hello world...

TechnoSophos

February 4, 2009

TechnoSophos is the blog of Matt Butcher, a software developer and author living in Chicago.

My main interests are software development, content management systems, search engines, XML technologies, and open source tools. I have written books on Java, JavaScript, PHP, jQuery, Drupal, OpenLDAP, and...