Computer science student and Unix systems programmer in Calgary, working mostly with C, FreeBSD, and other Unix systems. I like understanding how things work underneath: sockets, schedulers, filesystems, hypervisors.
- simple_web_server: a portable HTTP server in C built around non-blocking I/O and
poll(), CI-tested across FreeBSD, Linux, NetBSD, OpenBSD, macOS, and illumos. I use it to experiment with HTTP parsing, event-driven design, portability, profiling, and performance. - Unix programming:
ls, shell, andcpimplementations written for Jan Schaumann's Advanced Programming in the UNIX Environment course (LS_Midterm). - FreeBSD kernel modules: experiments with kernel programming,
MALLOC_DEFINE, UMA zones, and memory lifecycle. - oxideBingo: a TypeScript bingo card generator for Oxide and Friends listeners.
My homelab is built primarily around FreeBSD: ZFS storage, bhyve VMs, Bastille jails, WireGuard, pf, NFS/iSCSI, and 40GbE networking.
I also administer production infrastructure and a mail stack for a small business, including system upgrades and recovery, DNS, spam filtering, backups, and general Unix administration.
- Refactoring and extending my HTTP server's parser and connection state machine
- Exploring orchestration for FreeBSD jails
- Writing about systems programming and things I learn at jholloway.dev
Stack: C · FreeBSD · illumos · Linux · ZFS · DTrace · pf · WireGuard · Git · GitHub Actions


