Skip to Content
Personal Insights
Author's profile photo Bruce Hartley

Why Software Quality is Important – a personal insight and journey

Many years ago at my local high school, I started to dig into a Star Trek program written by a very bright student turned developer in that you could end up with more survivors on your ship than you started with.  Depending on the weapon used during battle (sonic destruct was an all-too-easy go-to favorite to cause this) and the shield strength facing the enemy ship(s), you would go from 450 people on board to something on the order of 1.75342E+07 or some other ridiculous number.  Talk about a population explosion issue!

So there I am poring over about 7 BASIC+ programs printed out on heat thermal paper (yes I still have them) that used CHAIN statements to help manage memory issues (8k max – yeah, 8k).  So why did I care about this bug so much?  I mean it’s just a game, right?

Why I cared was because that student turned programmer for a living had arranged for a prize too good to be true – a set of DEC-10 programming manuals to be given to the school who could find the bug and prove it was the bug so that he could fix it.  I can just see you all laughing about this saying “just find them on the web and download them”.  Maybe I should mention that this was when ARPANET was just being built.  Maybe I should mention that the browser was still about 17 years away from even being invented, let alone unleashed.  Back then, a printed manual cost about 40-50 dollars USD and good luck getting your hands on one unless your parents were in the programming biz (mine weren’t).  I wanted that latest version of the DEC-10 BASIC+ manual bad because DEC had added some really cool stuff to the language and which was NOT yet implemented in the HELP command (so much for that help).  Yeah, online documentation wasn’t that great back then either.

All of a sudden I hear a knock on the storage room door.  Our 300 baud dial-up terminal (yeah – 30 characters per second) was located in a 8 foot by 10 foot storage closet with just a single light.  “Just let me sign off and I’ll be ready to leave” was my reply to the knock of who I assumed was the lead math teacher (female) who was always wanting to leave too early in our humble opinion.

“Son” boomed a voice from a voice range way too low for any of our math teachers at the time “, are you Bruce Hartley?

So I turned my head to the right and standing in the doorway is a police officer from the fine community of Greece NY all decked out in uniform with a flashlight shining it on me.  I’m like “Oh crap, what the heck is going on and why am I about to get busted”

Ok, now you are thinking I was hacking the CIA or something and Mr. Policeman was ready to take me to visit our local jail in lieu of being transferred to the US Federal Prison system.

So my lawyer mode kicked into overdrive and I said “Can I ask why I’m being arrested and/or charged and if so what was my crime because I didn’t do anything”.  “Nothing like that son, just glad we found you”.

Well as it turns out, he speaks into his large handheld radio that “I found him, he’s in the computer room” and then says “Son, do you know what time it is?”.  You have to understand that this “room” that they had us use has no windows, one door, we keep it mostly shut to keep out most of the noise from the math lab, so I responded “3:40?”. thinking that it’s the end of the after school time slots for computer time signup.

He then moves his flashlight and heads out the door.  Only then do I notice that the math lab is dark, VERY VERY dark and he walks over to the light switch and turns it on.  I then look at the clock and it’s 6:30 PM – Oh CRAP!

So then I realize why the officer is there – my parents had called the police and reported me missing because I didn’t come home from high school.  And of course the police ask what time I normally get home and was told “well he is always staying late in the computer lab and gets home about 4:15 pm.  So naturally where did they look first? hint – it wasn’t the local bus station.  Didn’t hurt the police station was just down the street from the school so why not check there first and of course the computer room was a natural place to look for me.

So it turns out that due to a foul-up of epic proportions on which teacher was to cover the late shift in the math lab that day, no one was there to remind the students to pack it in for the day.  And since one didn’t have a clue as to what going on outside (sensory deprivation anyone?), one could not tell that it was way past going home time and more like dinner time (and I was late for that too).

Wish I had a picture of said “room” (try storage closet), but I think you all can picture the scene.

So what’s the point of this?  If you aren’t careful and a Star Trek program creates more new people than a new large US city, you might not make it home for dinner on time.  Ha ha, very funny story Bruce, what’s the big deal?

