Google Summer of Code

indolering
Posts: 801
Joined: Sun Aug 18, 2013 8:26 pm
os: mac

Google Summer of Code

Post by indolering »

It's not quite a bounty per-se, but we should apply to the GSOC program. We are small enough and have a project interesting enough that we might actually snag a few interns.

GSOC 2014 applications are due the first half of February.
DNS is much more than a key->value datastore.

domob
Posts: 1129
Joined: Mon Jun 24, 2013 11:27 am
Contact:

Re: Google Summer of Code

Post by domob »

That's a great idea - I participated in GSoC myself a couple of years (before I got a paid PhD position) and liked it. Namecoin could make really interesting projects for the kind of people participating. Does anyone know whether Bitcoin participated / applied already? Honestly I have the feeling that Namecoin would be considered too small a project ... but we may try.
BTC: 1domobKsPZ5cWk2kXssD8p8ES1qffGUCm | NMC: NCdomobcmcmVdxC5yxMitojQ4tvAtv99pY
BM-GtQnWM3vcdorfqpKXsmfHQ4rVYPG5pKS
Use your Namecoin identity as OpenID: https://nameid.org/

phelix
Posts: 1634
Joined: Thu Aug 18, 2011 6:59 am

Re: Google Summer of Code

Post by phelix »

domob wrote:That's a great idea - I participated in GSoC myself a couple of years (before I got a paid PhD position) and liked it. Namecoin could make really interesting projects for the kind of people participating. Does anyone know whether Bitcoin participated / applied already? Honestly I have the feeling that Namecoin would be considered too small a project ... but we may try.
Is the application a lot of work? You seem to know your way around GSoC.... ;)
nx.bit - some namecoin stats
nf.bit - shortcut to this forum

indolering
Posts: 801
Joined: Sun Aug 18, 2013 8:26 pm
os: mac

Re: Google Summer of Code

Post by indolering »

phelix wrote:
domob wrote:That's a great idea - I participated in GSoC myself a couple of years (before I got a paid PhD position) and liked it. Namecoin could make really interesting projects for the kind of people participating. Does anyone know whether Bitcoin participated / applied already? Honestly I have the feeling that Namecoin would be considered too small a project ... but we may try.
Is the application a lot of work? You seem to know your way around GSoC.... ;)
Yeah, I think you have just inherited this one domob :D
DNS is much more than a key->value datastore.

domob
Posts: 1129
Joined: Mon Jun 24, 2013 11:27 am
Contact:

Re: Google Summer of Code

Post by domob »

phelix wrote:
domob wrote:That's a great idea - I participated in GSoC myself a couple of years (before I got a paid PhD position) and liked it. Namecoin could make really interesting projects for the kind of people participating. Does anyone know whether Bitcoin participated / applied already? Honestly I have the feeling that Namecoin would be considered too small a project ... but we may try.
Is the application a lot of work? You seem to know your way around GSoC.... ;)
As mentioned, I participated as a student multiple times; I don't know how the organisation side of things work very well. However, I suppose it is at least some work. We probably need to write up an application with a few thousands of characters (that's roughly what students need to write), as well as presenting a list of possible "mentors" (I volunteer to be one for projects where I could possibly be helpful) and proposing a list of student projects. IMHO, the list of proposed projects is probably one of the most important things and should be thought out well - might be the most time-consuming part.

I like the idea, though ... if you want, I can try to inform myself about what would really be required from us. In the mean time, any suggestions for proposed student projects?
BTC: 1domobKsPZ5cWk2kXssD8p8ES1qffGUCm | NMC: NCdomobcmcmVdxC5yxMitojQ4tvAtv99pY
BM-GtQnWM3vcdorfqpKXsmfHQ4rVYPG5pKS
Use your Namecoin identity as OpenID: https://nameid.org/

biolizard89
Posts: 2001
Joined: Tue Jun 05, 2012 6:25 am
os: linux

Re: Google Summer of Code

Post by biolizard89 »

