A software developer with broad experience across many technologies and industries.
Since 2007 I have been providing consulting services through my company, Mnemote Pty Ltd to many clients based in Australia and beyond:
Highlights:
Developed and maintained data bureau services to load, transform and make available statistical data on confidential psychiatric records. Developed and optimized complex SQL queries and schemas required for data analysis and reporting, and provided urgent ad-hoc query support to departmental staff when necessary.
Designed and developed a prototype service which allowed Telstra 3G users to access subscriber-only content while connected via third-party Wi-Fi networks. This used the internal proxy, directory and load balancer architecture to work at telco scale. Produced a working proof of concept and thorough documentation at the completion of the project.
Designed, developed and deployed a user-friendly HTML5 interface to SAP’s logistics management. Spent extensive time in the field, enabling our team to design an interface which matched the workflow of the customer plant. This system currently provides scanning and tracking for approximately 60% of Australia’s consumer mushroom market.
Developed a streamlined shopping cart / payments system using HTML5 / Python / Django / Postgres, with interfaces to Stripe Payments, eStore 3rd-party logistics and Facebook social auth, launching under severe time constraints.
Implemented a B2B systems integration project making invoicing, reporting and online payments available on the web. This product launched early in 2009. It ran in production for approximately 6 years serving approximately 2000 customer companies and processing over AU$30 million in payments. When the client was acquired, worked to integrate the system into the acquiring companies customer portal and redirect users to their new account.
Implemented code in Python and Java to load and transform data from several disparate internal systems into a Hadoop “Big Data” system for analysis. Implementation of the backend for the Telstra TV Plus app, which retrieves catalogs and metadata from several media providers and combines them into a local database, making it available to the app using a RESTful API.
Designed and implemented a Windows client which allows uploading data from several brands of glucometer directly to the database, using documentation provided by the device vendors and some reverse engineering of device protocols.
Developed the back-end servers for a cycling event management system, working alongside other developers distributed between Melbourne and London. Agile techniques were used throughout. Despite working across multiple locations and timezones, the system was delivered on time and on budget.
Identified business criteria, documented stakeholder requirements, proposed potential solutions and planned implementation details for reimplementing an existing SQL Server database as a NoSQL document store to reduce latency.
Designed and implemented features for the ESP32 port of MicroPython, a Python for Microcontrollers. Coordinated community development efforts through the PyCon AU community and Melbourne MicroPython Meetup. Continuing to contribute to MicroPython and the CircuitPython fork through sponsored and pro bono work.
Developed a simple visual data-flow language, “Flobot”, for teaching programming principles to small children through simple robotics. This work is open source and freely available.
Presented on these and other topics at:
… and at many technical user group meetings.
Invented “Optimistic Duplicate Address Detection” and developed it within the IETF IPv6 Working Group resulting in its publication as RFC 4429. Presented at IETF 54 (Yokohama) 59 (Seoul) and 60 (San Diego). This RFC was accepted as a Proposed Standard and has since been implemented in Linux and other operating system kernels.
Created a novel mesh network routing algorithm “Virtual Localization” and published and presented this work and conferences. This work is in the public domain and was presented at NCS 2005 in Thailand.
Publications include:
Completed a B.Sc. at the University of Melbourne in 1996, majoring in Computer Science and including subjects from Software Engineering, Physics, Mathematics and Linguistics.
For contact details, technical articles and links to my profiles on career and open source development sites, please see: