Wednesday, November 16, 2011

Time Flies When You're Having Fun

A friend who is younger than I  but no spring chicken herself  has poked a stick at me with a comment on the preceding post. She has provided the following link, which you should check out before reading the rest of this post:

Getting into the spirit of it, I confess that with regard to most items listed, I am even older than *that*.

  1. Rotary Dial Telephone: When I was in grammar school rotary dials had not yet made their appearance. You picked up the receiver and the operator came on the line. You told her what number you wanted and she took care of it for you.

  2. Manual Typewriter: I had one, a Royal Portable given to me for my fifteenth birthday. I learned to type on it, picking up a bad habit along the way. When I was composing and typing I often had to stop and think of what to type next, and would lightly drum my fingers on the keys. When the IBM Selectric came out in the 1960's it had no sense of humor at all about that, and a half dozen characters would be typed before I managed to stop my fingers.

  3. Coffee Percolator: It's electric. Ho hum. My mother had one that was *not* electric. You put the coffee in, added water, put the top back on, turned on the gas, and waited until it had perked a couple of minutes.

  4. Flash Cube: I actually owned a box camera, a Brownie. No flash of any kind. If you wanted a picture you waited until the daytime.

  5. TV Channel Selector: That was how it was with us. Get up, walk to the TV, manually set the selector to channel 4, 5, or 7.

  6. Record Changer: The earliest couple of record players I remember us having did not have the capability. When a record ended the needle skipped back and forth in a silent area near the center hole. You had to lift the arm manually and put it back on the arm rest. Later, we had a console record player. It not only had a record changer but it had four speeds: 78, 45, 33 1/3, and 16 2/3 rpm.

  7. Gas Station Driveway Bell: Yup, and a boy would come running. He'd pump your gas, clean your windshield, and offer to check your oil. Sometimes he'd just check it without asking.

  8. TV Station Sign Off: I remember them. I didn't see them very often because I was young and they occurred after my bedtime. I think the stations went off the air at 10:00 PM and started up again around 10:00 AM.

  9. Cash Register: To tell you the truth, I never paid much attention to them and have no clue regarding what they looked like when I was young.

  10. Film Projector: Yes, I remember those, particularly from grammar school days when the entire school would be summoned to the auditorium to watch The Night Before Christmas or something similar.

  11. Broken Record: Yup. Sometimes the needle would hop back and forth from one groove to another, over and over again. Another potential hazard was the "skip," when the needle would jump a groove and some small period of music or words would not be played.

7 comments:

Dramlin said...

Right back at ya...
1. We didn't have operators at that level, but there was an operator if you dialed 0
2. Had one, loved the return hated mistakes
3. Same here -- put it on the stove, wait for it to boil
4. Makes you an old fart, although I did know people who had them. I do remember the wonder of flash cubes arriving though
5. Same here
6. Record changers were definitely still fancy -- my first still had to be lifted off
7. Same here
8. 1000 - 2200?? TV started at around 1400 from first TV memories in NZ, but still had sign offs. Australia had morning TV well before NZ did.
Last three are all familiar to me too; looks like we're closer than we are far apart...

Just Another Wannabe said...

Rotary Dial Telephone – Not only do I remember them, one of the phones I have works as a rotary phone if the power goes out and touch-tone doesn’t work. I also remember “party lines.” My parents had a three-party line when I was a kid.

Manual Typewriter – I had many of them over the years! And up until four or five years ago, I still used one at work to type up my W2s and 1099s at the end of the year. The SSA tax site finally made it possible to do the W2s online, but the IRS hasn’t followed suit for the 1099s. However, new software makes it possible to print the information now.

Coffee Percolator – My mother always used one, and so did I when I was first married. No Mr. Coffee or Keurig back then!

Flash Cubes – I used them with my first camera that I received as a Christmas present one year. It was a box camera. I think it was called a Brownie or something like that.

TV Channel Selector – Oh, please! I remember having NO TV at all. When the Beatles first appeared on the Ed Sullivan Show, my mother drove 45 minutes to get me to a relative’s house to watch the show on their brand new, black & white TV.

Record Changer – I always used one to stack and play my 45 rpm records!

Gas Station Driveway Bell – Remember those too, and I was driving when they were in use!

TV Station Sign-Off – Don’t they still do that? I don’t remember any that didn’t play the National Anthem followed by the test pattern (which I stared at incessantly when I had insomnia).

