Jun 09
15
An Aha! Moment

Posted by Stephen
Tags: , , ,

TI99/4A

I learned to program on a computer like this one. It’s a Texas Instruments TI99/4A, popular in 1981. My high school acquired a lab-full of these, and I signed up for the very first class. I programmed in BASIC, which was about the only programming language available to home computers at the time, and in true nerd fashion fell madly, deeply in love. Thus began my life-long affair with computers.

The utter slowness of the computer became quickly apparent though. Toward the end of my first year I wrote a PacMan game that I was immensely proud of. It had ghosts that were efficiently ruthless at hunting down the poor hapless PacMan. The only way to beat the game was to play a perfect level. It would have been impossibly difficult for the player to complete even the first level, were it not for the fact that the game had a refresh rate slower than a second. That is, the ghosts paused for a second at a time to ponder their next move. The whole thing was ultra slow motion and wasn’t any good as a game. I still felt pleased with myself, although a little puzzled as to how such a slow computer could be of any use at all, other than as a teaching tool. I also couldn’t figure out how Texas Instruments got away with advertising this as an advanced system, when it was clearly pretty useless even for those early days of home computers.

Around that time the school’s administration decided that I was a sufficiently advanced student and allowed me to use the sole computer with an expansion unit. The expansion added a floppy disk drive (Hooray! No more loading from tapes!), more memory, and an Assembler module. I started to tinker with the assembler, looking to improve my PacMan game, and found that while it took the BASIC ghosts thirty seconds or more to traverse the screen from one side to the other, the assembler ghosts could do the same thing in the blink of an eye. I spent many hours figuring out how to slow the game down enough to play it. Assembler also showed me how truly sophisticated the computer was under the hood. Obviously it was capable of adequate performance. Just not in BASIC.

At the end of that year my Dad bought an Apple IIe and I never looked back. I dabbled with the TI99/4A when required for school assignments, but the Apple was a vastly superior computer–much faster and simpler to program. I wrote a lot of software for that machine, including a rudimentary music publishing program that was actually used to publish a book. The following year I moved on to the IBM PC. It had more memory, a faster processor, and several programming languages to choose from. Back then, even more so than now, computer technology advanced at breakneck speeds, each new model rendering last year’s obsolete. Still, I never figured out why the TI was such a miserable failure when it had more advanced hardware than either the Apple or the IBM.

Until now.

An article at Technologizer explained how the TI BASIC was a double-interpreted language. That is, BASIC programs were translated into an intermediate language called GPL, which in turn was translated into the computer’s native machine code. All that overhead of translation slowed things down considerably. Further, the computer only had 256 bytes of system RAM. That’s one quarter of a K. 0.02% of a megabyte. It had 16K (over 16,000 bytes) of video memory, however, and was advertised as a 16K computer. The processor would store user programs in the video memory, and retrieve those programs sequentially, one byte at a time.

That’s why the TI, with an advanced (for that time) 16-bit processor running at 3MHz, was so much slower than the Apple, with its lowly 8-bit processor running at a mere 1MHz. The bottleneck of memory management was one of several design failures that fatally crippled the TI.

I am happily relieved to finally put to bed a mystery that had remained unsolved for 25 years. I know, I know. You probably aren’t geeky enough to truly appreciate the satisfaction of such a discovery, but trust me: today I am a happy man.

I am also smugly content in the knowledge that I write this on a computer with 32 million times as much system memory as that ancient TI, 32 thousand times as much video memory, and runs the processor 1,200 times faster. And in another 25 years I’ll probably look back and chuckle at how much further technology has advanced.

Jun 09
9
New Trick

Posted by Stephen
Tags: , ,

Bed Head

I was washing my four-year-old’s hands for dinner tonight when he cheerfully said,

- “Daddy, I know a new trick that you don’t know.”

- “Really Joel? What’s that?”

- “I can lick my snot!”

