Projects
[ Chris Fallin ]
This is a lot of really old, outdated stuff from undergrad or before.
As a PhD student, I now give approximately 115% of my time to research. I still write a
lot of nifty software, but it's within the walled garden of our
microarchitectural simulators, compiler stages and other fun things. Peruse
these catacombs of times past at your own peril.
- undergrad research: I worked on Face Recognition problems
in CVRL at Notre Dame, culminating
in my undergrad
thesis.
- speck, the small, portable,
efficiently-coded kernel: a hobby in later middle school. Mostly
useless except as a toy. It runs on bare x86 and implements preemptive
multitasking, message passing, and dynamic kernel-module loading.
This one holds a special place for me because it sort of brought me to
where I am today. While most kids were out becoming normal people at age
12—14 or so, I stayed inside and learned x86 assembly, C, and cut my teeth
on systems programming by doing it. (Everything should make sense now if
you've ever met me...) I used to hang around on Usenet a lot, mostly alt.os.development
(here
I am!), where I learned a bunch of this stuff.
- undergrad comparch tidbits: a
pipelined CPU in Verilog, dynamic translation firmware for a custom ISA
implementing a stack-based machine on RISC hardware, and some
system-level tools (simulators, assemblers) from the Computer
Architecture two-semester sequence at ND in 2007-2008. Mostly a
curiosity, though the pipelined core might prove useful to someone.
- digilight, a
microcontroller-based low voltage halogen lighting system
controlled via DMX, a standard lighting-control protocol.
- pong (tarball), an
implementation of the classic game of Pong in hardware for a Digilent FPGA board with a Xilinx Spartan3E FPGA. It displays
to a VGA monitor and takes input from a PS/2 keyboard.
- sudoku solver (and tutorial-style writeup), a little toy in Python that took me a
few hours. Circa junior year of high school (2005). It uses a recursive
backtracking algorithm. In practice, solves most puzzles nearly
instantaneously. The writeup was written as part of a mini-project for my
high school math teacher (and I would write it much differently now, with
more background in algorithms/CS!).
- Lots more that never really become useful to the outside world.