You're looking at Less Wrong's discussion board. This includes all posts, including those that haven't been promoted to the front page yet. For more information, see About Less Wrong.

ChrisHallquist comments on Learning programming: so I've learned the basics of Python, what next? - Less Wrong Discussion

8 Post author: ChrisHallquist 17 June 2013 11:31PM

You are viewing a comment permalink. View the original post to see all comments and the full post content.

Comments (67)

You are viewing a single comment's thread. Show more comments above.

Comment author: ChrisHallquist 18 June 2013 11:08:35AM 2 points [-]

You're talking about Linux, right? This is a serious question; cryptic doesn't work well with newbies.

Comment author: maia 18 June 2013 11:37:39AM 3 points [-]

Not necessarily. There exists more than one famous open source project.

Comment author: PECOS-9 18 June 2013 04:46:22PM *  2 points [-]

I believe JoshuaFox wasn't talking about any specific project, just suggesting that you find one.

If you want to contribute to an open source project, I recommend you look at the most-watched python projects on github.

Pick one that looks interesting to you (ideally one you're already a user of, but it doesn't need to be) and download the source code. Most should have a README file that explains how to actually run the code (which sometimes involves installing dependencies, editing some config files, etc.). If the README is any good, it should have line-by-line instructions of what to type into the command line. If you can't get it working, either ask for help or try a different project.

Once you've got the code running, take a look at the source code. It will be impossible to understand everything immediately, but try to get a very basic idea of how it works. Try editing what's displayed somewhere or adding "print" statements to make sure you have some idea of what's going on.

Then, take a look at the "issues" page of the github project. This will have lots of reported bugs and feature requests. Pick one of the bugs, and make sure that you can replicate it (i.e. make the bug happen for you -- this doesn't involve writing or editing any code, just running the program). If you can, try to track it down and fix it (this means editing code).

Once you fix a bug, make a github account and learn the basics of git and how to submit pull requests (github has pretty good tutorials). If you can't figure this part out (it's a little tricky at first), ask for help on stackoverflow, the project's IRC channel, LW, or from someone you know). Some would suggest you learn git before downloading the project or fixing the bug, but I think it's better for you to start working on the projects asap rather than trying to learn git immediately.

Comment author: ShardPhoenix 18 June 2013 12:09:53PM *  2 points [-]

I'm not very familiar with contributing to open source but Linux is written in C and from what I've heard the standards are pretty high. Probably you'd rather be looking at a smaller open-source Python project. But really, shev's post seems like the most practical advice.

Comment author: JoshuaFox 18 June 2013 01:22:22PM 1 point [-]

RIght, like maia said. There are plenty of well-known projects in every language. Here's one tool to help find a project and there are other tools as well.