MATFeb2013Material » History » Version 16
Version 15 (Chris Cannam, 2013-02-08 04:24 PM) → Version 16/27 (Chris Cannam, 2013-02-08 04:28 PM)
h1. MAT Software Carpentry Feb 2013 - Material from the workshop
* *Introduction to Shell* -- "Tutorial script":/documents/73 -- "Crib sheet on Unix shell commands":/documents/74
* *Introduction to Python* -- "Tutorial script":/documents/71 -- "Repository with code":https://bitbucket.org/lafigueira/swc2013-pyintro
* *Version control* -- "Introductory slides":/documents/75 -- "Tutorial script":/projects/easyhg/wiki/SC2012BootcampPlan
* *Data management* -- "Slides":/documents/72
* *Testing* -- "Tutorial script":/projects/ssw-swc-2013/wiki/SWC2013TDD
* *What We Know* -- "Slides":/documents/70
* *Assessed Exercise* -- [[MATFeb2013AssessedExercise|Details]]
h2. Other material from us
* Our project offers "a number of one-page info sheets":http://soundsoftware.ac.uk/handouts-guides on topics related to this workshop
* There is an extended version of the unit testing example (without mistakes!) at http://www.youtube.com/watch?v=5kMU-2d3fqM
* This very site, "code.soundsoftware.ac.uk":http://code.soundsoftware.ac.uk, is a code hosting site for projects by UK-based audio and music researchers. If you're interested in audio and music, please do register and make use of it! Repository hosting uses Mercurial, and your projects can be public or private.
h2. Links about the software in the workshop
* We used "Python":http://python.org, "SciPy":http://www.scipy.org/, "Matplotlib":http://matplotlib.org, "Nose":https://nose.readthedocs.org/en/latest/, "scikits.audiolab":http://pypi.python.org/pypi/scikits.audiolab/, "Mercurial":http://mercurial.selenic.com/, "EasyMercurial":http://easyhg.org/
* The "SciPy Superpack":http://fonnesbeck.github.com/ScipySuperpack/ is a good way to get Python packages installed on OS/X
h2. Further reading
* "Sound Software site":http://soundsoftware.ac.uk (that's us)
* "Software Carpentry site":http://software-carpentry.org/
h3. Unix and shell
* "Mac OS X man pages online":https://developer.apple.com/library/mac/#documentation/darwin/reference/manpages/index.html
* "Software Carpentry lessons":http://software-carpentry.org/4_0/shell/index.html
* "ELE595
ELE595 - Software Tools For Engineers":http://www.eecs.qmul.ac.uk/~simond/teaching/ele595/index.html -- Engineers
Undergraduate module at QMUL. Weeks 5-10 covered Unix.
Slides are online:
http://www.eecs.qmul.ac.uk/~simond/teaching/ele595/index.html
Unix
* "Unix tutorial @ University of Surrey":http://www.ee.surrey.ac.uk/Teaching/Unix/ Surrey:
http://www.ee.surrey.ac.uk/Teaching/Unix/
To use Unix commands on a Windows machine, you will need to install additional software (e.g. MinGW or Cygwin).
NB: Cygwin doesn't install nano, Python or Mercurial by default - they need to be selected in the setup.
The windows command prompt and powershell provide similar facilities to the Unix shell, but with different commands and syntax!
If you own an android tablet or phone, then that is a Unix device. It doesn't come with a command prompt by default, but you can "install one":https://play.google.com/store/apps/details?id=jackpal.androidterm&hl=en. install one. NB: this may be dangerous for your device!
https://play.google.com/store/apps/details?id=jackpal.androidterm&hl=en
If you want to try a full Unix system, then "VirtualBox":http://www.virtualbox.org/ VirtualBox can be used to create a "virtual machine" - a fake computer that runs inside your normal session. You can then install a Linux distribution on that virtual machine.
https://www.virtualbox.org/
h3. Python *Python IDE*
Lots of code editors will do syntax highlighting for python.
* "Spyder":http://packages.python.org/spyder/ --
Spyder
"Matlab-like" interface
* "PyCharm":http://www.jetbrains.com/pycharm/ --
http://packages.python.org/spyder/
PyCharm
cross-platform, 30 day free trial, ca. £25 for academic licence
*
http://www.jetbrains.com/pycharm/
Lots more "here":http://wiki.python.org/moin/IntegratedDevelopmentEnvironments
* "Software Carpentry at:
http://wiki.python.org/moin/IntegratedDevelopmentEnvironments
SWC Python lessons":http://software-carpentry.org/4_0/python/index.html lessons:
http://software-carpentry.org/4_0/python/index.html
h3. Version Control *Version Control*
On Windows, "TortoiseHg":http://tortoisehg.bitbucket.org/ TortoiseHg provides an alternative interface to Mercurial - you can right-click files in Windows Explorer. files. In some ways it's more techy than EasyMercurial.
* "Software Carpentry version easyHg.
http://tortoisehg.bitbucket.org/
SWC Version control lessons":http://software-carpentry.org/4_0/vc/index.html lessons
http://software-carpentry.org/4_0/vc/index.html
h3. Data *Data Management:*
Sound data Management
* "Sound Data Management Training (SoDaMaT) project at QMUL":https://code.soundsoftware.ac.uk/projects/sodamat/wiki
* "Digital QMUL:
https://code.soundsoftware.ac.uk/projects/sodamat/wiki
Digital Curation Centre":http://www.dcc.ac.uk/
* "Vitae Informed Researcher booklet":http://www.vitae.ac.uk/researchers/169081/Researcher-booklets.html
* "Software Carpentry Centre:
http://www.dcc.ac.uk/
Vitae "Informed Researcher" booklet:
http://www.vitae.ac.uk/researchers/169081/Researcher-booklets.html
SWC on Data":http://software-carpentry.org/4_0/data/index.html Data:
http://software-carpentry.org/4_0/data/index.html
* *Introduction to Shell* -- "Tutorial script":/documents/73 -- "Crib sheet on Unix shell commands":/documents/74
* *Introduction to Python* -- "Tutorial script":/documents/71 -- "Repository with code":https://bitbucket.org/lafigueira/swc2013-pyintro
* *Version control* -- "Introductory slides":/documents/75 -- "Tutorial script":/projects/easyhg/wiki/SC2012BootcampPlan
* *Data management* -- "Slides":/documents/72
* *Testing* -- "Tutorial script":/projects/ssw-swc-2013/wiki/SWC2013TDD
* *What We Know* -- "Slides":/documents/70
* *Assessed Exercise* -- [[MATFeb2013AssessedExercise|Details]]
h2. Other material from us
* Our project offers "a number of one-page info sheets":http://soundsoftware.ac.uk/handouts-guides on topics related to this workshop
* There is an extended version of the unit testing example (without mistakes!) at http://www.youtube.com/watch?v=5kMU-2d3fqM
* This very site, "code.soundsoftware.ac.uk":http://code.soundsoftware.ac.uk, is a code hosting site for projects by UK-based audio and music researchers. If you're interested in audio and music, please do register and make use of it! Repository hosting uses Mercurial, and your projects can be public or private.
h2. Links about the software in the workshop
* We used "Python":http://python.org, "SciPy":http://www.scipy.org/, "Matplotlib":http://matplotlib.org, "Nose":https://nose.readthedocs.org/en/latest/, "scikits.audiolab":http://pypi.python.org/pypi/scikits.audiolab/, "Mercurial":http://mercurial.selenic.com/, "EasyMercurial":http://easyhg.org/
* The "SciPy Superpack":http://fonnesbeck.github.com/ScipySuperpack/ is a good way to get Python packages installed on OS/X
h2. Further reading
* "Sound Software site":http://soundsoftware.ac.uk (that's us)
* "Software Carpentry site":http://software-carpentry.org/
h3. Unix and shell
* "Mac OS X man pages online":https://developer.apple.com/library/mac/#documentation/darwin/reference/manpages/index.html
* "Software Carpentry lessons":http://software-carpentry.org/4_0/shell/index.html
* "ELE595
ELE595 - Software Tools For Engineers":http://www.eecs.qmul.ac.uk/~simond/teaching/ele595/index.html -- Engineers
Undergraduate module at QMUL. Weeks 5-10 covered Unix.
Slides are online:
http://www.eecs.qmul.ac.uk/~simond/teaching/ele595/index.html
Unix
* "Unix tutorial @ University of Surrey":http://www.ee.surrey.ac.uk/Teaching/Unix/ Surrey:
http://www.ee.surrey.ac.uk/Teaching/Unix/
To use Unix commands on a Windows machine, you will need to install additional software (e.g. MinGW or Cygwin).
NB: Cygwin doesn't install nano, Python or Mercurial by default - they need to be selected in the setup.
The windows command prompt and powershell provide similar facilities to the Unix shell, but with different commands and syntax!
If you own an android tablet or phone, then that is a Unix device. It doesn't come with a command prompt by default, but you can "install one":https://play.google.com/store/apps/details?id=jackpal.androidterm&hl=en. install one. NB: this may be dangerous for your device!
https://play.google.com/store/apps/details?id=jackpal.androidterm&hl=en
If you want to try a full Unix system, then "VirtualBox":http://www.virtualbox.org/ VirtualBox can be used to create a "virtual machine" - a fake computer that runs inside your normal session. You can then install a Linux distribution on that virtual machine.
https://www.virtualbox.org/
h3. Python *Python IDE*
Lots of code editors will do syntax highlighting for python.
* "Spyder":http://packages.python.org/spyder/ --
Spyder
"Matlab-like" interface
* "PyCharm":http://www.jetbrains.com/pycharm/ --
http://packages.python.org/spyder/
PyCharm
cross-platform, 30 day free trial, ca. £25 for academic licence
*
http://www.jetbrains.com/pycharm/
Lots more "here":http://wiki.python.org/moin/IntegratedDevelopmentEnvironments
* "Software Carpentry at:
http://wiki.python.org/moin/IntegratedDevelopmentEnvironments
SWC Python lessons":http://software-carpentry.org/4_0/python/index.html lessons:
http://software-carpentry.org/4_0/python/index.html
h3. Version Control *Version Control*
On Windows, "TortoiseHg":http://tortoisehg.bitbucket.org/ TortoiseHg provides an alternative interface to Mercurial - you can right-click files in Windows Explorer. files. In some ways it's more techy than EasyMercurial.
* "Software Carpentry version easyHg.
http://tortoisehg.bitbucket.org/
SWC Version control lessons":http://software-carpentry.org/4_0/vc/index.html lessons
http://software-carpentry.org/4_0/vc/index.html
h3. Data *Data Management:*
Sound data Management
* "Sound Data Management Training (SoDaMaT) project at QMUL":https://code.soundsoftware.ac.uk/projects/sodamat/wiki
* "Digital QMUL:
https://code.soundsoftware.ac.uk/projects/sodamat/wiki
Digital Curation Centre":http://www.dcc.ac.uk/
* "Vitae Informed Researcher booklet":http://www.vitae.ac.uk/researchers/169081/Researcher-booklets.html
* "Software Carpentry Centre:
http://www.dcc.ac.uk/
Vitae "Informed Researcher" booklet:
http://www.vitae.ac.uk/researchers/169081/Researcher-booklets.html
SWC on Data":http://software-carpentry.org/4_0/data/index.html Data:
http://software-carpentry.org/4_0/data/index.html