Music matching

One of the best features of the late, lamented Audiogalaxy music sharing system was the suggestions it made of music you might enjoy. If you looked at the page for a particular artist, it would also offer artists that were similar.

This matching process wasn't done by humans but automatically calculated based on what the users of the system actually had. So, for example, Metallica fans might well also have a lot of Sepulchura and Slayer, so that suggestion would be made. Other suggestions were less close stylistically but seemed to work based on taste. It was one of the best ways to discover new music.

Unfortunately Audiogalaxy has gone the way of the dodo, thankyou music industry (another set of dodos, just hanging on a bit longer). The future for all the excellent things Audiogalaxy did seems to be to decentralise it. Decouple the file sharing system from the inventory of music and perhaps decouple that from the similar artists functionality.

This is where a new system I've just discovered comes in. Audioscrobbler works as a plugin to your favourite audio playing software and reports what you're listening to into its centralised database. It can then offer suggestions of music you might like. Yes there are both Windows and non-Windows plugins. Pretty cool!

A side-effect of this is that you can see what I've been listening to here.

Video conferencing

I've got my camera working a bit better now, so if you want to talk to me, you can go here using Netmeeting or Gnomemeeting or whatever H.320 compliant thingy and chat. Woo! Should save some money on phone calls, at the least.

Drool material

Sharp are reportedly releasing a Zaurus handheld running Linux. Worthy drool material! I have a friend coming over from Japan next month. Hmmm...

Anyone wanna buy a used Ipaq 3630?

More seriously, the great thing about handhelds finally becoming "real" computers capable of running modern operating systems is that last years' castoffs are still perfectly usable. For this reason, I recently bought an Ipaq 3130 with a dud battery. I plan to make it a stereo component to play back digital audio. Everything will run on my desktop machine except an X server, the infra red remote interface and a network sound server. I'm planning to use Perl/Tk to do it.

Webcam is up

All very passe, I know, but if you're feeling bored, check out my webcam now beaming out images from my street around the clock.

Yes I bought an insanely cheap digital camera to use for videoconferencing and have got it working. Not without some trouble though: seems the UHCI USB chipset by Via isn't very good. Absolute shite, in fact. In case you're wondering, I had to hack up usb-uhci.c as proposed in this message.

Anyway, enjoy the webcam. Will post details of how to videoconference to me as soon as I work out the video loopback driver.

Linux users are commies?

An article in OSOpinion discusses a common theme from commentators who know next to nothing about history or politics. Linux nerds, he posits, are communists following Marxist ideology of collective ownership.

Unfortunately this assumption is tainted by a century where a number of totalisation regimes have called themselves or others "communist". It is also tainted by the ideology of the US that communism=unamerican.

Equally the notion that free software is anti-capitalist leads to the knee jerking in the communist direction. Free software is in fact highly compatible with capitalism: witness the recent RedHat IPO. It's just that conventional wisdom in the computer business is that your code is the crown jewels, when in fact what people are paying for is the service. Big companies like IBM are slowly starting to realise this.\r\n\r\n

So with all these apolitical nerds around, what sort of politics does cover free software? Why anarchy of course. Before you think of anarchy as simply

chaos you should realise that anarchy is actually an old and respected political theory. It has been defined as a political theory opposed to all forms of government. Anarchists believe that the highest attainment of humanity is the freedom of the individual to express himself, unhindered by any form of repression or control from without. The belief that all governments rest on violence to control their subjects.

If you consider the tyranny of being helplessly locked in to a single vendor and their agenda as violence, the model fits. The concept of free software projects forking demonstrates how everyone is free to do as they please, free of constraints placed on them by another.

So with that said, on we go enjoying the unbounded freedom of controlling our own computing destiny. Vive le Linux!

Just discovered this excellent paper on this issue.

Linux aint there yet

Every now and then I get a bit overly excited and proclaim that Linux is 6 months off dominating the desktop.

In some ways this could happen, particularly in corporate environments where it's important for people to be able to hot desk and for the IT department to have total control over the systems--no games, no dodgy themes and certainly no Word macro viruses.

