July 30, 2004

Congratulations Rosie And Graham

This afternoon saw me up near Lincoln at the Petwood Hotel - home of the Dambusters and a delightful location for a wedding. Which was useful, as I was there because a couple of old university friends, Graham and Rosie, were getting married.

The bride looked lovely, Stef (the best man) was a bit nervous but recovered to give a good speech, and Graham took the ribbing with good grace.

I forgot to take my camera, so haven't any photos of the happy couple to share; and as I'd only received a late invite, I already had a ticket for tonight's Folk Festival and so had to leave early to rush back to Cambridge. I should still catch the Divine Comedy...

Posted by Adrian at 09:11 PM | Comments (0) | TrackBack

[mcqn @ Uborka] Caption Competition: Are You Lost?

Uborka: Are You Lost?

Posted by Adrian at 09:11 AM | Comments (0) | TrackBack

July 29, 2004

[mcqn @ Uborka] Caption Competition: The Alpine Hoover

Uborka: The Alpine Hoover

Posted by Adrian at 12:43 PM | Comments (0) | TrackBack

July 28, 2004

24-year Old Buys TVR

And not just a shiny new T350C. The entire company!

BBC NEWS | England | Lancashire | Russian buys up British car firm

It's a shame that the new owner isn't British, and a little worrying because he's only 24, and more importantly, Peter Wheeler - the previous owner - had done such a good job. Still, he's reported to be an enthusiast and seems quite ambitious; if the investment helps bring TVRs to a wider audience, presumably most importantly America, then it will take the company to the next level. I wish them luck.

Posted by Adrian at 10:38 AM | Comments (0) | TrackBack

July 27, 2004

Quick Quiz

When looking at these photos should I:

  1. be glad that I couldn't identify what kind of car it was until the last photo
  2. be disappointed that I couldn't identify what kind of car it was until the last photo
  3. be slightly concerned that I knew what make of car it was from the engine bay shot

And isn't it spooky that when I happened upon this site, I was listening to Billy Bragg's Shirley?

Posted by Adrian at 05:13 PM | Comments (0) | TrackBack

July 26, 2004

Intelligent Thinking On Intelligent Furniture

The Smart Furniture Side Show has some interesting thoughts on some of the technology-enhanced furniture that could be coming in the future, and it isn't the usual Internet-enabled fridge!

Posted by Adrian at 11:35 PM | Comments (0) | TrackBack

July 25, 2004

Delete reworked

I've revamped the way that "deleting" songs works on NewMusicRadio. Now the "deleted" songs are just added to a list of files to exclude, and the original files are left as-is.

This means that:

  1. The $deleteFilter is deprecated because none of the mp3 files are actually harmed when "deleted"
  2. I can decide I don't like tracks that came on CDs without ending up with random tracks in my music collection being deleted (even if they aren't tracks I like)
  3. Most importantly, you don't need the --ignore-length switch on wget anymore
  4. You also don't need the chmod g+w because the script doesn't have to overwrite files

I've added a few lines of statistics output to my cron script because I'm curious as to how many files drop off the list as "too old" each day, and how many new files are added. These are the extra find and wc lines.

The final big change is with the line:
find /home/tunes/downloads/ -name \*.mp3 -mtime +42 -exec rm {} \;

This deletes any mp3s older than 42 days in the directory /home/tunes/downloads/ (or any directories below that). In detail:

  • /home/tunes/downloads/ this is the directory where all my downloaded (mp3 blogs and Soulseek) mp3s live
  • -name \*.mp3 find should only look for files called <something>.mp3
  • -mtime +42 only look for files older than 42 days. The + is important, -42 means look for files younger than 42 days
  • -exec rm {} \; for each file found, perform an rm <filename>; to delete it

There's still more to play with to link the mp3s downloaded from mp3 blogs to their source, but I think the bare bones of it are now working correctly.

Posted by Adrian at 09:24 PM | Comments (0) | TrackBack

July 24, 2004

CarPartArt Installation

The first CarPartArtwork has now been hung, in a small, exclusive gallery in Manchester. Andrew, the curator, has been kind enough to provide a picture of the artwork in situ.

