Tech

The Varnish VCL match operator (~) will currently only match an ACL (access control list) to an IP address data type. Since there's no way to cast a string to an IP in VCL (although it is planned), you can't match a forwarded-for header against an ACL without using inline C. You can only match client.ip, which can be a problem depending on the cluster configuration. The following hack works by using VCL's inline C functionality to do the cast.
My current bash prompt looks like this (nice and simple): It's created using the following value for PS1 in bash profile: PS1="\[$txtgrn\]\h::\u [\[$txtpur\]\W\[$txtgrn\]]\$ \[$txtrst\]" I've configured the various different servers I use to be different colours, and all of them to be red when running as root. Follow the guide on ArchWiki. txtblk='\e[0;30m' # Black - Regular txtred='\e[0;31m' # Red txtgrn='\e[0;32m' # Green txtylw='\e[0;33m' # Yellow txtblu='\e[0;34m' # Blue txtpur='\e[0;35m' # Purple txtcyn='\e[0;36m' # Cyan txtwht='\e[0;37m' # White bldblk='\e[1;30m' # Black - Bold bldred='\e[1;31m' # Red bldgrn='\e[1;32m' # Green bldylw='\e[1;33m' # Yellow bldblu='\e[1;34m' # Blue bldpur='\e[1;35m' # Purple bldcyn='\e[1;36m' # Cyan bldwht='\e[1;37m' # White unkblk='\e[4;30m' # Black - Underline undred='\e[4;31m' # Red undgrn='\e[4;32m' # Green undylw='\e[4;33m' # Yellow undblu='\e[4;34m' # Blue undpur='\e[4;35m' # Purple undcyn='\e[4;36m' # Cyan undwht='\e[4;37m' # White bakblk='\e[40m' # Black - Background bakred='\e[41m' # Red badgrn='\e[42m' # Green bakylw='\e[43m' # Yellow bakblu='\e[44m' # Blue bakpur='\e[45m' # Purple bakcyn='\e[46m' # Cyan bakwht='\e[47m' # White txtrst='\e[0m' # Text Reset
Check out this interview I did with Matthew Revell from Canonical (Ubuntu, Launchpad) on how we're using open source software at The Economist.
When configuring a Samba server, remember that the discovery of machines on the network happens not only with DNS but also with a few other mechanisms too. I recently setup a number of virtual machines for developers, that were created by cloning a single instance. Mistakenly, I thought that adding a DNS config entry for each virtual machine on the host's /etc/hosts would be enough, but it's not. What we found was that everyone was connecting to the same VM (another requirement was that they be on the same subnet).
David Strauss and I are presenting the load testing work our team did at The Economist. Here's a link to the session information. UPDATE: I was unable to attend the conference, as all flights were cancelled following the volcanic eruption of Eyjafjallajökull :< I made a follow-up post here: Performance Testing Drupal
If you're a developer who uses the XDebug PHP debugger, you probably already use a Firefox extension called XDebug Helper, which provides a convenient toggle switch for enabling debugging. You probably have Firebug installed too. Here is a method for setting up keyboard shortcuts to toggle them on and off (I use F1 & F2). First, install the keyconfig Firefox extension (unfortunately it doesn't have an official page). Click Tools -> Keyconfig… and you should get the following window:
My new surfboard is a custom 6'3” made by Clayton in Durban, South Africa. I took it for a test drive last week and it is a sweet board indeed! Very reasonably priced too, especially after converting British pounds into South African rand. I'm currently based in London, but planning a few surf trips to Indonesia and Western Europe in the near future. Look out for photos of Druplicon riding waves.
I received my Splitfish FragFX V.2 for Playstation 3 yesterday, and first impressions are very good. The response in games I've tested (Bioshock, Killzone 2 demo) has been awesome. Much better than using the analog sticks, especially coming from the PC world. Strafing sideways is easy, while staying locked on a target, something that I find almost impossible using sticks. That said, it's not as good as a PC mouse, but I didn't really expect that.
Versions has finally made it out of beta. It's a very intuitive GUI for managing subversion repositories and working copies. Digital People has been using this application for a while now, and found it to be user friendly and suitable for designers and other non-technical folks who shy away from the command line.
The company I'm currently working for is called Digital People, a creative agency based in London. We make exclusively Drupal-based sites, which normally showcase the results of market research, and increasingly act as portals into the research departments of large companies. We develop using a Subversion-based workflow. Here's a great article by Nick Sergeant which closely approximates our current development practices. At this point, it should be noted that the codebase we both have checked out is from ‘trunk’.