About The Programmer
Here's a little history about me.
I bought my first computer, an Apple II Plus, in 1981 while a young teen in
high school. With some very smart friends, we wrote a video game called "Shell
Shock" where two players fought each other in tanks over a graphical landscape.
Players were connected through their 300 baud modems (that was the technology
of the time.) The game was written in 6502 Assembler and took up far more RAM
than the 48K an Apple II Plus offered. So it had code swapping and other custom
operating system features. We tried to sell it to the major Apple II games
companies of the time (Broderbund, Electronic Arts, Sierra Online, Origin
Systems, etc.) without luck so it never had mass distribution.
In college, I bought my first of many Macs, in spring of 1984. That was when
the Mac had first been released. So my first programming experiences on it were
with a huge photocopy of the pre-release Inside Macintosh manuals while using a
very primitive Microsoft Basic 1.0. I then built a psychology office billing
program for an aunt that included a custom database I designed to mimic the Mac
resource manager. At this point, I was using first generation Pascals for the
Mac (Apple, TML, and Lightspeed. Anyone remember these?) None had object
support yet. Yet, the resulting app was enough to get me a job offer from Lotus
who were building their first 1-2-3 for the Mac. I didn't take that job.
Instead, I joined a company that has gone through many names: NorthEdge
Software, TIMESLIPS Corporation, Sage Holdings, Sage US, Best
Software. However, the product I worked on has always had one name: Timeslips.
) It remains the industry leader in time and billing for Windows and Mac
platforms (and MS DOS before that died off.) I started as the sole Mac
programmer and in the first year, the program received the MacUser Eddy Award
for Best New Financial Software. (The Eddy Award statues looked a lot like an
Oscar Award and my boss tells a story where he was going through New York
airport security with it after the ceremony. When security asked what it
was, his business partner said "It's Robert DeNiro with his Oscar."
Apparently, the security attendant believed him and let him through without
further incident.) Within a year, I had introduced the first objects into the
Lightspeed Pascal codebase. In my last upgrade on the Mac, I had rewritten much
of the interface with object classes.
As Windows 3.1 became marketable, I ran a team to convert our DOS product into
Windows. Both platforms shared a common codebase under Borland Pascal 5, and
finally, the Microsoft side got religion, er, objects. (Remember the Mac vs PC
wars? It was me against a large PC team for a while.) But the codebase was
suffering from years of upgrades in the hands of far too many people who didn't
document and had departed. So when we needed to deliver a Windows 95 version,
we started from scratch with Delphi. That was a tremendous challenge. I was the
Chief Architect and ran a team of 8, many raw recruits out of tech support who
had little object oriented experience. It took us 3 years and 4 upgrades of
Delphi before it was done. (In fact, even though we were writing a 32 bit
version, we started before Delphi had a 32 bit version using Delphi 1.) One and
a half million lines of code are quite difficult to debug. Half of that 3 year
period was spent on debugging. So when it hit the market, end users went
through quite an experience. Over the next year, we released 11 service
releases to address bugs and correct a few omissions that the 100,000+ customer
base had been used to in prior versions. Not fun.
These days, the product is very stable, in part due to an extensive object
oriented codebase. In fact, I designed the entire program to allow it to be
reused by any other team developing business apps in Delphi. (As Timeslips is
part of The Sage Group, PLC, which has numerous divisions world wide, including
PeachTree, ACT!, BusinessWorks, and MAS 90, it had proposed that we build code
that could be shared prior to our Windows 95 rewrite. See
http://www.sagesoftware.com/ ) It's a very comprehensive framework that far
extends Delphi's classes into UI, reporting, business objects, user macros,
etc. It's just too bad that a commercial software company cannot distribute
portions of its source code.
In 2000, I joined the dotCom craze as the VP of Engineering at MOMENTIX.com in
downtown Boston. I ran a team, was Chief Architect, and sometimes coded, on
Microsoft ASP 3.0 with SQL Server 7. The company was an Application Service
Provider for the tradeshow industry. Our reusable application allowed tradeshow
brochures to be quickly published with the correct look and content for each
tradeshow. Here I found life without objects once again and was very
disappointed. In fact, our codebase had been written without much COM (which
could allow C++ or Delphi objects). No, we were writing everything in VBScript
and JScript. This is a huge business application with plenty of real program
code. And no objects. In any case, the company folded (due to the market, not
the code in case you thought otherwise) and I started to look for new
I started PeterBlum.com in 2002, after exploring the newly released ASP.NET
framework and publishing several free web controls.
That's where I am today. Living in a dotNet world and loving it.
--- Peter Blum