The barrier to the desktop is that people are used to ease of installation for hardware and gurus in this area are few and expensive. It always amazed me the amount of fiddling one had to do to get something like a scanner or sound card working in DOS. The Mac had always been incredibly easy in this way, no fiddling with IRQs and all that crap, so DOS seemed like a real step backwards.

Linux takes us back to those bad old days of DOS. To get a soundcard running I have to decipher the barely readable output of pnpdump and then work out what options my sound card takes. Of course to get it working I need to find out what IRQs, memory addresses and DMA channels are in use on my machine. Then, if I'm lucky, I can insert the appropriate modules and mabye get sound.

I tried this last weekend and finally got it all going, only to find that all sounds were repeating as if it were playing each chunk of audio twice. The IRQ wasn't in use but changing the IRQ fixed it. Why?

Now I know that this should be an issue for the manufacturers of hardware devices, but they don't care enough yet. In order to make them care we need enough people using the platform that they have to support it.

Why can't isapnp be integrated with the modules and devices be automatically loaded? The only barrier I see to this is the requirement of a database of identifiers for each peripheral. Come now, how hard would that be for some talented hackers? Hell, instead of taking the Windows model of the database being on the hard disk, why not stick it on a web server somewhere and have it queryable by whoever needs it? That way when new identifiers come out it'll already be in the database and the person who managed to get it working can finalise the record.

If I could code I'd be in there but it's not my thing. I'll happily document it! Drop me a line if you want to do this.

Getting sound happening

Oh boy Linux has a ways to go yet when it comes to usability. Try dropping a new piece of hardware into your box and see how easy it is to get it going. Sure it'll be rock solid once you get it working, but that's going to take time and grey hairs.

Yeah yeah I've ranted about this before.

For the search engines, here's how I managed to get the OPL3-SA3 chip on my Dell Dimension XPS D266 going. This is the sound chip on my motherboard. Works nicely now!

Love my mouse

I just started having trouble moving my excellent trackball. Pretty funny because when I pulled the ball out there was so much gumpf around the bearings it rolls on that the ball was having trouble moving. Yet still no tracking problems. Ahhh optical!

I bought this mouse thingy because I was having problems with my wrists. This along with those Microsnot split keyboards have really helped.

Time For a New Blog

Well after a break of nearly two years, it's time for me to start a blog again. I've been putting it off for so damn long so finally I've got around to doing it.

I'm using Blosxom (pronounced "blossom") which uses plain text files, is free, does RSS feeds and sits in just one Perl script. Fantastic piece of software. I did find one little bug, but being Perl and free I just fixed it.

I've migrated some of my old blog entries from when I used Blogger. Yes you johnny-blog-latelies, I had a blog well over two years ago. Read 'em and weep.

So if you've got too much time on your hands, come back often and read my ramblings.

Short term memory loss

I've been thinking about the nature of Microsoft and why they write such crap code. There's been a lot said about their "unique" software processes, but I think there are other factors.

It seems incredible that a company can make so many of the same mistakes, over and over again. A topical example is the I LOVE YOU virus. This isn't a new idea, in fact the same thing happened a few years ago with MS Mail. That's right, a virus that grabbed all the addresses from MS Mail and mailed itself to everyone in your addressbook happened long before Outlook was released.

Another example is the braindead implementation of Windows NT and MS Exchange. Here is an organisation that built a Unix operating system years ago, so why are they making the same design mistakes made by Unix hackers in the 70s?

So why does Microsoft keep remaking mistakes? My theory is the organisation has a built-in memory loss mechanism.

Imagine yourself a programmer working for Microsoft in 1984. You get a few thousand options in the company every few months. These options at least double in value every year. Four years later, it's 1988 and your options vest. You cash out and go to live in a mansion in the Greek Islands and never think about computers again.

This cycle is repeated endlessly as the Microsoft wealth generation engine has continued. The result: nobody technical in Microsoft sticks around longer than 4 years or so. This means memory within the organisation lasts only a few years. From there, the newly recruited programmers know nothing more than Microsoft's latest products.