13 Sep 2009 uriel   » (Journeyer)

Been playing lately with App Engine. My first experiment is Atrack, a (BitTorrent) tracker that relies purely on memcached, it is fast and efficient, and less than 100 lines of code.

There is demo open installation in appspot, add http://bittrk.appspot.com/announce (or if you are paranoid https://bittrk.appspot.com/announce) to any torrents you like, I could use the stress testing!

So far I'm tracking a few thousand torrents (after torrentfreak broke the news) and barely using %1 of the App Engine quota.

Of course one of the cool things about atrack is that there is no way for me to really what torrents or how many torrents exactly are being tracked! This makes me happy but it is hard to shake the curiosity to know who and what for people are using your code! Ah, the wonders of privacy :))

While reading on the Bittorrent tracking protocol I realized that the problem it solves is much more general and a subset could easily be used for decentralized online gaming, chat systems, and to help other 'grid' like applications find each other inside the cloud.

So I started to write up an spec for Ntrack, a generalized and simplified tracker scheme, that should be backwards compatible with bittorrent clients and trackers, but makes all the bt-specific functionality optional. This is pretty much the subset implemented by atrack; I'm working on a distributed chat system that uses it and I hope others come up with other apps that take advantage of this.

P.S.: I know others have built trackers on app engine in the past, but they seem to be out of quota most of the time, and by looking at the source this is not surprising given how over-engineered they are. *sigh*

Share and enjoy.

Latest blog entries     Older blog entries

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!