Cash Register – Used one when I was a bartender. Sheesh! How old am I anyway? This is starting to become painful!

Film Projector – I remember seeing one but we never had one.

Broken Record – one of my mother’s favorite phrases and she was quite creative with its use.


But I don’t remember the IBM green cards because I worked at a terminal and someone else took care of the green card end of things in that big cold room that housed the mainframe. And by the time the 1990s rolled around, I switched from programming mainframes to programming PCs. I do remember having to sort and organize the punch cards that were needed to operate the huge printer that sat in the middle of the room when some idiot dropped the stack. I was one of the very few that could get them back into the proper order. That was sometime during the early 1980s.

I am officially an old fart. I am now going to cower in a dark corner for the rest of the day and sulk, while periodically uttering a loud sigh of despair.

BrokenDownProgrammer said...

You don't remember green cards because you were a COBOL programmer. Blick! Ah ha ha ha ha ha.

I lost my prejudice against COBOL somewhere around the 1990's. The reason I didn't think much of COBOL before then was that the compilers weren't very good. They generated *tons* of extra instructions. That is, instructions that were *occasionally* necessary were *always* generated to protect against the eventuality.

This led to the unnecessary execution of tens - sometimes hundreds - of millions of instructions in any large production run. In those days, that meatn a significant slowdown in processing.

And the myth that COBOL was self-documenting was laughable. Many, perhaps even most, programmers did not take advantage of that, and it was not unusual to look at someone else's code and see "Perform A varying by B indexed by C until D."

I think that the only real advantage to COBOL back then was that if you needed a programmer in a hurry, you could hit the sidewalk and tap anyone on the shoulder and have a candidate for the position, whereas assembler programmers were harder to come by.

Today's COBOL compilers are *much* more efficient and there is much less difference in execution time between COBOL and assembler programs.

BTW, my very first language was RPG II, a real pig of a language (at the time, anyway). I learned it on an IBM System 3 in Hartford, Connecticut, which was IPL'ed by a two foot high stack of 96 column cards. See http://en.wikipedia.org/wiki/IBM_System/3 for a picture of the card.

I once dropped the stack of cards. Fortunately they were sequence numbered and it was only a couple of minutes before a card sorter fixed me right up.

Those cards were what we punched for program instructions.

Just Another Wannabe said...

Well, that explains why I don’t remember ever seeing those green cards! Ha ha ha! But I DO remember enough about Assembler to know that I never wanted to work with it. I had two semesters of that crap (okay, it was actually Assembler with Assist) and swore I’d burn the book when it was all over. I aced the courses and burned the book after I was out of college. Literally burned the book.

I was, though, instrumental in changing the way Assembler was taught at PSU, Schuylkill Campus. I don’t remember all the particulars (and I’ve long since thrown away all my source code printouts), but it had to do with the Store Multiple directive. (STM was it called? Let’s call it that for now.) Anyway, I remember sitting in class (back row with my buds, as usual, sucking on Halls because we were addicted to them) and watching, with puzzlement and a bit of amusement, my instructor go through a ridiculous amount of coding to store variable values as different names, use the STM command, call a subroutine, return from the subroutine, move the variable values, and restore everything back to the original values with STM. I studied the bit for awhile, and finally had to raise my hand. I asked him why he couldn’t call the subroutine (because variable values were transferred anyway), then use the STM, then do the subroutine, and then use the STM again before exiting the subroutine, effectively eliminating a TON of code.

He stood there and looked at all the stuff he had on the blackboard for a full minute or more. Do you know how long a minute feels when you’re waiting to see if you just made the most ludicrous suggestion ever uttered by a lowly student in the history of programming? He finally turned around, looked at me, and then went back to the blackboard. Never uttering a word, he erased everything on the blackboard and wrote the code exactly as I suggested. It was taught that way by every instructor from that point forward.

Yes, I agree that COBOL was looked down upon at one time because the programs didn’t run as fast as Assembler code, but I believe that had something to do with the programmers themselves. In my early days of PC programming with COBOL, and memory was not what it is today, I had to learn to write code in the most efficient way possible to make the programs run faster. Sometimes, that actually meant writing more code. I sometimes had a contest with a fellow programmer to see which of us could produce the fastest results with the code we wrote. I lost maybe twice, but I learned early on less code didn’t always equate to faster output. He didn’t learn that as fast as I did. LOL Today there’s enough memory floating around to encourage COBOL programmers to revert to sloppy procedures again. Some of it is embarrassing.

