CSIRO's Data61
I was a software engineer working for the Information Security and Privacy Research Group.
R4
- Lead development for R4; an application to assist data custodians with managing re-identification risk and to apply risk reduction methods to confidential datasets.
- Improved performance, reliability and mathematical correctness of the application, including building a testing framework to improve robustness and verify mathematical correctness.
- Created a streamlined build and deployment process integrating all services into Docker containers, allowing easy installation for multiple clients on varying system architectures.
- Supervisor and co-supervisor for 2 student internships.
- Technologies used: Scala (Play Framework) / Apache Spark / MongoDB / Docker / HTML / CSS / JavaScript / Git / Bitbucket
Differentially Private Generative Adversarial Networks (DP-GAN)
- Using Pytorch, applied a novel differential privacy injection method to a GAN, successfully trained the GAN on a range of datasets, and developed a range of utility metrics to assess the results.
- Co-authored a research paper
Differentially Private One-step Top-k Selection Algorithms for the Real World
- Implemented a Python library to apply existing One-step Top-k Selection algorithms to generic datasets, with novel research improvements, and developed methodologies to assess the algorithm performance on a client's data.
- Co-authored a research paper
Markov Model Privacy Risk Quantification API
- Took existing privacy quantification research and built an efficient, modular implementation with significant performance improvements over the existing work.
- Using Django / Celery, built an API to integrate the new code into a client's data pipeline.
PowerModelsPrivacyPreserving.jl
- With a multi-discipline team, developed a Julia package that applies differential privacy to Optimal Power Flow numerical optimizations.
- Co-authored a research paper
BECODE-BCA
BECODE-BCA is a web application which allows professionals within the construction industry to determine the minimum necessary requirements for safety, health, amenity and sustainability in the design and construction of new buildings. Users can follow the workflow to input information about their building, and they will be presented with a filtered BCA (Building Code of Australia) containing only the requirements which are applicable to that building, allowing them to take notes and generate a draft BCA report. Users can save and share buildings among their organisation.
I played several roles in the development of BECODE-BCA. At the highest level, I was the resident subject matter expert due to my background in fire safety engineering. I used my expertise to assist with developing product requirements, design direction, liaising with clients and industry professionals, and system testing strategies. We were partnered with Data61 from CSIRO, who are attempting a similar approach to digitising regulation.
At the next level, I designed and developed a workflow to capture and represent subject matter expertise on the Building Code of Australia, around which the web application is designed. I used Python for data extraction and transformation into a spreadsheet representation, so that subject matter experts could access it and apply their knowledge in a familiar environment. The spreadsheet is then converted into an SQLite database, and hosted within the Django application. I wrote a suite of SQL queries to extract the required data and provided these as views to be used by the application.
We hired an intern to assist with the data cleaning and manual input. I was responsible for providing tasks and direction for her, and learned a great deal from this experience as a manager.
I worked within the Django framework. I designed and implemented the APIs to provide expert system data to the frontend. I assist with backend tasks involving models, RESTful APIs and otherwise. I try to spend as much time as I can working on the backend, as the I believe the skills I learn will be most useful to me over my career.
The project uses Bitbucket for version control, and is project managed using Jira.
BECODE-Hotspot
BECODE-Hotspot is a document management tool aimed at building managers, to collate and present the fire safety requirements of their building within a single repository. The application provides a framework for fire engineers to input their requirements, allowing building managers to view these requirements on an online location.
I was heavily involved in the high level design of this project. I wrote the system requirements specification, and liaised between our engineers and project management team to ensure we developed a product that was both achievable and functional. I was solely responsible for translating business requirements into defined functionality which our team could design to.
I worked on the Django backend, assisting with the database design, developing models, and building our RESTful APIs.
Performance Based Consulting - Fire Engineering
I have worked as a fire safety engineer in the construction industry. I produced fire engineering reports, which outline the fire safety requirements that must be met during building design.
My main project was the Sydney Metro Stage 1 design. I produced the Fire Engineering Brief for the city stations (Crows Nest to Waterloo). I was involved with the Barangaroo Station Stage 2 and 3 design phase, in which I provided a checking and guidance role to a junior engineer.
I was a resident expert in Fire Dynamics Simulator (FDS) - a Computational Fluid Dynamics (CFD) system which is used for modelling fires. I provided assistance and guidance to junior engineers regarding modelling best practices.
From my role as a fire safety engineer, I have learned strong technical report writing skills, professional management and relationship skills, as well as time and project management skills. I am passionate about fire safety, and I believe I made valuable and important contributions towards the safety of infrastructure in Australia.