2023-02-14 13:13:00 +00:00
<!doctype html>
< html lang = en-us >
2017-03-13 02:38:50 +00:00
< head >
2023-02-14 13:13:00 +00:00
< style >
html {
font-family: sans-serif;
font-size: 10pt;
2023-02-15 13:37:29 +00:00
color: rgba(2, 2, 41, 1);
}
a {
text-decoration: none;
color: rgba(2, 2, 41, 1);
background-color: rgba(0, 0, 0, 0.07)
}
a:visited {
color: rgba(2, 2, 41, 0.75);
}
a:hover {
color: rgba(2, 2, 41, 1);
background-color: rgba(0, 0, 0, 0.3)
2023-02-14 13:13:00 +00:00
}
body {
2023-02-15 13:37:29 +00:00
margin: 2rem 2rem;
max-width: 80ch;
background: #fbfbfd;
2023-02-14 13:13:00 +00:00
}
h1,
h2,
h3,
h4,
h5,
h6 {
padding: 0;
margin: 0;
}
p {
2023-02-15 13:37:29 +00:00
margin: 0.75em 0;
}
section {
margin-top: 0.5em;
margin-bottom: 0.5em;
2023-02-14 13:13:00 +00:00
}
.divider {
2023-02-15 13:37:29 +00:00
height: 0.1rem;
width: 100%;
background: #020229;
}
.contact-links: {
margin-bottom: 0.5em;
}
.citations {
border-radius: 0.2em;
padding: 0.5em;
color: rgba(0, 0, 0, 0.8);
border-style: dotted;
border-color: rgba(0, 0, 0, 0.07);
}
.contact-row {
display: flex;
flex-direction: row;
}
.contact-row p {
margin: 0;
padding: 0;
}
.contact-row-key {
width: 9ch;
2023-02-14 13:13:00 +00:00
}
.job-role {
2023-02-15 13:37:29 +00:00
display: flex;
flex-direction: row;
border-left: 0.3em;
border-right: 0;
border-top: 0;
border-bottom: 0.1em;
border-style: solid;
padding-bottom: 0.6em;
padding-left: 0.4em;
background-color: rgba(0,0,0,0.03);
2023-02-14 13:13:00 +00:00
}
ul {
2023-02-15 13:37:29 +00:00
list-style: none;
padding: 0;
2023-02-14 13:13:00 +00:00
}
.job-role p {
2023-02-15 13:37:29 +00:00
margin-bottom: 0;
font-weight: bold;
2023-02-14 13:13:00 +00:00
}
.job-role-year {
2023-02-15 13:37:29 +00:00
width: 13ch;
}
.title-note {
font-size: 1.4rem;
font-style: normal;
font-family: monospace;
vertical-align: middle;
}
.favicon {
width: 1em;
height: 1em;
vertical-align: text-bottom;
}
.milestones {
list-style: circle;
font-size: 1rem;
margin-left: 1.5rem;
2023-02-14 13:13:00 +00:00
}
< / style >
2017-03-13 02:38:50 +00:00
< / head >
2023-02-14 13:13:00 +00:00
< body >
< header >
2023-02-15 13:37:29 +00:00
< div style = "" >
< h1 > < a href = "https://cv.doylet.dev" > doy< u style = "text-decoration: none; color: #6BBAE4" > -< / u > lee < em class = title-note > // TODO: Doyle T.< / em > < / a > < / h1 >
2023-02-14 13:13:00 +00:00
< p > G'day, I'm a software developer that enjoys low-level programming.< / p >
< / div >
2023-02-15 13:37:29 +00:00
< div class = divider style = "margin-bottom: 0.5em" > < / div >
2023-02-14 13:13:00 +00:00
< / header >
2017-03-13 02:38:50 +00:00
< main >
2023-02-14 13:13:00 +00:00
< section aria-label = "Contact Links" >
2023-02-15 13:37:29 +00:00
< div class = contact-row >
< p class = contact-row-key > Print Me!< / p >
< p > < a href = "doylet.dev/doylet_cv.pdf" > doylet.dev/doylet_cv.pdf< / a > < / p >
< / div >
< div class = contact-row >
< p class = contact-row-key > Email< / p >
< p > < a href = "cv.doylet.2380i@simplelogin.com" > cv.doylet.2380i@simplelogin.com< / a > < / p >
< / div >
< div class = contact-row >
< p class = contact-row-key > GitHub< / p >
< p > < a href = "https://github.com/doy-lee" > https://github.com/doy-lee< / a > < / p >
< / div >
2023-02-14 13:13:00 +00:00
< / section >
2023-02-15 13:37:29 +00:00
< section aria-label = "Work" >
< h2 > Work< / h2 >
< div class = divider style = "margin-bottom: 0.5em" > < / div >
2017-03-13 02:38:50 +00:00
< div >
2023-02-15 13:37:29 +00:00
< div class = job-role style = "border-color: #C16358" >
2023-02-14 13:13:00 +00:00
< p class = job-role-year > 2022 - Present< / p >
2023-02-15 13:37:29 +00:00
< p > C++ Senior Software Engineer, Agent Orientated Software < img class = favicon src = "aos-favicon.ico" > (AI)< / p >
2023-02-14 13:13:00 +00:00
< / div >
2023-02-15 13:37:29 +00:00
< div class = job-role style = "border-color: #BEBF5E" >
2023-02-14 13:13:00 +00:00
< p class = job-role-year > 2020 - 2022< / p >
2023-02-15 13:37:29 +00:00
< p > C++ Software Engineer, Agent Orientated Software < img class = favicon src = "aos-favicon.ico" > (AI)< / p >
2023-02-14 13:13:00 +00:00
< / div >
2023-02-15 13:37:29 +00:00
< sub > < i > C++17, CMake, Docker, DDS+Kafka (distribution), discrete event simulators (game engine-esque)< / i > < / sub >
2023-02-14 13:13:00 +00:00
< p >
2023-02-15 13:37:29 +00:00
AOS creates creating trustable and explainable
AI using < i > multi-agent systems< / i > with the cognitive
framework, < i > Beliefs, Desires and Intentions< / i > (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.
2023-02-14 13:13:00 +00:00
< / p >
2023-02-15 13:37:29 +00:00
< ul class = milestones >
< li > Coordinating multiple toolchain upgrades of our in-house AI frameworks, end-to-end< / li >
< li > Added virtual-memory backed allocators for cache locality, reduced syscalls and memory profiling< / li >
< li > Co-implement protocol to distribute agents onto different routing technologies (DDS & Kafka)< / li >
< li > Responsible for the docs website with APIs & manuals, end-to-end for production releases< / li >
< li > Implement multiple discrete event simulators for verification of agent behaviours< / li >
< li > Documenting best practices, patterns and tutorials for designing effective multi-agent systems< / li >
< li > 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.< / li >
< / ul >
< small >
< ul class = citations >
< li > Agent Orientated Software < a href = "https://aosgrp.com" > aosgrp.com< / a > < / li >
< / ul >
< / small >
< / div >
< div >
2017-03-13 02:38:50 +00:00
< / div >
2023-02-14 13:13:00 +00:00
< div >
2023-02-15 13:37:29 +00:00
< div class = job-role style = "border-color: #8DBCA2" >
2023-02-14 13:13:00 +00:00
< p class = job-role-year > 2018 - 2020< / p >
2023-02-15 13:37:29 +00:00
< p > C++ Software Engineer, Oxen < img class = favicon src = "oxen-favicon-32x32.png" > (Blockchain)< / p >
2023-02-14 13:13:00 +00:00
< / div >
2023-02-15 13:37:29 +00:00
< sub > < i > C++14, Boost, CMake, Docker, Android+Windows+Mac+Linux clients, Qt5, Monero Cryptonote & EPEE Levin P2P Protocol, Open Source Maintainer (Oxen), Libsodium (EC Cryptography)< / i > < / sub >
2023-02-14 13:13:00 +00:00
< p >
Oxen is a non-for-profit, open-source company developing
2023-02-15 13:37:29 +00:00
privacy protocols and tools. I
implemented[< a href = "#oxen-git-commits" > 1< / a > ]
2023-02-14 13:13:00 +00:00
a decentralized layer of servers known as the Service
2023-02-15 13:37:29 +00:00
Node[< a href = "#oxen-service-nodes" > 2< / a > ] 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[< a href = "#oxen-checkpointing" > 3< / a > ] and
a commit-reveal scheme known as
Pulse[< a href = "#oxen-pulse#" > 4< / a > ].
2023-02-14 13:13:00 +00:00
< / p >
< p >
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.
< / p >
2023-02-15 13:37:29 +00:00
< ul class = milestones >
< li > Rapidly learning & upskilling as their first developer in the startup to form a development methodology and hiring practices< / li >
< li > Implement a resilient server layer over new P2P gossip protocols: node de/registration & rewards, service metrics & voting< / li >
< li > Form immutable checkpoints to secure blocks using shared consensus to provide faster finalization of transfers on the network< / li >
< li > Create an on-chain DNS registry to map cryptogaphic keys to human readable aliases (e.g. Lokinet domains, Oxen wallets and Session aliases)< / li >
< li > 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< / li >
< li > Ownership of release process (build/package/distribute) end to end.< / li >
< li > Patching of 0-days and exploits & recovering from consensus failure on a live production network< / li >
< li > Improved the test framework for including re-write of Monero's framework and adding integration tests using IPC over named pipes< / li >
2017-03-13 02:38:50 +00:00
< / ul >
2023-02-15 13:37:29 +00:00
< small >
< ul class = citations >
< li > Oxen Website < a href = "https://oxen.io" > oxen.io< / a > < / li >
< li id = "oxen-git-commits" > [1] Git Commits < a href = "https://github.com/oxen-io/oxen-core/pulls?q=is%3Apr+author%3Adoy-lee+is%3Aclosed+" > github.com/oxen-io/oxen-core/pulls?q=is%3Apr+author%3Adoy-lee+is%3Aclosed< / a > < / li >
< li id = "oxen-service-nodes" > [2] Service Nodes < a href = "https://oxen.gitbook.io/oxen-docs/about-the-oxen-blockchain/oxen-service-nodes" > oxen.gitbook.io/oxen-docs/about-the-oxen-blockchain/oxen-service-nodes< / a > < / li >
< li id = "oxen-checkpointing" > [3] Checkpointing < a href = "https://github.com/oxen-io/oxen-improvement-proposals/blob/master/LIPS/LIP-3.md" > github.com/oxen-io/oxen-improvement-proposals/blob/master/LIPS/LIP-3.md< / a > < / li >
< li id = "oxen-pulse" > [4] Pulse < a href = "https://github.com/oxen-io/oxen-improvement-proposals/blob/master/LIPS/LIP-5.md" > github.com/oxen-io/oxen-improvement-proposals/blob/master/LIPS/LIP-5.md< / a > < / li >
< / ul >
< / small >
2017-03-13 02:38:50 +00:00
< / div >
2023-02-14 13:13:00 +00:00
< div >
2023-02-15 13:37:29 +00:00
< div class = job-role style = "border-color: #519A8B" >
2023-02-14 13:13:00 +00:00
< p class = job-role-year > 2017 - 2017< / p >
2023-02-15 13:37:29 +00:00
< p > C++ Intern Software Engineer, Wargaming Sydney < img class = favicon src = "wargaming-favicon.ico" > (Game Dev)< / p >
2017-03-13 02:38:50 +00:00
< / div >
2023-02-14 13:13:00 +00:00
< p >
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.
< / p >
2023-02-15 13:37:29 +00:00
< small >
< ul class = citations >
< li > Wargaming Sydney < a href = "https://wargaming.com/" > wargaming.com< / a > < / li >
< / ul >
< / small >
2017-03-13 02:38:50 +00:00
< / div >
2023-02-14 13:13:00 +00:00
< div >
2023-02-15 13:37:29 +00:00
< div class = job-role style = "border-color: #DBAE55" >
2023-02-14 13:13:00 +00:00
< p class = job-role-year > 2014 - 2017< / p >
2023-02-15 13:37:29 +00:00
< p > B. Computer Science, University of New South Wales < img class = favicon src = "unsw-icon-192x192.png" > < / p >
2017-03-13 02:38:50 +00:00
< / div >
2023-02-15 13:37:29 +00:00
< small >
< ul class = citations >
< li > UNSW < a href = "https://unsw.edu.au" > unsw.edu.au< / a > < / li >
< / ul >
< / small >
2017-03-13 02:38:50 +00:00
< / div >
2023-02-14 13:13:00 +00:00
< / section >
< / main >
< / body >
2017-03-13 02:38:50 +00:00
< / html >