Assembler programmers were definitely harder to come by because the only people who really enjoyed working with it were masochists. (JK) But I knew a lot of people who just couldn’t get the hang of COBOL no matter how they tried. Of course, those same people would look at Assembler and faint.

I never worked with RPG. I have to admit to being somewhat of a snob about it because I never believed it was “real” programming. All you really had to do was pick and choose from chunks of code that was already written, and then just plug in your own variables and data, right? Or am I thinking of something else?

Our monster stack of cards for the printer was not numbered. You had to carefully line up the punches in all the right places and then hold the stack up to the light to check them. The real test came when the printer was used. One card out of place meant disaster. Ah, those were the days!

Now if you can tell me how to run a 32-bit .exe file on a 64-bit operating system in full-screen mode (not a window), I may just have to crown you the King of all things programming and computers. I’m ready to say it’s impossible.

Just Another Wannabe said...

Prolly shoulda published that with your new post, but it didn't quite fit. I'll move it if you'd like.

You really should see the verification word I was just given to post this reply. I am NOT, nor have I ever been, a street walker in the red light district. lol

BrokenDownProgrammer said...

STM (store multiple) saves the contents of general registers. Whether it is the caller or the called routine that stores and reloads them (with LM - load multiple) is a matter of convention in some cases and preference in others.

With calls to other programs (as opposed to subroutines) the convention is that the called program returns the registers to the calling program with the registers as they were when received, the standard exception being that a return code might be in register 15.

The conventions used in calling a subroutine within a program would be a matter either of shop standards or personal preference.

No, really, the old COBOL compilers created an excessive amount of code. It's been a long time since I looked at a COBOL compile, but I remember that you could get assembler representations of the various routines. Back then they showed an *awful* lot of unnecessary machine language instructions.

They create much more streamlined code today.

You have a different language in mind, I think. RPG was a pig, but you did define your own constants and variables and write your own logic.

As for your 32 bit .exe file, I might not be able to answer the question anyway, but what are you doing? Are you running Visual Basic or Visual C++ or something?
And what's your operating system?

Windows 7 Pro handles 32 bit execution on a 64 bit machine, I think. Also, do a little googling for VM (virtual machine), which might solve your problem. I think they're just code that is sort of a conceptual counterpart to what we used to call emulators on mainframes.

You'd have a strange eBay ID for a hooker.

Just Another Wannabe said...

Nope – definitely doesn’t match my eBay Id. Secret double life maybe? Devil or angel? Hmmmm … Now there was a good song. But I digress …

My compiler is Micro Focus Visual Object COBOL, 32-bit and I’m running my executables on a Windows XP operating system in full-screen mode. I also have one newer computer in the office with a Windows 7 64-bit operating system. My programs run in a window on the Windows 7 OS but not in full-screen mode despite trying different compatibility settings. It really bugs me that I can’t find a solution to this.

Dell used to offer Windows 7 32-bit with a downgrade, but they don’t anymore. I never checked out Windows 7 Pro. I’ll do that – thanks! I’ll also do more digging around on the net but I’ve been looking around for a long time and even the COBOL lifers on the Micro Focus boards can’t come up with an answer. The only thing they can suggest is to upgrade my compiler, but my company doesn’t want to pay $5,000 - $6,000 for a compiler upgrade because I’m only four years away from retirement. I can’t blame them. If I go, they won’t have a programmer on board anymore. I’m considered a double-duty employee. I wasn’t hired as a programmer but my knowledge of programming allowed them to avoid purchasing municipal software for 20 years. I wrote all of the programs used to run the municipal authority’s business end of things along with all the other stuff I do.

Anyway, I’m hoping I can get through with what I have until it becomes somebody else’s problem. I never used to think like that – always watching out for the company, etc. – but I’ve become a bit jaded.

But that’s a whole other thread! I’ll have to go back and re-read your post about the early days of mainframe computers. I never did any system programming, and never had any desire to do so. Adding and subtracting hex numbers made me want to vomit. I secretly believed the system programmers were a little on the dark side anyway … loners, night people, obsessed … oh, wait – I may have missed my calling.