Tag Archives: Planner

Power Plant Men Take the Corporate Mainframe Computer Home

Favorites Post #78

Originally posted January 10, 2015

When the Coal-fired Power Plant in North Central Oklahoma downsized from 218 employees to 124 employees in 1994, everyone was scrambling to figure out how we were going to complete all the work that needed to be done to keep the plant running.  We had become cross-functional teams which seemed to help right away, but we needed to know what jobs were the higher priority jobs, because it became obvious, at least for the short run, that we were not keeping up with the workload.

That was where the “Planners” came in.  In other industries, we may call these guys, “Project Managers”.  They planned the work, and gave us the Maintenance Orders when it was time to work on them.  At first, this was a daunting task for the four planners at our plant.  The planners were Mike Vogle, Glenn Rowland, Ben Davis and Tony Mena.

This was a new job for all of them.  Glenn Rowland had been an A Foreman for the Instrument and Controls Department.  Tony Mena had been on the Testing team.  Mike Vogle had been a B Foreman over the Labor Crew.  Ben Davis had been an electrician.  Now they were suddenly working on a computer all day long trying to learn how to plan their days so they could plan ours.  I currently don’t have any good pictures of this team, or I would let you see for yourself what great guys they are.

Oh.  Ok.  Here is a later picture of Mike Vogle which I absconded from his Facebook page:

Mike Vogle

Mike Vogle

At this time, though they were using the “state of the art” 286 PCs, they were really working on the Honeywell mainframe computer at Corporate Headquarters in Oklahoma City.  They did this by using a Dumb Terminal emulator named GLink.  See the post: “Working Smarter Power Plant with Dumb Terminals” for a better explanation.

This is GLink today. Back then it was for Windows 3.1

This is GLink today. Back then it was for Windows 3.1

The Power Plant Men knew that I liked to play around on the computers.  I was always going around helping people improve their computer experience by writing little programs that would do important things.  For instance, Windows back then had a screensaver that would fly the windows logo out from the screen so that it looked like you were flying into  the windows logos and they were passing you by.

Flying Windows Screensaver

Flying Windows Screensaver

In the executable program, if you changed the value of one particular byte, you could change the picture from the windows logo to any other of the 255 Wingding Characters.  This included things like Skull and Crossbones, Hearts, Crosses, Envelopes, Stars, Snowflakes and a lot more.  So, I was able to customize their screensavers using any of the wingding characters.

I wrote simple little programs to change their font size and color when they were using DOS, so they could read their screen easier (for the old timers that had a hard time reading the little letters).

Anyway, I had developed a reputation as not only being a troublemaker, but also of being a computer whiz. I have more stories to tell at a later time, but for now I will stick to the one about bringing the Honeywell mainframe home.

A Honeywell Mainframe computer

A Honeywell Mainframe computer

Mike Vogle first asked me the question.  He explained to me that he was staying later and later each night at work doing his job.  The earliest he was leaving was after 7pm each day, and he didn’t have time anymore to even see his family by the time he arrived home. So, he asked me if there was some way he could take his work home with him.  What he would ideally like to do would be to take a disk from work with the Maintenance Orders on them where he could complete them.  Then the next morning bring that disk back to work and put it in the computer and load it into the system.

I can see that a lot of you are rolling your eyes wondering why he didn’t just log into the company network and work remotely.  Well, in 1994, the Internet was something new.  We didn’t have the Network infrastructure built yet that would allow something like that.  We were using Windows 3.1 on old 16 bit computers.  Most of the programs we were running on the computers were still Pre-Windows.  The GLink application, even though it had a windows Icon, was really a DOS program emulating a Dumb Terminal.

I told Mike I would look into it to see if there was some way I could emulate the emulator.  That is, write a program that would be able to interact with the GLink program to upload and download data from the mainframe automatically.  I was sitting in the Electric Shop Office with Charles Foster thinking about this over lunch when Terry Blevins came in.

Terry Blevins

Terry Blevins

Terry and I had worked together the last seven years on the precipitators.  During the downsizing Terry was offered a job working on “Special Assignments”, which was a great move up for him.  We were all happy for him.  He had setup shop at the warehouse office where he could work part of the time from our plant instead of having to drive from Ponca City, Oklahoma to Oklahoma City to go to work.

When Terry came in to eat lunch with us, I told him what Mike Vogle had asked me.  Terry said right away that the GLink program had a Macro language that we might be able to use to automate the process.  This was just what I needed to hear.  If I could write a program that would write macros and send them to GLink to run, then that would do it.  I looked up the macro commands for GLink by opening up the Help section and printing out the list.

I used BASIC 7.0 (no.  Not Visual Basic, I hadn’t advanced that far yet).  BASIC 7.0 was the first BASIC that did away with line numbers and advanced to a real second generation programming language.  It came out about the same time as MS Windows.  When I first bought the program, it was about $500.00 which was quite a lot for me.  But it allowed me to create actual DOS executables where I could do just about anything I wanted.

BASIC 7.0 Programmer's Guide

My BASIC 7.0 Programmer’s Guide

Keep in mind that the language I was using to write the program didn’t know about Text Boxes, or even “Word Wrap” for that matter.  Everything that the user did on the screen, I had to take into account myself.  Just like I was working with a dumb terminal.  So it didn’t understand something as simple as “Word Wrap”.

So, when you finished typing at the end of the line, if it jumped down to the next line in the middle of the word, you had to arrow up, and arrow to the right (forget using a mouse), and backspace until you had erased the letters at the end of the line, and then arrow back down to the next line and start typing again.

So, I put in my own logic for word wrapping because the mainframe window had only so many characters per line, and it had no mercy.  Everything had to be in the right box when you clicked on Submit.  When I was finished writing this program, I was so proud of myself for creating something as simple as “Word Wrap”.

Word Wrap, for those of you who don’t understand the phrase is when you get to the end of the line you are typing and instead of splitting the word up when it goes to the next line, it moves the entire word down to the next line.  You see it all the time now, but early on, the person writing a computer program had to take that into account if they wanted something to word wrap.  Windows Text Boxes and Word Processors had Word Wrap built in, so today a programmer doesn’t have to worry about all those little things, because the objects already know how to do that.  Just like this internet page knows how to do it.

Years later when I was interviewing for a Developer job with other companies and they would ask me what was one of my greatest programming accomplishments, I might blurt out “Word Wrap” before I realized how silly that sounds today.

Another problem I had was that strings of characters in the computer code are delimited by Double Quotes, so what happens when someone is filling out their Maintenance order and they use a Double Quote (“).  I didn’t think about this, and the first time I gave the program to Mike Vogle to test it out, it went all crazy and entered a bunch of bad data into a Maintenance Order because there was a Double Quote in it….. Yeah.  I forgot that if you want to say you worked on a four inch pipe, you would write that as 4” pipe.

So, my second great accomplishment when writing this program was to watch each key stroke, and if it was a double quote, then I would concatenate the string to another string around the double quote that was delimited with single quotes.  After doing all that, the program worked pretty good.  I gave it to Mike, and he tested it out and after making a few more tweeks, it was ready.

Mike could then take his disk of Maintenance orders home with him, and complete his work there, and in the morning he would put the disk in the computer, type a simple command, and it would open up GLink and start uploading all the work he did the night before.  Flashing screen after screen as it worked through all the Maintenance Orders.

Over time (not overtime, but Over Time, as in after a number of days or weeks, not like getting paid time and a half), the program became popular with some of the foremen, because it had Word Wrap and the GLink Emulator didn’t because it was emulating the Dumb Terminal which is too dumb to wrap words from one line to the other.  So, this one little feature that I was so proud of figuring out actually turned out to be the selling point for the foremen to use my new program during the day at work.

I had originally written the program so that Mike could take it home and use it to store macros on the disk that would upload the data to the Mainframe in the morning, but now the foremen were using it during the day at work because it was easier to use than the actual program that talked directly to the mainframe.

