will

Where there is a Will

Will McGugan's Blog

I am a freelance software engineer living in Edinburgh.

I post mostly about tech (particularly Python) and photography.

Background: A code monkey

There have been some pretty exciting developments in PyFilesystem since version 0.3 was released – Ryan Kelly and myself have been hard at work, and there have been a number of excellent contributions to the code base from other developers. Version 0.4 will be released some time in January, but I'd like to give you a preview of some new features before the next version lands.

Pyfilesystem is a Python module that provides a simplified common interface to many types of filesystem.

It is now possible to open any of the supported filesystems from a URL in this format, which makes it very easy to specify a filesystem (or individual file) from the command line or a config file. Here's a quick example that opens a bunch of quite different filesystems: continue reading…

Packt Publising has sent me a copy of Python 3 Object Oriented Programming to review. It's quite a hefty tome and will take me a few days to get through. In the meantime, they have a free chapter to whet your appetite.

Python 3 Object Oriented Programming

I'm liking this trend of free books! Watch this space for the review…

So what to do with locidesktop.com? It's a desktop-like website bookmarking tool – if you haven't seen it, take a quick look at this example desktop.

I built Loci Desktop a few months ago and promoted it on a few geek sites. It's been running ever since, with no maintenance from myself, happily serving up start pages to a small number of regular users. There was a buzz when I promoted it, people were largely impressed, some were indifferent, but few ended up using it regularly. So now I'm left with a quandary.

I could try and promote it. But to what end? It's not like I need a certain number of visitors to cover the hosting. I'm using the same VPS as I am for my blog, and I designed Locidesktop to be ultra-low bandwidth anyway – so it effectively costs me nothing to run. continue reading…

I am pleased to announce a new version of PyFilesystem (0.3), which is a Python module that provides a common interface to many kinds of filesystem. Basically it provides a way of working with files and directories that is exactly the same, regardless of how and where the file information is stored. Even if you don't plan on working with anything other than the files and directories on your hard-drive, PyFilesystem can simplify your code and reduce the potential of error.

PyFilesystem is a joint effort by myself and Ryan Kelly, who has created a number of new FS implementations such as Amazon S3 support and Secure FTP, and some pretty cool features such as FUSE support and Django storage integration. continue reading…

I've worked with Django for more than two years now. The majority of the sites I have worked on have been social-networking or content based, but I have yet to do any serious work on a site where the main purpose is to advertise and sell products. So I when a copy of ‘Django 1.2 e-commerce’ landed on my desk I was intrigued by what it might cover that I hadn't been exposed to with other fields of Django development.

Django 1.2 E-commerce continue reading…

I often read about creationism in the US, and its followers. I tend to find it amusing, and just a little worrying as their numbers are not insignificant. We have plenty of street preachers here in the UK, but until today I have never seen those US-style anti-science evolution deniers on the streets.

Creationists

I watched for 10 minutes as I ate my sausage roll, and listened to the standard creationist spiel of how everything must have a beginning and an end, and how everything created must have a creator and how there are no transitional fossils. It was quite entertaining!

Amazing to have that right here in Oxford, a place of learning. There's a natural history museum just around the corner. I wonder if they had ever been?

I recently worked on the re-design of 2 Degrees, which required a lot of image processing on thumbnails. The thumbnails where to be in a variety of different sizes, all with rounded corners and keylines on a selection of virtually identical off-white backgrounds and gradients. And they all had to work on IE6 *spit* without the transparency hack.

A variety of thumbnails generated by Sore Thumb

A lesser engineer may have told the front-end developer where to stick his rounded corners, but I didn't want see a grown man cry, so I built Sore Thumb, an on-the-fly thumbnail and image processing system for Django. continue reading…

Pakt publishing have released a new Django book called Django 1.2 E-Commerce, written by Jess Legg. I'll have a copy soon and post a review here.

In the meantime they are offering a free chapter of the book; Chapter 2 Setting up Shop in 30 minutes.

Meebo, the instant messenger in your browser company, are seriously looking for Python developers right now to work in Mountain View, California. From what I can gather they are expanding, and are building a number of sites in the Django framework.

Meebo are hiring!

If you have experience with Django, or some other web framework, and you live in California (or can relocate) this may be an excellent opportunity for you to work for a cool technology company. Contact Kiko Griffin if you're interested — and please mention where you read this!

See Meebo's job page for more information…

Since I've upgraded to Ubuntu 10.04, I figured this would be a good time to play with video editing, which is something I've been wanting to play with for a while. I suspect that video editing could be a killer app for Linux, and there are a few packages to chose from. Kdenlive looked to be the most feature rich, but I'm afraid I found it buggy and prone to crashing, so I settled on OpenShot, which has a clean, simple interface and didn't crash on me once.

Here's the video I put together:

If you know the answer, please don't post it straight away – to give others a chance to figure it out…