I had my first encounter with computers way back in the fall of 1970 as a freshman at Bowdoin College in Maine. Having had a strong interest in electronics as a teen, my early experiences with an early version of Dartmouth Basic running on a PDP-10 mainframe in the basement of Hubbard Hall were most interesting in spite of having to enter all program commands on a slow and bulky teletype terminal. I soon wanted more - especially to be able to work in the computer facility where there were CRT terminals - still only text based, but much faster - and where the sound of whirring refrigerator-sized hard drives, spinning magnetic tape reels and clattering line printers seemed to go along with the visual show of flashing processor register lights. Wow, binary at its best! I soon changed my major from chemistry to physics and mathematics to be able to work more in the computer center and as there was no formal computer sciences program, took on several independant studies. PDP-10 assembly language became my language of choice as I felt too limited by Basic and Fortran. I wanted to work at the bit level and control other devices - particularly a new HP plotter. One independent study project that lasted two semesters plus one summer involved the writing of Abacus, a mathematical equation parser written in PDP-10 assembly language that turned one's teletype into a scientific calculator with user defined functions, memory registers, etc. - at a time when scientific or even basic calculators were quite bulky and cost many hundreds of dollars. I got quite a surprise this winter when my wife happened to do a Google search on each of our names and turned up a link to Abacus in a now-defunct repository for PDP-10 assembly language programs.
After graduating from college in 1974 summa cum laude with BA degree in Physics/Mathematics, I decided not to go on immediately for graduate studies but instead joined my father in his very successful real estate business for a couple of years. As sometimes happens, the couple of years became many. Although the money was good and the work interesting, I still longed to spend my time doing computer programming and electronics circuitry design.
In 1975, I found most of my spare time engaged in building a personal computer containing an 8-bit processor (Intel 8008) based on the designs from an article in Radio-Electronics. I developed several add-ons to the original design including a hex loader that made it easier to enter programs as 2 or 4 hexidecimal characters as opposed having to flip single bit toggle switches up or down. These were published in an newsletter assembled by Carl Helmers who later went on to found Byte magazine. Although I had fun with the project and learned a lot, it had no practical purpose in my goal to computerize our real estate operation. 32 K of RAM and a cassette tape drive don't quite cut it!
Sometime around 1977, I went way out on a limb financially to purchase a DEC Systems workstation built around the PDP-8. This gave the business word processing and limited database capabilities. Back then, simple accounting software for the system cost upwards of $5,000-$10,000, so I wrote my own accounting system and also a property tax data entry and billing system that I provided for several years as a side business to three area towns.
By 1981, personal computers were becoming more available but were still very expensive and limited in capability. I finally bought an Ithaca Intersystems box that became a second word processing system and allowed me to get into higher level programming using the Pascal language. This was interfaced with a graphics tablet and HP plotter for use in preparing real estate plot plans using custom software that I developed. Without the rich API's of modern languages, operating system and frameworks such as .NET it was necessary to write both the device drivers and fundamental routines such as those for plotting text characters at a specific angle of rotation.
In 1986, I became the proud owner of an early IBM AT computer (8086 processor) that sported two 10 MB Benouli drives. I now had all the storage that I thought I'd ever need! Wrong . . .
Through the years since then, there has been a steady parade of computer systems, canned software, and programming languages - Pascal, C, C++, VBA, VB, and C# come through our door, each with their own advancements and refinements and opportunities for learning.
After closing the real estate business in 1989, I continued to do much custom computer programming usually for free and for various organizations in which my wife and I were involved. These projects included:
- Volunteer scheduling system (Pascal) for Stoneham Rescue Service
- Quicken to Excel Accounting Interface for Bridgton Alliance Church (VBA, MS Access/Excel)
- Program scheduling system (VBA, MS Access) for Lake Region TV
- RS-232 -TC/IP device server and multi-threaded near real time events scheduler (VB.NET, C#.NET) for Lake Region TV
When several of these same organizations recognized the need for a presence on the world wide web, I started to learn website design first by handcoding HTML and later using FrontPage. When the newly formed Discovery Research Project in the greater Bridgton, Maine area of Western Maine asked me in the summer of 2004 to be their webmaster/database designer, I started to investigate ways to develop an database/website combination that would allow area artists to enter information about their endeavors and site visitors to search this information. As I was already doing windows forms/application programming in VB.NET and C#.NET with Visual Studio 2003, the selection of the ASP.NET framework was an easy choice.
While spending several months during the winter of 2005 developing an ASP.NET web application for Lake Region TV that would require user authentication and profile entry, a forum, database driven photo gallery, program schedule display and visitor feedback, I kept getting the feeling that I was re-inventing the wheel and that I should take a look at some of the portal/content management frameworks. Because I prefer to write my own code and because I have found that trying to modify someone else's code to meet a project's requirements can take longer than starting from scratch, I did little more at first than to play with a local installation of DNN 3.0 and study its architechture and coding. The more I looked, the better I liked it - especially the ability for a coder to design and package custom modules. In the fall of 2005, I built my first live DNN site in version 3.1 for the Community Television Association of Maine and developed a set of custom modules for maintaining and displaying information about all known community access channels in Maine. I am currently working on an module for entering and displaying information about television programs that the various access centers would like to share with their peers. Another current project involves the redesign of the current Lake Region TV website as a DNN 4.0 site including the development of a module that will display complete program schedule information.
After spending the last 10 years working upwards to 60 hours per week as the chief engineer, television program producer/director/videographer/editor, and station manager for Lake Region TV, I resigned from most of my positions with them in August 2005. Although I will still contribute many hours of volunteer time doing video production for Lake Region TV in the coming years, I should now be able to find much more time for doing what I really like - software development and website design.