Employment

ANU, ACCESS-NRI, 2023-now - Research Software Engineer

Within a small team, I help to create and maintain the research software infrastructure for weather and climate researchers in Australia.

ANU, National Computational Infrastructure, 2019-2023 - High Performance Computing Specialist

Within a small team of specialists, I helped researchers to port and tune high performance parallel programs for the NCI Gadi and related systems.

Australian Government, Bureau of Meteorology, 2018-2019 – Scientific Programmer

I was one of a team responsible for porting the post-processing workflow of the global atmospheric model from APS2 to APS3. This involveds working with shell and Python scripts, SMS, Rose and Cylc schedulers, the PBS batch scheduler, and software written in C and Fortran that uses OpenMP and MPI, running on the Australis Cray XC production cluster. I used GitLab to coordinate my work with others in the APS3 porting and transition to operations team.

Australian Government, Bureau of Meteorology, 2015-2018 – Scientific Application Analyst / User Support

I helped support the operational atmospheric, ocean and climate modelling suites on the Australis Cray XC production cluster, as well as the users of the Terra Cray XC development cluster. I created training materials and helped conduct user training sessions covering topics such as the Cray programming environment, the Cray, Gnu and Intel compilers, and PBS Professional.

I was involved in the porting, tuning, operations and maintenance of a number of suites of operational weather forecasting software, running on the Australis Cray XC supercomputer. Most of these suites are quite complex, using both MPI and OpenMP parallelism, with multiple layers of suite and batch scheduling, and with diverse inputs in various formats arriving at different times of day, and outputs to diverse downstream applications. 

I was on call one week out of four. When called out, it was my responsibility to ensure that the operational weather forecasting system was promptly restored to service, that the incident was properly escalated, and that the right data was captured for root cause analysis and remediation.

The University of Newcastle, 2015 – Casual Academic, Visiting Fellow

At the School of Mathematical and Physical Sciences, during Semester 1 2015, I was the course coordinator for MATH3510 Combinatorics and Graph Theory, and was also a tutor for MATH1001 Preparatory Studies in Mathematics. In Semester 2, I was the second lecturer for MATH1510 Discrete Mathematics, and also a demonstrator for that course.

I was also a visiting fellow, and conducted research, wrote papers, maintained software, and gave presentations relating to many topics in computational mathematics, including combinatorics, numerical solution of partial differential equations, and constructive approximation.

The Australian National University, 2014 – Visiting Fellow

At the Mathematical Sciences Institute, I conducted research, wrote papers, maintained software and gave presentations relating to many topics in computational mathematics, including constructive approximation, numerical solution of partial differential equations, linear and multilinear algebra, combinatorics and statistics.

The Australian National University, 2012-2014 – Research Fellow (Level B)

At the Mathematical Sciences Institute, I conducted research in bioinformatics, working with Conrad Burden and Sylvain Forêt on ARC funded research into the alignment-free matching of biological sequences such as DNA and proteins. This involved programming and testing code written in C, Python and R, yielding two papers. I also continued research in computational mathematics, including research into the distribution of points on manifolds, and research into the numerical solution of differential equations. 

I helped Conrad Burden teach bioinformatics and biological modelling, in both the 2014 AMSI Summer School and in the 2013 ANU course MATH2307/MATH6100. I also conducted two semesters of reading courses on Clifford algebras.

The Australian National University, 2007-2011 – Postdoctoral Research Fellow

At the Mathematical Sciences Institute, I conducted research in computational mathematics. I worked on the combinatorics and statistics of words in strings, with application to the testing of random number generators. I also conducted research into constructions for Hadamard matrices. I worked with Markus Hegland on sparse grid quadrature, resulting in two papers. With Ari Stern I also conducted research into the numerical solution of differential equations.

In 2008, I helped Markus Hegland teach approximation theory in the 2008 AMSI Summer School and the ANU course MATH3352. I was course convenor for the one-semester course MATH3512 / MATH6112 (Matrix Computations and Optimisation in 2009, 2010; Matrix Computations in 2011).

University of Sydney, 2005-2007 – Scientific Computation Officer

