BeginnersCorner: Difference between revisions

From GNU MediaGoblin Wiki
Jump to navigation Jump to search
(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.org/ Dive Into Python]
* [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://python.mirocommunity.org Python Miro Community] -- This is a shameless plug; Will Kahn-Greene runs Python Miro Community.
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 Learn Git] --- the GitHub intro to git
* [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:

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.