Hacker News new | ask | show | jobs
by mrud 5725 days ago
Interesting story. Especially how often they tried to develop a new tracker. Any more insights why they failed so often?

Another already opensourced torrent tracker is opentracker http://erdgeist.org/arts/software/opentracker/. Its written in c and was developed because other trackers were slow or needed much resources. After some time piratebay started to use opentracker because it was much faster then the other trackers.

There was also a great talk[1] (German) at the 24C3 about the development of opentracker and some nice insider stories about running a big torrent tacker like getting a call from the provider "you are under a ddos attack.." "aeh no, thats normal and the load on the server is really low" (they had to change the hosting company ;0)

[1] http://dewy.fem.tu-ilmenau.de/CCC/24C3/mp4/24c3-2355-de-trac...

2 comments

I have a little experience in designing software for HPC that, for the most part, is quite a bit more complicated than a BT tracker. Here's something I found on the opentracker website:

All technologies to implement this are around for more than twenty years. Still most implementations suck performancewise.

I have a feeling that mediocre programmers (or programmers who really don't know as much about systems as they think they do) are to blame here :(.

Edit: A little more detail.

Opentracker is built by a C programmer who knows his stuff. He knows that disk access in a app like this would be suicide and designed around that. Advantage #1.

Opentracker uses libowfat which looks to be written by another good systems programmer with an eye for clean design. He has also had a quite a bit of time to perfect his implementation. Advantage #2

Libowfat is inspired and partially architected using libdjb written by Dan Bernstein (a phenomenal old school systems developer with a long track record). His design models have been at work for years and years. Bernstein is truly a 'legend.' Advantage #3

Short answer: same as always; smart people doing smart things :).

Thanks for the pointer to libowfat, looks quite interesting!
I just skimmed opentracker's sources (they're surprisingly small, < 5K LOC of clean C). Not sure why ocelot wasn't based off of opentracker.

One possibility is that (as I understand it,) What.cd is a "private" torrent tracker -- meaning they have a ratio for each user that they need to keep track of. Opentracker doesn't seem have anything to support this and up until the very end, no one at What.cd seemed to be comfortable writing C, let alone C++ for ocelot.