It was fun writing a program that essentially wrote another program (macros) that would tell another program (GLink) what to do.  To me, it was the first step for me to take over the world (as one of my Managers at Dell used to accuse me of doing).  What I mean is, that if you could write programs that writes other programs, aren’t you essentially creating some sort of “Artificial Intelligence”?

Because of my initial experience with this effort, it has given me the idea to write a program called:  “Old Man” (well, this was before Alexa came out).  Someday, maybe when I retire, I want to write a program that will help old men… like I will be.  Old men that are losing their memory (like I will be… or already am).  And it will learn what the old man does and how he lives, and it will remind him to do simple tasks.  Basically, it will nag him like his wife would do if she was still living.  It will use voice recognition so it will speak and listen to the old man speak back.

The “Old Man” application will remind him to brush his teeth.  Go to the barber, wash the sheets on his bed.  The list can be endless, because it will learn what this person needs from scratch and dynamically build the database and infrastructure in the background to take care of this old man when he can’t remember if he has just taken his medicine already or not.  It will even make a shopping list for him and help him with cooking.  It will be connected to the Internet so that it can pull all sorts of information it needs.

The “Mainframe Emulator Commander” program that I wrote for Mike Vogle really was my first step to becoming a real nuisance at the plant, because after that, I wanted to write more and more programs. So, I was always on the alert as to what I could do next.  I will write about some of the things we came up with throughout this year.

Power Plant Men Take the Corporate Mainframe Computer Home

When the Coal-fired Power Plant in North Central Oklahoma downsized from 218 employees to 124 employees in 1994, everyone was scrambling to figure out how we were going to complete all the work that needed to be done to keep the plant running.  We had become cross-functional teams which seemed to help right away, but we needed to know what jobs were the higher priority jobs, because it became obvious, at least for the short run, that we were not keeping up with the workload.

That was where the “Planners” came in.  In other industries, we may call these guys, “Project Managers”.  They planned the work, and gave us the Maintenance Orders when it was time to work on them.  At first, this was a daunting task for the four planners at our plant.  The planners were Mike Vogle, Glenn Rowland, Ben Davis and Tony Mena.

This was a new job for all of them.  Glenn Rowland had been an A Foreman for the Instrument and Controls Department.  Tony Mena had been on the Testing team.  Mike Vogle had been a B Foreman over the Labor Crew.  Ben Davis had been an electrician.  Now they were suddenly working on a computer all day long trying to learn how to plan their days so they could plan ours.  I currently don’t have any good pictures of this team, or I would let you see for yourself what great guys they are.

Oh.  Ok.  Here is a later picture of Mike Vogle which I absconded from his Facebook page:

Mike Vogle

Mike Vogle

At this time, though they were using the “state of the art” 286 PCs, they were really working on the Honeywell mainframe computer at Corporate Headquarters in Oklahoma City.  They did this by using a Dumb Terminal emulator named GLink.  See the post: “Working Smarter Power Plant with Dumb Terminals” for a better explanation.

This is GLink today. Back then it was for Windows 3.1

This is GLink today. Back then it was for Windows 3.1

The Power Plant Men knew that I liked to play around on the computers.  I was always going around helping people improve their computer experience by writing little programs that would do important things.  For instance, Windows back then had a screensaver that would fly the windows logo out from the screen so that it looked like you were flying into  the windows logos and they were passing you by.

Flying Windows Screensaver

Flying Windows Screensaver

In the executable program, if you changed the value of one particular byte, you could change the picture from the windows logo to any other of the 255 Wingding Characters.  This included things like Skull and Crossbones, Hearts, Crosses, Envelopes, Stars, Snowflakes and a lot more.  So, I was able to customize their screensavers using any of the wingding characters.

I wrote simple little programs to change their font size and color when they were using DOS, so they could read their screen easier (for the old timers that had a hard time reading the little letters).

Anyway, I had developed a reputation as not only being a troublemaker, but also of being a computer whiz. I have more stories to tell at a later time, but for now I will stick to the one about bringing the Honeywell mainframe home.

A Honeywell Mainframe computer

A Honeywell Mainframe computer

Mike Vogle first asked me the question.  He explained to me that he was staying later and later each night at work doing his job.  The earliest he was leaving was after 7pm each day, and he didn’t have time anymore to even see his family by the time he arrived home. So, he asked me if there was some way he could take his work home with him.  What he would ideally like to do would be to take a disk from work with the Maintenance Orders on them where he could complete them.  Then the next morning bring that disk back to work and put it in the computer and load it into the system.

I can see that a lot of you are rolling your eyes wondering why he didn’t just log into the company network and work remotely.  Well, in 1994, the Internet was something new.  We didn’t have the Network infrastructure built yet that would allow something like that.  We were using Windows 3.1 on old 16 bit computers.  Most of the programs we were running on the computers were still Pre-Windows.  The GLink application, even though it had a windows Icon, was really a DOS program emulating a Dumb Terminal.

I told Mike I would look into it to see if there was some way I could emulate the emulator.  That is, write a program that would be able to interact with the GLink program to upload and download data from the mainframe automatically.  I was sitting in the Electric Shop Office with Charles Foster thinking about this over lunch when Terry Blevins came in.

Terry Blevins

Terry Blevins

Terry and I had worked together the last seven years on the precipitators.  During the downsizing Terry was offered a job working on “Special Assignments”, which was a great move up for him.  We were all happy for him.  He had setup shop at the warehouse office where he could work part of the time from our plant instead of having to drive from Ponca City, Oklahoma to Oklahoma City to go to work.

When Terry came in to eat lunch with us, I told him what Mike Vogle had asked me.  Terry said right away that the GLink program had a Macro language that we might be able to use to automate the process.  This was just what I needed to hear.  If I could write a program that would write macros and send them to GLink to run, then that would do it.  I looked up the macro commands for GLink by opening up the Help section and printing out the list.

I used BASIC 7.0 (no.  Not Visual Basic, I hadn’t advanced that far yet).  BASIC 7.0 was the first BASIC that did away with line numbers and advanced to a real second generation programming language.  It came out about the same time as MS Windows.  When I first bought the program, it was about $500.00 which was quite a lot for me.  But it allowed me to create actual DOS executables where I could do just about anything I wanted.

BASIC 7.0 Programmer's Guide

My BASIC 7.0 Programmer’s Guide

Keep in mind that the language I was using to write the program didn’t know about Text Boxes, or even “Word Wrap” for that matter.  Everything that the user did on the screen, I had to take into account myself.  Just like I was working with a dumb terminal.  It didn’t understand “Word Wrap” either.  When you finished typing at the end of the line, if it jumped down to the next line in the middle of the word, you had to arrow up, and arrow to the right (forget using a mouse), and backspace until you had erased the letters at the end of the line, and then arrow back down to the next line and start typing again.

So, I put in my own logic for word wrapping because the mainframe window had only so many characters per line, and it had no mercy.  Everything had to be in the right box when you clicked on Submit.  When I was finished writing this program, I was so proud of myself for creating something as simple as “Word Wrap”.

Word Wrap, for those of you who don’t understand the phrase is when you get to the end of the line you are typing and instead of splitting the word up when it goes to the next line, it moves the entire word down to the next line.  You see it all the time now, but early on, the person writing a computer program had to take that into account if they wanted something to word wrap.  Windows Text Boxes and Word Processors had Word Wrap built in, so today a programmer doesn’t have to worry about all those little things, because the objects already know how to do that.  Just like this internet page knows how to do it.

Years later when I was interviewing for a Developer job with other companies and they would ask me what was one of my greatest programming accomplishments, I might blurt out “Word Wrap” before I realized how silly that sounds today.

Another problem I had was that strings of characters in the computer code are delimited by Double Quotes, so what happens when someone is filling out their Maintenance order and they use a Double Quote (“).  I didn’t think about this, and the first time I gave the program to Mike Vogle to test it out, it went all crazy and entered a bunch of bad data into a Maintenance Order because there was a Double Quote in it….. Yeah.  I forgot that if you want to say you worked on a four inch pipe, you would write that as 4” pipe.

