The Dark Doodad

Dark Doodad

It's been a while since I did a blog, so after twiddling the way the front page of the site displays, it's time to post a new one.

Continue reading »

The Dark Doodad

Drupal Downunder - Drupal Training

As the year rapidly draws to a close some of you might still have access to funds for professional learning.

If you do, and are doing Drupal, or thinking about doing Drupal in 2012 then here is an opportunity to level up fast before and after the conference.

Pre- and Post-conference training is on offer in association with Drupal Downunder. Details follow - please help spread the word. There's also an iPad up for grabs - all who register for DDU2012 before Dec 31 go in the draw.

HTML and regular expressions

I sort of dislike regular expressions. They're usually annoying to read and not infrequently incomprehensible without reading a book (or two) first. Still, they're useful.

I wanted to apply some regex magic to HTML content, to change words that are not part of the HTML markup. However, anecdotally, regular expressions don't play well with HTML. Still, I wasn't interested in the tags, only what is between them, so it struck me as a not impossible task.

Drupal Downunder 2012

With voting for DrupalCon Denver sessions now open, I thought it would be good to remind people that session proposals for Drupal Downunder will close on Monday November 14th. If you have something you want to share, get your session proposals in!

For those of you who don't know what Drupal Downunder is, it's Australia's national Drupal conference. Running in Melbourne on 13, 14 and 15 January 2012, this will be the second Drupal Downunder. In January 2011, 160 drupalistas from near and far came together in Brisbane to create the biggest antipodean Drupal event to date, building on the success of DrupalSouth in Wellington in 2010.

Though run by Australians, it's run for everyone. Early bird tickets are still available, so if you're looking for a great Drupal event to attend in a warm climate early next year, come to Melbourne and join your friendly Aussies and New Zealanders.

"Drupal Downunder 2011 was a great event. A lot of people flew out from other parts of Australia and New Zealand to attend so it was very much a national event. There was a great vibe that reminded me of early Drupal events. It is clear that Australians are passionate about Drupal, and that Drupal is getting a lot of traction. — Dries Buytaert"

Integrating Aegir with Linux and FTP

Due to the insane cost of bandwidth (compared to the rest of the developed world) in Australia, I've recently decided to move some of our hosting clients to Linode. This means they can move more data more cheaply and I don't need to come up with (and administer) a bandwidth accounting system for my Australian based web VM.

We pretty much exclusively use Drupal for hosting clients, so to make management a bit easier I decided to use Ægir on the new Linode. Installation was a relative breeze, after a quick google to find out how to specify that I didn't want to use Apache and wanted to use a separate server as dedicated MySQL host.

The problem (there is always a problem) arose when I needed to give a hosting client access to their Drupal installation, so they could manage themes and site-specific modules. Just adding an account and providing SSH access was out of the question, as all sites are stored under a single system user. Anyone logging in with permissions to edit their own Drupal can then also edit all other sites and even the Ægir installation itself.

FTP would be a solution, as FTP accounts can be chrooted (locked into a specific directory) quite easily, but I didn't want to have to manage a list of FTP accounts separate from the Drupals in Ægir. That isn't the lazysysadmin way.

After a bit of thought I remembered that on an older web host, I had happily used libnss-mysql and libpam-mysql, which integrate accounts defined in a (any) MySQL database with the Linux system. The trick is to get MySQL to cough up the account information in the correct format, so the system can parse it as if these accounts were normal system users.

Keeping an eye on puppet (updated)

Having been away from home for close to two months, I was very happy that I managed to stick a lot of my system configuration in puppet before leaving.

My puppet manifests live in a git repository to which the puppetmaster automatically synchronises every 15 minutes or so. The upshot of that is that I can make a configuration change in a git repository on my netbook anywhere in the world, push that change to the master repository and have it be applied to the appropriate nodes within about half an hour. Lovely.

Don't hate your builders and themers

If you are a Drupal module developer, I have a request for you. A plea for you to help make my life easier, and likely the lives of many other site builders.

I'm currently building a website that uses a theme override to display a prettily formatted username. Drupal provides a way to do this via the theme_username() API call, so in all places where Drupal core displays a user's name, my pretty string now shows.

How do you update Drupal?

Sitting on #drupal-support on IRC, you see people drop by with update problems from time to time. With Drupal 6.21, 6.22, 7.1 and 7.2 released earlier in the week, today was such a day.

The person in question had attempted a Drupal core update via drush, but ran it in the wrong directory. Drupal had picked up this incorrect location for its core modules, so when the drupal-6.22 directory got deleted, it was unable to load any of the core modules. Oops.

This led me to wondering whether the way I manage my Drupal updates is odd and whether sharing it would be useful. Being an open source person, I am of the opinion that sharing is virtual always useful (except when it comes to cheese) so I'll document the way I manage updates here.

Elementary Dairy Particles

Amongst my favourite dairy desserts back in The Netherlands was kwark - known in english speaking countries as as quark. It's not quite yoghurt, not quite cheese, but a deliciously smooth and refreshing in-between.

For the longest time it's been unavailable in Australia, but over the past few years it has started popping up (on occasion) in some supermarkets. More recently I found that my local specialty dairy shop (La Latteria) also makes it from time to time.

However, something all local quarks have in common is that they're relatively dry and crumbly — and not smooth, like I want them to be. I decided that it was time to make my own quark, so the texture and flavour would be to my exact specifications.

ipocalypse (updated again)

Edit: I've added a link to a lovely zoomable map of IP address allocations to the bottom of this post.

What with the ipcalypse being well and truly upon us I thought I should see how the final IP allocation distribution has ended up. By continent, that is. The data was trivially easy to find, so I stuck it in a spreadsheet and generated a graph:

Linux multifunction printy thing

Back in 1998 our old trusty HP LaserJet MP5 broke and we replaced it with an HP LaserJet MP6. Over the decades it has provided its humans with reliable Mac OS and Linux printing joy and one of the cats with a warm place to sit in winter and - once - an emergency litter tray.

The cat wee didn't kill it though and after a clean up it provided close to another decade's worth of (slightly smelly) prints.

Sadly it's now running low on toner and it would seem that obtaining new toner cartridges for it is no longer  a matter of simply popping down to OfficeWorks. Time then to go shopping for printers.