Useful Links for SIO 233

General
Editors
Unix
Shells
Regular Expressions
awk
MATLAB
Fortran
Plotxy and other Graphics Programs
GMT
LaTeX

This list (undoubtedly very incomplete) is meant to provide links to the languages covered in this course, and also links to resources that discuss programming in general.

General

To start with one of the latter, the Software Carpentry site is the home of a short course on efficient programming for scientists; all the course material is available online. They use Python for their examples; this is a language we have considered using, but not this year.

Editors

There are Wikipedia articles listing and comparing the very large number of text editors available.

This site has a good view of the merits and demerits of the vi editor, along with many links to tutorials (for example, this old but still excellent introduction, and this quick introduction (PDF).

An introduction to emacs

Unix

For a thoughtful discussion of the difference between command-line and GUI interfaces, read this essay (now 10 years old, so the GUI in question is Windows NT).

There are basic introductions to Unix here and here; also in two parts of the Software Carpentry site. A PDF tutorial is available here.

As might be expected, Wikipedia has good articles on the history of Unix and Linux.

Shells

The Unix tutorial mentioned above has some material on shells.

Regular Expressions

The Wikipedia article provides a good reference. This quickstart tutorial appears to be a good online introduction. It is perhaps indicative of the obscurity of regular expressions that there is a site to which people can submit regular expressions that solve particular problems (and which you can search to find them), as well as a 512-page book on how to design them.

awk

A comprehensive tutorial and reference manual is available, in a variety of format, for gawk (GNU awk, but most of the features of this are available in most installed versions of awk).

MATLAB

The MathWorks tutorial page provides links to a whole range of options, including videos.

Fortran

In addition to the notes for earlier versions of this class there are other websites here and here (PDF) that provide tutorials on Fortran 90.

Once again, Wikipedia is a good source of information on the history (important because there have been multiple versions of Fortran over time).

In keeping with the rest of the course, you should focus on the minimum needed to be able to proceed. For the modern versions of Fortran, this minimum is well encapsulated in the F language, a Fortran subset. This article provides background on it. There is a tutorial available from the Fortran company for a very modest price, and there is also an online tutorial available. A compiler that knows about this subset is the f95 compiler.

Plotxy and other Graphics Programs

Bob Parker’s software page. provides documentation and source code for plotxy and other useful routines.

An alternative plotting package is gnuplot; for drawing simple disgrams you might also consider the pgf package, which fits in well with LaTeX.

GMT

The official GMT website includes a tutorial (click on ‘‘docs’’) and also a mailing list archive. Searching this archive is often helpful for specific problems, since if you have a problem, probably someeone else already has asked about it, and been answered – the developers are very good about this. Other useful links:

Another tutorial

Many links to ancillary data and other information.

A comprehensive set of color gradients.

LaTeX

There are a number of LaTeX tutorials available. Two short ones are here and here; both also have a large number of links. A longer set of tutorials are here, with the first and second tutorials providing a good introduction to document structure.

A more comprehensive introduction is provided by this short course (PDF) which comes with a series of instructional videos; see this brief description.

Other useful links:

The Tex Users Group (TUG) website which includes a listing of all packages available

The PracTex Journal, an excellent source of tutorial articles on different aspects of Latex and TeX.

A guide to importing graphics into LaTeX: a very complete discussion of types of graphics formats, and ways of putting them into LaTeX output (h/t Andy Barbour).