diff --git a/aos-favicon.ico b/aos-favicon.ico new file mode 100644 index 0000000..1a999ff Binary files /dev/null and b/aos-favicon.ico differ diff --git a/index.html b/index.html index da7725a..b705ea2 100644 --- a/index.html +++ b/index.html @@ -5,13 +5,28 @@ html { font-family: sans-serif; font-size: 10pt; - color: #020229 + 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; + margin: 2rem 2rem; + max-width: 80ch; + background: #fbfbfd; } h1, @@ -25,94 +40,176 @@ } p { - margin: 0.75em 0; + margin: 0.75em 0; + } + + section { + margin-top: 0.5em; + margin-bottom: 0.5em; } .divider { - height: 0.1rem; - width: 100%; - background: #020229; + 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; + 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; + list-style: none; + padding: 0; } .job-role p { - margin-bottom: 0; + margin-bottom: 0; + font-weight: bold; } .job-role-year { - width: 13ch; + 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; }
-
-

Doyle T.

+
+

doy-lee // TODO: Doyle T.

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

+
-

Links

-
- +
+

Print Me!

+

doylet.dev/doylet_cv.pdf

+
+ +
-
-

Tenure

-
+
+

Work

+
-
+

2022 - Present

-

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

+

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

-
-
-
+

2020 - 2022

-

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

+

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

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

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

-

+ 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++ 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 + privacy protocols and tools. I + implemented[1] a decentralized layer of servers known as the Service - Node[1] 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[2] and a commit-reveal scheme known - as Pulse[3]. + 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 @@ -120,28 +217,52 @@ facilitate a privacy preserving onion routing network, Lokinet, and, a privacy preserving messenger, Session.

-
-
+

2017 - 2017

-

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

+

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

+

B. Computer Science, University of New South Wales

+ + +
diff --git a/oxen-favicon-32x32.png b/oxen-favicon-32x32.png new file mode 100644 index 0000000..c87c743 Binary files /dev/null and b/oxen-favicon-32x32.png differ diff --git a/unsw-icon-192x192.png b/unsw-icon-192x192.png new file mode 100644 index 0000000..89d6081 Binary files /dev/null and b/unsw-icon-192x192.png differ diff --git a/wargaming-favicon.ico b/wargaming-favicon.ico new file mode 100644 index 0000000..f661200 Binary files /dev/null and b/wargaming-favicon.ico differ