Projects

Return to main page

Current Projects


Matt's C Utility Library

I'm a big believer in code reuse, and since I'm often totally on my own, I have to build on previous work, otherwise I'm totally on my own every time I start a project over. So basically, I end up writing my code and evolving my code to build towards reuse. Over time its gotten better organized, and now its mostly organized into a library. Of course, its accreting stuff all the time. It even loses stuff sometimes. For instance, due to my work on parsing, I have split off the parsing code into a totally separate project.

I posted this project to Freshmeat, and I have a page for it that I designed using CityDesk(part of a previous attempt at having a webpage, and to experiment with CityDesk(which is a good tool for some work, just be ready to buy it, because it limits what you can do otherwise). Here's the page: http://tos.maintree.com/matt/Projects/MattsCUtilityLibrary.html


BaLRoG

Israel Huff and I have wanted to design a massive multiplayer game for a long time. This is an ongoing project, that we both work on, and never have time for. This is the archive of our progress and attempts.


Mandala

What I'm calling Mandala has gone through several iterations of names, but the basic idea is this: All solutions for writing web applications are horrible in my opinion. The goal is to develop a cross between a framework and an application(probably in Java) that allow web application development to procede a much higher level, and to give users control over their websites to reduce loads on system administrators. In the future I will be posting comments from various emails I have had with Will Holcomb(whom is working on his own solutions to these problems), and Wayne Douglas(who is interested in making webpages with such a system) and comments from the Geeks mailing list. I would have put more up here, but time is always short.


IDE Project

After reading a post on LL1 and seeing a webpage on the concept of Source Code In Database I became deeply interested in the idea of writing an Integrated Development Environment. While the ideas of SCID served as an inspiration, I have sense gone into amazing directions with this idea. The basic technology to be used is XML. The IDE will save source code parse trees in an XML intermediate format(and import and export code as necessary, while base-64 encoding any information that could be lost into the comments). Several features this will support: Display of expressions as equations, SVG/MathML/XHTML in comments. Transparent ability to switch between various "views" of the code... and edit the code in ANY of those views. Lisp like Macros for more common languages. XSLT transformations on the source tree, as well as code refactoring support enabled by the better source code representation(renaming variables is a snap). Innovative code visualization features like call graph diagramming. Tool-tips and code completion for everything, including code in your project. Code will be syntactically correct all the time due the ability of the editor to check syntax in real time. CWeb like intermingling of code and documentation and the ability to output views for multiple sources.


Alexandria

After reading Neal Stephenson's "The Diamond Age", I was inspired by the "Young Lady's Illustrated Primer", and I have set out on my own attempt to make a comprehensive "self teaching" program that is complete in itself. In the pursuit of that, Alexandria is meant to be the database that would back such a program. The goal of Alexandria is to be a relational database that in some ways acts like a "user space filesystem". News March 2004:I have started on this project and given it a webpage, it has also morphed into a document management system.


Geeks

This is our "local" hangout, where me and many of my friends talk about software development, science, robotics, and other technical things, with a rounding out of politics and humor when relevant. This page is partially to serve as a placeholder for some of my posts to the mailing list and other "ephemera" from the list as relevant. The list is unmoderated, but membership is moderated.


Small Projects

TeX Bingo

So for the 2004 SuperBowl, the officer's at the Wesley Foundation decided we needed a bingo game at our party. So they needed about 25 random boards. Well, no one wants to sit and type in 25 random rearrangements of the same board, so I wrote a program to do it. The program takes an XML description of the bingo board and the number of variations on the board you want. It then generates a bunch of LaTeX files so you can print it nicely. The files are named 0.tex up to however many versions you wanted. Included in the zip file is an example XML file that should cover it. Oh yeah, its slightly one offish, so don't be surprised if it can be crashed. TeXBingo.zip. Oh yeah, if anyone cares, I'll post the source code under the GPL.

Signal Flow Graph

In my ECE 3210 - Control Systems class we used Signal Flow Graphs to analyze Control systems. This is a nice GUI for entering in graphs and calculating arbitrary transfer functions between nodes. Not all editing functionality complete, and SVG output option never finished. Otherwise it works. Features a nice state machine design for the gui editor. Code available on request. I'll GPL it and post it eventually.


Old Stuff

Programs

Papers

Web Applications