heuristic

[heu-ris-tik, hyoo-ris-tik, yoo-ris-tik]

adjective

1. A method of discovery or understanding by self-education, usually through experimentation or trial and error.





Software Development

I purchased my first computer in late 1981, a Commodore VIC-20. The VIC was a remarkable machine for the price with on-board sound and graphics as well as a proprietary BASIC language loaded into ROM. The computer came with 5 KB of RAM of which, only 3,583 Bytes were allocated for programming. Though expansion modules were available, they were expensive and did not seem worth the price as the computer wars were heating up.


Commodore's BASIC was, well, basic. Unlike todays Visual Basic, this language required each line of code to be numbered. Branching was performed by calling the line number. Armed with their optional cassette storage, I eagerly dove into learning how to code. Two things quickly became clear:

1) Sequentially numbering lines of code prevented adding lines in between without a very time-consuming (and confusing) overhaul of the complete code module.

2) Spacing each line of code by perhaps 10 (10, 20, 30...) allowed inserting additional code, but the line numbers gobbled valuable RAM - there were only 3,583 Bytes, remember?


Despite these drawbacks, I created several useful programs. I remeber one computed standings of remote-control cars we raced outdoors. That code was complex and had to be modified many times to fit into the allocated RAM. If that computer taught me one thing, it was how to code efficiently - something I use to this day.


After a year or so, I purchased Commodore's Commodore 64 and a floppy disk drive. I was never impressed with this computer and really did not use it much. Where the VIC was a learning tool, this was a toy and I was now a big boy. The neighbor had an Apple II with dual floppy drives and monitor. I certainly had computer envy. My enthusiasm waned for a few years until I started a business. Needing a computer, I purchased an IBM 8088 machine with an internal floppy drive. Now, it was time to learn DOS and learn it I did. Not without mistakes, though. One day, I was helping my accountant out with his DOS machine and I accidentally erased all his local files. Sorry, Denny. Good thing he kept a back-up. I never liked DOS applications and this machine was strictly used for word processing duty and occasional T-BASIC programming for fun.


My first real computer was an i386 DX with an internal hard drive and Windows 3.2. The HD was 30 MB and I thought "I'll never use this much space..." I named the drive 30 Meg Mama and thought I was on top of the world. Software really hadn't caught-up yet and the business Windows applications were still DOS-like. This computer was still relegated to word processing, but we had two and by using a Null Modem Cable, could connect the two machines. This allowed me and the sales guy to do some after-hours dogfighting with an awesome game called Fighting Falcon. Not exactly business as usual, but too cool.


The Pentiums and Windows 95, coincided with our growing business's requirement for data retention, retrieval, and analysis. Still, business software was DOS-like and clunky. With no Automation, everything had to be performed within a single application. I certainly got sticker shock in 1995 when I shopped around. The software was sold as 'modules' with a base price of $70,000 (remember, this is 1995!). Any additions would be custom and cost $200 per hour to implement. After picking myself up off the floor, I decided to roll my own software.


In late 1996, equipped with only a vision and some basic BASIC experience, I purchase MS Access 95 and began to learn OOP and all its Methods, Properties, and Actions. Working from 5PM til 9PM each weeknight and 6AM to 9PM every weekend, it took 6 months to scale the steep learning curve required to put together a basic product. One year later and an upgrade to Access 97, I had a fully functional business application. Running on a Peer-To-Peer network, the data was kept on a backend "server". The frontend supplied all departments with detailed data, presented in an intuitive manner. First with DDD, then with OLE, photos of the thousands of parts were proudly displayed within the Parts form for customer identification. Parts orders were automatically faxed to vendors for replenishment. A click inside the Contact Manager or Dispatch forms could bring up Microsoft Maps, allowing the dispatcher to direct our field technicians to unknown locations. Rich reporting gave real-time insight to the health of the business. This all was cutting-edge technology in 1998 and to this day, I haven't seen any ERP application to match the ease of use or versatility of this application.


The business was rolling and it was time to get exposure on the Internet. My first foray into web site development was disappointing. HTML was restrictive and boring. Slow Internet speeds limited non-textual content. With DSL (and then cable) and CSS for formatting, I knew I could get what I envisioned. Due to my business demands and no interest in burning midnight oil, little time was allocated for development. However, I learned CSS and put together what I thought was a professional site. Admittedly, the code is not the cleanest. For expediency, much styling was done in HTML rather than in the external CSS. But, it gave me what I wanted.


See it here.