website/src/components/home/About.astro (4961B)
--- // About me, with experience as the output of git log --graph (src/scripts/home/gitlog.js colours it and expands commits). import Buffer from "../frame/Buffer.astro"; import "../../styles/home/about.css"; --- <Buffer id="about" file="whoami.pdf" mode="PDFView" meta="revised June 2026"> <h2 class="h2">About me</h2> <p class="prose">I study computer science at Stellenbosch University, and I’ve been a teaching assistant for introductory computer science and for computer architecture. I like knowing what’s going on underneath the code I write, right down to the logic gates, and I like the maths behind it too. I’m happiest when I get to build something myself, and so far that’s been a scheduler, a compiler and an 8-bit computer on breadboards. Outside of all that, I’m a linguistics nerd and I’m into cars.</p> {/* Experience, as the one-line git log that would print it: "<date> - (refs) <subject> <author>". data-lanes colours each graph character by branch: m main, u undergrad, t teaching-assistant, b bbd-software, i mwr-internship (the colours are set in src/styles/home/about.css). data-cont is the graph that continues below a commit, and a .gl-desc becomes its expandable description. data-branch colours the date; data-tip makes the * bold for a branch that's still going; data-today swaps in the current month when the page loads. Without JavaScript this shows as plain text. */} <h3 class="ds-h gitlog-cmd"><span class="prompt" aria-hidden="true">$ </span>git log --graph --all --color \ --date=format:'%Y-%m' \ --format='%ad -%C(auto)%d%C(reset) %s %C(blue)<%an>%C(reset)'</h3> <div class="gitlog" aria-label="Experience, newest first"> <div class="gl-line" data-lanes=" b u t " data-cont="| | | | " data-cont-lanes="m b u t " data-branch="m" data-tip data-today>* | | | 2026-10 - (HEAD -> main)</div> <div class="gl-line" data-lanes="m u t " data-cont="| | | | " data-cont-lanes="m b u t " data-branch="b" data-tip>| * | | 2026-06 - (bbd-software) Vac Week 2026 <BBD Software><div class="gl-desc">Built an online foosball game: players steer the rods by tilting their phones, using the gyroscope. Designed and presented as a full-stack web app with a small team.</div></div> <div class="gl-line" data-lanes="m b u " data-cont="| | | | " data-cont-lanes="m b u t " data-branch="t" data-tip>| | | * 2026-06 - (teaching-assistant) Teach computer architecture as a TA <Stellenbosch University></div> <div class="gl-line" data-lanes="m b u t">| | | |</div> <div class="gl-line" data-lanes="m b u " data-cont="| | | | " data-cont-lanes="m b u t " data-branch="t">| | | * 2026-02 - Teach introductory computer science as a TA <Stellenbosch University></div> <div class="gl-line" data-lanes="m u t " data-cont="| | | | " data-cont-lanes="m b u t " data-branch="b">| * | | 2025-06 - Vac Week 2025 <BBD Software><div class="gl-desc">Built an online laser tag game: computer vision finds players in the camera feed and tags them. Designed and presented as a full-stack web app with a small team.</div></div> <div class="gl-line" data-lanes="m b u t">| | | |</div> <div class="gl-line" data-lanes="m u t " data-cont="| | | | " data-cont-lanes="m b u t " data-branch="b">| * | | 2025-01 - Join BBD Software as a bursar <BBD Software><div class="gl-desc">Part of the Bursary & Beyond Programme, which includes the yearly Vac Weeks.</div></div> <div class="gl-line" data-lanes="mb u t">|/ | |</div> <div class="gl-line" data-lanes="m u t">| | |</div> <div class="gl-line" data-lanes="mi u t">|\ | |</div> <div class="gl-line" data-lanes="m u t " data-cont="| | | | " data-cont-lanes="m i u t " data-branch="i">| * | | 2024-12 - (mwr-internship) Complete a cybersecurity consultant internship <MWR CyberSec><div class="gl-desc">- Completed cybersecurity training with labs on TryHackMe. - Assessed a web application end to end, documenting each vulnerability with its risk and how to fix it. - Wrote a professional report and presented it, client-style, to a panel of industry professionals.</div></div> <div class="gl-line" data-lanes="mi u t">|/ | |</div> <div class="gl-line" data-lanes="m ut">| |/</div> <div class="gl-line" data-lanes="m " data-cont="| | " data-cont-lanes="m u " data-branch="u" data-tip>| * 2024-01 - (undergrad) Start an undergraduate degree in computer science <Stellenbosch University></div> <div class="gl-line" data-lanes="m u">| /</div> <div class="gl-line" data-lanes="mu">|/</div> <div class="gl-line" data-lanes=" " data-cont=" " data-cont-lanes=" " data-branch="m">* 2005-06 - Initial commit <Michael Neuper></div> </div> <p class="gitlog-hint dim">Click an underlined commit message to read the rest of it.</p> </Buffer> <script> import { initGitlog } from "../../scripts/home/gitlog.js"; initGitlog(); </script>