At the School of Physics, I provided an advanced scientific computing support service. I built tools and capabilities, and gave ad hoc advice and support. I wrote and maintained software including: a software archive system using Java Server Pages and MySQL; a graphical application builder based on Java Swing; Suprangen: a portable library of random number generators; and a version of the LabView-based trigger program for a high current pulsed arc system. I also used Matlab, RSI IDL and R.

University of New South Wales, 2002-2005 – Casual Academic

At the School of Mathematics, while I was a PhD student, I was also a casual academic. I conducted one hour computing demonstrations for first year mathematics students, was a computer lab consultant for Maple and Matlab, and marked computing tests.

University of New South Wales, 2001-2002 – Computer Systems Officer

At the School of Mathematics, I was a programmer supporting mathematical research. I used Matlab to test and compare Support Vector classifiers; wrote a Matlab GUI version of an external field visualization program; and used Fortran 90 to port the conjugate gradient and L-BFGS algorithms from LAPACK to ScaLAPACK to parallelize an optimization program.

Andersen Consulting, 1995-2001

I joined Andersen Consulting (now Accenture) as an experienced consultant. I trained new analysts in the C programming language and in client / server programming. I then worked at client sites including government utilities, and financial services. The work included Solaris and Windows NT scripting. I helped establish the Foundation Software Organization Asia-Pacific Support Centre in Melbourne, creating and implementing a training plan for two new support specialists. From 1996 to 2001, I worked as a specialist in knowledge management, training and supervising two new Technology research analysts, and helping the global Technology KM team to plan the globalization of Technology Knowledge Centres and related Technology KM activities.

Travel Industries Automated Systems, 1989-1995

I joined TIAS (now TIAS Technology) as a senior systems specialist, where I supported and enhanced the Premier Upgrade a multi-access airline reservation system: setting up a permanent test system, guiding the certification by SITA of the SLC software component, and porting the system to Stratus RISC hardware. I helped port the TIAS system to Southern Cross - Galileo. I supervised a group within Qantek to implement an X.25 - EDIFACT system link. I managed a project which used the TIAS system as the basis of a multi-access system to support the Fantasia reservation system. This implemented the Sabre terminal specification over X.25.

In my communications planning role, I advised on the architecture of an SQL-based insurance application, advised on selection of an air cargo community system, and helped to implement it. I participated in the EDICA (now Commerce Plus) Transport Industry Working Party and in the International Air Transport Association Standards Implementation Subgroup. I participated in a technical architecture planning project, advised on the selection of an email system for use by travel agents, and advised on the use of the Internet and the World Wide Web within TIAS.

Telex Computer Products, 1986-1989

I joined Telex Computer Products (now Visara International) in Sydney, as a systems engineer. I worked within a small team to support a multi-access airline reservation system, which was programmed in assembler on Raytheon RDS 7500 minicomputers, installing and test changes at Japan Airlines in Tokyo and at Travel Industries Automated Systems (TIAS) in Sydney.

I then worked in a team which implemented the Premier Upgrade multi-access airline reservation system, using in C on Stratus VOS, with message passing middleware from Novus Systems Technology (now part of Orange Business Services). I designed, coded and tested a number of components, writing over 400 pages of specifications, 6000 lines of C code, and 24000 lines of tests.

Telecom Australia, 1983-1986

I worked for Telecom Australia (now Telstra) in the NSW Information Technology branch, firstly in user support and then in data networking support. I supported technologies including PCs, Honeywell mainframes, COBOL and Honeywell DSA X.25 networking.

The Australian National University, 1982

Vacation scholar in mathematics, concentrating on computer support for group theory.

University of New South Wales, 1982

Tutor in Computer Science and computer lab tutor.

Australian Government ‒ Department of Veterans Affairs, 1979

I performed clerical work in roles including pension payments, signing officer and trust office.

Contract Work

University of Newcastle – 2014 HEW Level 6 Step 1 – 75 hours

Design review of a game based on backtracking tree searching. Javascript coding for animation of tree panning and zooming, and highlighting of inspected nodes.

RaffleLink – 2014 – 20 hours

Certification in NSW and WA of an online raffle system, including an analysis of its method for generating random numbers.

MultiMatch – 2003, 2004

Training and consulting on the mathematics of colour perception, matching and calibration.