About

Hello! I am a software developer based in Brisbane, Australia. I have a passion for software development and software architecture. I love learning new programming languages and software design patterns. I have a keen interest in DevOps principles, test-driven development, continuous integration and best coding practices. My current interests include the world wide web, web architecture, Python, technical writing and automation.

I am currently working on projects using the Linked Data and Semantic Web stack to create modern solutions at the Commonwealth Scientific and Industrial Research Organisation (CSIRO), Land and Water division.

Education

Griffith University

Bachelor of Computer Science

Major in Software Development

Year 2018

SAE Institute

Bachelor of Interactive Media

Major in Games Design

Year 2014

Selected Work

A selection of projects that I have worked on.

Location Index

CSIRO

I am part of the technical infrastructure team in constructing Australia’s first distributed, large-scaled Linked Data network system to solve data interoperability limitations across government organisations. To allow different datasets from different organisations to understand each other, a set of common relationships need to be established. Most things have a location property, therefore a set of authoritative spatial datasets of Australia will be used to bridge different datasets from different organisations and allow for schema crosswalks.

I helped recreate the functionality of CSIRO’s Persistent Identifier Service in Apache as a light-weight alternative and assisted in implementing new persistent URI identifiers for the Australian Government Linked Data Working Group.

I configured a Geoserver instance to serve the Bureau of Meteorology's Geofabric dataset via Web Feature Service (WFS) and Web Map Service (WMS) APIs. The features of the Geofabric dataset were visualised through the WMS overlaid on top of a styled OpenStreetMaps.

I worked on the web APIs that served the spatial datasets as Linked Data.

Figure: A screenshot of the Linked Data API serving a feature from the Geofabric dataset through a WMS.

View the web page.

Technologies:

Python, Flask, HTML, CSS, Linked Data, Semantic Web, Geoserver, Web Feature Service, Web Map Service, Apache, PostgreSQL, AWS.

LODE 2

CSIRO

Ontologies and the Linked Data technology stack are key to the success of data interoperability. The make-up of ontologies are extremely machine-readable, but not so much for humans. LODE 2 helps with expressing these ontologies in a human-readable way.

LODE 2 is a Linked Data tool for extracting classes, objects, properties, data properties, named individuals, annotation properties, general axioms and namespace declarations from an OWL and OWL2 ontology. They are rendered in an ordered list along with their textual definitions in a human-readable HTML web document.

I updated the existing codebase and rewrote the web architecture of the tool, removing the need for an Apache server, PHP and jQuery. Today, the tool functions completely as a Java web application. I fixed some templating issues and implemented WebVOWL, an ontology visualiser.

Figure: A screenshot of the FOAF ontology as a HTML web document. The WebVOWL ontology visualiser can be seen expressing the ontology as a directed graph.

View the LODE 2 tool online.

LODE 2 is currently being used by the Australian Government Linked Data Working Group (AGLDWG) and the Linked Data community.

Technologies:

Apache, PHP, jQuery, Java, Java EE, Maven, Tomcat, Jetty, Linked Data, Semantic Web, AWS, HTML, CSS, XSLT, PHP.

Skills

Here is a list of skills that I have used comprehensively in the last year.

Programming Languages

  • Python (proficient)
  • C (proficient)
  • C++ (proficient)
  • Java (proficient)
  • JavaScript (proficient)
  • ARM Assembly

Markup Languages

  • HTML & CSS
  • Markdown
  • reStructured Text
  • LaTeX

Data Stores

  • SQLite
  • MySQL
  • PostgreSQL
  • MongoDB

Operating Systems

  • Windows
  • macOS
  • Ubuntu (Linux distro.)
  • Systems programming
  • Embedded microcontroller programming

Web Services

  • Amazon Web Services
  • Digital Ocean
  • GitHub
  • Read the Docs
  • SendGrid
  • Geoserver

Frameworks and Environments

  • Flask
  • Jinja2
  • SocketIO
  • Angular
  • Java EE
  • Node.js
  • Vue.js
  • Drupal
  • JavaFX
  • Sphinx

Testing/Automation Environments

  • pytest
  • Travis CI
  • Jenkins
  • Custom GitHub Webhook with Bash scripts

Contact Me