website

Personal website
git clone https://github.com/michaelneuper/website.git
README | Files | Log | Refs

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)&lt;%an&gt;%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 -&gt; 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 &lt;BBD Software&gt;<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 &lt;Stellenbosch University&gt;</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 &lt;Stellenbosch University&gt;</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 &lt;BBD Software&gt;<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 &lt;BBD Software&gt;<div class="gl-desc">Part of the Bursary &amp; 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 &lt;MWR CyberSec&gt;<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 &lt;Stellenbosch University&gt;</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 &lt;Michael Neuper&gt;</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>