Here’s the big deal about bugs, a more serious bug might be that jets crash when software improperly tries to cause a plane to climb at a stall rate when bad hardware sensors send the program bad data and no one thought to account for checking limits of incoming data.

Computer systems quality matters, it needs to be taken seriously for everything and attitudes like “the pilots can just shut the subsystem down if there’s an issue” can literally get people killed (it did).  And I’m sure many of you have worked overtime on a bug that shut your systems or subsystems down and caused you a lot of grief.

The best bugs are the ones that are never created followed closely by the ones caught at various phases of your software lifecycle.  So it behooves us all to have processes in place to ensure software quality isn’t an afterthought.

This is hopefully a start of a series of blogs I hope to write about software development and quality so that is why I’m passing on this story to start with.  And by the way, I got started with computers in 4th grade when a hardware bug shredded a disk drive subsystem on a custom one of a kind school library book catalog computer developed by Eastman Kodak as a pilot project.  Yea, a bunch of elementary school kids were used as free testers and some of us formed a computer club after that.  That computer lived by the way, the bug was found and fixed and a new disk drive subsystem and disk was installed.

So now all all of you are saying “Forget the darn bugs and moral of the story Bruce, so what happened? Were you grounded? Were you arrested?  Did the town of Greece, NY get a million new residents?  “We just have to know!”

 

,,,

 

Two weeks later I brought into school a brand new DEC-10 Basic+ manual with the latest newly added features to share with all my fellow students.  And the math teachers had a new policy about ensuring everyone was out of the lab when the last one left for the day.  And Greece, NY never had to deal with 1 million new residents.  And best of all, I wasn’t arrested or grounded.