domob wrote:
phelix wrote:
domob wrote:That's a great idea - I participated in GSoC myself a couple of years (before I got a paid PhD position) and liked it. Namecoin could make really interesting projects for the kind of people participating. Does anyone know whether Bitcoin participated / applied already? Honestly I have the feeling that Namecoin would be considered too small a project ... but we may try.
Is the application a lot of work? You seem to know your way around GSoC.... ;)
As mentioned, I participated as a student multiple times; I don't know how the organisation side of things work very well. However, I suppose it is at least some work. We probably need to write up an application with a few thousands of characters (that's roughly what students need to write), as well as presenting a list of possible "mentors" (I volunteer to be one for projects where I could possibly be helpful) and proposing a list of student projects. IMHO, the list of proposed projects is probably one of the most important things and should be thought out well - might be the most time-consuming part.

I like the idea, though ... if you want, I can try to inform myself about what would really be required from us. In the mean time, any suggestions for proposed student projects?
I have a fairly long list of random notes for Namecoin improvements I'd like to work on at some point; seeing as I don't have infinite time I'm sure some of them would be good for students. I'll see if I can condense it into a readable list and get back to you. I don't know if I would be up for being a mentor. On one hand, it sounds really fun. On the other hand, it might be a lot of work. Mentor organizations get $500 per project; how would we handle those funds?
Jeremy Rand, Lead Namecoin Application Engineer
NameID: id/jeremy
DyName: Dynamic DNS update client for .bit domains.

Donations: BTC 1EcUWRa9H6ZuWPkF3BDj6k4k1vCgv41ab8 ; NMC NFqbaS7ReiQ9MBmsowwcDSmp4iDznjmEh5

indolering
Posts: 801
Joined: Sun Aug 18, 2013 8:26 pm
os: mac

Re: Google Summer of Code

Post by indolering »

domob wrote: As mentioned, I participated as a student multiple times; I don't know how the organisation side of things work very well. However, I suppose it is at least some work. We probably need to write up an application with a few thousands of characters (that's roughly what students need to write), as well as presenting a list of possible "mentors" (I volunteer to be one for projects where I could possibly be helpful) and proposing a list of student projects. IMHO, the list of proposed projects is probably one of the most important things and should be thought out well - might be the most time-consuming part.

I like the idea, though ... if you want, I can try to inform myself about what would really be required from us. In the mean time, any suggestions for proposed student projects?
If I want? I mean, please god, do whatever you can!
biolizard89 wrote: I have a fairly long list of random notes for Namecoin improvements I'd like to work on at some point; seeing as I don't have infinite time I'm sure some of them would be good for students. I'll see if I can condense it into a readable list and get back to you. I don't know if I would be up for being a mentor. On one hand, it sounds really fun. On the other hand, it might be a lot of work. Mentor organizations get $500 per project; how would we handle those funds?
I would think it would go to the mentor, maybe 10-20% to a general fund (the development/promotional fund in our case) ... that's pretty standard for grant seeking departments in universities.
DNS is much more than a key->value datastore.

biolizard89
Posts: 2001
Joined: Tue Jun 05, 2012 6:25 am
os: linux

Re: Google Summer of Code

Post by biolizard89 »

indolering wrote:
domob wrote: As mentioned, I participated as a student multiple times; I don't know how the organisation side of things work very well. However, I suppose it is at least some work. We probably need to write up an application with a few thousands of characters (that's roughly what students need to write), as well as presenting a list of possible "mentors" (I volunteer to be one for projects where I could possibly be helpful) and proposing a list of student projects. IMHO, the list of proposed projects is probably one of the most important things and should be thought out well - might be the most time-consuming part.

I like the idea, though ... if you want, I can try to inform myself about what would really be required from us. In the mean time, any suggestions for proposed student projects?
If I want? I mean, please god, do whatever you can!
Agreed, getting some more info would be great, as long as we're not committing at this stage.
indolering wrote:
biolizard89 wrote: I have a fairly long list of random notes for Namecoin improvements I'd like to work on at some point; seeing as I don't have infinite time I'm sure some of them would be good for students. I'll see if I can condense it into a readable list and get back to you. I don't know if I would be up for being a mentor. On one hand, it sounds really fun. On the other hand, it might be a lot of work. Mentor organizations get $500 per project; how would we handle those funds?
I would think it would go to the mentor, maybe 10-20% to a general fund (the development/promotional fund in our case) ... that's pretty standard for grant seeking departments in universities.
Sounds reasonable.
Jeremy Rand, Lead Namecoin Application Engineer
NameID: id/jeremy
DyName: Dynamic DNS update client for .bit domains.

