Monday, April 4, 2011

Cumulus, or How I Learned to Stop Worrying and Love the Cloud

Silly post title aside, lately I've been working on a side project I've simply been calling Cumulus, a cloud based package manager that uses the BitTorrent protocol. There are a few obvious advantages to this: less servers needed to distribute packages and faster download speeds on some networks. (Assuming bandwidth throttling isn't taking place.) But I think the greatest advantage is the power of an endless amount of repositories... if you have a cool package you want to distribute you can just seed it, and if others like it they can seed, and so forth and so forth.

A Master Seed would serve as essentially a main repository with a tracker that tracks these trusted packages only, and with a predefined but not required stack to the job it would be relatively easy to set up a similar system for an external repository.

Almost as a sort of satire towards the cloud, I've also been following a cloud based naming scheme for it's commands. To install a package, you precipitate. To remove a package, you evaporate. To update you accumulate. I'll explain the inner workings of how dependency handling and the like will work when I get a chance, but for now I'll leave you with this. :P

I haven't uploaded the source to the github repo I created for it yet, but eventually I hope to turn it into an open source project written in python and using the libtorrent python bindings. 

No comments:

Post a Comment