Why oh why did I have to ask? Being exceptionally slow and not yet having learned my lesson, I blurted out,

- “So how do you do that?”

- “You stick your tongue out, and curl up the end.”

He was quite proud of his ability. At this point I stopped asking questions but it was too late. I’d seen a demonstration I’d much rather have missed, and Joel skipped off to dinner proud of his new-found skill.

Jun 09
5
One Fine Afternoon

Posted by Stephen
Tags: , , , ,

One fine afternoon...

Ahh! It’s Friday, it’s sunny and warm, it’s Spring! What a wonderful afternoon to spend in the yard, enjoying the cool, gentle breeze, listening to birds chatter in the trees. I went out with my camera and tripod to get some pictures of the trees newly budded. From time to time clouds would pass before the sun, and I had to stand and wait for it to get sunny again. The clouds weren’t in a hurry and neither was I. Not that taking pictures of the yard is all that strenuous. After all, the trees aren’t going anywhere. But I was just as happy to stand there and enjoy the calm.

Joel came out to see me two or three times, to see what I was doing, to keep me company, to tell me dinner was ready. I watched his little legs pumping madly as he dashed across the lawn, and decided I was quite happy to stay fixed in one spot, thank you very much. For the briefest of moments I considered telling Joel I would stay outside and the rest of the family could go ahead without me. But I’m a parent. I have responsibilities. So I went inside to finish setting the table and round up the kids to eat.

Once we were all sitting at our food the normal table conversation started with its usual vigor. This consisted of wife and children all competing to tell me how their day went. We try to train the boys to wait their turn and speak one at a time, but often it works out to be four people talking at me while I smile and nod. My occasional contributions to the conversation consist of,

- “Daniel, take another mouthful.”

- “Joel, put that drink down and eat something instead.”

- “No Daniel, don’t talk with your mouth full.”

- “Uh-huh, Micah … I see … Is that right?”

While casting furtive glances at Debbie: Do you have any idea what he’s saying? Micah (2) can be quite clear in his conversation, but once he picks up speed he’ll yammer through an entire discourse and we won’t have understood a word he’s said.

Adult conversation with Debbie is futile. Table talk at dinner time is the Twitter of the conversational realm. If you can’t get your meaning across in six words or less, you don’t stand a chance. It’s like white-water rafting: you paddle for dear life and try not to drown. And I wouldn’t have it any other way. Dinner conversation is at the heart of our family life, the anchor of the day.

Now the boys are in bed, the dishes put away, some afternoon photos processed, this post mostly finished, and it’s ten o’clock at night. Time to start thinking about going to bed.

Ahh, but the bliss of that calm half-hour before dinner, alone, under the sun and sky…

May 09
1
Planning for a Pandemic

Posted by Stephen
Tags: , , , ,

IMG_0957

Debbie and I discussed the current Mexican swine flu outbreak at the dinner table last night. One of my workmates is in Mexico at the moment, getting married and going on his honeymoon. Some joker at the office has closed off his cubicle with yellow Caution tape and hung a breathing mask over the cubicle partition. Several airlines have canceled all flights to Mexico, so there’s some uncertainty over how he’ll get home.

I recently finished reading The Great Influenza: The Epic Story of the Deadliest Plague in History, about the 1918 pandemic and published in 2005. The book has many faults–it’s twice as long as it should be, it’s meandering and disjointed, and it’s irritatingly melodramatic–but the story is a fascinating read. The tragedy of millions of deaths, children orphaned, whole families wiped out; the mistakes of a blind and bumbling bureaucracy; the intentional disinformation and misdirection by the press; the complete lack of clues to any hint of a cure in the global scientific community; the severe shortage of hospitals, doctors, nurses, medicines, and ultimately coffins and burial plots. Bodies were thrown by the hundreds into mass graves. This was all fresh in my mind when the swine flu outbreak started a couple of weeks ago.

