Hi, I'm Sam Christy and this account hosts some of my public programming work. Below I have listed all of the repositories I maintain on this account. I've sorted them into categories and added brief descriptions for each to aid with navigation.
Featured
I've selected these repositories because they accurately reflect my interests, coding ability, and general programming style. Read these first if you want a good idea of who I am as an engineer.
Repository | Description |
---|---|
This simple parser parses and evaluates arithmetic expressions. | |
A simulated world with creatures that evolve. | |
An interpreter for a JSON-based language that I use to typeset documents. | |
A program for fast lookup of tokens in large bodies of text. | |
Colorizes a hexdump to make it easier for users to determine the character classes of bytes. | |
Program to run commands on file changes using the inotify mechanism. | |
A GUI application for viewing distributed logging infrastructure. | |
A calendar application for the terminal. | |
A simple Turing Machine with replaceable programs. |
CLI
These are programs that have either a primitive TUI-based interface or none at all. These projects focus on algorithms, systems programming, and "pure" programming without getting too into the weeds with messy concepts like third-party libraries, concurrency, and graphics.
Repository | Description |
---|---|
This simple parser parses and evaluates arithmetic expressions. | |
A simulated world with creatures that evolve. | |
A program for fast lookup of tokens in large bodies of text. | |
Colorizes a hexdump to make it easier for users to determine the character classes of bytes. | |
Program to run commands on file changes using the inotify mechanism. | |
A collection of programs written in various languages for naming large numbers. | |
A program that exits when an audio threshold is reached. | |
A calendar application for the terminal. |
Graphics
These programs either have a graphical front-end or visual output. I prefer GTK+3.0 for Linux GUI programming, but I generally use wxWidgets if I need something even remotely cross-platform.
Repository | Description |
---|---|
An interpreter for a JSON-based language that I use to typeset documents. | |
A program for visualizing Unifont on the Hilbert Curve. | |
A GUI application for viewing distributed logging infrastructure. |
Mathematics
Math is a fun subject in programming projects because it is typically algorithm-heavy and relies more on how clever you are with a programming language's core concepts and less on how good you are at leveraging existing libraries and programs.
Repository | Description |
---|---|
A C program that graphs the Dedekind eta function on the complex plane. | |
Uses libpng to produce the bifurcation diagram of the logistic map. | |
A simple Turing Machine with replaceable programs. |
Web
I am not a web programmer, but I push myself to make web projects anyway because of the relevance that web programming has had in the industry over the past decade or so. Historically, I have focused on Node.js as a foundation for web projects, but I am transitioning to a Rust/Actix foundation for future work.
Repository | Description |
---|---|
A simple web-hosted list of movies to be collaboratively edited. | |
An application to calculate nutritional information for recipes. | |
A service for displaying SVG badges and banners, and an API to update project status. | |
The landing page for my website. | |
A program for downloading all posts from xkcd.com and displaying them on a single web page. |
Other
These are repositories that don't comfortably fit anywhere else. These are primarily collections of snippets, one-offs, and data and are not organized like traditional software packages.
Repository | Description |
---|---|
algorithms | My own implementations of various algorithms. Generally written in C. |
bugs | A place to track bugs I find in the wild. |
code-snippets | A collection of code fragments or small programs that I find interesting or useful. |
hello-world-collection | A collection of "Hello, World!" programs written in various languages. |
Gallery
Deprecated/Incomplete
These are incomplete or abandoned repositories.
Repository | Description |
---|---|
A web app for tracking job applications. | |
A simple utility for generating changelogs from commit histories. | |
What Vim would look like if it was an image editor instead of a text editor. |
License
All of the code in these repositories is licensed under the GNU General Public License version 3 (GPLv3).