So, my second great accomplishment when writing this program was to watch each key stroke, and if it was a double quote, then I would concatenate the string to another string around the double quote that was delimited with single quotes.  After doing all that, the program worked pretty good.  I gave it to Mike, and he tested it out and after making a few more tweeks, it was ready.

Mike could then take his disk of Maintenance orders home with him, and complete his work there, and in the morning he would put the disk in the computer, type a simple command, and it would open up GLink and start uploading all the work he did the night before.  Flashing screen after screen as it worked through all the Maintenance Orders.

Over time (not overtime, but Over Time, as in after a number of days or weeks, not like getting paid time and a half), the program became popular with some of the foremen, because it had Word Wrap and the GLink Emulator didn’t because it was emulating the Dumb Terminal which is too dumb to wrap words from one line to the other.  So, this one little feature that I was so proud of figuring out actually turned out to be the selling point for the foremen to use my new program during the day at work.

I had originally written the program so that Mike could take it home and use it to store macros on the disk that would upload the data to the Mainframe in the morning, but now the foremen were using it during the day at work because it was easier to use than the actual program that talked directly to the mainframe.

It was fun writing a program that essentially wrote another program (macros) that would tell another program (GLink) what to do.  To me, it was the first step for me to take over the world (as one of my Managers at Dell used to accuse me of doing).  What I mean is, that if you could write programs that writes other programs, aren’t you essentially creating some sort of “Artificial Intelligence”?

Because of my initial experience with this effort, it has given me the idea to write a program called:  “Old Man”.  Someday, maybe when I retire, I want to write a program that will help old men… like I will be.  Old men that are losing their memory (like I will be… or already am).  And it will learn what the old man does and how he lives, and it will remind him to do simple tasks.  Basically, it will nag him like his wife would do if she was still living.  It will use voice recognition so it will speak and listen to the old man speak back.

The “Old Man” application will remind him to brush his teeth.  Go to the barber, wash the sheets on his bed.  The list can be endless, because it will learn what this person needs from scratch and dynamically build the database and infrastructure in the background to take care of this old man when he can’t remember if he has just taken his medicine already or not.  It will even make a shopping list for him and help him with cooking.  It will be connected to the Internet so that it can pull all sorts of information it needs.

The “Mainframe Emulator Commander” program that I wrote for Mike Vogle really was my first step to becoming a real nuisance at the plant, because after that, I wanted to write more and more programs. So, I was always on the alert as to what I could do next.  I will write about some of the things we came up with throughout this year.

Power Plant Quittin’ Time

At a Power Plant, three things are certain:  Death, Taxes and Quittin’ Time.  Nothing can stand in the way of any of these three activities.  The only time Quittin’ time might change is on a Friday afternoon just before it is time to go home and you hear the Shift Supervisor paging one of the foremen or the Maintenance Supervisor.  Then you know that Quittin’ time is likely to change at the spur of the moment.  Not eliminated, but only delayed.  I suppose we try doing that with Death as well.  I have never tried delaying Taxes before.

After the downsizing at the Coal-fired Power Plant in North Central Oklahoma in 1994, a lot of things had changed.  As an electrician, I was now working on a cross-functional team with Charles Foster as my electrical bucket buddy.

Charles Foster

Charles Foster

The rest of my team had different skills.  Some were Instrument and Controls, others were Welders, Machinists, Mechanics and then there was Alan Kramer, our foreman.

Alan Kramer

Alan Kramer

The new way we received work orders (we called them Maintenance Orders or MOs) was from our new Planners.  There were two people responsible for figuring out our work for the week.  That was Ben Davis and Tony Mena.  I don’t have a photo of Tony, but here is Ben.

Ben-Davis

Ben Davis

I have talked about Ben Davis in a number of past posts, as he was my mentor when I first became an electrician.  I always looked up to him as a big brother.  And, well, he treated me as a younger brother… but always with more respect than I deserved.  Tony on the other hand was originally hired to be on the Testing Team when I was on the Labor Crew.

I still remember Monday, July 18, 1983 watching Tony Mena and the rest of the new Testers walking around the plant following Keith Hodges around like baby quail following their mother (at least that was the way Ron Luckey described them as we watched them from the back seat of the crew cab as we drove past them).

The men and woman on Labor Crew had felt passed over when the new testing team had been formed because no one on the labor crew had been considered for the new jobs even when we met the minimum requirements (which was to have any kind of college degree).  So, even though it wasn’t fair to the new testing team, we had an immediate animosity toward them.

After the first downsizing in 1988, Scott Hubbard had moved to the electric shop and I quickly learned that not all testers were rotten, job stealing chumps.  Actually, none of them were.  They never had anything to do with who was chosen for the Testing team.  That came from above.  If you are interested, you can read the post: “‘Take a Note Jan’ Said the Supervisor of Power Production“.  Scott and I became like brothers when he joined our team.

Scott Hubbard

Scott Hubbard

After the first downsizing, the testing team was reduced down to three people, Tony Mena, Richard Allen and Doug Black.  I don’t have a picture of the first two, but I do have one of Doug:

 

Doug Black

Doug Black

After the second downsizing, the Testing team was eliminated.  Scott had become an electrician seven year earlier, Doug Black moved into the Engineering Department.  Richard Allen became an Instrument and Controls person and Tony Mena became a Planner along with Ben Davis.  We had two other planners Glenn Rowland and Mark Fielder (who later traded with Mike Vogle to become a foreman).  Glenn and Mark spent their time planning major outages, where Tony and Ben did more of the day-to-day stuff.

Tony Mena no longer had anyone to carpool with, so he asked me if he could carpool with Scott and I.  So, we agreed.  We told Tony that it was important to be on time, because we didn’t want to be late arriving at the plant, and we definitely didn’t want to be late going home (which was much more important).  Tony agreed that he would be on time.

Quittin’ Time at the plant is a very important and orchestrated event.  It begins a half hour earlier when everyone returns to the shop and cleans up and puts their tools away.  Then they go into the foremen’s office and fills out their timecards for the day.  This includes adding each of the maintenance orders we have worked on during the day and how many hours on each.

The next step is to grab your lunch box and go stand by the door to wait until the exact second that it is time to leave.  When that happens, a steady stream of Power Plant Men pour into the parking lot, into their pickup trucks (and other vehicles) and head either north or south down Highway 177 toward their homes.  Some stopping along the way for a beverage at the corner convenience store.

The Power Plant Men have Quittin’ Time down to a honed art form.  Each stroke of the brush is carefully orchestrated.  Scott and I went to perform our part of the ballet where the vehicles all backed out of their parking spaces in chaotic unison and quickly perform the three lines out the end of the single lane on the south side of the parking lot.

However, when we arrived in our car, Tony was no where to be found.  As we received concerned looks from Randy Dailey and Jerry Day, as they pirouetted around us, wondering why we weren’t taking our turn in the Parking Lot Tango, all we could do was shrug our shoulders and watch as the dance went on without us.

Finally about 10 minutes past Quittin’ Time, Tony came walking out of the shop apologizing for being late.  We told him that was all right as long as he didn’t make a habit out of it.  We were pretty peeved that day because this meant that we had 10 less minutes that day to spend with our families.

We were even more peeved when the same thing happened the next day.  We didn’t wait 10 minutes.  After 5 minutes we went into the maintenance foremen’s office and found Tony still working away on his computer trying to finish up his work.  We told him he had to leave right now!  He said he hadn’t realized it was time to go.

Nothing is worse than a delayed Quittin’ Time when it isn’t for a legitimate reason.  Tony didn’t have a wife and children at home so he didn’t feel the urgency that Scott and I felt.  So, I figured I was going to have to do something about this.  We weren’t going to tell Tony that he could no longer ride with us, because we knew he needed the company as much as we did, so I came up with a different plan.

The next day at lunch I wrote a program on the computer called “Quittin’ Time!”  Here is how it worked:

