creative coding

A few years ago I started creating small projects and began writing them up as Chasing Telescopes blog posts. The intent was to demonstrate what can can be created with just a handful of coding tools in your kit. Creating projects (no matter how small) is an excellent way to learn a new programming language, implement a new library or package, and to get your hands dirty with tools you are not familiar with.  It's also a great way explore various data analysis techniques, and data visualisation tools. I’m also a fan on using ready-to-use web tools. These can be really useful for outreach projects, or when I want to get something visual up and running fairly quickly, and don’t necessarily want (or need) to build it from scratch.

For data analysis: I use IDL (a vectorised, numerical language with a syntax that includes constructs from Fortran and C); Python (NumPy, SciPy, pandas, matplotlib, scikit-learn); SQL; and UNIX languages (e.g. Bash, AWK) and shell scripts (e.g C–shell for wrappers and batch jobs). For code management & issues tracking: I use git version control with GitHubBitBucket, SourceTree (Git GUI); Jupyter Notebooks, Jupyter Lab, and Spyder IDE. Specific data visualisation libraries & tools: include, matplotlib, ggplotPlotly, BokehD3.js and dimple.js javascript libraries, Carto, TimelineJS, and Odessy. For machine learning: I use scikit-learn (e.g. for classification, clustering and regression), and NLTK (e.g. for language processing). For web development: I use HTML5, CSS, and JavaScript libraries (JQuery), JSONGitHub Pages (for hosting); and HTML5UP! (for web templates); Atom and LightTable (for code editing), GIMP (GNU Image Manipulation), and Dreamweaver

Astrophysics Research & Data Analysis

The majority of my astronomy research was done using IDLUNIX languages; (e.g. Bash, AWK) and shell scripts (e.g C–shell for wrappers and batch jobs); the PGPLOT graphics subroutine library; and domain specific software such as SExtractor (source detection and extraction), IRAF (primarily STScI packages), Supermongo, and TOPCAT

Data Visualisation Projects

Exploratory Data Analysis  »  Interactive Visualisation  »  Science Communication  »  Astrophysics in a Data Science Context  » 


Astrophysics to Data Science

Visualising the career paths of  astronomers turned data scientists  –  D3.js sequences starburst.

Exploring research data interactively

Creating an interactive plots of the Atlas3D dataset using the dimple.js javascript library

Research Backgrounds of Insight Data Science Fellows

Exploring the research profiles of Insight Data Science Fellows using the d3js (javascript library) co-occurrence matrix & trulia heat map

Visualising an art exhibition

A may contain data project that includes both tactile and interactive web (coming soon) visualisations

A Short History of Gravitational Waves

An interactive TimelineJS  visualisation created for OzGrav – the ARC CoE for Gravitational Wave Discovery

Mapping the rise of Data Science Institutes around the world 

A visualisation built using the Carto mapping platform. Also uses Google Spreadsheet & SQL, and custom CSS

Interactive UTMOST Commissioning Timeline

An interactive TimelineJS  visualisation created for the UTMOST Telescope

Find your next AstroTech conference

A visualisation for  built using the Carto mapping platform. Also uses Google Spreadsheets, SQL & custom CSS

Interactive Map of Optical & Radio Telescopes

A visualisation built using the Carto mapping platform. Also uses Google Spreadsheets, SQL & custom CSS

read more

Atlas3D XXIII in a Data Science Context

A Jupyter Notebook that presents astrophysics research
in the context of
data science

Visualising the UNIX/Python Software Carpentry workshop

The D3.js sequences sunburst was used to
explore the diversity of workshop participants


Machine Learning Projects

Exploratory Data Analysis  »  Creative Machine Learning

Machine Learning Tutorial using SDSS quasar data

A Jupyter Notebook tutorial that explores Machine Learning methods (clustering, regression) using  Python's scikit-learn matplotlib package  

Creating colour palettes from images using machine learning

A Jupyter Notebook tutorial that explores machine learning methods (k–means clustering)  & visualisation using  Python's scikit-learn matplotlib package 


Web Projects & Experiments

Science Communication  »  Citizen Science Projects  »  #dotastro Experiments

show me

A Squarespace website that brings tech tools, tutorials and industry knowledge to astronomers. 
Empowering researchers to redesign their careers.  Logo design using iconfinder & GIMP

#dotastro Hack Graveyard

Need a hack idea? revive one of ours!  A website showing forgotten or failed hacks from .Astronomy. Built using GitHub,, HTML5,  CSS & JQuery

.Astronomy Hacks – Image Gallery

A visual feast of hack day projects from the past eight years of .Astronomy conferences. Built using GitHub,, HTML5 & CSS


Project Apollo – Data Driven Stories

a demonstration citizen science project that recreates the incredible stories from the Apollo missions, through beautiful, interactive timelines. Built using the Flickr API, Python, TimelineJS, and the Zooniverse Project Builder