Assigned tags

      9 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Michelle Crapo
      Michelle Crapo

      I'm amazed!   I would have been grounded for life or at least a year or two.

      This is a great story.   I think we all know quality is important.   At least anyone who has had at least one program fail.   It brings back lots of memories for me.   How much time we used to have for a project.   The amount of testing that went into it to make sure it would work.   Back then we thought it was a lot.   And actually it was.

      Now in larger companies there are completely different testers than programmers.   If we don't get the program done in time for testing - it's late.   Because we don't cut that departments time.

      Now in a smaller company - and the real world for most of us.  We write and test the program before handing it to a user to test.  And if the project goes long the testing time is cut.  Yes, bad practice but it happens.   Right now I actual create the requirements, write the program, and then test it.  I do have someone in my department test after me before it goes to the end user.

      So yes, my quality has changed over the years.  And of course, I've gotten better at testing for things that can happen many times.

      Now that's the actual side of doing the testing.   The why is expressed quite well in this post.   I guess my question would be pay now or pay later.  And if you are writing code that could kill people, well you better be darn sure it's been testing around a million times or more.

      Author's profile photo Bruce Hartley
      Bruce Hartley
      Blog Post Author

      Michelle;

      I would have been grounded as well for at least 3 lives plus 20 years if the math teachers hadn't confessed that they left without checking 'the lab" (storage closet - lol).  They got in very serious trouble over the incident and IIRC correctly the teachers union had to get involved as well.  They never told me or my parents what was done to the teachers other than "the process issue has been corrected" and trust me, they made darn sure we were gone every day after that as they were to lock the computer room door as well after making sure it was empty and the new process was posted by every teacher's desk in the lab as well as on the door of the computer lab.

      AT first it was thought I had tried to purposely "hide" to stay late, but then several students came forward and said that the last teacher that left made no attempt to clear the main room of students either let alone the lab.  It wasn't the normal teacher that left, the teacher that normally stayed late and made sure we left had an early appointment and thus wasn't there so she was exonerated as she had clearly put someone in charge and had told them what to do and the process wasn't followed.

      Author's profile photo Markus Gradl
      Markus Gradl

      Yes, absolutely correct. Do you remember the Xerox Bug 2013?

      I look forward to the further posts!

      Author's profile photo Bruce Hartley
      Bruce Hartley
      Blog Post Author

      I don't remember that one - will have to look that one up - Interesting fact about Xerox and myself - The manufacturing center of Xerox was located in Webster, NY and I think it still is which is a suburb of Rochester, NY of which Greece, NY is also a suburb except on the west side of the city, Webster is on the east side.

      Author's profile photo Dell Stinnett-Christy
      Dell Stinnett-Christy

      I grew up in Acton, MA, which is the next town over from Concord, MA ( of Revolutionary War fame) and Maynard, MA, where DEC had its headquarters.  In fact, DEC moved us from Iowa to Massachusetts when I was 4 and my dad worked worked for them from the mid-60's to early 70's.  In  about 1970, (I was 9) my data brought home a book about BASIC, gave it to me and told me to have fun with it.  I didn't get to actually try it on a computer until I was a sophomore in HS because my school had a PDP-8L which a teletype machine for an interface and we stored our programs on paper punch tape.

      Not that this has anything to do with software quality, but I find the connections to DEC interesting.

      -Dell

      Author's profile photo Bruce Hartley
      Bruce Hartley
      Blog Post Author

      Dell;

      I worked with various DEC computers for the first 20 years of my professional work life and I found their systems easy to work with and especially the ones with the VAX/VMS Operating system which is now OpenVMS.  I loved the company and their technology and was sorry to see them go and I felt their ease of use and uptime was legendary.  Many times the only reason you had take down or reboot a VAX/VMS system was due to needing to do the full backups.  They also made networks such as ethernet so easy to use and the use of it was fully integrated into the OS you didn't have to think about it.  I tip my hat to all the people who worked at DEC over the years as they invented a lot of stuff and we are all better for it.

      Our HS computer "system" consisted of that same type of teletype machine you are talking about plus the punch paper tape option (no one used it - blank tape cost too much and we could never get any) with an acoustic 300 baud modem which was dialed into a DEC-10 mainframe system run by the Board Of Cooperative Education Services (BOCES) in another town just south of us (Spencerport, NY) at what is know as BOCES #2.  BOCES was also and still is responsible for teaching kids vocational and trade skills and still exists today and allows the school districts to leverage it and our school paid a "fee" for access to the system each month.  The other thing it had was a mark sense card reader which most students used to program it, I preferred to type my programs in as opposed to the card reader because the cards only supported 40 columns and typing gave me 80 plus I got a chance to take typing in 9th grade which greatly helped.
      Speaking of quality, the card reader often made "mistakes" due to any number of reasons where as typing was 100% of what you typed.

      Author's profile photo Dell Stinnett-Christy
      Dell Stinnett-Christy

      In the late 60's, DEC did some work for NASA.  I believe it was for health monitoring for the astronauts.  My dad worked on that project along with others - definitely a place where software quality was a necessity!  His official title was "Diagnostic Programmer".  From there he went to work for Data General (employee number 112) which was started by four guys from DEC.

      I remember going into work with him at DG on some weekends and playing a Star Trek game on the computers there.

      As a side note, my dad (now retired) and I are both programmers - but I can't do what he did (low level machine language talking directly to hardware) and he can't do what I do (database design, analytics, and Data Science.)

      -Dell

      Author's profile photo Bruce Hartley
      Bruce Hartley
      Blog Post Author

      Seeing what you wrote reminded me of the definition of "Real Programmer' in Ed Post's [1] seminal article on the subject - your dad is definitely a Real Programmer.  Here's the line that fits:

      "It was largely due to the efforts of thousands of Real Programmers working for NASA that our boys got to the moon and back before the cosmonauts"

      Not to worry, anyone who works on database design, analytics, and data science is in that category as well IMHO.

      [1] Post, E., "Real Programmers Don't Use Pascal", 1982, http://www.ee.ryerson.ca/~elf/hack/realmen.html

      Author's profile photo Daniel Wroblewski
      Daniel Wroblewski

      Disk drive!!?? In my day, we had some a Wang machine (the size of a small TV) with only cassettes as storage. And don't get me started on my Fortran programs on punchcards.

      P.S.: Very interesting story 🙂