Difference between revisions of "BeginnersCorner"

From GNU MediaGoblin Wiki
Jump to navigation Jump to search
(→‎Learning Python: Dive Into Python mirror link)
(→‎Learning Python: Dive Into Python Debian link)
Line 16: Line 16:
* [http://learnpythonthehardway.org/ Learn Python the Hard Way]
* [http://learnpythonthehardway.org/ Learn Python the Hard Way]
* [http://www.diveintopython.net/ Dive Into Python] (that's a mirror, [http://diveintopython.org/ the original site] is not available)
* [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]

Revision as of 13:03, 17 August 2013

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:

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:

  • Learn Git --- the 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.