Friday, 9 January 2009


The Problem: I have a 2Gb Creative Stone Plus MP3 player which I listen to a lot. I have close to 20Gb of music on my laptop. Every three or so days I exhaust the songs on my player and I want to replace them with different ones. This takes a while and requires sifting through folders of songs, remembering which ones I've listened to recently.

The Solution: I have written a python program to automatically replace all of the albums on my player with new ones from my library. It first generates two text files listing all the album folders on both the player and in my library. Each entry on the player is cross-checked with the library. If it exists in the library it is automatically delete from the player. If it can't be found in the library, it is left on the player, in case these are new files yet to be copied across. Once old albums have been received, a random number generator is used to pick new albums from the main library. If the selected album was previously on the player, another album is selected. New albums are continually copied across until a copy operation fails - signalling that the player is full.

Shortcomings: The program is highly customised to my machine. This will change - I want to make this into a proper command line program with some more features. Eg. supporting histories longer than 1, and allow user to 'teach' the program which albums it prefers. This is long term. Once the program code is respectable, I'll publish it here. This has been something I've been meaning to do for a long time - I have loads more ideas for features and improvements.

Thursday, 8 January 2009

Interim Report - Done

I've finally completed my interim report for third year project after days spent sweating over it. To be sure i don't submit the wrong copy, (its subversioned but still): MD5(report.pdf)= c08757d27d53e16f51afc031d2b6d1d5 -relief :D