Getting a few students to work on Namecoin

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

Getting a few students to work on Namecoin

Post by biolizard89 »

I've been asked by the CS department chair at my university to propose a "Software Studio project" for this year. This is basically a thing that my university does where groups of students work on a CS project and the department links them up with outside resources. The CS department didn't explicitly ask me to do a Namecoin project for this, but I'm under the impression that that's what they would expect me to do. So, that basically means that if I can find 2-3 other students at OU who are interested, then we basically get some people working on Namecoin as a university project this year.

The CS department also offered to send a mass mail to the CS student body on my behalf, if I write up a description/pitch for "Why you should work on Namecoin".

So, I need a few things.

(1) I could use a list of skills that we're looking for. Presumably Python is one, but I'm sure there are a huge amount of others. E.g. it would be nice to have someone who does usability testing. The bigger the list of skills, the more people we might be able to find. Since we're only picking 3 people in addition to me, we won't actually get all of those skills; it depends on who's interested.

(2) I could use a list of reasons why students might want to work on Namecoin. As an activist type of person, I really like "You'll get to work on cutting-edge software that could undermine repressive governments", but I suspect that's unlikely to attract a lot of people (activists are a rare type). Also I don't want to give the department an impression that we're too edgy.

(3) I've been informed that often the department likes to see a business model. Obviously we don't have one since we're a mainly-volunteer project, but a list of ways that people have monetized Namecoin, in combination with the fact that people could contract us to add features and/or provide support, is probably sufficient for the department to decide we're legit. Preferably leave out any monetization methods that are clearly unethical or dangerous. (Things like registrars are probably fine, since there are ways to do them safely, albeit not implemented yet.)

I'd like to have the above figured out by the end of this weekend. Any thoughts?
Jeremy Rand, Lead Namecoin Application Engineer
NameID: id/jeremy
DyName: Dynamic DNS update client for .bit domains.

Donations: BTC 1EcUWRa9H6ZuWPkF3BDj6k4k1vCgv41ab8 ; NMC NFqbaS7ReiQ9MBmsowwcDSmp4iDznjmEh5

josephbisch
Posts: 69
Joined: Sun Nov 23, 2014 3:34 pm
os: linux

Re: Getting a few students to work on Namecoin

Post by josephbisch »

As far as the list of skills, from a programming language perspective, I see Java (anything BitcoinJ based or Android related), web technologies (block explorer or web-based registrar), C++ (Armory lower-level stuff like name transactions or Namecoin Core), Go (someone, maybe hl, does stuff with go, so if someone wanted to work on that stuff, they would have to know Go or pick it up as they go). And of course Python, like you said. There's also stuff like the reproducible build stuff that doesn't really require one specific programming language or skill. People should be able to handle a lot of different things if they want to work on reproducible builds.

As far as the reasons for working on Namecoin go, you can just stop at "You'll get to work on cutting-edge software". Though that might not be enough to attract people. We have to remember that we are already involved with Namecoin, so we aren't the target here. The question is how do you convince people that don't already contribute to free software that they can get something out of doing so with a project such as Namecoin. Unfortunately, a lot of students have the mentality that they would like to put in minimal effort and not practice programming outside the classroom. Their only programming experience is the unrealistically simple programming assignments that get assigned by the professor. Then they wonder why they have trouble finding a job after graduating college. Or at best they do find a job, but are overwhelmed by what is involved compared to the programming assignments they did in class.

But people don't see ahead and I think that is why many people don't get involved. Or they don't know about free software. Or they think it is too intimidating or something like that. It is those people (the ones who don't know about free software or who have misconceptions about contributing to free software) that you can convince to work with you. You have to show them that they can get something out of it. I can't find any hard facts about people contributing to free software and their worth to employers relative to those who don't contribute, but it is fairly common sense that the more skills you acquire through contributing, the more valuable you are to employers. And people don't need to contribute to free software to get practice programming outside of school, but it is a good way to do so, because of the often collaborative nature of free software development. Plus they get to work with more experienced developers (like you Jeremy). So they develop to become more experienced themselves.

So I would focus on them bettering themselves and getting to work on large-scale projects that are more like what they would work on for a major company rather than for school projects. And they get to practice working on programming collaboratively (often in school working collaboratively is frowned upon).

I don't know how many people you will end up with (look at how few people are involved in Namecoin development in general, and now you are looking for a few people from OU specifically), but hopefully some of this can be channeled into an email to convince some OU students to get involved.

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

Re: Getting a few students to work on Namecoin

Post by phelix »

biolizard89 wrote:I've been asked by the CS department chair at my university to propose a "Software Studio project" for this year. This is basically a thing that my university does where groups of students work on a CS project and the department links them up with outside resources. The CS department didn't explicitly ask me to do a Namecoin project for this, but I'm under the impression that that's what they would expect me to do. So, that basically means that if I can find 2-3 other students at OU who are interested, then we basically get some people working on Namecoin as a university project this year.
Sounds pretty cool!
The CS department also offered to send a mass mail to the CS student body on my behalf, if I write up a description/pitch for "Why you should work on Namecoin".

So, I need a few things.

(1) I could use a list of skills that we're looking for. Presumably Python is one, but I'm sure there are a huge amount of others. E.g. it would be nice to have someone who does usability testing. The bigger the list of skills, the more people we might be able to find. Since we're only picking 3 people in addition to me, we won't actually get all of those skills; it depends on who's interested.
Programming in general is fine IMHO. Maybe also System Design, Distributed Systems.
(2) I could use a list of reasons why students might want to work on Namecoin. As an activist type of person, I really like "You'll get to work on cutting-edge software that could undermine repressive governments", but I suspect that's unlikely to attract a lot of people (activists are a rare type). Also I don't want to give the department an impression that we're too edgy.
I would put it like this: "Become a Cypherpunk"
(3) I've been informed that often the department likes to see a business model. Obviously we don't have one since we're a mainly-volunteer project, but a list of ways that people have monetized Namecoin, in combination with the fact that people could contract us to add features and/or provide support, is probably sufficient for the department to decide we're legit. Preferably leave out any monetization methods that are clearly unethical or dangerous. (Things like registrars are probably fine, since there are ways to do them safely, albeit not implemented yet.)
Maybe you can go in the other direction and tell them we are trying to create ethical software (see around 56:30).
nx.bit - some namecoin stats
nf.bit - shortcut to this forum

