Our blog

Where we relax a bit, loosen the tie and wax lyrical on the stuff we think matters.

def spawnChildProcess(new_baby, *args)

I've been very busy this year, but not got much work done...

Homepage
Atticus Robert David Perdeaux. Practising the Mexican Wave with his Dad.

More pics...

25 February 2010 | Add the first comment |

An automated email that you don't mind receiving

I've just ordered some new business cards from moo.com and as always, its a joy to use such a well-designed and thoughtful interface.

There's too many things about this website that I love to list here, but the thing that really struck me this time was in the automated emails. The confirmation email you get when you place an order begins with:

Hello

I'm Little MOO - the bit of software that will be managing your order with us. It will shortly be sent to Big MOO, our print machine who will print it for you in the next few days. I'll let you know when it's done and on its way to you.

Continue reading »

18 December 2009 | Add the first comment |

Listing the affected files in a Subversion revision

A quick trick that I'm finding very useful for those little deployments that don't require a full export of the Subversion repository. A little regex on the standard verbose output of the Subversion log like so:


svn log -r HEAD -v | egrep '^ +[A-Z]'


will output a list of the files included in the specified revision, e.g.:


M /trunk/apps/Feedback/views.py
A /trunk/fabfile.py


The letters "A", "M" or "D" denote whether the file was added, modified or deleted.

Continue reading »

24 November 2009 | Add the first comment |

Collaboration with Universitat Pompeu Fabra (Barcelona)

One of the nice things about running your own business is that you can occasionally decide to spend a bit of time doing a bit of research into stuff you find interesting. The Normalisr is an example of this - an application that I built to reflect some of my ideas on attention data and what could be measured in last.fm listening charts.

Continue reading »

06 November 2009 | Add the first comment |

Setting up Apache monitoring with Munin

After a few solid days of Linux server wrangling, I found getting Munin to monitor our Apache server more hassle than I thought it would be.

Salient system details:

  • Ubuntu Hardy
  • Nginx web server (port 80) proxy
  • Apache web server (port 8080)

Continue reading »

07 October 2009 | Add the first comment |

New-look Normalisr launched

Hooray! It's live! Your all-new "Normalisr" experience can now boast the following improvements:


  • A new URL - http://www.normalisr.com/
  • A slick new design, including gig photographs
  • Thumbnail views of artist and album charts
  • The ability to manually find artists and albums that come from last.fm without a proper Musicbrainz ID - we're hoping that this will improve the accuracy of your charts
  • Proper Unicode support (fingers crossed!)
  • A graphical widget of your artist chart to add to your blog or last.fm profile

We hope you enjoy it. If you have any questions, feedback or issues to report, please use the feedback form.

Continue reading »

03 October 2009 | Add the first comment |

Normaliser v2 in production

After months of neglect, we've finally got round to working on an update to our last.fm normaliser application. We've decided to build the whole thing from the ground up using Python/Django, our new favourite toys. Version two will hopefully include the following improvements:

  • Proper unicode support.
  • The ability to find artists & albums that have a blank Musicbrainz ID in last.fm. This will involve users doing an additional search for each artist, but it should vastly improve most people's charts. We will try to make the search process as easy as possible (see screenshots below).
  • A whizzy new design using gig photos from Flickr.
  • Updated XML format to mirror v2 of last.fm's data feeds (we will keep the older XML versions available on the same URL).
  • Hopefully, some form of export code that will allow charts to be shown on user blogs, etc.
  • We're still scratching our heads trying to think of ways we can make a few quid out of all the work we're putting into this...

Anyway, some work in progress screenshots below.

Homepage
Homepage

Continue reading »

26 August 2009 | 3 comments |

Smile - you're on Google Maps

Google have just launched Street view in the UK, which gives pretty informative street-level photographs as part of their mapping service. Funny little cars with weird rigs attached to them were scooting round London all last summer, capturing the photographs.

Of course, if you see one of those cars, chances are you may appear in the photographs they take. My wife remembered a particular location where we saw one last summer, and we've tracked ourselves down, strolling back home from a trip to Broadway Market in Hackney:


View Larger Map

Which actually feels a bit strange. We've been Google-papped. Lucky it was my wife I was out with that day ;)

19 March 2009 | Add the first comment |

Django unit testing gotcha: test case methods run in alphabetical order

After a good few hours of increasing frustration, I managed to work out why the Django unit tests I was working on were doing funny things. As it turns out, the individual test case methods are, by default, sorted alphabetically by the TestLoader.

This is worth knowing if you're testing things that rely on the tests being run in order, such as creating, editing and deleting of records in the database.

Continue reading »

09 March 2009 | Add the first comment |

Having fun with widows

It's amazing the little details your mind sometimes fixates upon when you're deeply into an intense coding phase. I'm currently building a news aggregator interface, and just can't make a seemingly trivial decision regarding headline typography.

The issue is all about widows - single words that appear on their own when text wraps onto multiple lines. Design-wise, these are bad. So I've been using the rather nifty typogrify extension to Django that makes it very simple to replace the final space in a block of dynamic text with a " " so you don't need to worry about the final word wrapping onto its own line.

Continue reading »

13 February 2009 | Add the first comment |

Matt's latest tweets

Loading...

Latest company news

Blog archive

Categories


www.associativetrails.com