Bitcoin Forum

Bitcoin => Development & Technical Discussion => Topic started by: zooko on April 23, 2012, 11:09:14 PM



Title: 50ⓑ to the first person to write this Python patch
Post by: zooko on April 23, 2012, 11:09:14 PM
I contribute to an open source project to build a decentralized secure storage system: https://tahoe-lafs.org .

Our comprehensive unit tests are invaluable for finding bugs, and we run them every time we commit a patch, on all supported platforms, but they take too long and this interferes with development flow.

This is especially a problem on the laptop of one of the lead developers, Brian Warner, who is using OS X with some sort of full-disk encryption that makes his disk I/O slow. But it is also a problem on everyone else's development machine and on the buildbots.

Therefore, I'm offering a 50ⓑ bounty to the first person who submits a patch which causes the tests to take only 4 minutes 30 seconds (approximate) instead of 24 minutes (approximate) on Brian's laptop.

More info here:

https://tahoe-lafs.org/pipermail/tahoe-dev/2012-April/007314.html


Title: Re: 50ⓑ to the first person to write this Python patch
Post by: Sukrim on April 23, 2012, 11:45:44 PM
Great that you finally decided to use that BTC donation of yours, all the best!

I really love the idea of tahoe-lafs, even though I never really got around to setting it up myself...


Title: Re: 50ⓑ to the first person to write this Python patch
Post by: Diapolo on April 24, 2012, 01:05:54 PM
I guess the suggestion to switch to a SSD for the dev is worth no BTC ;)?

Dia


Title: Re: 50ⓑ to the first person to write this Python patch
Post by: zooko on April 24, 2012, 09:20:07 PM
Great that you finally decided to use that BTC donation of yours, all the best!

For the record, the 50ⓑ that I'm putting up is coming out of own wallet. If I wanted to use the donations that people have generously contributed to the Tahoe-LAFS project, I would have to get the rest of the Tahoe-LAFS Software Foundation to come to consensus on whether we should spend it this way. Instead, I just spontaneously decided "screw it, if anybody can make the tests that much faster it will be worth my precious money". Bitcoin allows me to impulse-spend on a wide array of new goods and services. :-/

I really love the idea of tahoe-lafs, even though I never really got around to setting it up myself...

So why not? Serious question -- I'm sure there are good reasons why you haven't, and I'd like to know what the number one reason is.

Regards,

Zooko


Title: Re: 50ⓑ to the first person to write this Python patch
Post by: zooko on April 24, 2012, 09:23:25 PM
I guess the suggestion to switch to a SSD for the dev is worth no BTC ;)?

Right, to win the bounty you have to submit a patch that passes quality standard for the Tahoe-LAFS project and gets accepted into trunk. Then, when Brian (the dev) uses the new version of trunk, it has to be 5X as fast on his laptop.

Regards,

Zooko


Title: Re: 50ⓑ to the first person to write this Python patch
Post by: check_status on April 25, 2012, 07:37:45 AM
Wow. ⊅50 is a lot. I hope somebody claims it. Damn you Brian.


Title: Re: 50ⓑ to the first person to write this Python patch
Post by: fivebells on April 25, 2012, 10:27:24 PM
~$250 for a five-fold speed up on 1600 tests?  Sounds a little cheap.


Title: Re: 50ⓑ to the first person to write this Python patch
Post by: DeathAndTaxes on April 25, 2012, 10:29:19 PM
~$250 for a five-fold speed up on 1600 tests?  Sounds a little cheap.

So you are going to pitch in x more and make it a little less "cheap"?


Title: Re: 50ⓑ to the first person to write this Python patch
Post by: grue on April 25, 2012, 10:29:34 PM
~$250 for a five-fold speed up on 1600 tests?  Sounds a little cheap.
Make it integrate with a cloud computation service. :P 100x performance gain for $10


Title: Re: 50ⓑ to the first person to write this Python patch
Post by: Sukrim on April 25, 2012, 10:30:50 PM
I really love the idea of tahoe-lafs, even though I never really got around to setting it up myself...
So why not? Serious question -- I'm sure there are good reasons why you haven't, and I'd like to know what the number one reason is.
First of all, Windows (server).

Then, to make "real" use of it, I'd need to convince a few friends of mine to install and use it at their home servers too (most of which run Windows as well as being a bit more "illiterate" with computer stuff than me) to form a grid. Also I'm not 100% sure how to set up the access point to all of this (introducer or something like that?!) so it'll be reachable for me and them in a secure way if I'm on the road or behind a NAT in an internet cafe. I'd probably even have to rent a VPS machine for that and they come with bandwidth limits.

Also Sparkleshare and Owncloud (even though they have some quite different architectures in some aspects) seem to become more interesting with every release to me.

I also am not sure if/how multisourcing (like BitTorrent, getting 1 file from several (DSL - upload limited) lines), streaming of file content while still downloading and deduplication are implemented - and just for sharing documents, Dropbox is simply easy to use for "noobs". I also don't know if tahoe already prefers nodes on a LAN to get parts from, or I risk downloading large amounts of data from friends, just because the scheduler does round-robin or so.

As a last point I'm always a bit paranoid when it comes to key files that I might loose, but that I shouldn't toss around on any online hoster account I own either... Having an encryption key derived from a password (similar to Truecrypt) would make me feel more comfortable.


^
It could be that some of the things I mention are already fixed, it has been some time since I last checked the page (I have a list of projects that I take a look at every 3-6 months or so). Hope this helps you to get a better view on some things that I as an "outsider" to the project perceive.


Title: Re: 50ⓑ to the first person to write this Python patch
Post by: fivebells on May 01, 2012, 10:41:23 PM
So you are going to pitch in x more and make it a little less "cheap"?
  No.  Are you?