|Dates:||11/01/1997 - 03/15/1999|
|Language(s):||Pascal - Delphi, Turbo Pascal (100.0%)|
EasyCRT and EasyGDI are libraries that work in Borland's early releases of Turbo Pascal for Windows (circa 1992). I wrote them when I was a junior in my high school, where Turbo Pascal was the main programming language used in computer classes. EasyGDI is a procedural graphics library that wraps around the Windows GDI (graphics device interface), providing a simplified interface and adding new features like bitmap load and save routines. EasyCRT lets users to write graphical windows programs without dealing with complexities like callback functions, event loops, or class libraries. It is based on Borland's Wincrt library, and it was used by students in my class and a few classes thereafter to write games. Both libraries come with documentation and sample programs. They have a homepage here and some documentation viewable here.
|Dates:||12/18/1997 - 01/23/1998|
|Language(s):||Pascal - Delphi, Turbo Pascal (100.0%)|
Fighter game written in Turbo Pascal for Windows as an assignment for a high school "Computer Math" class. This project was sort of a milestone for me, as my first foray into object-oriented and GUI programming. A good portion of the month I spent developing it went into puzzling over concepts like encapsulation and inheritance, and reading and re-reading the Turbo Pascal programmers' guides to figure out how to make things happen with its windowing library. At the end of that period came a frantic programming effort to get menus and high scores screens working, implement game saving and loading, and tweak the gameplay and graphical intro screen into perfection before the assignment was due. It was pretty fun, and as the project went way beyond anything they were teaching in the class, I got a perfect grade too.
|Dates:||02/25/2000 - 03/06/2000|
|Name:||Web Based Course Evaluation System (WCES)|
|Dates:||11/12/2000 - 06/01/2003|
WCES is a project of the Columbia University School of Engineering. It's a web site that lets administrators and professors create customized online surveys about courses and see reports showing survey results. The site originally started as a project for a software engineering class by a group of students I didn't know. But it was picked up and used by the engineering school, which hired me in Fall 2000 to work on it part-time. Over time, I added many new features and reimplemented most of the preexisting functionality to make the system more flexible. At this point almost all of the code is my own, though I can't take credit for most of the graphics and text on the site, and I also had a lot of help dealing with unix administration / server maintenance issues that came up during development.
The site is mostly implemented in PHP, but there's also a big chunk of core logic written in procedural SQL. And there are a number of smaller components written in other languages, including 2 C++ Postgres extensions, a mini web-crawler written in Delphi, and a COM authentication component written in Visual C++ with ATL.
Since this is one of the biggest projects I've worked on, I've put up a demonstration copy of the site at https://wces.russ.yanofsky.org/.
|Dates:||03/25/2001 - 04/13/2001|
|Description:||This was a fun little project for a software engineering class. I was in a team with four other people and our job was to make a web-based calendar / scheduling component to integrate into a larger online education web site. We were required to implement it using ColdFusion 4 and Microsoft SQL Server. Coldfusion was frustrating to work with because it lacked a lot of basic language features like the ability to define functions. Another annoyance was lack of support for database cursors, meaning the only way to access a database result set was to use a looping construct built into the language, which restricted how you could process data. But our language requirements were really not that great, and in the end our web component had a polished, full-featured interface with a pretty clean implementation. There is no CVS repository but there is a copy of the project page here. If free ColdFusion/MS-SQL hosting were to fall out of the sky, I would put up a demo too.|
|Dates:||07/22/2001 - ?|
ViewVC (formerly ViewCVS) is an open source-project located here.
At the moment, I'm one of two active developers. The other one is C. Michael Pilato and ViewVC's original author is Greg Stein. The features I originally contributed were support for Windows and support for Mod_Python. Since then I've done a lot of bug fixing and code reorganization. The 2,500 line count is a WAG (wild ass guess). The ViewVC sources are around 10,000 lines and I figure I've had my grubby hands on about a quarter of them.
|Dates:||07/29/2001 - 06/16/2003|
|Description:||Command line utility to generate CVS repositories (complete with log messages, tags, and branches) from directory snapshots.|
|Dates:||10/05/2001 - 10/06/2001|
|Description:||Command line utility to alter commit times in a CVS repository based on last-modified timestamps in a CVS sandbox.|
|Name:||Lost Cities Player|
|Dates:||11/12/2001 - 11/16/2001|
Written as a project for an AI class. It plays a card game called "Lost Cities" with 3 other players. I did very little testing on it, so I'm not sure how good it actually is, but I do like the design and strategies used.
The source is very well documented. It was written in Metrowerks Codewarrior for Windows. It also compiles with GCC and runs on Linux and Solaris (makefiles included).
|Dates:||11/28/2001 - 12/03/2001|
|Language(s):||C++ (75.4%), C (24.6%)|
Quickman was an assignment for a robotics class that I worked on with 2 other people. The program drives a Pioneer mobile robot from a starting point to an ending point in a room filled with obstacles, trying to avoid collisions. The obstacle shapes and positions are given as input, and then the program plans an optimal path and follows it. Quickman is written in C++ and makes extensive use of the STL.
Quickman uses a commercial but freely available library called Saphira that comes with a graphical robot simulator. There are makefiles for GCC under Linux and Solaris and a Metrowerks Codewarrior project file for windows. It uses features of C++ not supported by MS Visual C++ 6.