Wednesday, September 8, 2010

Bittorrents, Seeds, and Distributed Copies

Just a quick one. Had this question pop up in IRC just before.

[22:46.24] * ccd ([email protected]) has joined #bittorrent
[22:47.37] <ccd> I am about to post a 88GB torrent that will be in high demand... is there ageneral rule of thumb to calculate the minimum number of necessary seeds? i have 2 so far... and another 2 on the way...

There's an easy answer to that, based on common sense and a bare minimum of thought, and being tired (from Dragon*con - I'll get the write up done soon, I promise!) and cranky, I didn't put it very delicately.

[22:57.54] <K`Tetch> yeah
[22:58.10] <K`Tetch> "is there more than one? if yes, good"
[22:58.35] <K`Tetch> "is there only one? STILL good
[22:58.57] <K`Tetch> "are there none, but still a distributed copy? you're STILL good"
[22:59.14] <K`Tetch> "are there none, and no fully distributed copy? Ah well, you're fucked then

I couldn't help myself....

I then followed it up with:
[23:00.54] <K`Tetch> I could write it in pseudo early 1980s BASIC if you'd prefer

and here it is: (it won't be all caps, because that's just horrible to read)

10 Clear
20 Print "Welcome to Seed count checker"
30 Print "Please input number of seeds on torrent"
40 Input (x)
50 If x>=1 then goto 100
60 Print Input number of distributed copies seen
70 Input (y)
80 if y<1 then goto 110
90 Print "This torrent has enough copies to exist
95 END
100 Print "This Torrent is seeded"
105 END
110 Print "This torrent is not fully seeded. It will not finish"
120 Print "Ha Ha Ha HA"
125 END

This would actually work on my old Dragon32, or 48k spectrum (or even the Acorn Archimedes I spent years helping to teach through the 90s)And it really is that simple. No matter the size of the torrent, as long as there is one distributed copy, it'll finish. It might be slow, but multiple seeds won't make any difference to the ability to complete (unless they decide to leave)

This also marks the first coding I've done since 1998. I hope you enjoyed it.

No comments:

Post a Comment