Print Me!
- +Print Me!
+GitHub
+GitHub
- 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 +
- 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 @@ -218,10 +237,10 @@ 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 +
- 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 cryptogaphic keys to human readable aliases (e.g. Lokinet domains, Oxen wallets and Session aliases) +
- 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 @@ -265,6 +284,244 @@
-
-
Projects Summary
+ +2018 - Present
+Dqn: C/C++ personal standard library github.com/doy-lee/dqn
+2020
+intc: Software u128/256 bit port to C github.com/doy-lee/intc
+2020
+RaylibSIMD: SIMD Software rendering in C github.com/doy-lee/RaylibSIMD
+2017
+DTRenderer: 3D Software rendering in C++ github.com/doy-lee/DTRenderer
+2017
+Math Masher: math game for mobile doy-lee.github.io/luneaustralia
+2017
+DCHIP8: Chip8 interpreter github.com/doy-lee/dchip-8
+2016
+Dengine: 2D engine for asteroids github.com/doy-lee/dengine
+Projects
+ +2018 - Present
+Dqn, C/C++ personal standard library
++ 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 +
-
+
- Dqn Repository github.com/doy-lee/dqn +
2020
+intc, 128/256 bit software implementations in C
++ 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. +
+ +-
+
- intc Repository github.com/doy-lee/intc +
- calccrypto's uint256_t github.com/calccrypto/uint256_t +
2020
+RaylibSIMD, Accelerated software rendering using SIMD in C
++ 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. +
+ +-
+
- RaylibSIMD Repository github.com/doy-lee/RaylibSIMD +
- Raylib Website raylib.com +
2017
+DTRenderer, 3D software rendering from first principles
++ 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) +
-
+
- DTRenderer repository github.com/doy-lee/DTRenderer +
2017
+Math Masher, Educational math game for mobile
++ 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++. + + My role in the project is as the lead developer and + assisting role with asset design. +
+-
+
- 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) +
-
+
- Math Masher website (archive copy) doy-lee.github.io/luneaustralia +
- Trailer youtube.com/watch?v=AUozUZ8aY7g +
2017
+DCHIP8, Chip8 interpreter
++ 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 +
-
+
- DCHIP8 repository github.com/doy-lee/dchip-8 +
- Specification Sheet devernay.free.fr/hacks/chip8/C8TECH10.HTM +
2016
+Dengine, Simple 2D game engine for asteroids & minimal dependencies
++ 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 +
-
+
- Dengine repository github.com/doy-lee/dengine +