It would load up on Tony’s computer when he booted it up, so he didn’t have a choice whether it ran or not.  It showed up in the Task Bar at the bottom.  It said: “Quittin’ Time in: 7:45:35”  for example and it would count down each second.  Then it would count down all day until Quittin’ Time.  There was no visible way to turn it off (Power Plant Men had yet to learn about the Task Manager as this was Windows 3.1).

You could click on Quittin Time in the Task Bar and it would open up a small box in the middle of your computer with the time ticking down, but there was no red X in the corner to shut it down.  There was only a minimize underscore that would put it back in the task bar.

I had added a small feature in the dialog window.  In the lower right corner, there was a little slash sort of hidden in the corner.  If you clicked on that, it opened another dialog box that let you set the actual time of day for “Quittin’ Time”.  So, if you had to leave early, or later, you could adjust your Quittin’ Time.

Here was the clincher with the Quittin’ Time program.  It was not enough to just show Tony that it was Quittin’ Time.  This program had to force Tony to shut down and go home.  So, when it was 15 minutes before Quittin’ Time, a Big Yellow Window would open up on top of any other work and would flash on and off that it was “15 minutes before Quittin’ Time!  Time to Finish your Work!”  Tony could close this window.

Then when it was 5 minutes to Quittin’ Time, another big yellow window would open up flashing 5 minutes before Quittin’ Time!  Finish your work now!” and it would beep at you 5 times. Tony could close this window.

At one minute until Quittin’ Time, all heck broke loose on the computer.  A big red window would open up and the computer would start beeping continually.  The flashing Window could not be closed.  It would say:  “Less than One Minute To Quittin’ Time!  Save all your Work!”  The words would continually flash as well at the red background while counting down the seconds and it could not be stopped.

At “Quittin’ Time” The Red Box would say “QUITTIN’ TIME!”  and the computer would lock up beeping continuously as loud as that little beeper(the internal speaker) could beep (this was a 386 PC).  At that point, the only thing you could do was hit the power button and shut your computer off.  I wish I had some screen shots to show you.  Maybe I’ll find my old code and recreate it and take some and add them to this post later.

Needless to say, the first day I added this program to Tony’s computer, he didn’t heed the warnings.  When the computer went crazy, he tried saving his work, but ended up losing a little of it before the computer completely locked up on him.  He came out to the parking lot on time, however, he wasn’t in the greatest mood.  We were.  Scott and I were smiling.  We were going to be home on time, and best yet, that day, we were included in the “Dance of the Sugar Plum Fairies” being performed by the pickup trucks that day in the Parking Lot.

The best part of the Quittin’ Time program came later.  After about a week, Tony (who now left work on time every day) asked me if I could add something to the Quittin’ Time program.  He wanted to know if I could make it so that he would remember to eat lunch.  He would get so involved in work that he would miss his lunch entirely.  So, I added a “Lunch Time” Feature to the program as well.  He could adjust his lunch time using the same option window that opened when you clicked on the little slash in the lower corner of the Quittin’ Time window.

When I added the Lunch Time feature, I also added an Internet Feature that would go out to Yahoo Stock Quotes and get the Daily Stock Quotes for all of our 401k Mutual Funds and our company stock and at 3:40pm CST would pop up a window with the day’s stocks, so you could see how the Mutual funds in your 401k did that day. — Nothing better than watching your retirement plan grow each day.  Yahoo posted the Mutual Fund updates for the day around 3:30pm, so Tony would be the first person each day to get the latest Stock news for our Mutual Funds.

Tony Mena was known as Planner 4 later when we moved to SAP because that was the username he used.  Ray Eberle used to say to me, “We always want to keep Planner 4 happy!”  Later this year, I will go into various ways we kept Tony happy, or confused… or well… on his toes anyway.

Power Plant Men Take the Corporate Mainframe Computer Home

When the Coal-fired Power Plant in North Central Oklahoma downsized from 218 employees to 124 employees in 1994, everyone was scrambling to figure out how we were going to complete all the work that needed to be done to keep the plant running.  We had become cross-functional teams which seemed to help right away, but we needed to know what jobs were the higher priority jobs, because it became obvious, at least for the short run, that we were not keeping up with the workload.

That was where the “Planners” came in.  In other industries, we may call these guys, “Project Managers”.  They planned the work, and gave us the Maintenance Orders when it was time to work on them.  At first, this was a daunting task for the four planners at our plant.  The planners were Mike Vogle, Glenn Rowland, Ben Davis and Tony Mena.

This was a new job for all of them.  Glenn Rowland had been an A Foreman for the Instrument and Controls Department.  Tony Mena had been on the Testing team.  Mike Vogle had been a B Foreman over the Labor Crew.  Ben Davis had been an electrician.  Now they were suddenly working on a computer all day long trying to learn how to plan their days so they could plan ours.  I currently don’t have any good pictures of this team, or I would let you see for yourself what great guys they are.

Oh.  Ok.  Here is a later picture of Mike Vogle which I absconded from his Facebook page:

Mike Vogle

Mike Vogle

At this time, though they were using the “state of the art” 286 PCs, they were really working on the Honeywell mainframe computer at Corporate Headquarters in Oklahoma City.  They did this by using a Dumb Terminal emulator named GLink.  See the post: “Working Smarter Power Plant with Dumb Terminals” for a better explanation.

This is GLink today.  Back then it was for Windows 3.1

This is GLink today. Back then it was for Windows 3.1

The Power Plant Men knew that I liked to play around on the computers.  I was always going around helping people improve their computer experience by writing little programs that would do important things.  For instance, Windows back then had a screensaver that would fly the windows logo out from the screen so that it looked like you were flying into  the windows logos and they were passing you by.

Flying Windows Screensaver

Flying Windows Screensaver

In the executable program, if you changed the value of one particular byte, you could change the picture from the windows logo to any other of the 255 Wingding Characters.  This included things like Skull and Crossbones, Hearts, Crosses, Envelopes, Stars, Snowflakes and a lot more.  So, I was able to customize their screensavers using any of the wingding characters.

I wrote simple little programs to change their font size and color when they were using DOS, so they could read their screen easier (for the old timers that had a hard time reading the little letters).

Anyway, I had developed a reputation as not only being a troublemaker, but also of being a computer whiz. I have more stories to tell at a later time, but for now I will stick to the one about bringing the Honeywell mainframe home.

A Honeywell Mainframe computer

A Honeywell Mainframe computer

Mike Vogle first asked me the question.  He explained to me that he was staying later and later each night at work doing his job.  The earliest he was leaving was after 7pm each day, and he didn’t have time anymore to even see his family by the time he arrived home. So, he asked me if there was some way he could take his home work with him.  What he would ideally like to do would be to take a disk from work with the Maintenance Orders on them where he could complete them.  Then the next morning bring that disk back to work and put it in the computer and load it into the system.

I can see that a lot of you are rolling your eyes wondering why he didn’t just log into the company network and work remotely.  Well, in 1994, the Internet was something new.  We didn’t have the Network infrastructure built yet that would allow something like that.  We were using Windows 3.1 on old 16 bit computers.  Most of the programs we were running on the computers were still Pre-Windows.  The GLink application, even though it had a windows Icon, was really a DOS program emulating a Dumb Terminal.

I told Mike I would look into it to see if there was some way I could emulate the emulator.  That is, write a program that would be able to interact with the GLink program to upload and download data from the mainframe automatically.  I was sitting in the Electric Shop Office with Charles Foster thinking about this over lunch when Terry Blevins came in.

Terry Blevins

Terry Blevins

Terry and I had worked together the last seven years on the precipitators.  During the downsizing Terry was offered a job working on “Special Assignments”, which was a great move up for him.  We were all happy for him.  He had setup shop at the warehouse office where he could work part of the time from our plant instead of having to drive from Ponca City, Oklahoma to Oklahoma City to go to work.

When Terry came in to eat lunch with us, I told him what Mike Vogle had asked me.  Terry said right away that the GLink program had a Macro language that we might be able to use to automate the process.  This was just what I needed to hear.  If I could write a program that would write macros and send them to GLink to run, then that would do it.  I looked up the macro commands for GLink by opening up the Help section and printing out the list.

