Computer Science (a journey)

2022

I took a few computer and network security courses, made a game* and an ar app, and decided to pursue a master's degree in security


*If you want to try it, download this, unzip it, and run either renpy.exe or renpy-32.exe. Once in the app, click "Heartwood.app," then "Launch Project."

All the images are screenshots from the game. I'd put images of security work, too, but terminals, Chrome dev tools, gdb, Wireshark, etc. just aren't as pretty. They were fun, though, and the feeling of getting a root shell after hours of trying to exploit a buffer overflow is unmatched :')


2020

I took Computer Systems from the Ground Up and learned the fundamentals of computer systems through bare metal programming on the Raspberry Pi.


Left: my breadboard while working on the clock application. Right: some spirographs the amazing Lauren Saue-Fletcher made using the graphics and interrupts libraries.

We started from below C level, learning assembly code and hardware basics and implementing a Larson Scanner with it. I then tackled a clock, a string formatting library, backtrace, and malloc. Next I added a PS/2 keyboard to the hardware and coded a shell, a graphics library and console, and a system monitor with interrupts. Along the way, I also got to practice Git, gdb debugging, and using Makefiles. Started from the bit, now we're here.


2019

i mostly just took data structures courses. i did code some fun stuff for virtual reality though.


2018

i wrote my first line of code and a few months later made my own text adventure game. it's still the programming project i'm most proud of.


2017

i visited the computer history museum in cambridge, uk. i played a text adventure game (spycatcher) on an acorn archimedes and turned a 30-minute visit into a 4-hour one.