BeginnersCorner: Difference between revisions
Goblin-jim (talk | contribs) (Broke off the "learning resources" links from the rest of the hackinghowto.) |
|||
(6 intermediate revisions by 4 users not shown) | |||
Line 16: | Line 16: | ||
* [http://learnpythonthehardway.org/ Learn Python the Hard Way] |
* [http://learnpythonthehardway.org/ Learn Python the Hard Way] |
||
* [http://diveintopython. |
* [http://www.diveintopython.net/ Dive Into Python] (that's a mirror, [http://diveintopython.org/ the original site] is not available; it is also packaged [http://packages.qa.debian.org/d/diveintopython.html in Debian]) |
||
* [http://www.greenteapress.com/thinkpython/ Python for Software Design] |
* [http://www.greenteapress.com/thinkpython/ Python for Software Design] |
||
* [http://www.swaroopch.com/notes/Python A Byte of Python] |
* [http://www.swaroopch.com/notes/Python A Byte of Python] |
||
Line 26: | Line 26: | ||
If you know of other good quality Python tutorials and Python |
If you know of other good quality Python tutorials and Python |
||
tutorial videos, let us know! |
tutorial videos, let us know! |
||
=== Learning Libraries GNU MediaGoblin uses === |
=== Learning Libraries GNU MediaGoblin uses === |
||
GNU MediaGoblin uses a variety of libraries in order to do what it |
GNU MediaGoblin uses a variety of libraries in order to do what it |
||
does. These libraries are listed in the :ref:`codebase-chapter` |
does. These libraries are listed in the [http://docs.mediagoblin.org/siteadmin/codebase.html :ref:`codebase-chapter`] |
||
along with links to the project Web sites and documentation for the |
along with links to the project Web sites and documentation for the |
||
libraries. |
libraries. |
||
Line 37: | Line 36: | ||
There are a variety of Python-related conferences every year that have |
There are a variety of Python-related conferences every year that have |
||
sessions covering many aspects of these libraries. You can find them |
sessions covering many aspects of these libraries. You can find them |
||
at [http:// |
at [http://pyvideo.org/ pyvideo.org] -- This is a shameless plug; Will Kahn-Greene runs pyvideo.org |
||
If you have questions or need help, [http://mediagoblin.org/join/ let us know]! |
If you have questions or need help, [http://mediagoblin.org/join/ let us know]! |
||
=== Learning git === |
=== Learning git === |
||
Line 50: | Line 48: | ||
getting the hang of it: |
getting the hang of it: |
||
* [http://learn.github.com/p/intro.html |
* [http://web.archive.org/web/20120318121041/http://learn.github.com/p/intro.html Intro to Git] --- a GitHub intro to git |
||
* [http://progit.org/book/ Pro Git] --- fantastic book |
* [http://progit.org/book/ Pro Git] --- fantastic book |
||
* [http://gitcasts.com/ Git casts] --- screencast covering git usage |
* [http://gitcasts.com/ Git casts] --- screencast covering git usage |
||
* [http://gitref.org/ Git Reference] --- Git reference that makes it easier to get the hang of git if you're coming from other version control systems |
* [http://gitref.org/ Git Reference] --- Git reference that makes it easier to get the hang of git if you're coming from other version control systems |
||
* [[Git workflow]] --- How to go about submitting patches via git. |
|||
There's also a git mission at [http://openhatch.org/ OpenHatch]. |
There's also a git mission at [http://openhatch.org/ OpenHatch]. |
||
=== Learning other utilities === |
=== Learning other utilities === |
Latest revision as of 03:31, 8 December 2014
The MediaGoblin project is welcoming of new contributors, even those who are new to programming. The following resources can help you learn enough to start hacking on MediaGoblin.
Tips for people new to coding
Learning Python
GNU MediaGoblin is written using a programming language called Python.
There are two different incompatible iterations of Python which I'll refer to as Python 2 and Python 3. GNU MediaGoblin is written in Python 2 and requires Python 2.6 or 2.7. At some point, we might switch to Python 3, but that's a future thing.
You can learn how to code in Python 2 from several excellent books that are freely available on the Internet:
- Learn Python the Hard Way
- Dive Into Python (that's a mirror, the original site is not available; it is also packaged in Debian)
- Python for Software Design
- A Byte of Python
These are all excellent texts.
You Can Help
If you know of other good quality Python tutorials and Python tutorial videos, let us know!
Learning Libraries GNU MediaGoblin uses
GNU MediaGoblin uses a variety of libraries in order to do what it does. These libraries are listed in the :ref:`codebase-chapter` along with links to the project Web sites and documentation for the libraries.
There are a variety of Python-related conferences every year that have sessions covering many aspects of these libraries. You can find them at pyvideo.org -- This is a shameless plug; Will Kahn-Greene runs pyvideo.org
If you have questions or need help, let us know!
Learning git
git is an interesting and very powerful tool. Like all powerful tools, it has a learning curve.
If you're new to git, we highly recommend the following resources for getting the hang of it:
- Intro to Git --- a GitHub intro to git
- Pro Git --- fantastic book
- Git casts --- screencast covering git usage
- Git Reference --- Git reference that makes it easier to get the hang of git if you're coming from other version control systems
- Git workflow --- How to go about submitting patches via git.
There's also a git mission at OpenHatch.
Learning other utilities
The OpenHatch site has a series of training missions which are designed to help you learn how to use these tools.
If you're new to tar, diff, patch and git, we highly recommend you sign up with OpenHatch and do the missions.