somename
Posts: 80
Joined: Mon Sep 15, 2014 3:12 pm
os: windows

Re: Getting a few students to work on Namecoin

Post by somename »

biolizard89 wrote: (1) I could use a list of skills that we're looking for.
(2) I could use a list of reasons why students might want to work on Namecoin.
(3) I've been informed that often the department likes to see a business model. Obviously we don't have one since we're a mainly-volunteer project, but a list of ways that people have monetized Namecoin
I'd like to have the above figured out by the end of this weekend. Any thoughts?
1) JSON, encryption, identity, name resolution, blockchain (<=the "in" word)
2) Blockchain, fintech, new generation of P2P internet apps, etc. I wouldn't mention Murray Rothbard, for example.
3) I'm not sure "monetized" is suitable (even those who want to, haven't started yet), but Onename, the other registrar company and Monegraph (just being launched) are fine examples.

josephbisch
Posts: 69
Joined: Sun Nov 23, 2014 3:34 pm
os: linux

Re: Getting a few students to work on Namecoin

Post by josephbisch »

And don't assume that people know anything about Namecoin or blockchain technology or any of this. Give as much detail as the email allows you to (but strike a balance between too little and too much detail).

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

Re: Getting a few students to work on Namecoin

Post by biolizard89 »

Rough draft of the mass email:
Hello,

The Namecoin Project is looking for interested students for a Software Studio team.

What Is Namecoin?

Namecoin is building a fully decentralized, open-source platform for services like DNS (translates website addresses to IP addresses) and identities (replacing systems like Facebook single sign-on). Namecoin repurposes technologies that were originally introduced as part of the Bitcoin decentralized currency. Namecoin inherits many of the advantages of Bitcoin, such as an emphasis on free speech and security. Namecoin has been favorably recognized in a report produced by ICANN (the international body that handles the world's DNS).

Why You Might Want to Work on Namecoin:

You'll get to develop cutting-edge software. The technologies that Namecoin uses (referred to as blockchain technology), while relatively simple to explain, have a lot of interesting properties which form active research areas and are attracting a large amount of industry attention. Saying on your resume that you've worked with blockchain technology may be a significant boost to your employability. In addition, you'll be writing free, open-source software that helps improve free speech and security on the Internet. Finally, you'll get to be part of a collaborative, friendly, international community of developers.

What Skills Are Needed?

Some technologies that we use are Python, C++, Go, Java, Javascript, and (to a lesser extent) PHP and Ruby. If you're proficient in one of these, there's a good chance that you're qualified. We'd also love to have someone skilled in UI design, particularly Qt and PyQt as well as web application UI. Also someone skilled at usability testing - if you've taken and enjoyed Human-Computer Interaction, there's a good chance you'd be good at this. We'd also like to have someone good with Windows, OS X, and Linux packaging (particularly cross-compiling from Linux). Depending on what you end up working on, you might also benefit from familiarity with some basic cryptography - if you're familiar with how Bitcoin works, then you're all set there. There are a lot of pieces of the project - you can pick one that best fits your interest and skill set.

For more information about Namecoin, see https://namecoin.org .

If you're interested, contact Jeremy Rand at [address withheld].
Jeremy Rand, Lead Namecoin Application Engineer
NameID: id/jeremy
DyName: Dynamic DNS update client for .bit domains.

Donations: BTC 1EcUWRa9H6ZuWPkF3BDj6k4k1vCgv41ab8 ; NMC NFqbaS7ReiQ9MBmsowwcDSmp4iDznjmEh5

josephbisch
Posts: 69
Joined: Sun Nov 23, 2014 3:34 pm
os: linux

Re: Getting a few students to work on Namecoin

Post by josephbisch »

Maybe just explicitly state that you don't need to know all the languages. Even knowing one can help. I know you sort of said it, but it might help to outright say it.

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

Re: Getting a few students to work on Namecoin

Post by biolizard89 »

Edited above post (copy paste error and changing "any" to "one" to address Joseph's suggestion)
Jeremy Rand, Lead Namecoin Application Engineer
NameID: id/jeremy
DyName: Dynamic DNS update client for .bit domains.

Donations: BTC 1EcUWRa9H6ZuWPkF3BDj6k4k1vCgv41ab8 ; NMC NFqbaS7ReiQ9MBmsowwcDSmp4iDznjmEh5

drllau
Posts: 65
Joined: Fri Nov 22, 2013 10:59 pm
Location: Sydney Singapore Shanghai
Contact:

Re: Getting a few students to work on Namecoin

Post by drllau »

phelix wrote: Maybe you can go in the other direction and tell them we are trying to create ethical software (see around 56:30).
I've heard VCs describe blockchains as the internet protocol for the next financial infrastructure. Namecoin as a decentralised registry is one namespace on top of cryptocurrencies (abeit limited to domainnames for now). Whilst the cutting edge software label might be a little over the top (security == simplicity) the angle of ethical software is pertinent. The problem namecoin is trying to address is how can intangible resources (domainnames or messages) be exchanged globally in the absence of a centralised/override authority but within a mutually agreed ruleset. This is like the difference between the pope and protestant view that everyone has a direct relationship with God.

Post Reply