I am:

  • a full-stack software developer hailing from Adelaide but currently in Melbourne, Australia
  • building a mobile app to improve foreign language skills through conversations with a deep-learning agent.
  • fascinated by the idea of machines communicating intelligently with humans.

I blog about:

  • using F# for conventional software development
  • deep learning/NLP models, whether old and new
  • the trade-offs involved in solutions to practical software problems.

I use:

  • for my current project:
    • Flutter (Dart/Java/Objective C)
    • VueJS
    • F#
    • Python/Tensorflow/PyTorch.
  • the right tool for the right job, which at various times has included:
    • C/SDL (basic game dev)
    • Java (university/client work)
    • PHP (first product attempt)
    • Clojure (discovered functional programming)
    • C#/WinForms (own/client work)
    • Javascript (anything and everything)

I also:

  • help organize the Melbourne Machine Learning and Artificial Intelligence meetup group
  • have a First Class Honours degree in law, where I wrote my thesis on the relevance of failed referenda to constitutional interpretation.
  • have another degree and diploma to round out my education in courses as diverse as Computer Science, German Opera, Philosophy and European history.

Earlier in my career, I:

  • developed Lexico, a platform using machine learning to help draft and review legal documents
  • helped manage Tesco’s joint venture property portfolio in China, including its eventual exit from the country.
  • worked with malware and networks in a top-secret position in Australia’s signals intelligence agency.

I speak:

  • Mandarin Chinese
    • fluent the day I left China; now just “pretty good”
  • German
    • a notch above “conversational”.

My open source work includes:

You might also find me dabbling in electronic music, boxing or reading.

You can reach me by e-mail or on Twitter.