Category Archives: Past Topics

The 5 biggest questions and answers you have about ocean remote sensing

Have you ever wanted to access remote sensing data and didn’t know where to start? Well hopefully my talk today gave you some answers to your questions and gave you some tools to get you started.

Here are my slides – with all the links and websites for you to check out:

The five biggest questions and answers you have about ocean remote sensing

A big part of DaSH is lowering the learning curve and removing the barriers to entry into data related science. That’s this talk will aimed to do for the ocean remote sensing space. I did NOT talk about coding. I DID talk a little about how satellites measure biology in the oceans, I DID talk about where you can find this data, and I DID talk about how a novice can plot the data without coding a single line. Any questions or to find out more contact me at


Just like lego: the building blocks for ecosystem modelling.

Last week we had the exquisite Jess Melbourne-Thomas talk to us about her experience making mathematical models of the real world from scratch.

Her slides, with a rather fitting title, can be viewed here: “Just like lego: the building blocks for ecosystem modelling”


How to plot in Python

Tired of those ugly plots? Want to learn how to make your figures look nicer?

Python (may be) the answer for you.

Last week (Fri 21st Mar 2014) the super science man Eric Oliver gave us an Oceanographers perspective of plotting in Python. Here are his resources and lecture slides, including a brief into ‘how to’ and then some demos for plotting typical oceanography data (time series, maps, T-S diagrams, etc…).

Eric’s Plotting in Python Slides.

Eric’s demos – this is a GitHub repo of code and examples.

How to LaTeX

On Wednesday the 19th Feb 2014 the wonderful Tom Remenyi gave us an overview of the LaTeX document preparation system and worked through his famous LaTEX training document.

For those that couldn’t attend here are a few useful links and videos to bring you up to speed:

  • Most importantly, here is a link to the downloads page for Tom’s LaTeX training document [ ]. This is a ‘how to use LaTeX’ training document. It is aimed at people who do not like using MS Word or Mac Pages for producing large documents and do not know how to write computer code. It aims to gently introduce LaTeX to users and considerably lower the learning curve.
  • Tom’s recommendations for installing LaTeX: If on a Mac, download the latest version of MacTeX. This comes with TeXShop as the main ui and is a very smooth and gentle tool for working in LaTeX [ ]. If you’re on Windows or Linux, download the latest version of MikTeX, which is based on TeXShop [ ]. Please keep in mind that there are many ‘flavours’ of LaTeX user interface out there and that these are just a couple of simple examples – try to find the one that best fits your workflow and style. Google is your friend.
  • A great cheat-sheet of commonly used LaTeX commands: [ ]

Finally, the ethos of TexWorks – simple, clean, uncluttered, powerful:

Intro to the Shell.

On Friday the 7th Feb we covered some simple bash commands and bash scripting in prep for the Software Carpentry Bootcamp that was held in Hobart the following week.

I have reproduced an overview of the shell teaching material they used for this course and I have linked to Damien Irving’s GitHub repo that contains the original files, code, and examples.


A guide to the shell teaching content:


This directory contains the shell related content that I teach at Software Carpentry bootcamps.

## Novice lessons

### 1. Files and directories (novice/

* The file system is responsible for managing information on disk.
* Information is stored in files, which are stored in directories (folders).
* Directories can also store other directories, which forms a directory tree.
* `/` on its own is the root directory of the whole filesystem.
* A relative path specifies a location starting from the current location.
* An absolute path specifies a location from the root of the filesystem.
* Directory names in a path are separated with `/` on Unix, but `\` on Windows.
* ‘..’ means “the directory above the current one”; ‘.’ on its own means “the current directory”.
* Most file names are something.extension; the extension isn’t required, and doesn’t
guarantee anything, but is normally used to indicate the type of data in the file.
* `cd` path changes the current working directory.
* `ls path` prints a listing of a specific file or directory; `ls` on its own lists the
current working directory.
* `pwd` prints the user’s current working directory
* Most commands take options (flags) which begin with a ‘-‘

### 2. Creating things (novice/

* Unix documentation uses ‘^A’ to mean “control-A”.
* The shell does not have a trash bin: once something is deleted, it’s really gone.
* `mkdir path` creates a new directory.
* `cp old new` copies a file.
* `mv old new` moves (renames) a file or directory.
* `rm path` removes (deletes) a file.
* `rmdir path` removes (deletes) an empty directory.

### 3. Pipes and filters (novice/

* Use wildcards to match filenames.
* ‘*’ is a wildcard pattern that matches zero or more characters in a pathname.
* ‘?’ is a wildcard pattern that matches any single character.
* `command > file` redirects a command’s output to a file.
* `first | second` is a pipeline: the output of the first command is used as the input to
the second.
* The best way to use the shell is to use pipes to combine simple single-purpose programs
* `cat` displays the contents of its inputs.
* `head` displays the first few lines of its input.
* `sort` sorts its inputs.
* `tail` displays the last few lines of its input.
* `wc` counts lines, words, and characters in its inputs.

### 4. Loops (novice/

* Use a for loop to repeat commands once for every thing in a list.
* Use `$name` to expand a variable (i.e., get its value).
* Do not use spaces, quotes, or wildcard characters such as ‘*’ or ‘?’ in filenames, as
it complicates variable expansion.
* Give files consistent names that are easy to match with wildcard patterns to make it
easy to select them for looping.
* Use the up-arrow key to scroll up through previous commands to edit and repeat them.
* Use `history` to display recent commands, and `!number` to repeat a command by number.

### 5. Shell scripts (novice/

* Save commands in files (usually called shell scripts) for re-use.
* Use `bash filename` to run saved commands.
* `$*` refers to all of a shell script’s command-line parameters.
* `$1, $2, etc.,` refer to specified command-line parameters.
* Letting users decide what files to process is more flexible and more consistent with
built-in Unix commands.

### 6. Finding things (novice/

* Everything is stored as bytes, but the bytes in binary files do not represent characters.
* Use nested loops to run commands for every combination of two lists of things.
* Use `\` to break one logical line into several physical lines.
* Use parentheses `()` to keep things combined.
* Use `$(command)` to insert a command’s output in place.
* `find` finds files with specific properties that match patterns.
* `grep` selects lines in files that match patterns.
* `man` command displays the manual page for a given command.