I used BASIC 7.0 (no.  Not Visual Basic, I hadn’t advanced that far yet).  BASIC 7.0 was the first BASIC that did away with line numbers and advanced a real second generation programming language.  It came out about the same time as MS Windows.  When I first bought the program, it was about $500.00 which was quite a lot for me.  But it allowed me to create actual DOS executables where I could do just about anything I wanted.

BASIC 7.0 Programmer's Guide

BASIC 7.0 Programmer’s Guide

Keep in mind that the language I was using to write the program didn’t know about Text Boxes, or even “Word Wrap” for that matter.  Everything that the user did on the screen, I had to take into account myself.  Just like I was working with a dumb terminal.  It didn’t understand “Word Wrap” either.  When you finished typing at the end of the line, if it jumped down to the next line in the middle of the word, you had to arrow up, and arrow to the right (forget using a mouse), and backspace until you had erased the letters at the end of the line, and then arrow back down to the next line and start typing again.

So, I put in my own logic for word wrapping because the mainframe window had only so many characters per line, and it had no mercy.  Everything had to be in the right box when you clicked on Submit.  When I was finished writing this program, I was so proud of myself for creating something as simple as “Word Wrap”.

Word Wrap, for those of you who don’t understand the phrase is when you get to the end of the line you are typing and instead of splitting the word up when it goes to the next line, it moves the entire word down to the next line.  You see it all the time now, but early on, the person writing a computer program had to take that into account if they wanted something to word wrap.  Windows Text Boxes and Word Processors had Word Wrap built in, so today a programmer doesn’t have to worry about all those little things, because the objects already know how to do that.  Just like this internet page knows how to do it.

Years later when I was interviewing for a Developer job with other companies and they would ask me what was one of my greatest programming accomplishments, I might blurt out “Word Wrap” before I realized how silly that sounds today.

Another problem I had was that strings of characters in the computer code are delimited by Double Quotes, so what happens when someone is filling out their Maintenance order and they use a Double Quote (“).  I didn’t think about this, and the first time I gave the program to Mike Vogle to test it out, it went all crazy and entered a bunch of bad data into a Maintenance Order because there was a Double Quote in it….. Yeah.  I forgot that if you want to say you worked on a four inch pipe, you would write that as 4” pipe.

So, my second great accomplishment when writing this program was to watch each key stroke, and if it was a double quote, then I would concatenate the string to another string around the double quote that was delimited with single quotes.  After doing all that, the program worked pretty good.  I gave it to Mike, and he tested it out and after making a few more tweeks, it was ready.

Mike could then take his disk of Maintenance orders home with him, and complete his work there, and in the morning he would put the disk in the computer, type a simple command, and it would open up GLink and start uploading all the work he did the night before.  Flashing screen after screen as it worked through all the Maintenance Orders.

Over time (not overtime, but Over Time, as in after a number of days or weeks, not like getting paid time and a half), the program became popular with some of the foremen, because it had Word Wrap and the GLink Emulator didn’t because it was emulating the Dumb Terminal which is too dumb to wrap words from one line to the other.  So, this one little feature that I was so proud of figuring out actually turned out to be the selling point for the foremen to use my new program during the day at work.

I had originally written the program so that Mike could take it home and use it to store macros on the disk that would upload the data to the Mainframe in the morning, but now the foremen were using it during the day at work because it was easier to use than the actual program that talked directly to the mainframe.

It was fun writing a program that essentially wrote another program (macros) that would tell another program (GLink) what to do.  To me, it was the first step for me to take over the world (as one of my Managers at Dell used to accuse me of doing).  What I mean is, that if you could write programs that writes other programs, aren’t you essentially creating some sort of “Artificial Intelligence”?

Because of my initial experience with this effort, it has given me the idea to write a program called:  “Old Man”.  Someday, maybe when I retire, I want to write a program that will help old men… like I will be.  Old men that are losing their memory (like I will be… or already am).  And it will learn what the old man does and how he lives, and it will remind him to do simple tasks.  Basically, it will nag him like his wife would do if she was still living.  It will use voice recognition so it will speak and listen to the old man speak back.

The “Old Man” application will remind him to brush his teeth.  Go to the barber, wash the sheets on his bed.  The list can be endless, because it will learn what this person needs from scratch and dynamically build the database and infrastructure in the background to take care of this old man when he can’t remember if he has just taken his medicine already or not.  It will even make a shopping list for him and help him with cooking.  It will be connected to the Internet so that it can pull all sorts of information it needs.

The “Mainframe Emulator Commander” program that I wrote for Mike Vogle really was my first step to becoming a real nuisance at the plant, because after that, I wanted to write more and more programs. So, I was always on the alert as to what I could do next.  I will write about some of the things we came up with throughout this year.

Power Plant Quittin’ Time

At a Power Plant, three things are certain:  Death, Taxes and Quittin’ Time.  Nothing can stand in the way of any of these three activities.  The only time Quittin’ time might change is on a Friday afternoon just before it is time to go home and you hear the Shift Supervisor paging one of the foremen or the Maintenance Supervisor.  Then you know that Quittin’ time is likely to change at the spur of the moment.  Not eliminated, but only delayed.  I suppose we try doing that with Death as well.  I have never tried delaying Taxes before.

After the downsizing at the Coal-fired Power Plant in North Central Oklahoma in 1994, a lot of things had changed.  As an electrician, I was now working on a cross-functional team with Charles Foster as my electrical bucket buddy.

Charles Foster

Charles Foster

The rest of my team had different skills.  Some were Instrument and Controls, others were Welders, Machinists, Mechanics and then there was Alan Kramer, our foreman.

Alan Kramer

Alan Kramer

The new way we received work orders (we called them Maintenance Orders or MOs) was from our new Planners.  There were two people responsible for figuring out our work for the week.  That was Ben Davis and Tony Mena.  I don’t have a photo of Tony, but here is Ben.

Ben-Davis

Ben Davis

I have talked about Ben Davis in a number of past posts, as he was my mentor when I first became an electrician.  I always looked up to him as a big brother.  And, well, he treated me as a younger brother… but always with more respect than I deserved.  Tony on the other hand was originally hired to be on the Testing Team when I was on the Labor Crew.

I still remember Monday, July 18, 1983 watching Tony Mena and the rest of the new Testers walking around the plant following Keith Hodges around like baby quail following their mother (at least that was the way Ron Luckey described them as we watched them from the back seat of the crew cab as we drove past them).

The men and woman on Labor Crew had felt passed over when the new testing team had been formed because no one on the labor crew had been considered for the new jobs even when we met the minimum requirements (which was to have any kind of college degree).  So, even though it wasn’t fair to the new testing team, we had an immediate animosity toward them.

After the first downsizing in 1988, Scott Hubbard had moved to the electric shop and I quickly learned that not all testers were rotten, job stealing chumps.  Actually, none of them were.  They never had anything to do with who was chosen for the Testing team.  That came from above.  If you are interested, you can read the post: “‘Take a Note Jan’ Said the Supervisor of Power Production“.  Scott and I became like brothers when he joined our team.

Scott Hubbard

Scott Hubbard

After the first downsizing, the testing team was reduced down to three people, Tony Mena, Richard Allen and Doug Black.  I don’t have a picture of the first two, but I do have one of Doug:

 

Doug Black

Doug Black

After the second downsizing, the Testing team was eliminated.  Scott had become an electrician seven year earlier, Doug Black moved into the Engineering Department.  Richard Allen became an Instrument and Controls person and Tony Mena became a Planner along with Ben Davis.  We had two other planners Glenn Rowland and Mark Fielder (who later traded with Mike Vogle to become a foreman).  Glenn and Mark spent their time planning major outages, where Tony and Ben did more of the day-to-day stuff.

Tony Mena no longer had anyone to carpool with, so he asked me if he could carpool with Scott and I.  So, we agreed.  We told Tony that it was important to be on time, because we didn’t want to be late arriving at the plant, and we definitely didn’t want to be late going home (which was much more important).  Tony agreed that he would be on time.

