Projects

C4 OS

Based on an L4-like microkernel, with an emphasis on portability and flexibility.

The successor to Helix OS, a full microkernel system with a capability-based syscall API exposed to userland. Despite being largely unoptimized, IPC overhead is only about 1000 cycles per message. Currently supports:
  • ext2 file systems
  • VESA framebuffers, as provided by the bootloader
  • IDE hard drives
  • PS/2 keyboards
  • A useful standard library and libc
  • Entirely userland drivers
  • (Soon) SMP


View on github

Nscheme

The successor to gojira, a fast, flexible r7rs scheme which does JIT compilation to subroutine-threaded code. Designed to be very thread-friendly in anticipation of building an erlang-like distributed platform library on top of it.
View on github

Nihttpd

A thread-based http server written in c++. Features router-based plugins, GET parameter parsing, and phone-friendly directory listing.
View on github

BBS message board thing

A very minimal message board written in python, using flask and sqlite. Only about 300 lines of code, but supports user board creation, thread bumping, user-specified names, and (not implemented yet, but would be trivial) moving threads between boards.
View on github

Helix OS

A modular unix-like operating system targeting x86.

Abandoned at this point in favor of C4-OS. This has some neat things though, particularly an in-kernel dynamic linker for loading modules, the ability to load programs from the filesystem, and basic framebuffer support with a userland display manager.

View on github

Gojira

A scheme-like lisp interpreter with some concepts from clojure and common lisp mixed in.
Mostly abandoned at this point in favor of nscheme.

View on github

Schemecc

An R7RS scheme compiler written in Gojira lisp. Also happens to be the largest piece of code written in it.

View on github

Cereal

A UART serial library for debugging on Atmel attiny*5 microcontrollers.

View on github