My programming years began on my 10th birthday when my grandfather gave me my very first computer; a Commodore VIC20. I quickly learned basic and began writing a few games. At first I couldn't back up my programs on disk, so whenever my VIC20 got turned off, all my work would be lost. This was very frustrating so when Christmas rolled around I asked Santa for a special tape recorder which I could use to back up my programs on standard audio cassettes. Santa granted me my wish and I soon had myself means whereby my work would not get lost.
Several years later I got my hands on a friends (William Nee) old Apple IIc which he sold me for $130. This machine was a huge step up from the VIC20 which had only 3.5Kbytes of RAM :p. Although this machine allowed me to write much more sophisticated programs, I never really got into programming the Apple II to do anything noteworthy.
My enthusiasm for programming took off during the last half of my junior year in high school. It was then that computers were finally becoming mainstream. I realized the immense capabilities computers had (and would later have) and wanted to know how to control them to do anything they were capable of. This desire motivated me to sign up for a 1 semester Pascal class (using the THINK Pascal Compiler v4.0 for the Macintosh). The class was taught by an excellent teacher (Dave Bock) who was both interesting and could relate well with his students. During the first 10 minutes of classtime, I would breeze through all of the assigned work, and then spend the last 37 minutes of class experimenting with my own projects. My first program (for the Macintosh 680x0 series) was a simple drawing application similar to MacPaint. Next I spent 2 weeks and wrote a graphing calculator which had ~75 functions and could perform other useful tasks such as graphing 2 dimensional functions (with logarithmic and trigonometric functions). All of these programs had a nice GUI and took advantage of the Macintosh Toolbox commands (similar to MS Visual C++ Classes).
During the last half of the Spring semester I wrote a game which I called TankWars which can be downloaded here. Since I put nearly 100 hours into this silly game I decided to see if I could actually make money from it. I uploaded it to the WU info-mac archive and to my surprise started getting checks in the mail for $5 each few weeks later. The game is still found on servers all over the world (including Download.com).
A year after I wrote TankWars, I left to Portugal to serve a 2 year mission for the Church which I belong to. During these two years I would be separated from the technological world. When returned from my mission, many changes had taken place in the world of computing; Apple was doomed, 1 gig hard drives replaced 150MB ones, a new powerful chip called the "Pentium" had replaced the 486, and suddenly everyone was talking about the internet which I had been using long before.
In the summer of 1996 I would have my first opportunity to program software which would be shipped on a large scale. My brother Joseph invited me to come work for his employer, Echo Speech Corporation. Our team (myself and two other college students) was responsible for improving several internet applications which used voice compression technology (algorithm developed by my brother) to allow communication in ways which had never before been accomplished. One program we worked on was called GamePhones; a type of internet phone which allows players of Doom, Quake, Duke Nukem and other popular online games to talk to eachother while playing the game. Another application which uses the EchoSpeech voice compression algorithm, was a real time internet broadcaster. Since I hadn't yet learned C (only knew Pascal at this point), and since I didn't know any of the DOS/Win95 operating system commands, I was somewhat limited at first to what I could contribute to the development effort.
In the summer of 1997 I developed much of the AMM (Advanced Micro Materials) website for AlliedSignal which included a simple online survey web application written in Perl and HTML.
While I was a student at Cornell University I built the classic arcade game Arkanoid. The design is here.
I created a MUD distribution called CWE (75k lines of code) based off Circle.
I have created a lot of software for my employers. Most of it is LabVIEW code that controls robots that perform automatic tests. Feel free to read my posts on the National Instruments forums.
Links:
Below you will find several links which are most helpful for those desiring to learn C, but who also don't want to go out and pay $50 for a nice book explaining the C programming basics.
| GCC compiler | Get a great compiler here for free. |
| Introduction to C Programming | This site explains C programming in greater depth than the Ground Zero Guide. Worth the visit! |
| Programming in C | An excellent and thorough guide to programming in C (recommended for those with at least some programming experience). Nothing is left out - a must see site! |
This page was last updated October 11, 2004
Copyright © 1997-2004 by Richard Ballantyne