Quittin’ Time at the plant is a very important and orchestrated event.  It begins a half hour earlier when everyone returns to the shop and cleans up and puts their tools away.  Then they go into the foremen’s office and fills out their timecards for the day.  This includes adding each of the maintenance orders we have worked on during the day and how many hours on each.

The next step is to grab your lunch box and go stand by the door to wait until the exact second that it is time to leave.  When that happens, a steady stream of Power Plant Men pour into the parking lot, into their pickup trucks (and other vehicles) and head either north or south down Highway 177 toward their homes.  Some stopping along the way for a beverage at the corner convenience store.

The Power Plant Men have Quittin’ Time down to a honed art form.  Each stroke of the brush is carefully orchestrated.  Scott and I went to perform our part of the ballet where the vehicles all backed out of their parking spaces in chaotic unison and quickly perform the three lines out the end of the single lane on the south side of the parking lot.

However, when we arrived in our car, Tony was no where to be found.  As we received concerned looks from Randy Dailey and Jerry Day, as they pirouetted around us, wondering why we weren’t taking our turn in the Parking Lot Tango, all we could do was shrug our shoulders and watch as the dance went on without us.

Finally about 10 minutes past Quittin’ Time, Tony came walking out of the shop apologizing for being late.  We told him that was all right as long as he didn’t make a habit out of it.  We were pretty peeved that day because this meant that we had 10 less minutes that day to spend with our families.

We were even more peeved when the same thing happened the next day.  We didn’t wait 10 minutes.  After 5 minutes we went into the maintenance foremen’s office and found Tony still working away on his computer trying to finish up his work.  We told him he had to leave right now!  He said he hadn’t realized it was time to go.

Nothing is worse than a delayed Quittin’ Time when it isn’t for a legitimate reason.  Tony didn’t have a wife and children at home so he didn’t feel the urgency that Scott and I felt.  So, I figured I was going to have to do something about this.  We weren’t going to tell Tony that he could no longer ride with us, because we knew he needed the company as much as we did, so I came up with a different plan.

The next day at lunch I wrote a program on the computer called “Quittin’ Time!”  Here is how it worked:

It would load up on Tony’s computer when he booted it up, so he didn’t have a choice whether it ran or not.  It showed up in the Task Bar at the bottom.  It said: “Quittin’ Time in: 7:45:35”  for example and it would count down each second.  Then it would count down all day until Quittin’ Time.  There was no visible way to turn it off (Power Plant Men had yet to learn about the Task Manager as this was Windows 3.1).

You could click on Quittin Time in the Task Bar and it would open up a small box in the middle of your computer with the time ticking down, but there was no red X in the corner to shut it down.  There was only a minimize underscore that would put it back in the task bar.

I had added a small feature in the dialog window.  In the lower right corner, there was a little slash sort of hidden in the corner.  If you clicked on that, it opened another dialog box that let you set the actual time of day for “Quittin’ Time”.  So, if you had to leave early, or later, you could adjust your Quittin’ Time.

Here was the clincher with the Quittin’ Time program.  It was not enough to just show Tony that it was Quittin’ Time.  This program had to force Tony to shut down and go home.  So, when it was 15 minutes before Quittin’ Time, a Big Yellow Window would open up on top of any other work and would flash on and off that it was “15 minutes before Quittin’ Time!  Time to Finish your Work!”  Tony could close this window.

Then when it was 5 minutes to Quittin’ Time, another big yellow window would open up flashing 5 minutes before Quittin’ Time!  Finish your work now!” and it would beep at you 5 times. Tony could close this window.

At one minute until Quittin’ Time, all heck broke loose on the computer.  A big red window would open up and the computer would start beeping continually.  The flashing Window could not be closed.  It would say:  “Less than One Minute To Quittin’ Time!  Save all your Work!”  The words would continually flash as well at the red background while counting down the seconds and it could not be stopped.

At “Quittin’ Time” The Red Box would say “QUITTIN’ TIME!”  and the computer would lock up beeping continuously as loud as that little beeper(the internal speaker) could beep (this was a 386 PC).  At that point, the only thing you could do was hit the power button and shut your computer off.  I wish I had some screen shots to show you.  Maybe I’ll find my old code and recreate it and take some and add them to this post later.

Needless to say, the first day I added this program to Tony’s computer, he didn’t heed the warnings.  When the computer went crazy, he tried saving his work, but ended up losing a little of it before the computer completely locked up on him.  He came out to the parking lot on time, however, he wasn’t in the greatest mood.  We were.  Scott and I were smiling.  We were going to be home on time, and best yet, that day, we were included in the “Dance of the Sugar Plum Fairies” being performed by the pickup trucks that day in the Parking Lot.

The best part of the Quittin’ Time program came later.  After about a week, Tony (who now left work on time every day) asked me if I could add something to the Quittin’ Time program.  He wanted to know if I could make it so that he would remember to eat lunch.  He would get so involved in work that he would miss his lunch entirely.  So, I added a “Lunch Time” Feature to the program as well.  He could adjust his lunch time using the same option window that opened when you clicked on the little slash in the lower corner of the Quittin’ Time window.

When I added the Lunch Time feature, I also added an Internet Feature that would go out to Yahoo Stock Quotes and get the Daily Stock Quotes for all of our 401k Mutual Funds and our company stock and at 3:40pm CST would pop up a window with the day’s stocks, so you could see how the Mutual funds in your 401k did that day. — Nothing better than watching your retirement plan grow each day.  Yahoo posted the Mutual Fund updates for the day around 3:30pm, so Tony would be the first person each day to get the latest Stock news for our Mutual Funds.

Tony Mena was known as Planner 4 later when we moved to SAP because that was the username he used.  Ray Eberle used to say to me, “We always want to keep Planner 4 happy!”  Later this year, I will go into various ways we kept Tony happy, or confused… or well… on his toes anyway.

Power Plant Quittin’ Time

At a Power Plant, three things are certain:  Death, Taxes and Quittin’ Time.  Nothing can stand in the way of any of these three activities.  The only time Quittin’ time might change is on a Friday afternoon just before it is time to go home and you hear the Shift Supervisor paging one of the foremen or the Maintenance Supervisor.  Then you know that Quittin’ time is likely to change at the spur of the moment.  Not eliminated, but only delayed.  I suppose we try doing that with Death as well.  I have never tried delaying Taxes before.

After the downsizing at the Coal-fired Power Plant in North Central Oklahoma in 1994, a lot of things had changed.  As an electrician, I was now working on a cross-functional team with Charles Foster as my electrical bucket buddy.

Charles Foster

Charles Foster

The rest of my team had different skills.  Some were Instrument and Controls, others were Welders, Machinists, Mechanics and then there was Alan Kramer, our foreman.

Alan Kramer

Alan Kramer

The new way we received work orders (we called them Maintenance Orders or MOs) was from our new Planners.  There were two people responsible for figuring out our work for the week.  That was Ben Davis and Tony Mena.  The two people that I lack photos.

I have talked about Ben Davis in a number of past posts, as he was my mentor when I first became an electrician.  I always looked up to him as a big brother.  And, well, he treated me as a younger brother… but always with more respect than I deserved.  Tony on the other hand was originally hired to be on the Testing Team when I was on the Labor Crew.

I still remember Monday, July 18, 1983 watching Tony Mena and the rest of the new Testers walking around the plant following Keith Hodges around like baby quail following their mother (at least that was the way Ron Luckey described them as we watched them from the back seat of the crew cab as we drove past them).

The men and woman on Labor Crew had felt passed over when the new testing team had been formed because no one on the labor crew had been considered for the new jobs even when we met the minimum requirements (which was to have any kind of college degree).  So, even though it wasn’t fair to the new testing team, we had an immediate animosity toward them.

After the first downsizing in 1988, Scott Hubbard had moved to the electric shop and I quickly learned that not all testers were rotten, job stealing chumps.  Actually, none of them were.  They never had anything to do with who was chosen for the Testing team.  That came from above.  If you are interested, you can read the post: “‘Take a Note Jan’ Said the Supervisor of Power Production“.  Scott and I became like brothers when he joined our team.

