Anthony Carapetis

Curriculum Vitae

At a Glance

    Who I am
    • Software developer with deep experience in web technologies,   data manipulation and software systems integration.
    • Mathematics PhD in geometry and differential equations. Also experienced in numerical simulation and modelling.
    My Toolbox
    • Python, JavaScript/ES6+, Perl, Java
    • HTML5, CSS3, Browser APIs
    • MySQL, SQLite, PostgreSQL
    • Linux, AWS, Terraform, Docker, Git

Work History

  • Software Engineer
    Jan 2019–
    under contract to Geoscience Australia
    Canberra

    As the lead developer for the National Earthquake Alerts Centre, I am responsible for software systems that produce, store and disseminate information associated with earthquakes and other seismic events. I have:

    • Continuously maintained and enhanced the earthquake alerts and analysis system, which is a mix of open-source, proprietary and bespoke software deployed on AWS using Terraform.
    • Architected and developed a custom data catalogue for the storage, quality control, and dissemination of earthquake-related data products of all kinds — from raw seismograms through to news articles. I built this system using Python on AWS, with geospatial indexing powered by PostgreSQL/PostGIS and an interactive frontend built on Web Components.
    • Integrated the USGS ShakeMap modelling software into our semi-automated workflow, allowing the Centre to rapidly estimate and visualize the areas most effected by an earthquake. I worked with geoscientists to tailor the configuration to Australian seismology, and added several new features to the ShakeMap software to meet our requirements, which I subsequently contributed back to the USGS repository.
    • Developed pipelines to ingest, transform and integrate various data sources.
    • Performed statistical and geospatial data analysis to support reporting and decision making by the NEAC's operations and science leadership.
  • Software Engineer
    May–Dec 2018
    CSIRO
    Canberra

    A fixed-term position at the High Resolution Plant Phenomics Centre developing software for agriculture and plant science. My main focus was developing infrastructure to exploit time series data gathered from sensor networks:

    • Reworked data ingest processes and set up a new storage and aggregation solution using InfluxDB.
    • Implemented a HTTP API to manage and retrieve time series data and metadata.
    • Designed and developed a web dashboard on top of this API to provide diagnostics and basic data visualization. Used JavaScript, including the visualization libraries D3.js and Plotly.js along with modern web standards (HTML5, SVG, CSS3 transitions, ES modules, Web Components, etc.).

    Most of this work was integrated into an existing web application built on a Linux+Apache+SQLite+PHP stack. I also contributed to other projects, including a REST microservice built in Java/Spring and deployed using Docker.

  • Casual Sessional Teacher
    2015–2017
    Australian National University
    Canberra

    Teaching and marking for undergraduate classes in: Introduction to Mathematical Thinking, Advanced Mathematics and Applications, Black Holes and Cosmology

  • Software Developer
    2006–2013
    Unisolve Pty Ltd
    Melbourne

    Design and full-stack development of web applications & administration of associated systems and databases.

    I worked on various large web applications, mostly built on Linux+Apache+Perl and backed by MySQL or PostgreSQL. The tools we used changed over the years, but DBIx::Class and HTML::Mason were mainstays. On the frontend, I used JavaScript to create interactive user experiences.

    Many of these applications were business systems that interfaced with older proprietary software; so I became proficient in systems integration and data munging/wrangling/ETL.

    I was also involved in developing simple deployment architecture and scheduled processing/reporting/backup tasks; so I have extensive experience using shell scripts, cron jobs and daemons to automate systems.

Education

  • Doctor of Philosophy (Mathematics)
    2013–2018
    Australian National University
    Canberra

    PhD Thesis: Geometric Flows of Diffeomorphisms
    Supervisor: Ben Andrews
    Geometric flows hijack what we know about the physics of heat flow to study geometry: by making a mathematical analogy between "spikiness" and heat, we can deform poorly-understood spiky objects to simple smooth ones; and by understanding the mathematical properties of this deformation we can derive new knowledge about the spiky things we started with. In my thesis research, I applied this methodology to a previously unstudied class of flow.

  • Bachelor of Science Advanced (with Honours)
    2009–2012
    Monash University
    Melbourne

    Majors: Mathematics, Physics
    Honours Thesis: The Riemannian Penrose Inequality and the Inverse Mean Curvature Flow
    Supervisor: Gilbert Weinstein
    The universe should weigh at least as much as the biggest black hole it contains, but the mathematical embodiment of this fact (the Penrose Inequality) is remarkably difficult to derive from general relativity: it took until 1999 for even a special case to be proven. This thesis was an exposition of the problem and its solution intended for a slightly less expert audience.

Undergraduate Research

  • Summer Vacation Research Scholarship
    2011–2012
    Monash University
    Melbourne

    Reading project on the problem of minimal surfaces: if you dip a wonky loop of wire in a bucket of soapy water, what is the shape of the resulting bubble? The techniques developed to study this problem are now ubiquitous in physics and geometry.

  • Mathematics Research Project
    2011
    Monash University
    Melbourne

    Reading project in comparison geometry, the quantitative study of how the familiar relationships of lengths and angles change when we work on a curved surface (or in a curved space).

  • AMSI Vacation Research Scholarship
    2010–2011
    AMSI/Monash University
    Melbourne

    Numerical investigation of p-adic zeta functions using the mathematical programming language PARI/GP. Culminated in a presentation at the CSIRO Big Day In.

Other Experience

  • Some things don't come from work or school.
    • Interactive Media: as a spin-off from my thesis research, I combined numerical simulations of partial differential equations with my expertise in frontend web development to develop interactive visualizations of some geometric flows, which you can play with online at a.carapetis.com/csf/ (TypeScript + Canvas) and a.carapetis.com/diff_flow/ (PixiJS).
    • My professional history has been concentrated on a few languages, but I have hobbyist experience with many others, including Ruby, C++, TypeScript and Haskell.
    • Graphic design (hobbyist, volunteer and freelance projects) using Inkscape and GIMP.