Donations: BTC 1EcUWRa9H6ZuWPkF3BDj6k4k1vCgv41ab8 ; NMC NFqbaS7ReiQ9MBmsowwcDSmp4iDznjmEh5

domob
Posts: 1129
Joined: Mon Jun 24, 2013 11:27 am
Contact:

Re: Google Summer of Code

Post by domob »

Actually, there's a pretty extensive list of requirements on their FAQ page: https://www.google-melange.com/document ... ganization

I would like to emphasise two points which seemed most important from the list:
  • As I already suggested above from my student's point of view, the idea list is very, very important and we should put a lot of thoughts and effort into it if we want to apply successfully.
  • Since we are a new organisation, it would be best if some "Googler or other organisation" could vouch for us. Do you think that there is someone interested enough in Namecoin to do that? biolizard89 (?) mentioned that Google themselves were interested in fast offline DNS resolution; they also seemed to be opposed to the NSA spying on their data links, so maybe like the general ideas behind Namecoin. What does Mike Hearn (well, red lists, I know) think about Namecoin? The Bitcoin Foundation? Some other "big names" in the crypto community?
If we decide to try it, I volunteer to do the organisation admin job and be a mentor. We would need at least a couple of mentors, though, at least formally and as "backup" - which may be ok to do even without much time to spend on it. Ideas I suggest to consider for the list of projects:
  • Light client, either like SPV is currently implemented in Bitcoin, or by including time-stamps of the UTXO set / just a name-value database in the blockchain.
  • Implementation of an Android client (might please Google, not to mention that it seems to be the most free established mobile OS), might be in connection to the light client idea. One also could try to find out how to handle DNS resolution on the Android kernel level (if possible) so that .bit works system-wide and not only via a proxy or so. Maybe one can also implement identities on Android, like a mobile device NameID login / 2FA. Could this be integrated into the "account" system of Android?
  • Set up / extend the block explorer to include names. This might be too small a project, but then we can extend it to be more like blockchain.info with lots of additional features. Could even include a client-side web wallet!
  • Work on (optional?) encryption of names and values.
  • Namecoin-based directory for publishing and searching/browsing of documents in a censorship-resistent way. (Wikileaks / Torrent-tracker.) Seems controversial, though.
  • Improve anonymity by working on things like CoinJoin for Namecoin. This could even benefit Bitcoin? Or maybe one can work out a name-specific way to register names in a more anonymous way if it is not about payments? I don't know.