Incidentally, this particular strain of flu virus is a recombination of the North American swine flu, the European swine flu, the North American avian flu, and the human flu viruses (via Wikipedia). It’s this last component that allows it to be transferred from human to human. Despite the popular name, it’s not carried by pigs. Agricultural associations object to calling it “swine flu” because it unfairly casts aspersion on the pork industry. Mexico, understandably, objects to calling it “Mexican flu”. The World Health Organization (WHO) wants people to call it “H1N1″, but that doesn’t roll off the tongue quite so easily. Besides, H1N1 is the generic designation for the common flu (it includes the strain that produced the 1918 pandemic), and people prefer to make a distinction, to be more specific.

As in 1918, there is no vaccine for the current outbreak (although the anti-viral drug Tamiflu has proved effective). If this turns into a pandemic the best prevention is isolation and quarantine. So, that’s what we discussed around the dinner table. I’d sleep in the garage, doing all the external stuff like going to work and shopping for groceries, and Debbie and the boys would be confined to the house. We’d pass groceries, meals and laundry to each other through the kitchen door. Debbie wondered what we’d do if I got sick. We left that question unresolved.

We finished talking and there was a moment’s silence. Then Daniel (5) spoke up in a worried voice, “Are we all going to die?” Poor child! We hurriedly reassured him that it was highly unlikely but that the situation needed talking about, and paused in our meal to pray about it. We asked God to keep us safe and healthy, to protect the family from harm, and to reassure us of His care. Daniel seemed content to leave it at that. Maybe Debbie and I should have talked privately.

Worries aside, the current swine flu is nowhere near as fatal as the 1918 flu. Although the 1918 flu was highly lethal nothing has matched it since. Medical authorities don’t know how mild or severe swine flu will be, or even if it will be as bad as run-of-the-mill everyday flu, which kills one in ten. For now all we have is general hysteria fueled by mass media, and so we make plans and pray while we go about our daily lives.

Apr 09
20
Moving Day

Posted by Stephen
Tags: , , ,

Into The Blue

It’s Spring! Warmer weather, sunny days, tulips pushing out of the ground, birds, squirrels and the occasional fox back from hibernation. In that same spirit of renewal I’ve moved this blog to a new server. My frustration had been mounting at the problems with my old web host until I finally took the plunge and moved.

You may want to take the opportunity to update your bookmark (if you have one) to the new host: http://stephen.rothlis.net/blog/. If you follow this blog in an RSS reader (e.g. Google Reader) or get blog posts by email, you don’t have to do anything. Things will automatically continue as they were. If you subscribed to the blog comments feed you will have to re-subscribe. See the sidebar on the right.*

I’ve instructed the old web host to redirect browsing to the new server so your browsing and links should carry over seamlessly. I’ll eventually cancel that old account and the redirection will stop working, so update your links.

The new server is a more hands-on affair. Some assembly required. It’s a good opportunity to add to my skills, but the learning curve has been a little harsh at times. John (my brother) has provided some very useful suggestions and links along the way. It’s jolly handy having an IT expert in the family.

Which reminds me of a story from my university days. John and I rented a small flat together at the start of our first term, and I set up my PC in the living room where we could both use it (It was a 286! With a massive 1.2GB hard drive!). At one point John decided to upgrade some software–it might have been Windows 95–and I chewed him out because he’d taken the initiative without consulting me. It was my computer! John was deeply offended that I called his abilities, competence and judgment into question. Words were exchanged and we stewed over it for days, until I realized, Hey! This computer works so much better! He’s helped answer my IT-related technical questions ever since. Thanks John. Sorry I ever doubted you.

* Technical reason: subscriptions to blog posts through a reader or email go through FeedBurner. All I have to do is change the details in FeedBurner and everybody’s subscriptions are moved over to the new server automatically. Subscriptions to blog comments, on the other hand, come directly from the server that hosts the blog. Those subscriptions can’t be transferred automatically.