Photo of installed artwork

I'm not sure of admission charges, etc. although I'm led to believe that there are preferential rates and extended opening hours available if you are attractive and female...

Posted by Adrian at 01:07 PM | Comments (0) | TrackBack

July 23, 2004

Forget Lucy In The Sky With Diamonds, Welcome Common People

After a gap longer than that between Stone Roses albums, William Shatner is back with more of his spoken-word/music fusion, and I wonder if it's all as compelling as this cover of Pulp's Common People posted up by Teaching The Indie Kids To Dance Again.

(Via Said The Gramophone)

Posted by Adrian at 11:48 AM | Comments (0) | TrackBack

July 22, 2004

[mcqn @ Uborka] The Day Of The Ants

Uborka: The Day Of The Ants

Posted by Adrian at 04:32 PM | Comments (0) | TrackBack

July 21, 2004

Long Weekend In Frankfurt

Way back in June, a few of us went over to Frankfurt for the weekend to celebrate Stefan and Julia's marriage. We didn't go for the wedding itself, instead we were invited to their Polternabend.

The polternabend is a traditional German celebration before the wedding to bring good luck to the marriage. All the guests bring old crockery (or in our case new crockery bought from Woolworths in the middle of Frankfurt that morning) to smash. The noise and smashing of the crockery scares off bad spirits, although smashing glass brings bad luck. The bride-and-groom-to-be have to clear up all the broken pottery - quite a task when many of the guests come laden with baskets of old cups, plates, bowls... and even the odd basin!

Arriving in Frankfurt on the Thursday night meant we had some time to do a bit of sight-seeing. On the Friday we drove over to Heidelberg, a picturesque little town about an hour or so away, overlooked by an impressive castle. The best feature of the castle being the world's largest barrel in the cellar - you could be besieged for a long time before the 221,000 litres of wine it contained would run out!

The Friday evening saw us out drinking in the centre of Frankfurt before ending the night at the seemingly out of the way Vinyl Bar for some suitably German techno.

As a result we weren't up too early the next morning, but just had time to buy our Welsh(!) plates and wolf down a bratwürst from the Frankfurt market before heading over to help Stefan and Julia get things ready for the evening's festivities. Then it was a quick call back to the hotel to freshen up and back to Julia's parent's house for the crockery crushing.

The polternabend was fantastic fun. Once everyone was through smashing things, the party moved into the nearby church hall for a more recognisable celebration: cold lager flowing freely by the keg; buffet; and a DJ encouraging plenty of dancing. It seems that Nena's 99 Luftballons serves a similar purpose for the Germans as New York, New York does for the British - the song that pulls everyone onto the dancefloor in a mass group hug singalong and signals the end of the night. Or, given that it was approaching 6am, should that be the start of the morning?

Thinking back to that night has just reminded me of the impromptu (light-hearted) karaoke duel I had with one of the German guests when the DJ accidentally put on the instrumental version of Bohemian Rhapsody. Luckily it was about four in the morning, so the remaining attendees would be too inebriated to remember it properly...

Our flight back to the UK wasn't until the Sunday evening, so that gave us plenty of time to chill out and potter round Frankfurt. A lovely way to wind up a hectic, but immensely enjoyable trip.

I took some photos of the day in Heidelberg and our wander round Frankfurt, and there are pictures of the polternabend amongst the ones that Cassie took.

Posted by Adrian at 06:41 PM | Comments (2) | TrackBack

Forking 'Ell

Despite being the car fanatic in the family, my little sister is outstripping me in the varieties of vehicles driven stakes. She owns both a car and a horsebox, and has just got her fork-lift truck licence! Thankfully, I'm still winning in the performance of vehicles driven side of things...

Posted by Adrian at 01:42 PM | Comments (0) | TrackBack

July 20, 2004

Coding... Doin' It Y'Know...

The Seven Rules for Just Finally Doing It!

Amen.

(Via Archipelago)

Posted by Adrian at 04:12 PM | Comments (3) | TrackBack

July 19, 2004

You've Never Had It So Good

