Archive for February, 2006

Tagged up

Had an hours pair programming session with Dan today, just to try and get the feel of reading ID3 tags from MP3s. Well, that was the aim anyhow, we have in fact surpassed that aim, and managed to get a small python script reading ID3v1.0 tags correctly from MP3 files, and also managed to put the building blocks in place to permit operation with ID3v1.1 tags. This is an important step, as once we can read the tags we can index files, and seeing as I have been playing with SQLite extensively, building our first test MP3 library (read-only) could be just around the corner.

With any luck, enabling writing to MP3 files will be completed in an equally short space of time and we can start the GUI and other components. It’s exciting how fast this project has been progressing so far as it opens up the distinct posibility of being able to tackle some of our more interesting (and tougher to implememnt) desirable features :)

Comments off    

Hate to say I told you so

Was talking to Laura a couple of weeks ago on MSN and she said with some seemingly great degree of confidence that I would not be single on valentines day. I of course said she was just doing the whole friendly “give you a boost” kind of thing, but no, she was very confident to the point of saying the same thing 3 or so times in different guises. I’m not normally one to make a point of the “told you so” lark, but in this case it is true. Laura, I’m still single, and it’s valentines day, so if you would like to revise your statement ;)

Laura wrote a pretty good post on valentines stuff, very truthful, all about how commercial it’s got. I even know people who are in relationships who are boycotting it this year just because they hate the huge commercial interest it creates. As usual, I turned to the web for my inspiration, and I found all I needed to see and all I wanted to say in one very clear simple picture. Happy valentines day all! :)

Good cuppa

Comments (7)    

SQLite sure is light…

I’m pressing on with my tinkering with SQLite and pySQLite, and things are going rather well on the python side. Less so on the SQL though. I’m quite familiar with SQL and it’s workings and how to manipulate tables. Problem is, SQLite is so light it is missing what I would term crucial features.

For example, dropping a column of a table in SQL is a one liner, pretty basic. Getting SQLite to do the same, is actually impossible directly. You have to create a temporary table, move the values in columns you want to keep to it, delete the original table, create the new table, move everything from the temporary table to the permanent one and then remove the temporary table. *phew* And this is an offcially documented method on the SQLite website. Eeep. There is also the slight quirk of needing to VACUUM your database after deleting large amounts of data, as the memory isn’t actually freed until you do so, despite the data not existing anymore.

I’m sure I will get used to these quirks, but it does raise an important point; no commands used to manipulate SQLite that differ from normal SQL should be used in our code. If they are we will be confined to SQLite in the future, when our ultimate aim is to enable the use of more advanced databases. Unless we feel like delving into the realms of DBAL…….

Comments (1)    

On the radio

Just a heads up to all my loyal fans; I will be on URY tomorrow night at 8pm, covering Jazz Blues Fusion for James. This is because he is out with his girlfriend and I refuse to allow the show to miss a week ;)

Please do listen in, I have some quality music lined up from all walks of jazz, blues and fusion, and have selected something for everyone. It’s a special day for many, and that won’t go unmarked; I have a few really special tracks all ready to go which have never been played on URY before. And for those of you who are staying in trying to avoid the chaos that is the 14th, I’ve got some good stuff lined up for you too :)

Hope you can join me!

Comments (1)    

Databases; track those files!

It didn’t seem very difficult to break the project down into manageable chunks; Nicks lecture advised as such and it seemed to be a very good way forward. It seemed that the steps translated to the following:-

  1. Produce a command line application to read and write the ID3 tags of a single file as a command line argument.
  2. Design and construct a database to hold this information and a way of adding multiple sets of data to it in a fast fashion.
  3. Create the architechture to enable searching and editing of data in the database, along with updating the files. Statistics.
  4. Wrap a GUI around all of it to make it usable and friendly for the end user.

While this is a good enough list I paid careful attention in my thoughts to number two, as I’m sure other people would be doing after recent DB11 work. SQL is very powerful, and the potential to leverage this power to produce both an extremely functional and fast app are immense. It is however worth noting that going to and fro from hundreds of MP3 files will be very slow. This brought my thoughts firmly to database design, and devloping a good schema.

Each file needs to have an id, and be recorded in the db with it’s id, path and filename. This means all the searches and retrieval of data after the initial building of the index can be done solely with the database, unless new files or added or the user updates tags. So, thats day to day speed of the system, praise SQL.

Thats not the end by far though. What if the files get out of sync with the db? You might delete a song outside of the app, yu might change the filename outside of the app. This will leave “dead” items in the db, so a simple track needs to be arranged that merely checks for the existance of files, rather than reading them, and compares this with the db. Files recorded in the db that don’t really exist (or have had their names changed) need to have their entries purged, and new files need to be added without the need to re-scan the whole collection.

