the portfolio

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

lead projectC
zelr
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 the internet over its own TCP/IP and TLS, and runs a desktop of isolated ring 3 programs — one of them a web browser.

what it does

  1. boots itself from disc or USB through BIOS and UEFI
  2. enters 64-bit long mode and starts every processor the firmware describes
  3. routes its interrupts through the IOAPIC and drives the framebuffer
  4. finds NVMe, SATA or ATA disks and reads the GPT on them
  5. keeps directories and crash-safe files on FAT16 and FAT32
  6. takes input from PS/2, USB and a trackpad
  7. speaks DHCP, DNS, ICMP, UDP, TCP and HTTP, and WPA2 over wifi
  8. opens https with its own TLS 1.3, checked against its own root store
  9. preempts tasks and blocks them without wasting processor time
  10. loads ELF programs into isolated ring 3 address spaces
  11. runs a compositing desktop of eleven programs, one of them a web browser
  12. 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 119,500 lines, 79,800 hand-written
depends
nothing. no libc or runtime
tests
552 self-checks, none failing
licence
GPL-3.0-or-later
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