My name is Lewis. I am also known as quietfanatic. I am a self-directed programmer with a Computer Science degree from Westmont College.


My main programming languages are Perl, C++, C, Haskell, and Javascript, but I have some experience with bash, C#, Ruby, Racket, Scheme, Python, Prolog, and some random DSLs. My preferred OS is Linux but I work fine in Windows.

I like solving puzzles, and tend to learn new skills and knowledge quickly.

I can do web design pretty well (see this website) but it's not my favorite thing in the world.

I am conscious of the importance of security and aware of most security best practices (I think).


My senior project was a video game programmed in C++ with OpenGL. Here is a brief technical overview.

Tired of the problems with all the other build systems, I made my own: It has no dependencies besides Perl, and is fully programmable (unlike Makefiles).

The Community Communicator is a simple and pretty BBS supporting live update and pinned posts. It was written in Ruby on Rails for a Software Development class. One day I may revive it and adopt it for private use.

For the distinguished programmer who is interested in either NES hacking or recursive monadic computations, I have performed some experiments writing ASM for the NES using a Haskell DSL. You can find the code on GitHub, but it's probably pretty difficult to understand without reading the aforelinked post first.

Sequoia, a browser based on Edge WebView2 for Windows, which shows tabs in a tree-like fashion (similar to the Firefox extension Tree Style Tab), and uses SQLite for storage.

Little Image Viewer, my current hobby project. A simple configurable image viewer for Linux, made with OpenGL 3.1 and SDL2.