doy-lee // TODO: Doyle T.

G'day, I'm a software developer that enjoys low-level programming.

Work

2022 - Present

C++ Senior Software Engineer, Agent Orientated Software (AI)

2020 - 2022

C++ Software Engineer, Agent Orientated Software (AI)

C++17, CMake, Docker, DDS+Kafka (distribution), discrete event simulators (game engine-esque)

AOS creates creating trustable and explainable AI using multi-agent systems with the cognitive framework, Beliefs, Desires and Intentions (BDI). My role involves improving the AI toolchain such as improving cross-agent collaboration, forward planning, scheduling and deconflicting of agent intentionality, its execution and distributed agent communication to improve resilience in adversarial situations.

  • Coordinating multiple toolchain upgrades of our in-house AI frameworks, end-to-end
  • Added virtual-memory backed allocators for cache locality, reduced syscalls and memory profiling
  • Co-implement protocol to distribute agents onto different routing technologies (DDS & Kafka)
  • Responsible for the docs website with APIs & manuals, end-to-end for production releases
  • Implement multiple discrete event simulators for verification of agent behaviours
  • Documenting best practices, patterns and tutorials for designing effective multi-agent systems
  • Implement real-world system specs in a multi-agent architecture to highlight deficiencies in the development methodology leading to new protocols, e.g. researching interfaces for humans to effectively contribute into the agent decision making.

2018 - 2020

C++ Software Engineer, Oxen (Blockchain)

C++14, Boost, CMake, Docker, Android+Windows+Mac+Linux clients, Qt5, Monero Cryptonote & EPEE Levin P2P Protocol, Open Source Maintainer (Oxen), Libsodium (EC Cryptography)

Oxen is a non-for-profit, open-source company developing privacy protocols and tools. I implemented[1] a decentralized layer of servers known as the Service Node[2] network that distributes the blockchain and maintains layer access-control. They coordinate peer-to-peer to evict underperforming and malicious peers whilst generating entropy for securing blocks using checkpointing[3] and a commit-reveal scheme known as Pulse[4].

With over 1k+ servers and growing, the Service Node network provides a sybil-resistant foundation to facilitate a privacy preserving onion routing network, Lokinet, and, a privacy preserving messenger, Session.

  • Rapidly learning & upskilling as their first developer in the startup to form a development methodology and hiring practices
  • Implement a resilient server layer over new P2P gossip protocols: node de/registration & rewards, service metrics & voting
  • Form immutable checkpoints to secure blocks using shared consensus to provide faster finalization of transfers on the network
  • Create an on-chain DNS registry to map cryptogaphic keys to human readable aliases (e.g. Lokinet domains, Oxen wallets and Session aliases)
  • Transition from Proof of Work to Proof of Stake live in production, deprecates miners for a commit-reveal scheme to generate entropy for minting blocks
  • Ownership of release process (build/package/distribute) end to end.
  • Patching of 0-days and exploits & recovering from consensus failure on a live production network
  • Improved the test framework for including re-write of Monero's framework and adding integration tests using IPC over named pipes

2017 - 2017

C++ Intern Software Engineer, Wargaming Sydney (Game Dev)

Game development company most popular for developing World of Tanks. I was in the tools team assisting with the development of the editor for the asset pipeline.

2014 - 2017

B. Computer Science, University of New South Wales