Skip to content
View johnholloway77's full-sized avatar

Block or report johnholloway77

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
johnholloway77/README.md

John Holloway

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.

What I build

  • 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, and cp implementations 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.

What I run

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.

Currently

  • 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

Pinned Loading

  1. unix-http-server unix-http-server Public

    A simple POSIX compatible cross platform webserver

    C

  2. oxideBingo oxideBingo Public

    Silly little oxide bingo card generator web app

    TypeScript 4 2

  3. unix-cp-implementation unix-cp-implementation Public

    Homework assignment 2 for the class CS631 Advanced Programming in the Unix Environment

    C

  4. unix-ls-implementation unix-ls-implementation Public

    ls clone for the class CS361 Advanced Programming in the UNIX Environment taught by Jan Schaumann

    C

  5. unix-shell unix-shell Public

    A small project to build a basic shell, mostly to refresh my C skills

    C