Aemon (OP)
|
|
December 19, 2014, 04:29:19 PM |
|
Hey all,
How would I go about contributing, helping people for Bitcoin. I do have a degree in Computer Science I just don't know where to start here at all, if anyone has any advice, guides that would be great!
Thanks!
|
|
|
|
548845
Newbie
Offline
Activity: 56
Merit: 0
|
|
December 19, 2014, 06:31:36 PM |
|
Hey all,
How would I go about contributing, helping people for Bitcoin. I do have a degree in Computer Science I just don't know where to start here at all, if anyone has any advice, guides that would be great!
Thanks!
That depends on what you mean? Do you mean contributing to the actual Bitcoin Core Software? If so I cannot help you, I haven't even bothered. Too many developers on it anyway. If it is contributing in general then ask around in the general discussion forum: what do members want to see that they didn't yet. I believe that should get you started since many members here have something about Bitcoin they want to see. In fact, here's one here: https://bitcointalk.org/index.php?topic=899379.0(Android) Good luck
|
|
|
|
Aemon (OP)
|
|
December 19, 2014, 06:51:59 PM |
|
Thanks for the answer, I am just looking to get some practice coding so I can try and one day get a job as a programmer, everywhere I apply I don't get many call returns because everyone wants experience. Its hard to get experience if no one gives you the chance to get some, so I want to start working on side projects to show them I can code
|
|
|
|
shorena
Copper Member
Legendary
Offline
Activity: 1498
Merit: 1540
No I dont escrow anymore.
|
|
December 19, 2014, 07:30:26 PM |
|
Thanks for the answer, I am just looking to get some practice coding so I can try and one day get a job as a programmer, everywhere I apply I don't get many call returns because everyone wants experience. Its hard to get experience if no one gives you the chance to get some, so I want to start working on side projects to show them I can code
Get your fork... https://github.com/bitcoin/bitcoin
|
Im not really here, its just your imagination.
|
|
|
|
Reynaldo
Legendary
Offline
Activity: 1143
Merit: 1000
|
|
December 20, 2014, 12:03:44 AM |
|
Thanks a lot, this is really useful, i was thinking the same question as the OP but regarding mathematics with statistics.
|
|
|
|
cr1776
Legendary
Offline
Activity: 4200
Merit: 1312
|
|
December 20, 2014, 01:42:33 AM |
|
Hey all,
How would I go about contributing, helping people for Bitcoin. I do have a degree in Computer Science I just don't know where to start here at all, if anyone has any advice, guides that would be great!
Thanks!
One thing you might consider is to pick some language you like to use and intend to use (e.g. C, C++, Pascal, Ada, Swift, Smalltalk, php, perl, python, Java, Javascript, Prolog, Lisp, ML or whatever) and do some coding. Pick a language that you know at least a bit, know the development environment, and have access to. Some languages might be more of a challenge than others! Then pick something small to familiarize yourself with how bitcoin works first. For example, create a private/public pair. Might be 50-100 lines of code depending on how much you comment it. You'll learn a lot, and there are examples that you can look at to follow along. And articles (e.g. http://procbits.com/2013/08/27/generating-a-bitcoin-address-with-javascript). Then maybe redo it in a more common language if you used something esoteric like ML, Prolog or Lisp. Then, find another area you can extend it. Try to avoid using libraries (you may need some, for example an elliptic curve math library might be good). You will familiarize yourself with some portions of the nuts and bolts if you do a few smaller projects. Keep an eye on the forums (and join the development list) and see what areas people think need work or improvement. Look at the BIPs. You'll figure out what areas are of interest to you, which is important, and what areas you enjoy too!
|
|
|
|
Aemon (OP)
|
|
December 30, 2014, 01:46:04 PM |
|
One thing you might consider is to pick some language you like to use and intend to use (e.g. C, C++, Pascal, Ada, Swift, Smalltalk, php, perl, python, Java, Javascript, Prolog, Lisp, ML or whatever) and do some coding. Pick a language that you know at least a bit, know the development environment, and have access to. Some languages might be more of a challenge than others! Then pick something small to familiarize yourself with how bitcoin works first. For example, create a private/public pair. Might be 50-100 lines of code depending on how much you comment it. You'll learn a lot, and there are examples that you can look at to follow along. And articles (e.g. http://procbits.com/2013/08/27/generating-a-bitcoin-address-with-javascript). Then maybe redo it in a more common language if you used something esoteric like ML, Prolog or Lisp. Then, find another area you can extend it. Try to avoid using libraries (you may need some, for example an elliptic curve math library might be good). You will familiarize yourself with some portions of the nuts and bolts if you do a few smaller projects. Keep an eye on the forums (and join the development list) and see what areas people think need work or improvement. Look at the BIPs. You'll figure out what areas are of interest to you, which is important, and what areas you enjoy too! Wow, Thanks a lot this is pretty much exactly what I am looking for. The languages I know are C++, C, Javascript and Java really well, I am learning others but am not 100% confident in them yet. Thanks again!
|
|
|
|
jonald_fyookball
Legendary
Offline
Activity: 1302
Merit: 1008
Core dev leaves me neg feedback #abuse #political
|
|
December 31, 2014, 12:16:18 AM |
|
there is a bug log on the git repo, feel free to start fixin stuff
|
|
|
|
Fernandez
Legendary
Offline
Activity: 1008
Merit: 1000
|
|
December 31, 2014, 08:47:30 AM |
|
One thing you can do is fork and create an altcoin. There are lots of altcoin guides around, and it will give you valuable experience. You can even launch it in altcoin section while making it clear that you're doing it for study purposes.
|
|
|
|
DaNksta
Member
Offline
Activity: 66
Merit: 10
|
|
January 02, 2015, 10:15:16 PM |
|
Thanks for the answer, I am just looking to get some practice coding so I can try and one day get a job as a programmer, everywhere I apply I don't get many call returns because everyone wants experience. Its hard to get experience if no one gives you the chance to get some, so I want to start working on side projects to show them I can code
Lie about your experience and give your friends as refrences and inform them that someone may be calling and tell them who you put them down as. I've had several friends land really good jobs doing this - they rarely delve deep into your references if you are applying for a starter position at a company. They will call and probably not much more than that... Get the job, work there and get real coding experience at a company, then you can either work your way up or apply for a different/better job once you have some real job experience. Don't get so discouraged without actually trying. If you really put effort into getting a job and are willing to spin a few small lies (if needed) to make yourself better than the rest of the applicants - so be it.. If being dishonest doesn't suit you then just learn to sell yourself. If I were hiring people - I would hire someone with less experience if he wanted the job more, was more enthusiastic, and promised he would work hard and be grateful for the opportunity over some guy who just needed a job and had a degree. Especially if he came prepared with examples of his work or showed real effort or persistence. Just a thought. Don't quit before the race starts.
|
|
|
|
ncsupanda
Legendary
Offline
Activity: 1628
Merit: 1012
|
|
January 02, 2015, 10:50:37 PM |
|
|
|
|
|
Nicolas Dorier
|
|
January 03, 2015, 07:15:44 AM |
|
If you are interested in C# https://github.com/NicolasDorier/NBitcoin. The code is easier to read, and there is not lot of people. This is the smoother way to start contributing I believe. You can play with some cool stuff with it, take a look to the articles listed in Readme. (And it works on all : Microsoft, Linux and Apple plateform, mobile or not)
|
Bitcoin address 15sYbVpRh6dyWycZMwPdxJWD4xbfxReeHe
|
|
|
Aemon (OP)
|
|
January 03, 2015, 07:35:23 PM |
|
If you are interested in C# https://github.com/NicolasDorier/NBitcoin. The code is easier to read, and there is not lot of people. This is the smoother way to start contributing I believe. You can play with some cool stuff with it, take a look to the articles listed in Readme. (And it works on all : Microsoft, Linux and Apple plateform, mobile or not) Thanks for the response, I will check out the github and look around at the code see if I can contribute to anything and start the learning process! Thanks!
|
|
|
|
starfeeder
Newbie
Offline
Activity: 6
Merit: 0
|
|
January 05, 2015, 07:54:36 PM |
|
Thanks for the answer, I am just looking to get some practice coding so I can try and one day get a job as a programmer, everywhere I apply I don't get many call returns because everyone wants experience. Its hard to get experience if no one gives you the chance to get some, so I want to start working on side projects to show them I can code
If you are at that level, I'd say start by making your own website / blog. As far as Bitcoin goes, the easiest app you can make would be a price ticker, like preev.com or zeroblock. So if I where you, I'd make one of those. I'm working on a public address watcher which will display total bitcoins in all accounts combined. Next after that is making a web wallet. Like some others have said, I wouldn't touch Bitcoin core, don't know C anyways, also wouldn't want to mess anything up with the core client. Rather just built apps that connect to the blockchain. For resources: Bitcoin https://bitcoin.org/en/developer-guide#full-service-walletshttp://www.amazon.com/Mastering-Bitcoin-Unlocking-Digital-Cryptocurrencies/dp/1449374042https://github.com/aantonop/bitcoinbookFor Programming (web): I like Tuts+ and Codeschool, I'm currently learning the MEAN stack, and there are various videos and tutorials all over the web.
|
|
|
|
jxm262
Newbie
Offline
Activity: 18
Merit: 0
|
|
January 05, 2015, 09:06:41 PM |
|
@starfeeder You basically just described the path I'm taking I just started a nodejs project to get the ticker info for a bunch of exchanges. I'm thinking of expanding this to make 1 huge node.js wrapper library to aggregate all the api's for all the exchanges (or most of them anyways). But before that, I thought to start by making the ticker then maybe some website to send email alerts for a given exchange/price. Maybe add some charting , etc... Actually, if we're doing similar things, would you ever want to collaborate? I'm a java dev during the day, but have been trying to get my hands dirty with Node and Scala.
|
|
|
|
acoindr
Legendary
Offline
Activity: 1050
Merit: 1002
|
|
January 09, 2015, 05:26:06 AM |
|
Hey all,
How would I go about contributing, helping people for Bitcoin. I do have a degree in Computer Science I just don't know where to start here at all, if anyone has any advice, guides that would be great!
Thanks!
Hey welcome! We've got many great coders and can always use more. Where to start? That depends. Bitcoin now is like the Internet in the 90s, tons of potential but underdeveloped. Bitcoin can use it all, but you probably want to stick to what you're most interested in. If you really want to help the core of Bitcoin at a minimum you can run a full node (make sure it's done properly). However, something Gavin also mentioned is a big need for people to review core code, because people often prefer writing code to reviewing. If you're more of an app developer then dive into making things which support Bitcoin use cases, which strengthens the community (especially things with an emphasis on security). Like I said, Bitcoin needs it all! Also, if you want coding experience for later job prospects a great way to go is contributing to open-source projects. You'll find a lot of opportunities for that in this community too.
|
|
|
|
legendster
|
|
January 09, 2015, 01:26:14 PM |
|
Thanks for the answer, I am just looking to get some practice coding so I can try and one day get a job as a programmer, everywhere I apply I don't get many call returns because everyone wants experience. Its hard to get experience if no one gives you the chance to get some, so I want to start working on side projects to show them I can code
Age old dogma of what comes first ? the egg or chicken. Freshers need to understand that experience doesnt need to be in a company. Build your own calculator, that counts as an experience. Get the meaning ?
|
██████████ ████████████ ██████████ ██████████ ██████████ ████████ ██████████ ██████ ██████████ ████ ██████████ ██ ██████████ ██████████ ████████ ██████ ████ ██ | | | | | ▄▀▀▀▀▀▀▀▀▀█ ▄▀▀▀▀▀▀▀▀▀█ ▄▀ ▄▀█ ▄▀ ▄▀█ ██████████ █ ██████████ █ █ █ █ █ █ █ █ ▀▀▀▀▀▀▀█ █ █ █ █ ▄▀ █ █ ▄▀ ██████████▀ ██████████▀ █ █ █ █ ▄▀ █ ▀▀▀▀█ ▄▀ █ ▀▀▀▀▀▀█ ▄▀ ▄▀█ ▄▀ ▄▀ █ █████████ █ ██████████ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ ▄▀▀▀▀▀▀▀ █ █ ▄▀ █████████▀ ██████████▀
| Blockchain Database | | ▄▄▄ ▄▄▀ ▀▄▄ ▄ ▄▄▀ ▄▀▄ ▀▄▄ █▄█ █████████████████ █ █ █ █ ▄▀ ▌ █ █ ▄ █ ▄ █▀ ▄▌ ██ █ ▀▄ █ ▄▀ █▀█ ▌ ▌ █ █ █ █ ▌ ▌ █ █ █ ██ ███████████████████ ▀▀▄ ▀▄▀ ▄▀▀ ▀▀▄ ▄▀▀ ▀▀▀ | Dev friendly SDK Platform | ▄▄▄▄ ▄▄█ █▄▄ ▄▄█ █▄▄ ▄▄█ ▄▄▄ █▄▄ █ ▄▀ ▀▄ █ █▀ █ █ █ ▀█ ▀▀█ █ ▄█▀█▄ █ █▀▀ █▀▀ █ ▀███▀ █ ▀▀█ ▀▀█ █ █ █ █▀▀ ▀▀█ █ █ █ █▀▀ ▀████████▀ █▄▄▄▄█ █ █▄▄▄▄█ █ ▄▀ █▄ ▄█ ▀▄ █ █▀▄ ▀ ▄▀█ █ █ █ █ ▌ ▀ ▐ █ █ █ █ █▄▀▄▌ ▀ ▐▄▀▄█ █ █ █ ▀ █ █ █▀▀▀▀▀▀█ █▀▀▀▀▀▀█ ▀▀▀▀▀▀▀▀ ▀▀▀▀▀▀▀▀ | User-friendly Token Creation | | | |
|
|
|
Aemon (OP)
|
|
January 09, 2015, 02:32:40 PM |
|
Thanks for the answer, I am just looking to get some practice coding so I can try and one day get a job as a programmer, everywhere I apply I don't get many call returns because everyone wants experience. Its hard to get experience if no one gives you the chance to get some, so I want to start working on side projects to show them I can code
Age old dogma of what comes first ? the egg or chicken. Freshers need to understand that experience doesnt need to be in a company. Build your own calculator, that counts as an experience. Get the meaning ? I understand that part, the thing is, I am not going to bring in to a job interview a working calculator, they will look at me like I am crazy. What they want to see is you actively working with random people on the internet so that you can work and contribute to a team
|
|
|
|
legendster
|
|
January 09, 2015, 06:41:44 PM |
|
Thanks for the answer, I am just looking to get some practice coding so I can try and one day get a job as a programmer, everywhere I apply I don't get many call returns because everyone wants experience. Its hard to get experience if no one gives you the chance to get some, so I want to start working on side projects to show them I can code
Age old dogma of what comes first ? the egg or chicken. Freshers need to understand that experience doesnt need to be in a company. Build your own calculator, that counts as an experience. Get the meaning ? I understand that part, the thing is, I am not going to bring in to a job interview a working calculator, they will look at me like I am crazy. What they want to see is you actively working with random people on the internet so that you can work and contribute to a team You've got this premade notion of job interviews being something out of Star wars perhaps, lol its not trust me, I have given many interviews scored many ditched many and got rejected by many. Most of the times company wants to know if they are gonna hire a baby who they'd have to babysit all the way through or do they get someone who knows how to get things done without relying on input.
|
██████████ ████████████ ██████████ ██████████ ██████████ ████████ ██████████ ██████ ██████████ ████ ██████████ ██ ██████████ ██████████ ████████ ██████ ████ ██ | | | | | ▄▀▀▀▀▀▀▀▀▀█ ▄▀▀▀▀▀▀▀▀▀█ ▄▀ ▄▀█ ▄▀ ▄▀█ ██████████ █ ██████████ █ █ █ █ █ █ █ █ ▀▀▀▀▀▀▀█ █ █ █ █ ▄▀ █ █ ▄▀ ██████████▀ ██████████▀ █ █ █ █ ▄▀ █ ▀▀▀▀█ ▄▀ █ ▀▀▀▀▀▀█ ▄▀ ▄▀█ ▄▀ ▄▀ █ █████████ █ ██████████ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ ▄▀▀▀▀▀▀▀ █ █ ▄▀ █████████▀ ██████████▀
| Blockchain Database | | ▄▄▄ ▄▄▀ ▀▄▄ ▄ ▄▄▀ ▄▀▄ ▀▄▄ █▄█ █████████████████ █ █ █ █ ▄▀ ▌ █ █ ▄ █ ▄ █▀ ▄▌ ██ █ ▀▄ █ ▄▀ █▀█ ▌ ▌ █ █ █ █ ▌ ▌ █ █ █ ██ ███████████████████ ▀▀▄ ▀▄▀ ▄▀▀ ▀▀▄ ▄▀▀ ▀▀▀ | Dev friendly SDK Platform | ▄▄▄▄ ▄▄█ █▄▄ ▄▄█ █▄▄ ▄▄█ ▄▄▄ █▄▄ █ ▄▀ ▀▄ █ █▀ █ █ █ ▀█ ▀▀█ █ ▄█▀█▄ █ █▀▀ █▀▀ █ ▀███▀ █ ▀▀█ ▀▀█ █ █ █ █▀▀ ▀▀█ █ █ █ █▀▀ ▀████████▀ █▄▄▄▄█ █ █▄▄▄▄█ █ ▄▀ █▄ ▄█ ▀▄ █ █▀▄ ▀ ▄▀█ █ █ █ █ ▌ ▀ ▐ █ █ █ █ █▄▀▄▌ ▀ ▐▄▀▄█ █ █ █ ▀ █ █ █▀▀▀▀▀▀█ █▀▀▀▀▀▀█ ▀▀▀▀▀▀▀▀ ▀▀▀▀▀▀▀▀ | User-friendly Token Creation | | | |
|
|
|
|