My first exposure to programming was in the 1960' when I took some courses in Fortran and Cobol. It must be remembered that computers at that time were a bunch of vacuum tubes and punch cards and the thought of doing photography on a computer had not even occurred to me until many years later when I was first exposed to the Amiga community.
The Amiga was the first computer to be able to do primitive photography (cga 16color, and HAM). I have been involved with photography since I was a child in the bathroom developing pictures and the thought of getting away from the smell of hypo intrigued me . I purchased my first modern computers in the early 1980's (Commodore 64,128) but the Amiga with its mouse driven Interface was a revelation. I was able to do some very elementary graphics from prints and negatives but quality being limited to 640x480 precluded anything that could really be called photography. Example below:
1985-1990 The Amiga Years
During this period I became an active member of the Amiga Community I attended numerous user groups and conventions and came to know numerous developers including Jay Minor and Dan Silva. At one of these event I was talking to Jay (The primary developer of the Amiga) about my likes and dislikes in software and he suggested I should learn to program in "C". This suggestion turned out to be prophetic as it has altered my life. The Amiga developed significantly during the later half of the 1980's going from 640x480 CGA to 256color 1024x768 during that period. There were also various NTSC capture devices that became available and video devices like the Super Gen 2000 which was used to create the tv series "Babylon 5".
1990 - Amiga to IBM
By this time it was becoming obvious the demise of the Amiga was immanent. I had been working on various Natural History Identifiers ( Mushrooms and Ferns ) with the NYS Museum and was searching for various solutions to do what I had all ready accomplished on the Amiga. The biggest stumbling block was displaying images and for a time we used Bob Montgory's "Vpic" to do image displays on the PC as it was the first SVGA capable display device for the Win PC. I worked quite well and as it had, significant command arguments, it could be called from a parent program and do the display transparently. This worked but for a distributed product it would require installation of Vpic and copy write arrangement with Bob. I started search for a SVGA display solution for the Win PC.
WE had been working on the graphics for a fern identifier by developing .lbm files on the Amiga for some time as there was no paint program for the PC yet. While talking with Dan Silva the author of Dpaint ( The first computer paint program Amiga ) I mention that I was embarking on an effort to do graphics in "C" on the PC and while asking him about some complex graphic display routines he suggested I look into the SVGA display library by Steven Balkhum and Dan Sill.
This library written in Assembly solves the complexity of graphic display for 256 color graphics in the Windows environment. This library included example C# source code for all types of graphic functions and has to be one of the most beautiful piece of programming that I have ever incurred. Code that functioned flawlessly with source code so clear and concise even I could understand it. I also must thank Stephen and Dan for numerous times they gave me help. Unfortunately this library was rendered obsolete by the new display drivers in XP.
1991 - 1998 The Windows years - BorelandC
During the this period I developed numerous pieces of software for the Win PC including a Mouse driven Paint Program, A pre-sale home inspection program, and Several Natural History Identifiers all of which used the SVGA library. By 1997 we had aquired all the species graphics for a fern identifier and started assembling this for release on CD.
It was a real kick in the head when all of a sudden XP would not run the SVGA library on many machines. This in itself was enough to drive me to Linux but in 1996 I became involved with some "Frauhoff" people doing a new music technology called MP3. They were all Linux users programming with GNU compilers and offered me source code and such to get started. I was pretty disgusted with MS ME and 2000 were both horrible for graphics and Linux though unfriendly did provide capability that Win did not have.
1999 - 2003 MS driving me crazy went to Linux - GNU compiler
With the help of some European Linux friends I was beginning to aquire some Jazz files. Also I had a significant collection of Vinyl I started to convert to .mp3's. By year 2000 I had a jazz collection of several thousand files and had a library system for Linux developed with the GNU compiler.
I decided after the Amiga debacle and the present Win problems that a new MP3 library system I was going to develop had to be compatible across as many OS's as possible. I designed a standard file name for .MP3 files that we use to this day. It was not easy to get a file name for music files which not only contains all the information about the file in question but also can be copied, searched, renamed, exported, imported, and played across numerous operating systems. Here is an example notice there is all the info in the file name so it can be moved to any location without losing its identity and strict char[] placement allows for easy file access regardless of programming language or OS.
date at char[0] 4 chars 0-3
artist last name char[5] to IndexOf(",")
album title char[LastIndexOff "-"] +1 to char[lastIndexOf["_"] -3
Song name char[ Indexof("_")+1 to char[lastIndexOf(".")-1]
Although I have been quite happy with most Linux OS's for distributed product you have to evaluate the market and Win with 90% is where the bulk of the market lies. For my personal use I probably would still be using Linux but for distribution Windows is a necessity.
2003 C#
In 2003 I was requested to do a rewrite of the "NE Fern Identifier" for the NYS Musem that would be compatible with the new MS Win Versions. By now XP was pretty stable and my son recommended doing the new development in C#. I resisted at the time due to the costs involved but finally gave in and purchased an academic copy of VisC and new Win PC.
In the first 6 months I was able to rewrite the "Fern" program and had started embarking on a new adventure in C#.
C# 2003 - Present
C# is a very descriptive language and the code is quite readable even by non programmers. Many functions like playing a sound or displaying a picture can be done with as little as one line of code. I like everything about C# other than being tied umbilically to MS. Be that as it may in the last 14 years I have written countless programs in this language doing things like Internet, GPS, Video, Sound, Pictures etc.... all of which would be extremely difficult in C++.
C# Media Display
Over the last 14 years there has been an ongoing effort to develop Media software. There have now been so many version and Incarnations suffice it to say the current version with all subordinate programs has been in use since 2017.11 and seems to be working quite well.
TV - HDTV - NTSC
I have been convinced for many years that the TV and Computer as separate identities is destined to be merged in a single technology and for many this is already a reality. Since the advent of HDTV a TV screen is now equivalent to a computer monitor and could function as such if it were not for the fonts which are too small for TV viewing. I started in about 2005 developing software for HDTV connected PC's. This software had large fonts that you could read from your easy chair and could be controlled with various IR or RC devices. It enabled you to select and view your media on a HDTV.