Scott Hubbard

Scott Hubbard

After the first downsizing, the testing team was reduced down to three people, Tony Mena, Richard Allen and Doug Black.  I don’t have a picture of the first two, but I do have one of Doug:

 

Doug Black

Doug Black

After the second downsizing, the Testing team was eliminated.  Scott became an electrician, Doug Black moved into the Engineering Department.  Richard Allen became an Instrument and Controls person and Tony Mena became a Planner along with Ben Davis.  We had two other planners Glenn Rowland and Mark Fielder (who later traded with Mike Vogle to become a foreman).  Glenn and Mark spent their time planning major outages, where Tony and Ben did more of the day-to-day stuff.

Tony Mena no longer had anyone to carpool with, so he asked me if he could carpool with Scott and I.  So, we agreed.  We told Tony that it was important to be on time, because we didn’t want to be late arriving at the plant, and we definitely didn’t want to be late going home (which was much more important).  Tony agreed that he would be on time.

Quittin’ Time at the plant is a very important and orchestrated event.  It begins a half hour earlier when everyone returns to the shop and cleans up and puts their tools away.  Then they go into the foremen’s office and fills out their timecards for the day.  This includes adding each of the maintenance orders we have worked on during the day and how many hours on each.

The next step is to grab your lunch box and go stand by the door to wait until the exact second that it is time to leave.  When that happens, a steady stream of Power Plant Men pour into the parking lot, into their pickup trucks (and other vehicles) and head either north or south down Highway 177 toward their homes.  Some stopping along the way for a beverage at the corner convenience store.

The Power Plant Men have Quittin’ Time down to a honed art form.  Each stroke of the brush is carefully orchestrated.  Scott and I went to perform our part in the part of the ballet where the vehicles all backed out of their parking spaces in chaotic unison and quickly perform the three lines out the end of the single lane on the south side of the parking lot.

However, when we arrived in our car, Tony was no where to be found.  As we received concerned looks from Randy Dailey and Jerry Day, as they pirouetted around us, wondering why we weren’t taking our turn in the Parking Lot Tango, all we could do was shrug our shoulders and watch as the dance went on without us.

Finally about 10 minutes past Quittin’ Time, Tony came walking out of the shop apologizing for being late.  We told him that was all right as long as he didn’t make a habit out of it.  We were pretty peeved that day because this meant that we had 10 less minutes that day to spend with our families.

We were even more peeved when the same thing happened the next day.  We didn’t wait 10 minutes.  After 5 minutes we went into the maintenance foremen’s office and found Tony still working away on his computer trying to finish up his work.  We told him he had to leave right now!  He said he hadn’t realized it was time to go.

Nothing is worse than a delayed Quittin’ Time when it isn’t for a legitimate reason.  Tony didn’t have a wife and children at home so he didn’t feel the urgency that Scott and I felt.  So, I figured I was going to have to do something about this.  We weren’t going to tell Tony that he could no longer ride with us, because we knew he needed the company as much as we did, so I came up with a different plan.

The next day at lunch I wrote a program on the computer called “Quittin’ Time!”  Here is how it worked:

It would load up on Tony’s computer when he booted it up, so he didn’t have a choice whether it ran or not.  It showed up in the Task Bar at the bottom.  It said: “Quittin’ Time in: 7:45:35”  for example and it would count down each second.  Then it would count down all day until Quittin’ Time.  There was no visible way to turn it off (Power Plant Men had yet to learn about the Task Manager as this was Windows 3.1).

You could click on Quittin Time in the Task Bar and it would open up a small box in the middle of your computer with the time ticking down, but there was no red X in the corner to shut it down.  There was only a minimize underscore that would put it back in the task bar.

I had added a small feature in the dialog window.  In the lower right corner, there was a little slash sort of hidden in the corner.  If you clicked on that, it opened another dialog box that let you set the actual time of day for “Quittin’ Time”.  So, if you had to leave early, or later, you could adjust your Quittin’ Time.

Here was the clincher with the Quittin’ Time program.  It was not enough to just show Tony that it was Quittin’ Time.  This program had to force Tony to shut down and go home.  So, when it was 15 minutes before Quittin’ Time, a Big Yellow Window would open up on top of any other work and would flash on and off that it was “15 minutes before Quittin’ Time!  Time to Finish your Work!”  Tony could close this window.

Then when it was 5 minutes to Quittin’ Time, another big yellow window would open up flashing 5 minutes before Quittin’ Time!  Finish your work now!” and it would beep at you 5 times. Tony could close this window.

At one minute until Quittin’ Time, all heck broke loose on the computer.  A big red window would open up and the computer would start beeping continually.  The flashing Window could not be closed.  It would say:  “Less than One Minute To Quittin’ Time!  Save all your Work!”  The words would continually flash as well at the red background and it could not be stopped.

At “Quittin’ Time” The Red Box would say “QUITTIN’ TIME!”  and the computer would lock up beeping continuously as loud as that little beeper(the internal speaker) could beep (this was a 386 PC).  At that point, the only thing you could do was hit the power button and shut your computer off.  I wish I had some screen shots to show you.  Maybe I’ll find my old code and recreate it and take some and add them to this post later.

Needless to say, the first day I added this program to Tony’s computer, he didn’t heed the warnings.  When the computer went crazy, he tried saving his work, but ended up losing a little of it before the computer completely locked up on him.  He came out to the parking lot on time, however, he wasn’t in the greatest mood.  We were.  Scott and I were smiling.  We were going to be home on time, and best yet, that day, we were included in the “Dance of the Sugar Plum Fairies” being performed by the pickup trucks that day in the Parking Lot.

The best part of the Quittin’ Time program came later.  After about a week, Tony (who now left work on time every day) asked me if I could add something to the Quittin’ Time program.  He wanted to know if I could make it so that he would remember to eat lunch.  He would get so involved in work that he would miss his lunch entirely.  So, I added a “Lunch Time” Feature to the program as well.  He could adjust his lunch time using the same option window that opened when you clicked on the little slash in the lower corner of the Quittin’ Time window.

When I added the Lunch Time feature, I also added an Internet Feature that would go out to Yahoo Stock Quotes and get the Daily Stock Quotes for all of our 401k Mutual Funds and our company stock and at 3:40pm CST would pop up a window with the day’s stocks, so you could see how the Mutual funds in your 401k did that day. — Nothing better than watching your retirement plan grow each day.  Yahoo posted the Mutual Fund updates for the day around 3:30pm, so Tony would be the first person each day to get the latest Stock news for our Mutual Funds.

Tony Mena was known as Planner 4 later when we moved to SAP because that was the username he used.  Ray Eberle used to say to me, “We always want to keep Planner 4 happy!”  Later this year, I will go into various ways we kept Tony happy, or confused… or well… on his toes anyway.

Power Plant Men Take the Corporate Mainframe Computer Home

When the Coal-fired Power Plant in North Central Oklahoma downsized from 218 employees to 124 employees in 1994, everyone was scrambling to figure out how we were going to complete all the work that needed to be done to keep the plant running.  We had become cross-functional teams which seemed to help right away, but we needed to know what jobs were the higher priority jobs, because it became obvious, at least for the short run, that we were not keeping up with the workload.

That was where the “Planners” came in.  In other industries, we may call these guys, “Project Managers”.  They planned the work, and gave us the Maintenance Orders when it was time to work on them.  At first, this was a daunting task for the four planners at our plant.  The planners were Mike Vogle, Glenn Rowland, Ben Davis and Tony Mena.

This was a new job for all of them.  Glenn Rowland had been an A Foreman for the Instrument and Controls Department.  Tony Mena had been on the Testing team.  Mike Vogle had been a B Foreman over the Labor Crew.  Ben Davis had been an electrician.  Now they were suddenly working on a computer all day long trying to learn how to plan their days so they could plan ours.  I currently don’t have any good pictures of this team, or I would let you see for yourself what great guys they are.

