Metalserve used to be one of my larger projects. Although the first pages went online in 2002, the idea actually originated back in 1998/1999, when I both intensified listening to Heavy Metal music and hanging around on certain Undernet channels.

As outlined on the Metalserve webpages (see below), the idea was to create a DCC file server that would run on my server and hang around for me on IRC in a daemon fashion.┬áSince the server hosted the files to be shared, too, so that I would not have to have my desktop computer and mIRC/OmenServe running all the time. This was not just about energy saving (a topic even back then way before “Green IT” got popular), it was also a question of noise and – of course – of incredible coolness.

Users would just publicly request files in IRC channels, probably using the popular AutoGet script for mIRC, and Metalserve would react accordingly. Of course, the filelist played a central part in the game. A simple textfile that could grow up to 100KB or even more, depending on the number of files shared, it would not just contain a file listing, it also contained the exact command that had to be typed in order to request a file. With AutoGet, nobody typed or even dared to copy-and-paste since you would just double-click the corresponding lines and Autoget would take care of queue management etc. One could say that AutoGet was the quite sophisticated client side whereas MetalServe would implement the server side.

So first of all I wrote the filelist generator, “makelist”, mainly during some cozy coding sessions located in a cottage near the Aoste valley in Italy with a truely volatile power supply. Interesting to see how people could interpret the MP3 specs very differently, especially when it comes to VBR encoded material and calculating the song length. Of course, my solution is the only valid one, the best ever etc. The daemon itself made it as far as being able to connect to multiple IRC servers concurrently, joining channels and parsing incoming data. Development stopped at the point where it came to actually sending data.

Of course, there are parts of which I’m still proud and parts that I would do entirely different nowadays. For example, I still like C as a programming language and the config syntax. But I certainly wouldn’t write a configfile parser from scratch any more, even if it gives extra verbose error messages.

For nostalgy purposes, and because I still like the Photoshopped logo and the insurgent slogan I came up with, you can see below what used to be available at