Home Resume Links
Code
This page contains descriptions and sources of various programming projects I've worked on over the years. It's not complete, but most of the interesting stuff is here. The controls at the right allow you to sort and filter the projects displayed.
Order by
Filter by Language
Showing 1 - 10 of 21 matches.   1-10 | 11-20 | 21 | All | Prev | Next
Name:EasyCRT/EasyGDI
Dates:11/01/1997 - 03/15/1999
Size:3,798 lines
Language(s):Pascal - Delphi, Turbo Pascal (100.0%)
Repository:easycrt
Description:

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.

Name:Stickfighter
Dates:12/18/1997 - 01/23/1998
Size:1,928 lines
Language(s):Pascal - Delphi, Turbo Pascal (100.0%)
Repository:stick
Description:

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.

Name:Twofish Javascript
Dates:02/25/2000 - 03/06/2000
Size:1,319 lines
Language(s):Javascript (100.0%)
Repository:none
Description:In Spring 2000, I ported C implementations of Twofish and SHA-1 over to Javascript as a way of password-protecting the contents of static web pages (this was before I had done any server-side web programming). I never did implement the general password mechanism I was initially planning on, but I did get the encryption code working, and wrote a flexible test interface that can encrypt and decrypt messages, posted here.
Name:Web Based Course Evaluation System (WCES)
Dates:11/12/2000 - 06/01/2003
Size:24,616 lines
Language(s):PHP (78.4%), Procedural SQL - Postgres plpgsql (13.8%), Pascal - Delphi, Turbo Pascal (3.1%), C++ (3.1%), Javascript (1.5%)
Repository:wces
Description:

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/.

Name:Ginyuu Calendar
Dates:03/25/2001 - 04/13/2001
Size:1,661 lines
Language(s):CFML - Coldfusion (63.3%), Procedural SQL - Microsoft T-SQL (28.8%), Javascript (7.8%)
Repository:none
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.
Name:ViewVC
Dates:07/22/2001 - ?
Size:2,500 lines
Language(s):Python (100.0%)
Repository:none
Description:

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.

Name:cvsimport
Dates:07/29/2001 - 06/16/2003
Size:1,658 lines
Language(s):PHP (100.0%)
Repository:cvsimport
Description:Command line utility to generate CVS repositories (complete with log messages, tags, and branches) from directory snapshots.
Name:cvsdate
Dates:10/05/2001 - 10/06/2001
Size:335 lines
Language(s):PHP (100.0%)
Repository:cvsdate
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
Size:1,582 lines
Language(s):C++ (100.0%)
Repository:lost
Description:

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).

Name:QuickMan
Dates:11/28/2001 - 12/03/2001
Size:2,049 lines
Language(s):C++ (75.4%), C (24.6%)
Repository:quickman
Description:

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.

Showing 1 - 10 of 21 matches.   1-10 | 11-20 | 21 | All | Prev | Next
Line counts generated using 'SLOCCount' by David A. Wheeler.