the portfolio

things i've built. some finished, some abandoned, all of them mine.

lead projectC
nyx
the whole machine, from bootloader to desktop

a 64-bit operating system written from scratch for x86. it boots itself through BIOS or UEFI, talks to real hardware and the internet, and runs a desktop whose programs are isolated ring 3 processes.

what it does

  1. boots itself from disc or USB through BIOS and UEFI
  2. enters 64-bit long mode and starts the machine's other processors
  3. drives the framebuffer, PS/2 input, AHCI and ATA disks
  4. keeps directories and crash-safe files on a FAT16 disk
  5. speaks DHCP, DNS, ICMP, UDP, TCP and HTTP
  6. preempts tasks and blocks them without wasting processor time
  7. loads ELF programs into isolated ring 3 address spaces
  8. runs a compositing desktop with a terminal, paint and settings
  9. ships as a bootable ISO and a self-contained Windows launcher

spec

target
64-bit x86
boots
BIOS and UEFI
written
C and assembly
size
about 12,300 lines
depends
nothing. no libc or runtime
tests
174 self-tests, 183 with SMP
licence
MIT
open on github cassemblyx86-64kernelosdevuefi
pikeTypeScript a regex engine that cannot be made to backtrack catastrophically. thompson NFA and a pike VM, checked against v8 on two million generated cases. v8 gives up at 28 characters, this one does 100,000 typescriptregexnfa larry likes to driveGDScript a tiny retro-3D kart racer for linux. tux and a few other open-source mascots race a low-poly oval, PS1 style. three laps, first place wins. named after larry ewing, who drew tux godotgamelinux gitfessionPython digs through your git history for everything you were hoping nobody would notice. scans every commit diff for keys, creds, tokens and passwords. standard library only pythonsecuritygit leechPython rips every scrap of metadata out of an image and tries to work out where it was taken. standard library only pythonexifforensics veilC# a minimal wireguard client for windows. no account, no telemetry, no tray icon nagging you. c#wireguardwindows jotC# a minimal notepad for windows that never loses what you typed. c#windows punt.inkHTML four photos, taken months apart, none of them mine to explain. no name attached htmlphotography