Projects
A record of my some of my older projects. Some have been abandoned on the side of the road, and a few have progressed
to completion.
- Ruler 1995-2005
On-screen miniature horizontal pixel ruler is graduated for 1000 pixels. Black-on-white or white-on-black modes. Topmost window mode. Right-click on ruler for menu options. Win32 executable. Handy.
Download Ruler.exe 151552 bytes
- FlatDB 2001
Server-side ActiveX/COM Automation object (Internet Information Service IIS plug-in) which
allows VBScript access to a comma-separated file, thus simplifying the HTML display of CSV data. Please
email me for more information.
Download FlatDB.dll, 245823 bytes
- ChordCalc 0.9 1997
ChordCalc displays jazz chords and plays them through your MIDI synthesizer. Like
JazzCalc (see below), this program utilizes James Knapp's jazz theory concepts as
described in his text, Jazz Harmony. A major feature of the program is its
ability to find all the jazz chord names which correspond to any four selected notes.
The program supports only four-note chords at this time, and diminished 7th chords
are not included (except as dominant 7(b9) chords) since Jim gives them special
treatment. This version of the program is somewhat
incomplete; for example, the chord notation on the staff does not show accidentals
and is not properly aligned at this time. Also, MIDI device zero is the only device
supported in this version.
This is a 32-bit program for Microsoft Windows.
Download chcalc09.zip, 15820 bytes
- JazzCalc 1.0 1997
I wrote JazzCalc to help me with one of my jazz theory classes. The program allows you to
select a 5, 6, 7, or 8 note mode or scale and a key signature from the
menu. The selected scale is displayed with note names (spelled correctly) and the notes
are indicated with red dots on a piano keyboard display. All the major, melodic
minor, and harmonic minor modes can be displayed in key signatures from Fb to B#.
Some of the concepts presented, such as parent scales and mode notes, are explained in
the text, Jazz Harmony, by James Knapp, which is available by contacting the author at
the Cornish College of the Arts (710 E. Roy Street, Seattle, 98102).
This is a 32-bit program for Microsoft Windows. The following features from the menu
are not yet implemented: Print, Chords, entire View menu, and MIDI Setup.
Download jzcalc10.zip, 15489 bytes
- Keithley PIO-32 hardware XP device driver
I have written a simple device driver for Windows XP which allows access to I/O ports 300h-307h for the
Keithley PIO-32 ISA card. Download pio32.zip, 4481 bytes
- Microsoft Expedia 1994-1997
Server Lead Developer.
-
Microsoft WinPad 1993-1994
Kernel firmware for a handheld computer based on VLSI Corporation's
Polar chipset, a low-power '386 PC on two chips.
- Microsoft Project for Windows 1989-1993
Developer.
- Image Display 1.5 1995
Image Display is a .GIF and .BMP browser for
Windows 95 and Windows NT. By associating the appropriate file extensions with this program,
the Windows File Manager becomes an easy-to-use file browser. This software features
HyperGIF technology, hand-coded 32-bit assembly language for the
fastest possible display of GIF files.
Since Image Display is a native Win32 application, it does not run on Windows
3.x unless you have Win32s installed. This Win32s configuration has not been tested.
Download imgdisp.zip, 16921 bytes
- Mapdata 2.3 1987-1995
Dr. Robert C. Douglas and
Mapdata is a simple choropleth mapping package
for Microsoft Windows. The software was
developed at the University of Pennsylvania
Social Science Computing Department
for broad use in the analysis of data in the social sciences. The package
is used by students of economics, regional science, geography, and population studies.
Mapdata encourages learning through student involvement with manipulating
data sets; undergraduates learn that the key to data analysis is in the proper
presentation of the data.
This release includes a boundary file for the United States by state, and runs on Windows
2.x, 3.x, Windows NT 3.x, and Windows 95. Tab-separated (Microsoft Excel) data can be
pasted into this map from the clipboard. Additional boundary files can be created by
referring to the detailed boundary file information in the on-line help.
Download md23.zip, 30340 bytes
User manual
- ADSlid 1.9 1993-1995
This AfterDark module allows you to create
slide shows as a list of GIF or Windows BMP files. The files
are faded in and faded out at a user-specified speed, or displayed instantly without unattractive
visible "banding." Each image can be displayed at a specified position on the screen, with an
individual zoom setting. This is a 16-bit AfterDark module for Windows. The program is distibuted as
charityware; if you find it useful, please donate tax-deductible $20 to the Northwest AIDS Foundation.
Download adslid19.zip, 29136 bytes
- gifencod.c (See source file for credits)
Enhance your WEB page with GIF images created on-the-fly.
This C source code, cobbled together from the far reaches of the web,
compiles with GNU (gcc) on your unix host. For crude sample purposes, it
currently will encode a server-resident .BMP file (Windows 3 format)
into a GIF and send it as the HTTP response, when invoked like this:
gifencod.cgi?foo.bmp
Download gifencode.c, 19735 bytes
- DUAS (Dual User Adventure System) 1982 Glenn Slayden & Webb Scales
A large adventure game, written for the HP2000A minicomputer, which allowed
the two players to interact in the adventure world while they compete from
two separate terminals. A third teletype could be configured as an
observer of both player's moves. A fourth teletype served as the host.
This project was mostly interesting because it overcame several
significant technical hurdles in a primitive computer system. The roll of
punched paper tape that the game was stored on was about the same size as
the roll that stored the minicomputer's operating system.
- Reliable Plastics, Inc. 1982-1984 Glenn Slayden
Over two years I wrote a number of programs to automate the front office
of this
New Jersey business. A customized order entry system was integrated with
invoicing, a customer database, and shipping label printer. There was
also a standalone inventory program and a job quoting system. These
programs were written from scratch in Microsoft BASIC, which was
compiled and linked with some assembly language routines.
- Quiz Show 1977 Glenn Slayden
My first program, submitted on punch cards (actually, the high-tech ones
where you fill in little circles with a #2 pencil). Asks multiple choice
questions and checks the responses. Click here to view the source code.
- Other projects
Musician - Windows algorithmic composition software--generates music in real time
on your sound card's synthesizer, based on various user-defined parameters.
NOMIS - Pattern recognition game for Windows. Remember and repeat back the pattern on the colored
buttons. A new step is added to the pattern each time.
Tic Tac Toe - Written in BASIC for the HP 2000 minicomputer at my high school, around 1984. Despite
its crude teletype interface, this
program was pretty sophisticated in that it never lost. It was guaranteed to either win or tie. After the
program was complete, however, I realized that this aspect made it not too fun to play against.
Tower of Hanoi - Another BASIC game, this time a graphical one for the IBM PC, written circa
1985. Using the arrow keys, you had to solve the classic puzzle in as few moves and as little time as
possible.
MIDIBox - Wirewrapped 8MHz Intel 80188 computer system with 512K SRAM, 16K ROM, and 512K
AM29F040 Flash, 2x40 character Hitachi HD44780 LCD display interfaced via PAL 22V10, and 2 Intel 8530 dual SCC (serial communications
controller) configured as 4 independent MIDI in/out ports. Menu driven operation via multi-purpose
buttons positioned by the LCD screen, plus dedicated OK & Cancel buttons. Provision for an external
follow-the-LED 88 key piano keyboard display. Firmware development for this system entails a variety
of programming.
MBoxDB - Software debugger for the above, including x86 disassembler.
AMPMidi - Earlier PS/2 microchannel version of the above basic architecture, featuring a
16-bit dual-ported shared register to the host, and full microchannel POS support. I also prototyped
an 80186 version of the hardware, which has now been salvaged for parts. It was not reliable due to
address decode latency through numerous discrete TTL stages, a situation which was rectified through the use of
PALs in the new version.
Poker - Multiplayer Windows/NetDDE version of several poker games.
Photocat - Windows image database/thumbnail/categorization program.
TI486 VDMAD - Version of the virtual DMA device (VxD) for Windows 3.1 or Windows for Workgroups 3.11
which, in order to preserve external cache coherency, controls the 8K on-chip
cache on a Texas Instruments TI486SXL (and possibly TI486SLC/TI486DLC) chip at the appropriate times. Using special TI486 registers, I flush and disable the on-chip cache during DMA operations.
If this 386-pin-compatible chip is installed in a regular 80386DX system (non PS/2), this software solution maximizes performance
while running Windows, without requiring a motherboard modification to support the FLUSH pin.
Download vdmad.zip, 7725 bytes
Visual Statistics - Written with Dr. Eugene Kroch at the University of
Pennsylvania in 1989. This Windows software allows generation of exact statistical distributions or
density functions and
random deviates within them. The distributions supported include the bernoulli, beta,
binomial, cauchy, chi square, exponential, gamma, geometric, hypergeometric, negative binomial,
normal, poisson, and uniform. The formulae can be displayed for reference. The functions can
be plotted on user-defined axis ranges. Deviates can be categorized in equal-area,
frequency, or count bars; density functions are shown on a continuous graph.
Plot3D - Microsoft Windows program which calculates and displays an
arbitrary view of a surface equation.
Thai Language Learning Software - In order to improve my Thai language skills, I began
writing a program to tutor me in vocabulary and writing, with vague plans for a more grandiose
application (a related project is now available on the web).
So far, this program features an alphabet card of the 44 consonants with .WAV files of
the correct pronounciation and tone. Flash card vocabulary which supports any combination
of Thai or english .WAV output, english text, transliterated text, or Thai writing was to be next on
the agenda, although it looks like the project has been abandoned in favor of the web effort.
NSM CD Player Control Software - In 1997, I wrote a controller for the NSM CD changer
which accepts remote commands over a TCP/IP network. Click here to download
this software. One of the network clients of this
application is a TAPI phone-answering software which generates CD changer commands based on
DTMF selections from any telephone.