Although a lot of this comes later in the project, it seems very clear to me that a good database design will allow the database to take the strain of the main searching and tagging work, allowing the files to only be operated on when strictly necesary, thereby making the program much faster for the user and ensuring we only have to put in a small ammount of concentrated effort to make it so.

Comments off    

Househunting in Leeds

Its odd how many differences there can be in just a few miles. My experiences at York consisted of 95% quality properties and an ability to still sign at the last minute for a fab place. Reports from the not so distant city of Manchester also report a similar situation.

Not so in Leeds it would appear. It seems the Leeds student population have been tarred with a deadly brush of being vandels and hooligans not fit to live in anything but the most useless property, meaning they have to face the prospect of comparitively high rent, signing fees, high deposits and for the most part what would be considered only mediocre accomodation.

A further downside of this is that what little property there is which is better than mediocre gets snapped up quickly and you have to make split second decisions if you want in. This is a far cry from what I’m used to, and a steep learning curve. I only hope that by making what appears to be a necesary quick decsion I don’t jump out of the frying pan and into the fire. Time will tell.

Comments off    

Fry up!

What happens when there is bacon and eggs to be used up in the fridge? FRY UP! Great tasting, terrible for your health, good feel good factor. Exactly my scenario this morning – truely marvellous :)

I have one fry up question for you though; do you have your eggs sunny side up, or do you flip them during cooking? I used to do the former, but for various reasons now seem to do the latter. Not that it’s important really, but it’s an interesting fact to know from people.

Comments (3)    

Not blogging enough

I realised this morning that I have been so busy this last week that I haven’t blogged nearly enough. I now have so many things to say and comment on!

Soon to go up is a review to the gig I went to on Tuesday night in York at the deep blues club. Also got lots to say about work lately, including another blog or two on my python project which has been neglected for two long and not suffer as such for a day longer.

In the general spirit of catch up then….. Lectures and work have been going well, and the modules this semester are exciting. Really getting into the nitty gritty of computer hardware is both interesting and challenging, and for the first time in my life I think i finally have enough programming to do (Two modules to do with it, advanced programming and my own projects)!

I’m headed home in less than a week for the w/e and to meet up with friends at a birthday gathering which should be cool, its amazing another first for me – I’m looking forward to a break from the screen! People warned me it would be like this…

Comments off    

Paul Lamb & King Snakes

I took a trip up to York on Tuesday, and met up with some good friends from the Jazz and Blues Society. James got the night off URY due to battle of the bands, and we all headed to the Deep Blues Club just outside the sity centre to see Paul Lamb & The King Snakes Live.

First off for me it was my very first visit to the venue, and it was a pleasent surprise. Just like a traditional blues club, lots of seats, small tables, low ceiling, well stocked reasonably priced bar, low lighting and a stage setup for some serious blues. The variety of people there was amazing too, young and old, from all walks of life – just the way blues should be. Regardsless of who is playing, I can heartily recommend the venue alone to anyone thinking of taking a trip out to hear blues.

I hadn’t heard anything from Paul Lamb or the band before, but I wasn’t dissapointed. They played some absolutely outstanding stuff, and a lot of it surprisingly lively. I had just about got myself setup for a night of real blues, but actually a lot of the tracks were very much get up and dance affairs. The two or 3 really mellow tracks thus stood out from the rest and were undoubtedly the best there.

Support from the band was superb, especially the guitarists who clearly knew what it was to play the blues. Its the kind of sound I don’t think it’s possible to forget in quite a while. Paul Lamb on harminica kept everyone together and had his own antics to play, including walking around the audience still in time with the band, while playing the harmonica, every audience member got a different mini tune it seemed!

No encore was needed as Paul played right up to the end, calling his band back from the dressing room several times! It was a truely amazing evening, with no one leaving disappointed.

They sold CDs at the end, but they are also available to buy online from Amazon, and in most popular record stores. I can heartily recommend the blues artistry of this group, and wouldn’t hestitate to attend another gig, either at the same venue or indeed somewhere else.

Comments off    

Jazz at the Wardrobe

Took a trip out to the Wardrobe in Leeds city centre last night to enjoy the jazz at their Monday night Jam session. I hadn’t been before, but was recommended by a friend and I wasn’t disappointed! It’s a very nice venue, with comfortable seats, good volume and depth to the acoustics, and a well stocked bar. I’m told they do club nights as well which should be cool for another evening. Allow me then to echo the recommendation I recieved; go to the Wardrobe for a great evening out and some good quality jazz!

Comments off    

Next entries » | « Previous entries