Category Archives: Projects

Updatable Diagrams with Inkscape and Python

TL;DR: To create diagrams that can be updated from data in a file, I used Inkscape to create the layout, labelled all the diagram elements I want to update, put the data into a CSV file and used some Python code (with the ElementTree XML API) to update the SVG file.

I’ve been experimenting with a new project, (update: now defunct!). It’s a site where I create PDF wall charts that people can download and print out, to help them follow major sporting tournaments. It’s not really a development project, but I still found a way to write some code while working on it recently 🙂


All the text elements on this diagram were typed in by hand…

Continue reading

Sticking With Your Stack

In my last post, I mentioned that I’m implementing my current project with some new (to me) technologies, namely Python and Django. I do often seem to find myself doing each new project while simultaneously learning some new language or framework. There’s something very appealing about learning new things. All technology stacks have faults and idiosyncracies and you come to know these as you become familar with them. Unknown tools have the promise (never actually fulfilled) of being perfect. Perhaps there’s also a bit of self-protection involved. If this is “just a learning project” then it doesn’t matter how good it turns out to be. If you’re using technology you already know well, you have to face up to how good your work actually is. Using new tools can also make the experience more challenging and varied. Grunt work is less boring if you’ve never done that particular type of grunt work before.

Continue reading

Building BusyFlag with Python and Django

For most of my career as a software developer I’ve worked with the Microsoft development stack, starting with Visual Basic and then moving to C# when .NET came out, and using ASP.NET and MVC for web projects. But for my own projects, I tend to be drawn to other languages and technologies. I’ve built a couple of things with PHP, have dabbled in Ruby and I’m currently working through SICP using Scheme.Plywood

My current project is BusyFlag, based on the idea I posted a few weeks ago. I’ve decided to implement this in yet another new (to me) language: Python, using Django as the web framework. I feel like I’m pretty late to the Python party! It was first released in 1991, and I first heard about it around 2000 (and completely ignored it until now!)

Continue reading

Premier League Race Animation

Sometimes football TV pundits talk about “the Premier League race” as though it were an actual race between the teams, rather than just a list of teams sorted in descending order of points. I thought it would be interesting to see what a Premier League season would look like if it actually was a race, so I decided to make a little animation. This post is a write up of how I did this. If you want to go straight to the animation for the 2011-2012 season you can do so.

I chose to implement this as a web page, with the animation stuff written in JavaScript. I wanted to use it as a practice project for getting good with web technologies like HTML, CSS, JavaScript and jQuery. It turns out I also used some PHP to process the result data and generate the web pages (although I could have used any language for this part because the PHP is just used to generate static html files; there’s no dynamic server-side code running). Continue reading