Software

The following is a list of software which I maintain. Several of these programs are team projects -- the rest I wrote.

Repo Hosts

Table Legend

Maintained Software that I keep up-to-date and use frequently
Dormant Software projects that are useful to me but which I have put on the back-burner and may not be fully up-to-date or documented
Archived Software projects which are not in active development and which, while they may be interesting, are generally incomplete and not ready for daily usage.

Table

NameTagsLanguageDescriptionCommentLinks
simple-routes web common lisp A simple RESTful routing facility on top of Hunchentoot. (quicklisp:quickload :simple-routes), Source
backward-forward emacs elisp Enables eclipse-like backward and forward navigation across marks using <C-left> and <C-right>. This is very useful when you are navigating large projects using Emacs, particularly if you are using "jump-to-definition". Melpa Package, Source
rest-start template java Maven archetype which you can use to quickly generate a project bundling embedded jetty and a Jersey RESTful web-service. Useful maven archetype to quickly generate a RESTFul webservice Source
org_structured_exporter emacs, static site generation elisp Enables document tree export from a single org file. I use it to compile my website, as well as to compile individual articles from within org-mode documents. This project is designed on a "fork model" where, if you want to use it to compile your own website, you will pretty much need to fork the project and adapt the main code file, "exporter.el", to generate the content you want. This is as opposed to a "configuration model" where the software is generalized and configurable without having to change much or any code. Source
chords+ music tools android, music java Music-theory guitar app. Mathematical chord calculations (many fingerings), scales, keys, and reverse chord matching. Works for Mandolin, Ukulele, and Guitar. $0.99 version, free version
k-map generator web, math common lisp web-app which generates karnaugh map given truth table input. (also can be run offline outside of the browser). Used to host this on my site, but decided I wanted to conserve cpu cycles (as the computations in the current version run server-side) Source
berry-quickstart template java Maven archetype which is an updated spin on the standard Maven quickstart archetype. Useful for quickly generating a basic java project. The standard maven quicktype archetype is still on JUnit 3 Source
berry_emacs_config emacs elisp My personal emacs configuration, showing various features I have hacked on over the years. Source
berry-backup sysadmin, backup shell Simple backup script that powers incremental, versioned backups. This is a project that operates on a "fork model". If you want to use it, start with what is there, and add configuration for the backups YOU want to perform. I use this to back up our systems to our central file server. Source
OpenOffice Table to LATEX openoffice OpenOffice Basic OpenOffice macro which generates properly defined LATEX table contents from a table of LATEX formula entries in a spreadsheet. Source
berryPIM organizational, data sync, PIM java My "personal information management" system. It is based on a distributed model using flat xml files for data storage and git to handle syncing. It supports free mixing of data access through central servers and distributed computers. It has the following features currently: calendar, todos, notes, contacts, finance (transaction tracking), and files. It includes the ability to run arbitrary queries on your data using XQuery and create arbitrary graphs of your data using a combination of XQuery and JFreeChart. This was an interesting project for me, and does support a good bit of functionality, but I found that the user-experience was not great in the end. I still like a number of ideas from this project and am working into incorporating them into my longer-term organizational-software goals. Currently, I organize most of our personal information through emacs org-mode documents synced in a git repository. Source
SEMI development tools java The M2Eclipse experience is often fraught with "lifecycle mapping" problems when you try to use Maven plugins. This project demonstrates a simpler way to integrate Eclipse and Maven. The goal is to make a Maven experience which is more like the one you get with IntelliJ IDEA. I have switched from Eclipse to IntelliJ for Java development, so I don't have plans to resume work on this ATM Source
SEAT medical, python, team project python Simple EEG Analysis Tool -- Python EEG Gui using MNE Python for core functionality Built as a Georgia Tech senior project with Johnny Farrow, Utkarsh Garg, Justin Jackson, and Michael Long Source
Emacs Powerpack emacs elisp Self-contained MingW+Msys+Emacs Installer&Extras for MS Windows. Intended to give as good an experience as possible with Emacs on Windows. I use this to install emacs, along with shell integration and add/remove programs support, on every Windows computer I use. However, the current is built on emacs 24.5 and has several issues which I am aware of. I plan to revisit this project in the future. Source
CL-SURF web, search common lisp Simple search engine. This is a demonstration of a simple search engine in Common Lisp. It includes a highly-configurable web-crawler and a result-picking algorithm based on term frequency-inverse document frequency. It can only search a few thousand webpages before performance becomes poor. Source
isbcl lisp shell Demonstrates using rlwrap to add readline support to SBCL on the console. Source
tmarriagealgo math clojure Implementation of the "Traditional Marriage Algorithm" to find stable pairs (as described here) in clojure. I was experimenting with learning clojure a few years back! Source
Time Tunneler games, Game Boy Advance C Game Boy Advance game I wrote as a class project. Somewhat similar to Pac-Man, but incorporates "maze solving" and "time travel". The playable binary can be run on any Game Boy Advance emulator. Playable Binary, Source
Cash Money Pro android, team project java App written for GT 2340 with teammates. Allows you to do basic accounting operations on your Android device, demonstrates CRUD database operations basically. Source
Risk Board game clone games, team project MATLAB Allows you to play the board game RISK on your computer with MATLAB installed. Totally not what MATLAB is meant for! Written as a project for a Georgia Tech MATLAB class freshman year. Source