Projects

C4 OS

A practical full microkernel-based system, with an emphasis on portability and flexibility.

The successor to Helix OS, this is based on the C4 microkernel, an L4-like kernel. The userland syscall API is capability-oriented, heavily inspired by seL4. And, despite being large unoptimized, IPC overhead is only about 1000 cycles per message. Currently has:
  • A compositing display manager
  • Entirely userland drivers
  • PS/2 keyboards and mice
  • ext2 file systems
  • VESA framebuffers, as provided by the bootloader
  • IDE hard drives
  • A useful standard library and libc
  • (Soon) SMP
And it runs on real hardware!

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