💻️✝️

Tristan B. Kildaire


Introduction

My name is Tristan B. Kildaire, I'm a BSc Mathematics (Computer Science) graduate from the University of Stellenbosch currently enrolled my honours program at the same university. My interests revolve around systems-level software such as kernels, linking-loaders, file-systems, compilers and networking. Along with this an interest in low-level programming languages such as assembly and C. Many of my personal projects reflect this along with the roles I played in the team-based university projects. I'm a committed worker who does more than his fair share and I enjoy helping people learn. I'm a supportive friend and most importantly, always try to put a smile on peoples' faces.

I'm open-minded and always enjoy discussing interesting topics, especially geopolitics. I'm a fan of 80s music.


Skills

Programming

Languages

Language Proficiency (out of 5)
C ⚫️⚫️⚫️⚫️⚪️
x86 Assembly ⚫️⚫️⚫️⚫️⚪️
D ⚫️⚫️⚫️⚫️⚪️
Java ⚫️⚫️⚫️⚫️⚪️
Python ⚫️⚫️⚫️⚪️⚪️
Forth ⚫️⚪️⚪️⚪️⚪️
Scratch ⚫️⚫️⚫️⚫️⚫️

Tooling

Tooling for software development such as compilers, debuggers etc.

  • OS: Linux, Plan9, Windows
  • Debugging/compilation: GDB, Valgrind, NASM, GCC, Clang
  • Others: Bash
  • Databases: Redis
  • Others: Git, OOP, Database design, Algorithmns, Algorithmic complexity (Big O), Concurency, Problem solving, Relational databases
  • Concurrency: Threading, memory safety (mutexes, semaphores), mutex starvation

Networking

All my networking skills.

  • Stacks: IPv4, IPv6
  • Linux networking: Usage of tools such as ifconfig, route, ip, arp, NetworkManager, nmtui, nmcli
  • Networking suites: BIRD Internet Routing Daemon, Mikrotik RouterOS (WinBox proficient, can use CLI)
  • Dynamic routing protocols: OSPFv3, Babel, RIPng, Static routing
  • Mesh things: batman-advanced
  • Tunneling protocols: Wireguard, GRE, GREV6, Ethernet-over-IP (EOIP) (RouterOS), Fastd
  • Others: Radv (prefix-routes-dns announcement)

Projects

Univeristy projects

All of these projects are intellectual property of Universiteit Stellenbosch, on interview I may demo it on my laptop but I cannot provide source code.

Second year

  • Brainfuck interpreter
    • x86 assembly based brainfuck interpreter
    • Supported all of brainfuck (loops, conditionals, inc/dec, etc.) could even run brainfuck interpreter written in brainfuck inside of mine
    • Add bonus feature not required, dynamic tape resizing with mmap/mremap
  • ALAN Compiler
    • Wrote a compiler in C for the ALAN language (made up language)

Third year

These were all group projects.

  • NATBox
    • Simulates a NAT router
    • Complete with DHCP IP allocation, Ethernet switch emulation, ARP emulation, routing table and forwarding, NAT translator
    • Replicates packet formats as they are specified in RFCs
    • Did the majority of this project, including all of the above, project member just did some of the encoding formats
  • Other networking projects:
    • File transfer program
    • Chat client with multiple clients
    • VOIP client - worked on the signalling (not the voice transfer itself)
  • OnPoint
    • Third year project to make a website where you could (TODO: Add this?)
    • Worked on D-based backend using vibe-d to provide API for frontend (written in Vue by other teammates)
    • Did database interaction with ddbc
    • Did token-based session authentication with redis

My own projects

More projects and information relating to them on my website and blog (link at end).

Current projects

  • DNET
    • Chat software complete with its own binary protocol, client-side API library, server-side software, text-based client and a GTK3+ graphical client
  • Butterfly
    • JSON-based email-like replacement combining SMTP-like/IMAP-like behaviour under one protocol and supporting inter-server mail exchange along with client-server authentication
    • Terminal client available named skoenlapper
  • Tristanable
    • Tagged queue filtering library useful for systems where multiple threads share one socket and the data must be dequeued to the respective threads
  • CRXN
    • An IPv6 inter-network similar to dn42 spanning Russia, South Africa, Middle East and Europe using various different tunneling protocols (fastd, wireguard, GRE) and dynamic routing protocols (babel, OSPFv3)
    • Multiple services running such as HTTP, IRC, DNS
  • BNET
    • IRC network running on unrealircd running over CRXN, Yggdrasil, Lokinet, clearnet (normal internet) and more
    • Roughly 7 servers interlinked in various ways
    • Spanning the United States, Germany, South Africa, Russia
    • Growing userbase, relatively active
  • Eventy
    • Event and signalling library for DLang
    • Provides basic event-loop hooking capabilities (signal handlers and event-insertion)
  • dlog
    • Simple but modular logging library for DLang
  • t
    • My very own programming language
    • Working lexer, parser, dependency generator (with linersiation)
    • Type checking and code generation currently in it's infancy
    • Complete with integrated unit tests
  • sweatyballs
    • Next-hop routing algorithmn complete with forwarding (with TTLs), acceptance and sending
    • Uses protocol buffers
    • Tested it with real machines and it works!
    • Currently integrating libtun and cryptography into it to provide security
  • RedNET
    • Toy layer3 protocol - in C. 64 bit addresses, subnet-based routing.

Older projects

  • Bester
    • Federated/distributed JSON message processor
    • Put in data into server, multiple-chained message processors manipulate it then spit it back out to client, or another server for further processing (see blog)

Languages

  • English
  • Afrikaans
  • French
    • Delf A1 and A2 certified

Education

  • School: Bridge House School
  • School sports: hockey

Interesting things

  • Religion: R/catholic, confirmed.
  • Criminal record: none
  • Travels: USA (extensive), UK, Russia, turkey, France, Spain, Portugal (extensive), Mauritius, Amsterdam, Italy.

  • GitHub: github.com/deavmi
  • Email/Matrix: deavmi@disroot.org
  • LinkedIn: Tristan B. Kildaire (TODO)
  • Phone: 0727299513
  • Website: http://deavmi.assigned.network
  • This CV: http://deavmi.assigned.network/cv
  • Addresses
    • Home: 44 Drommedaris Crescent, Worcester, WC, ZA
    • University: CampusKey Giallog, Banghoek, Stellenbosch, WC, ZA
  • Date-of-birth: 25th Aug 1999.
  • Citizenship: EU/Portuguese citizen (can work anywhere in EU), South African.
  • ID: On request