Probably. Find out how far up (or down) the rich-list you are with Channel 4's Rich-o-meter.

I, however, have had it significantly better. It's not hard to beat my current earning level, but I was surprised to see that even by today's standards I was well withing the top 3% when I worked at Microsoft.

(Via The Ministry Blog)

Posted by Adrian at 12:58 PM | Comments (4) | TrackBack

Your First Assumption Should Be "It's My Fault"

When writing code, it's always a good idea to remember that when things aren't behaving as you expect then the chances are you've done something wrong. Unfortunately, it's always tempting to try to explain it away as a bug in someone else's code, or that there's some other reason that lets you off the hook.

I try not to fall into that trap, but in my rush to get NewMusicRadio finished over the weekend I succumbed. I let myself think that the reason the cron job was taking most of the day to check a few websites was either NTL being flakey as usual, or that some of the MP3 blogs had some form of advanced wget detection script running which left connections hanging for ages.

Stupid Adrian. A brief look into it this morning shows there's some problem with using the --ignore-length option of wget that results in neither wget nor the web server realising that the transfer has finished in some cases.

So, until I get some time to either work out how to stop the connections hanging, or code an alternative approach to deleting tracks, I've removed the --ignore-length options from the example cron script so the delete functionality won't work.

Posted by Adrian at 11:43 AM | Comments (0) | TrackBack

July 18, 2004

Your Personal New Music Radio Station

There's been a lot of talk about MP3 blogs lately; I've followed newflux and sleeve notes for quite a while now, and there's a growing list of others in my blogroll.

