💻️✝️
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 usingvibe-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
- IRC network running on
- 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.
Contact information and links
- 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