I would personally be interested in all of those (that's why I propose them here, obviously), and would mentor any of those. I have some experience with Android development, but nothing on the kernel / root level so far.
BTC: 1domobKsPZ5cWk2kXssD8p8ES1qffGUCm | NMC: NCdomobcmcmVdxC5yxMitojQ4tvAtv99pY
BM-GtQnWM3vcdorfqpKXsmfHQ4rVYPG5pKS
Use your Namecoin identity as OpenID: https://nameid.org/

biolizard89
Posts: 2001
Joined: Tue Jun 05, 2012 6:25 am
os: linux

Re: Google Summer of Code

Post by biolizard89 »

domob wrote:Actually, there's a pretty extensive list of requirements on their FAQ page: https://www.google-melange.com/document ... ganization

I would like to emphasise two points which seemed most important from the list:
  • As I already suggested above from my student's point of view, the idea list is very, very important and we should put a lot of thoughts and effort into it if we want to apply successfully.
  • Since we are a new organisation, it would be best if some "Googler or other organisation" could vouch for us. Do you think that there is someone interested enough in Namecoin to do that? biolizard89 (?) mentioned that Google themselves were interested in fast offline DNS resolution; they also seemed to be opposed to the NSA spying on their data links, so maybe like the general ideas behind Namecoin. What does Mike Hearn (well, red lists, I know) think about Namecoin? The Bitcoin Foundation? Some other "big names" in the crypto community?
I don't have the names of the specific Googlers whom I talked to at the poster session, but I can e-mail the two Googlers who coordinated the student event which led to me being there... maybe they could check on which Googlers were at the poster session (and maybe I could ask them to vouch for me themselves). Would this be a good idea? I'm inclined to wait for us to have a somewhat more presentable website prior to contacting Google, seeing as they might look us up. Thoughts?
domob wrote:If we decide to try it, I volunteer to do the organisation admin job and be a mentor. We would need at least a couple of mentors, though, at least formally and as "backup" - which may be ok to do even without much time to spend on it. Ideas I suggest to consider for the list of projects:
  • Light client, either like SPV is currently implemented in Bitcoin, or by including time-stamps of the UTXO set / just a name-value database in the blockchain.
  • Implementation of an Android client (might please Google, not to mention that it seems to be the most free established mobile OS), might be in connection to the light client idea. One also could try to find out how to handle DNS resolution on the Android kernel level (if possible) so that .bit works system-wide and not only via a proxy or so. Maybe one can also implement identities on Android, like a mobile device NameID login / 2FA. Could this be integrated into the "account" system of Android?
  • Set up / extend the block explorer to include names. This might be too small a project, but then we can extend it to be more like blockchain.info with lots of additional features. Could even include a client-side web wallet!
  • Work on (optional?) encryption of names and values.
  • Namecoin-based directory for publishing and searching/browsing of documents in a censorship-resistent way. (Wikileaks / Torrent-tracker.) Seems controversial, though.
  • Improve anonymity by working on things like CoinJoin for Namecoin. This could even benefit Bitcoin? Or maybe one can work out a name-specific way to register names in a more anonymous way if it is not about payments? I don't know.
I would personally be interested in all of those (that's why I propose them here, obviously), and would mentor any of those. I have some experience with Android development, but nothing on the kernel / root level so far.
The block explorer (other than name support) and CoinJoin projects seem to be not specifically related to Namecoin, but rather to cryptocurrencies in general. As such, I think it might be wiser to let those get developed in the Bitcoin community and then use them ourselves when they're mature. However, it might be doable to include the block explorer name support in the encryption project as a stretch goal, since doing that properly might be an interesting challenge (maybe client-side Javascript to prevent the explorer from learning decrypted names?). I'm not sure about the torrent idea being there... I'd definitely lean against any controversial use cases being listed (e.g. WikiLeaks), but GSoC has accepted Freenet for many years, so they may be okay with the general idea of a difficult-to-censor, encrypted torrent index. I definitely think that if we list the torrent idea, it should be a stretch goal of the encryption idea.

The lite client, Android client, and encryption are all possibly dependent on the libcoin rebase. Can snailbrain or libcoin comment on whether the libcoin rebase is far along enough right now that any of these projects could proceed without relying on further progress being made between now and the start of GSoC? If (as I suspect) they can't proceed without the libcoin rebase progressing, maybe have the libcoin rebase be the first component of those projects, and only accept 1 of those projects so that we don't have duplicated work?

Here are some random things in my wishlist... not sure if they're usable as GSoC projects:
  • Add Namecoin support to Armory. First step would be getting currency transactions working (both online and offline); next step would be name operations; next step after that would be queueing renew operations that are signed offline (so generate and sign 10 years of renews offline using LOCKTIME, then store them on the online client and broadcast them when the LOCKTIME block is reached). (We would have to coordinate with etotheipi.)
  • Implement libzerocoin into Namecoin (or more accurately, into libcoin and get Namecoin to use that feature). This would be dependent on the new Zerocoin release being out by then, also dependent on the libcoin rebase, and also dependent on the new Zerocoin release actually working as advertised. So maybe save this one for the following year unless there's progress on this front in the next month or so?
I have a bunch of smaller tasks in my wishlist, but I don't think any of them are suitable for a GSoC project.
Jeremy Rand, Lead Namecoin Application Engineer
NameID: id/jeremy
DyName: Dynamic DNS update client for .bit domains.

Donations: BTC 1EcUWRa9H6ZuWPkF3BDj6k4k1vCgv41ab8 ; NMC NFqbaS7ReiQ9MBmsowwcDSmp4iDznjmEh5

Post Reply