doylet.dev/index.html

271 lines
12 KiB
HTML

<!doctype html>
<html lang=en-us>
<head>
<style>
html {
font-family: sans-serif;
font-size: 10pt;
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)
}
body {
margin: 2rem 2rem;
max-width: 80ch;
background: #fbfbfd;
}
h1,
h2,
h3,
h4,
h5,
h6 {
padding: 0;
margin: 0;
}
p {
margin: 0.75em 0;
}
section {
margin-top: 0.5em;
margin-bottom: 0.5em;
}
.divider {
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;
}
.job-role {
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);
}
ul {
list-style: none;
padding: 0;
}
.job-role p {
margin-bottom: 0;
font-weight: bold;
}
.job-role-year {
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;
}
</style>
</head>
<body>
<header>
<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>
<p>G'day, I'm a software developer that enjoys low-level programming.</p>
</div>
<div class=divider style="margin-bottom: 0.5em"></div>
</header>
<main>
<section aria-label="Contact Links">
<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>
</section>
<section aria-label="Work">
<h2>Work</h2>
<div class=divider style="margin-bottom: 0.5em"></div>
<div>
<div class=job-role style="border-color: #C16358">
<p class=job-role-year>2022 - Present</p>
<p>C++ Senior Software Engineer, Agent Orientated Software <img class=favicon src="aos-favicon.ico"> (AI)</p>
</div>
<div class=job-role style="border-color: #BEBF5E">
<p class=job-role-year>2020 - 2022</p>
<p>C++ Software Engineer, Agent Orientated Software <img class=favicon src="aos-favicon.ico"> (AI)</p>
</div>
<sub><i>C++17, CMake, Docker, DDS+Kafka (distribution), discrete event simulators (game engine-esque)</i></sub>
<p>
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.
</p>
<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>
</div>
<div>
<div class=job-role style="border-color: #8DBCA2">
<p class=job-role-year>2018 - 2020</p>
<p>C++ Software Engineer, Oxen <img class=favicon src="oxen-favicon-32x32.png"> (Blockchain)</p>
</div>
<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>
<p>
Oxen is a non-for-profit, open-source company developing
privacy protocols and tools. I
implemented[<a href="#oxen-git-commits">1</a>]
a decentralized layer of servers known as the Service
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>].
</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>
<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>
</ul>
<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>
</div>
<div>
<div class=job-role style="border-color: #519A8B">
<p class=job-role-year>2017 - 2017</p>
<p>C++ Intern Software Engineer, Wargaming Sydney <img class=favicon src="wargaming-favicon.ico"> (Game Dev)</p>
</div>
<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>
<small>
<ul class=citations>
<li>Wargaming Sydney <a href="https://wargaming.com/">wargaming.com</a></li>
</ul>
</small>
</div>
<div>
<div class=job-role style="border-color: #DBAE55">
<p class=job-role-year>2014 - 2017</p>
<p>B. Computer Science, University of New South Wales <img class=favicon src="unsw-icon-192x192.png"></p>
</div>
<small>
<ul class=citations>
<li>UNSW <a href="https://unsw.edu.au">unsw.edu.au</a></li>
</ul>
</small>
</div>
</section>
</main>
</body>
</html>