Getting new music to listen to is always good, but the way my system was set up meant that listening to the MP3s required interrupting whatever music I was already listening to (and I'm always listening to something), and often I need a couple of listens to a track before it worms its way into my head.

For a while I've been meaning to write some code to get the latest MP3s from the RSS feeds and somehow insert them into my listening schedule for the day. Then I came across Jeffrey Veen's post about using wget to download the MP3s. That took care of acquiring the tracks, but didn't give me an easy way to listen to them.

So, some experimenting and perl hacking later, I now have NewMusicRadio. There are two parts to this, and when combined they provide my own personal radio station of recent additions to my music collection and an assortment of new discoveries from Soulseek and the MP3 blogs I subscribe to.

First off is the cron job script which runs each day - downloading the new tracks from an assortment of MP3 blogs, and generating the list of MP3s recently added to my collection. Jeff explained most of the wget options, and I've added two others:

  • -nv This just cuts down on the amount of output generated to reduce the size of my cron logs
  • --ignore-length This tells wget not to download a new copy of a file just because the sizes don't match. That allows me to overwrite files I don't like with a zero-byte file and wget won't just get me another copy next time it runs. The chmod g+w after each wget is just because my cron job doesn't run as the same user as the CGI script that might want to "delete" an MP3; they are in the same group, so the chmod makes sure the downloaded MP3s can be overwritten.

Rather than give wget a list of URLs for each MP3 blog, I'm running a different wget for each blog so that I can filter the downloaded MP3s into a directory for that blog, just to help me keep track of which tracks I got from where.

Then I use find to create a list of tracks which have been added in the past 42 days:
find /home/musicfiles/ -name \*.mp3 -mtime -42 -print > /home/musicfiles/recentfiles.txt

  • /home/musicfiles/ This is where all my MP3s live. When I buy a new CD, it gets ripped and the MP3s are put in /home/musicfiles/<artist>/<album>/<track_n.mp3> and everything I download with soulseek, or from an MP3 blog gets put into /home/musicfiles/downloads. This parameter tells find where to look for updated files.
  • -name \*.mp3 This option tells find just to look for files called <something>.mp3. The \ is needed before the * to ensure the * isn't expanded by the shell and makes it to find as a *
  • -mtime -42 tells find to only include files which were modified in the past 42 days (six weeks)
  • -print output the filenames which match
  • > /home/musicfiles/recentfiles.txt redirect the output into the file we'll give to the playlist generator

Now that I've got a load of MP3s and a list of which ones are new, I use a little perl script installed on my Apache webserver to pick random songs from the list and deliver them to my media player. Musicmatch seems to get the artist/title information when it's available, but Winamp just displays the URL the track is being streamed from, which isn't as useful.

When I point my web browser at the script, I get a form to fill in (see an example). Once I've chosen how many tracks I want in the playlist I can either listen to the playlist straight away - generating an m3u playlist which automatically fires up Musicmatch - or have a look at which tracks are chosen. The view playlist option looks like this; shows me which tracks are in the playlist; lets me listen to the playlist; and lets me delete songs that have been downloaded (as opposed to ripped from CD) if I decide I don't like them.

If anyone fancies having a play with it, I've made it available over here. I'd be interested in hearing any thoughts about it, or suggestions for improvement.

Posted by Adrian at 08:47 PM | Comments (0) | TrackBack

More Music Blogs

Of course, in my grand blogroll update I managed to forget some of the MP3 blogs I've started reading recently. So, better late than never, the following are added to the blogroll:

Posted by Adrian at 08:07 PM | Comments (0) | TrackBack

July 16, 2004

July 15, 2004

A New Dimension To "All Back To Mine"

How cool would it be to turn your own house or garden into a concert venue?

If my place weren't such a tip at the minute, I'd think about having one in the back garden!

I wonder if you could do some sort of community streaming of it with BitTorrent to provide sufficient capacity for the initial stream to just be from a home with standard broadband...

Posted by Adrian at 05:08 PM | Comments (2) | TrackBack

July 14, 2004

[mcqn @ Uborka] Freedom

Uborka is into its third phase of guest-blogging, where a theme is chosen for each week, and any of the past guest-bloggers can post about that theme.

The first theme is The Uborka Mix CD. Obviously I couldn't pass up the opportunity to choose a track, so go here to read about Freedom.

Posted by Adrian at 06:32 PM | Comments (0) | TrackBack

July 13, 2004

I'm MP For Preston

Okay, not really. I'm just most like the MP for Preston. Shame I didn't really enjoy my stay in Preston in the summer of 1993.

Posted by Adrian at 11:11 PM | Comments (1) | TrackBack

They Didn't Have That When I Were A Lad

The Ministry of Information reports that there's a live webcast of the graduation ceremonies at my alma mater. If you tune in at 5pm today you can see who is graduating from my college, Furness. Pretty cool.

I think this is the last year that HRH Princess Alexandra will be presenting the degrees (it's true, I've shaken hands with royalty), as Sir Chris Bonington CBE will be taking over the role of Chancellor.

Posted by Adrian at 11:47 AM | Comments (0) | TrackBack

The Death Of The Best

In days of not so old, when most people didn't stray far from where they were born, everybody could be the best. At something. You are the best baker; I am the best mechanic; she is a farmer, as is he - he is the best farmer, but she is the best singer; your brother is the fastest runner; my cousin is the best climber.

Everyone could find their niche, and make it theirs.

Then we all moved to the global village. Now there are far more people than there are things to be best at. Now there's always someone better than you. At everything.

Posted by Adrian at 12:24 AM | Comments (6) | TrackBack

July 12, 2004

Eric Sink On Hiring

Eric Sink parcels up everything I know about hiring (and then some) into this article on hiring for small ISVs.

Posted by Adrian at 01:59 PM | Comments (0) | TrackBack

July 09, 2004

CarPartArt Now Works With Internet Explorer

Stupidly, I'd assumed that the as HTML forms are over a decade old, there wouldn't be any cross-browser compatibility issues. However, Firefox seems to do things slightly differently to IE and Safari, which meant that you couldn't lock images with them.

Thanks to Neil for pointing it out, and (hopefully) it's now fixed.

Posted by Adrian at 11:28 AM | Comments (2) | TrackBack

July 06, 2004

Where Is My Bathroom?

I was expecting to find it featured in Eurobad '74; and was a little reassured that some of the bathrooms that are there are worse.

I hope someone told this lady that that's the shower, and not the phone!

(via Good Experience)

Posted by Adrian at 09:15 PM | Comments (3) | TrackBack