Print Me!
- -Gitea
- -GitHub
- -Work
- -2022 - CURR: C++ Senior Software Engineer, Agent Orientated Software (AI)
2020 - 2022: C++ Software Engineer, Agent Orientated Software (AI)
- 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 de-conflicting 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 sys-calls 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. -
-
-
- Agent Orientated Software aosgrp.com -
2018 - 2020: C++ Software Engineer, Oxen
(Blockchain)
- 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 & up-skilling 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 cryptographic 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 -
-
-
- Oxen Website oxen.io -
- [1] Git Commits github.com/oxen-io/oxen-core/pulls?q=is%3Apr+author%3Adoy-lee+is%3Aclosed -
- [2] Service Nodes oxen.gitbook.io/oxen-docs/about-the-oxen-blockchain/oxen-service-nodes -
- [3] Checkpointing github.com/oxen-io/oxen-improvement-proposals/blob/master/LIPS/LIP-3.md -
- [4] Pulse github.com/oxen-io/oxen-improvement-proposals/blob/master/LIPS/LIP-5.md -
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. -
- --
-
- Wargaming Sydney wargaming.com -
2014 - 2017: B. Computer Science, University of New South Wales ![]()
-
-
- UNSW unsw.edu.au -
Projects Summary
- -2018 - CURR: Dqn C/C++ personal standard library git.doylet.dev/doylet/dqn
-2021: intc Software u128/256 bit port to C git.doylet.dev/doylet/intc
-2020: RaylibSIMD SIMD Software rendering in C git.doylet.dev/doylet/RaylibSIMD
-2017: DTRenderer 3D Software rendering in C++ git.doylet.dev/doylet/DTRenderer
-2017: Math Masher Math game for mobile doylet.dev/luneaustralia
-2017: DCHIP8 Chip8 interpreter git.doylet.dev/doylet/dchip-8
-2016: Dengine 2D engine for asteroids git.doylet.dev/doylet/dengine
-Projects
- -2018: Dqn C/C++ personal standard library git.doylet.dev/doylet/dqn
-- My personal standard library used in personal projects - that focuses on simplicity, transparent data - structures void of crazy C++ features with minimal - dependencies on the standard libraries. The library is - orientated around avoiding unnecessary allocations e.g. - minimal calls to malloc and non-pessimized - implementations. -
--
-
- Custom memory routines: arena allocator, virtual memory containers, TLS scratch allocators -
- Allocation-less string slices and string manipulation routines -
- Linear probed and chained hash tables in 400~ LOC -
- Fixed sized arrays and strings containers -
2020: intc Software u128/256 bit port to C git.doylet.dev/doylet/intc
-- intc is a port of calccrypto's uint128/256 library into - a single header file library to allow u128/256 - calculations. This port is primarily C first and - provides C++ helpers like operator overloads that are - opt in. -
- --
-
- calccrypto's uint256_t github.com/calccrypto/uint256_t -
2020: RaylibSIMD SIMD Software rendering in C git.doylet.dev/doylet/RaylibSIMD
-- Raylib is a game-engine by Raysan5 whose main focus is - to make game engine programming simple and enjoyable. - In this project, I rewrote the software-rendering - routine to use SSE2/3 instructions to attain the - expected 4x speed-up by taking advantage of - data-parallelism offered by SIMD. -
- --
-
- Raylib Website raylib.com -
2017: DTRenderer 3D Software rendering in C++ git.doylet.dev/doylet/DTRenderer
-
- - DTRenderer is an attempt to build a simple software - renderer from the ground up. The main goal is to build - an intuitive understanding of graphics mathematics, - rendering pipeline and core concepts. It runs as a Win32 - program with minimal dependencies. -
--
-
- 2D Software Rendering -
- Alpha Blending -
- Bilinear Filtering -
- Correct Color Space Pipeline (SRGB <-> Linear) -
- Rasterisation -
- Texture Mapping -
- Translation, Rotation, Scale -
- 3D Software Rendering -
- Full Bright, Flat, Gouraud Shading -
- Orthogaphic, Perspective Projections -
- Translation Rotation Scale -
- Custom Wavefront Obj Loader (minimal subset) -
- Hot Reloadable DLL for Renderer Code (taken from Handmade Hero) -
2017: Math Masher Math game for mobile doylet.dev/luneaustralia
-- Math Masher is a cross-platform mobile app that aims to - teach basic arithmetic skills including addition, - subtraction and multiplication by gamifying the learning - experience. The app was developed in a team using the - Cocos2DX framework in C++. + + +
+doylet // doy-lee
+Low-level programming enthusiast. Practicing C/C++ daily. Passion for tools and the game development domain. Always curious and learning.
+-
-
- Project management (Trello, minutes meeting, code review etc.) -
- Game engine architecture (Gameplay, UI, shopping mechanics, debug) -
- Basic sound editing (Compressor, EQuing, normalisation) -
- Asset designs (Creating graphical assets with Photoshop) -
-
-
- Trailer youtube.com/watch?v=AUozUZ8aY7g -
2017: DCHIP8 Chip8 interpreter git.doylet.dev/doylet/dchip-8
-- DCHIP8 aims to emulate the CHIP8 architecture to better - understand at a lower level operations between memory, - cpu, input and output. -
--
-
- Fetch, Decode, Execute Opcodes -
- Modelling memory, registers and basic CPU architecture -
- Software Rendering and interaction with Win32 -
- Minimal dependencies, single file executable -
-
-
- Specification Sheet devernay.free.fr/hacks/chip8/C8TECH10.HTM -
2016: Dengine 2D engine for asteroids git.doylet.dev/doylet/dengine
-- Dengine is a solo project, 2D game engine developed with - OpenGL and low-level libraries in C. The main goal of - Dengine is to facilitate learning from many aspects of - Computer Science. Alongside Dengine, Asteroids is being - built which guides the development of features for the - game. Dengine is inspired by Handmade Hero, with a focus - on developing as many features with minimal libraries, - such that it is not too time-consuming and - counter-productive to do so. -
--
-
- Asset Management (load data into intermediate representations) -
- Audio API from OpenAL -
- Basic 2D Game Mathematics/Physics (Vector, Trig, Explicit Euler) -
- Collision Detection (Single Axis Theorem, Minkowski Sum/Diff, AABB) -
- Debug Services & Displays -
- Entity Component Systems -
- IMGUI Systems -
- Input Parsing -
- Push-Buffer Memory Systems -
- Small Size Array Optimisations -
- Standard Library Replacements (e.g. atoi, strlen, itoa, string) -
- Texture Atlas Support, Runtime Font Packing -
- OpenGL 2D Rendering Pipeline & Batching Render Calls -
-
-
- Handmade Hero handmadehero.org -