Oh.  Ok.  Here is a later picture of Mike Vogle which I absconded from his Facebook page:

Mike Vogle

Mike Vogle

At this time, though they were using the “state of the art” 286 PCs, they were really working on the Honeywell mainframe computer at Corporate Headquarters in Oklahoma City.  They did this by using a Dumb Terminal emulator named GLink.  See the post: “Working Smarter Power Plant with Dumb Terminals” for a better explanation.

This is GLink today.  Back then it was for Windows 3.1

This is GLink today. Back then it was for Windows 3.1

The Power Plant Men knew that I liked to play around on the computers.  I was always going around helping people improve their computer experience by writing little programs that would do important things.  For instance, Windows back then had a screensaver that would fly the windows logo out from the screen so that it looked like you were flying into  the windows logos and they were passing you by.

Flying Windows Screensaver

Flying Windows Screensaver

In the executable program, if you changed the value of one particular byte, you could change the picture from the windows logo to any other of the 255 Wingding Characters.  This included things like Skull and Crossbones, Hearts, Crosses, Envelopes, Stars, Snowflakes and a lot more.  So, I was able to customize their screensavers using any of the wingding characters.

I wrote simple little programs to change their font size and color when they were using DOS, so they could read their screen easier (for the old timers that had a hard time reading the little letters).

Anyway, I had developed a reputation as not only being a troublemaker, but also of being a computer whiz. I have more stories to tell at a later time, but for now I will stick to the one about bringing the Honeywell mainframe home.

A Honeywell Mainframe computer

A Honeywell Mainframe computer

Mike Vogle first asked me the question.  He explained to me that he was staying later and later each night at work doing his job.  The earliest he was leaving was after 7pm each day, and he didn’t have time anymore to even see his family by the time he arrived home. So, he asked me if there was some way he could take his home work with him.  What he would ideally like to do would be to take a disk from work with the Maintenance Orders on them where he could complete them.  Then the next morning bring that disk back to work and put it in the computer and load it into the system.

I can see that a lot of you are rolling your eyes wondering why he didn’t just log into the company network and work remotely.  Well, in 1994, the Internet was something new.  We didn’t have the Network infrastructure built yet that would allow something like that.  We were using Windows 3.1 on old 16 bit computers.  Most of the programs we were running on the computers were still Pre-Windows.  The GLink application, even though it had a windows Icon, was really a DOS program emulating a Dumb Terminal.

I told Mike I would look into it to see if there was some way I could emulate the emulator.  That is, write a program that would be able to interact with the GLink program to upload and download data from the mainframe automatically.  I was sitting in the Electric Shop Office with Charles Foster thinking about this over lunch when Terry Blevins came in.

Terry Blevins

Terry Blevins

Terry and I had worked together the last seven years on the precipitators.  During the downsizing Terry was offered a job working on “Special Assignments”, which was a great move up for him.  We were all happy for him.  He had setup shop at the warehouse office where he could work part of the time from our plant instead of having to drive from Ponca City, Oklahoma to Oklahoma City to go to work.

When Terry came in to eat lunch with us, I told him what Mike Vogle had asked me.  Terry said right away that the GLink program had a Macro language that we might be able to use to automate the process.  This was just what I needed to hear.  If I could write a program that would write macros and send them to GLink to run, then that would do it.  I looked up the macro commands for GLink by opening up the Help section and printing out the list.

I used BASIC 7.0 (no.  Not Visual Basic, I hadn’t advanced that far yet).  BASIC 7.0 was the first BASIC that did away with line numbers and advanced a real second generation programming language.  It came out about the same time as MS Windows.  When I first bought the program, it was about $500.00 which was quite a lot for me.  But it allowed me to create actual DOS executables where I could do just about anything I wanted.

BASIC 7.0 Programmer's Guide

BASIC 7.0 Programmer’s Guide

Keep in mind that the language I was using to write the program didn’t know about Text Boxes, or even “Word Wrap” for that matter.  Everything that the user did on the screen, I had to take into account myself.  Just like I was working with a dumb terminal.  It didn’t understand “Word Wrap” either.  When you finished typing at the end of the line, if it jumped down to the next line in the middle of the word, you had to arrow up, and arrow to the right (forget using a mouse), and backspace until you had erased the letters at the end of the line, and then arrow back down to the next line and start typing again.

So, I put in my own logic for word wrapping because the mainframe window had only so many characters per line, and it had no mercy.  Everything had to be in the right box when you clicked on Submit.  When I was finished writing this program, I was so proud of myself for creating something as simple as “Word Wrap”.

Word Wrap, for those of you who don’t understand the phrase is when you get to the end of the line you are typing and instead of splitting the word up when it goes to the next line, it moves the entire word down to the next line.  You see it all the time now, but early on, the person writing a computer program had to take that into account if they wanted something to word wrap.  Windows Text Boxes and Word Processors had Word Wrap built in, so today a programmer doesn’t have to worry about all those little things, because the objects already know how to do that.  Just like this internet page knows how to do it.

Years later when I was interviewing for a Developer job with other companies and they would ask me what was one of my greatest programming accomplishments, I might blurt out “Word Wrap” before I realized how silly that sounds today.

Another problem I had was that strings of characters in the computer code are delimited by Double Quotes, so what happens when someone is filling out their Maintenance order and they use a Double Quote (“).  I didn’t think about this, and the first time I gave the program to Mike Vogle to test it out, it went all crazy and entered a bunch of bad data into a Maintenance Order because there was a Double Quote in it….. Yeah.  I forgot that if you want to say you worked on a four inch pipe, you would write that as 4” pipe.

So, my second great accomplishment when writing this program was to watch each key stroke, and if it was a double quote, then I would concatenate the string to another string around the double quote that was delimited with single quotes.  After doing all that, the program worked pretty good.  I gave it to Mike, and he tested it out and after making a few more tweeks, it was ready.

Mike could then take his disk of Maintenance orders home with him, and complete his work there, and in the morning he would put the disk in the computer, type a simple command, and it would open up GLink and start uploading all the work he did the night before.  Flashing screen after screen as it worked through all the Maintenance Orders.

Over time (not overtime, but Over Time, as in after a number of days or weeks, not like getting paid time and a half), the program became popular with some of the foremen, because it had Word Wrap and the GLink Emulator didn’t because it was emulating the Dumb Terminal which is too dumb to wrap words from one line to the other.  So, this one little feature that I was so proud of figuring out actually turned out to be the selling point for the foremen to use my new program during the day at work.

I had originally written the program so that Mike could take it home and use it to store macros on the disk that would upload the data to the Mainframe in the morning, but now the foremen were using it during the day at work because it was easier to use than the actual program that talked directly to the mainframe.

It was fun writing a program that essentially wrote another program (macros) that would tell another program (GLink) what to do.  To me, it was the first step for me to take over the world (as one of my Managers at Dell used to accuse me of doing).  What I mean is, that if you could write programs that writes other programs, aren’t you essentially creating some sort of “Artificial Intelligence”?

Because of my initial experience with this effort, it has given me the idea to write a program called:  “Old Man”.  Someday, maybe when I retire, I want to write a program that will help old men… like I will be.  Old men that are losing their memory (like I will be… or already am).  And it will learn what the old man does and how he lives, and it will remind him to do simple tasks.  Basically, it will nag him like his wife would do if she was still living.  It will use voice recognition so it will speak and listen to the old man speak back.

The “Old Man” application will remind him to brush his teeth.  Go to the barber, wash the sheets on his bed.  The list can be endless, because it will learn what this person needs from scratch and dynamically build the database and infrastructure in the background to take care of this old man when he can’t remember if he has just taken his medicine already or not.  It will even make a shopping list for him and help him with cooking.  It will be connected to the Internet so that it can pull all sorts of information it needs.

The “Mainframe Emulator Commander” program that I wrote for Mike Vogle really was my first step to becoming a real nuisance at the plant, because after that, I wanted to write more and more programs. So, I was always on the alert as to what I could do next.  I will write about some of the things we came up with throughout this year.