Software


Most of my recent development time has been centering around the Tekkotsu framework since I am trying to graduate (someday...)


But occasionally I wind up working on a side project which would be useful to others on its own, the results of which are listed below.  Enjoy!



Tekkotsu Robotics Framework


Tekkotsu is my main research project, which I have been working on since I began graduate school.  This software package aims to give you a structure on which to develop robotic software.  It was originally written for the Sony AIBO, but due to the discontinuation of this remarkable platform, we are porting it to support new hardware devices.


You can learn more at the Tekkotsu website.



Roaming Profiles for Mac OS X


This is a set of scripts for setting up “Roaming Profiles” (aka “Network Home Directories”) without the need for Mac OS X Server.  This will allow a user to log into the same home directory regardless of which machine is being used, which is ideal for a laboratory or shared environment.



Mac OS X Ports: libjpeg & libpng


Tekkotsu’s simulator relies on the host machine’s libjpeg and libpng installation for compressing and decompressing image data.  Since Mac OS X doesn’t include these libraries by default, we provide easy to use installers for our users’ convenience.



cvslog2web

A python script which converts CVS commit log messages into a number of web-centric output formats.  This allows you to display a “live” log on your website or RSS reader, and also provide permalink references to notify interested parties of important updates.



Semaphore Lag Time Measurements

Results of some benchmarking done to determine which semaphore API I was going to use... basically wanted to get an idea how much lag to expect between a producer thread’s notification that data was available, and worker threads picking up the notification.



stacktrace

Produces a stack backtrace during runtime execution of a program, much like Java’s ability to provide a stack dump following an exception, except now for C/C++.  This is particularly useful when a debugger may not be available, such as embedded systems or end-user error reporting.



Older Stuff (Mac OS 9 Era)


This was some of my earliest work, I developed and released these programs while still in high school and my freshman year of college.