I have been in this industry for a long time. Not quite punch card long, but long enough to have experienced the Personal Computer revolution hands on. I have fond memories of typing programs out of magazines in a TRS-80 Model I in a small room at the High School. Larry O’Brien mentioned that he sold his first program at age 16. I must admit to feeling somewhat green with envy. However, on a recent family visit, I was reminded that I was also 15 when I did my first consulting gig. However, the best part is that my program is still in daily use! The original code is over 20 years old! of course, it has morphed and has been extended, but how many people can say that their code is still in use after 20 years? I definitely got a kick out of that.
What is this mysterious application? A veterinary practice manager. Keeps track of patients, immunization reminders, electronic record keeping & billings. All originally done in dBase III. It’s been by far my most successful project. All done in the span of 1 week, at the vet’s kitchen table, using what now is called agile methods. Hmm…I see now that it’s been downhill ever since! ![]()
What is you oldest living program?
Wed 12 Dec 2007
How long lived is your software?
Posted by benoit under Agile, career, ramblings
No Comments
Wed 12 Dec 2007
They (almost) sing about my life!
Posted by benoit under ramblings
No Comments
Thanks to Chris Sells for pointing out the group Richter Scales and their song Here comes Another bubble. While the song is funny as everything, I believe many a tech worker can identify with the themes. Heck, it even covers ageism, my favorite angst inducing subject.
Go have a listen!
Tue 11 Dec 2007
Tales from the trenches: build dread
Posted by benoit under career, ramblings
No Comments
While perusing the TIOBE report, I noticed REXX made an appearance. This brought back memories of being a co-op student in the early ’90s. My employer, Bell Northern Research (aka BNR), was the research arm of Northern Telecom. They were eventually fated to be absorbed and re-branded at Nortel. This was a similar setup to Bell Labs & Lucent. I was in one of the many groups working on their central office switch, the DMS-100. The code base was over 10 million lines of code, which back in the day was gargantuan. Builds would occur on mainframes, as those were the only computers fast enough to compile the code in a reasonable amount of time. A full build would take around 19 hours. Woe be upon the unsuspecting soul whose checkin broke the build. You could expect a call at 3AM telling you to get your behind at the office and fix the problem. As a result, everyone was paranoid about making changes.
One of the last thing I did in my co-op term, my crowning & lasting achievement so to speak, was to remove an unused local variable from a function. Removing 2 statements, a declaration and an assignment, was all I had to do. It took the better part of a week. First, we had to run a cross-reference on the entire code base, to make sure the local variable was not used anywhere else. Once this was done, I excised the offending offals from the code, a 5-minute procedure. Someone (not the lowly co-op student) performed a delta build on the module itself to insure it compiled. Finally, after much heming & hawing, the manager gave the go ahead for the checkin, another 5 minute operation.
That night, around 3AM, while the mainframe’s hard drives were spinning, transforming the chunks of code info a Motorola 68K binary executable, the unthinkable happened: nothing.
My mighty change didn’t cause the end of the world build to fail and everyone slept through the night. We later learned that this particular change had no effect on the actual executable. The compiler was optimizing the unused variable away.
This experience thought me a few valuable lessons: I was not going to work on the DMS-100 when I graduated. I was not going to work on mainframe computers. PROTEL (the in-house programming language) was not what I wanted to program in. BNR had tons of other development programs, some of which dealt with those cool Sun workstations… no nightmares of late night build failures there!
Anyone else ever experience build dread?
Sat 8 Dec 2007
Of Languages and men…
Posted by benoit under ramblings
No Comments
Reading an article on the “D” programming language, I can across the TIOBE survey of the top 100 programming languages. This piqued my curiosity and I decided to see for myself.
I’m classifying my experience as one of 4 categories: Competent, Dabbler, Heard of it and huh? In the Top 20 languages, I fare as follows:
Competent: 6 (C, VB, C++, Python, C#, Pascal)
Dabbler: 4 (Java, PHP, Perl, Transact-SQL)
Heard of: 7 (Ruby, JavaScript, Delphi, COBOL, Lisp/Scheme, Lua, PL/SQL)
Huh?: 3 (D, SAS, ABAP)
In the top 100, I have 8 languages I am Competent in, 19 others I have dabbled in, 28 I am aware of. This leaves 45 languages I had never heard of before today. 3 of those are in the top 20.
Another way of looking at it is that I’m competent with languages used by 41% of people out there, but I have dabbled with 79% of used languages. If I became competent in Java & Ruby, I would bump my number to 64%. Hmmm…Maybe I should do like Eric Sink and do something in Java.
The unknown languages, while large in number, account for less than 5% of usage.
How do you stack up in the language demographics?