Using Gradle + Juicer to minify and GZip Javascript and CSS

Recently I’ve been focussing more and more on performance in the web projects I’m working on. By now the benefits of merging, minifying and GZipping external Javascript and CSS files are well documented - your web page loads quicker (due to smalle...

Setting up Hudson on Debian for continuous integration with Git

For the Tornado project I’m currently working on I decided to get continuous integration setup on my Debian Lenny server. In the past I’ve used CruiseControl for doing automated builds but recently I’ve been getting to know Hudson and I find it to...

A bulk stock updater module for Ubercart

On a recent Drupal project I was asked to build an interface whereby administrators could easily bulk-edit the stock levels for all their Ubercart products. I had a look on the web for something which already did this. I found Multiple stock edit ...

A simple pager script for Drupal

Today I found myself needing to render pager links in Drupal 6 for a list of items. By pager I mean the links you usually see at the bottom of the page which indicate what page you’re currently on, what pages comes before and after and where you a...

My first Android Market app purchasing experience

Today I decided to make my first purchase on the Android Market. Up until now I’ve been downloading and using free apps. Then recently I came across KJ Sawka’s DrumBanger for the iPhone and decided that I definitely needed to get in on that action...