My First Experience with Programming

During my second year of college I took an introductory course in psychology. It was a large class that met for lectures in a large auditorium. The labs were held in smaller groups and presided over by graduate assistants. They had recorded the lectures and made them available in the library so that if you missed the live lecture you could make it up at your convenience by listening to the recording.

They had also created computer based instructional material on a new system that was also available in the library. The system was called Plato. Plato was a mainframe based program that ran on a computer at the University of Illinois in Champaign-Urbana. The system supported numerous graphical terminals that could be connected remotely via modems and phone lines.

I was so impressed with the system that I applied for a user account on it. When it was granted, I found a user who was a computer science major and had program space allotted on the system and befriended him. He gave me a portion of his programming space to use. I bought the book on Tutor, the language in which Plato was programmed and set about teaching myself to program.

Tutor was an interesting language. It was similar in some ways to Fortran and in others to Basic. It had features that were unique to it, at the time at least. One of the most interesting features was the ability to take a list of words and phrases and match them to an arbitrary block of text allowing authors of instructional material to automatically score answers to essay questions.

The terminal on the system had a resolution of 1024 pixels wide by 768 pixels high. It was a monochrome plasma display. The pixels were orange when they were lit and brownish black when they were dark. The display had a programmable character generator so you could create custom characters in addition to the standard alphabet. This allowed for text that was displayed in different alphabets as well as character based graphics. It was also capable of line graphics.

The screen was touch sensitive so you could point to items on the screen to select them. The keyboard had more keys on it than a standard typewriter keyboard. This included several special function keys as well as special shift keys that allowed for extensive keyboard command short cuts.

I enlisted the aid of my wife at the time to design a custom character set that allowed me to animate a simple drawing of a halloween cat walking across the screen. This thrilled me that I was able to use the computer to make a programmed animation.

Later the next term, the local administrator of the Plato user accounts conducted an audit of the programming space allocation. My computer scientist friend had accounts on other computers on campus and hadn’t spent much time on Plato. He had not done any curriculum related work with his portion of his account.

I, on the other hand, was a cinema and photography major. My animated cat was directly related to my curriculum and ended up saving my friend’s (and my) programming space.

The system was lots of fun. It had a user to user message system. It had discussion threads, and it had a bunch of multi-user games. For example, it had a multi-user implementation of Star Trek. It had a dog fighting game. It had a game called Empire where you tried to conquer the world. These games were often written by users.

A few years ago I was Googling around on the internet and discovered that someone had written a Plato emulator that ran on the internet and an emulator of the terminal that ran on Windows, Macs, and Linux machines. There were a bunch of videos about the system on You Tube. I downloaded the terminal emulator and requested an account on the system. It was interesting to revisit my first experience with computers. It reminded me of why I had become so passionate about them.

Sweet dreams, don’t forget to tell the ones you love that you love them, and most important of all, be kind.

The Closest Thing to Writer’s Block that I Get Anymore

For a month I have written about two thousand words a day. Three quarters of those words comprised the draft of my novel. The rest were blog posts. After thirty days of writing, I find myself struggling to think of topics for my blog.

It’s been a long time since I’ve had writer’s block. That may be because I haven’t let the fact that I couldn’t think of anything interesting to write about stop me from writing about stuff that would bore a statue to tears. I’ve been focused on producing a quantity of words without considering the quality of words.

The rationale behind that strategy is that if you write enough you will eventually get better at it. While this is true it still doesn’t change the fact that at some point you have to start writing about things that you care about, things that mean something to you.

So, let’s make a short list. At the top of the list is my family, my pets, and my friends. I feel like that writing about my family or friends, at least without disguising them in the cloak of fiction, is too intimate. My pets are cute and often funny. But they don’t have much of a dynamic range of emotional complexity.

Next on my list are my geeky hobbies, writing, programming, building electronic gadgets, and ham radio. These actually are a pretty good source of ideas to blog about. They don’t offer much in the way of dramatic content or plot though. Maybe a blog doesn’t need those attributes. I do believe that all writing is story telling at its  heart though. That poses the challenge of writing about these seemingly factual topics in an entertaining way by telling a story or even adding an element of humor.

I have blogged about the experience of participating in the NaNoWriMo challenge. I seem to learn something new every time I participate. I expect that will continue with every writing project that I undertake, whether it is under the auspices of NaNoWriMo or not. It certainly makes sense for me to share some of those insights as they occur to me. It also serves to help me remember them when I have recorded them as blog posts.

I have blogged about computers and programming and the history of computers and software development as it unfolded during my career. I think this kind of blog post is an important way to contribute to the historical record. That is assuming it doesn’t just evaporate as soon as I die.

I guess my final thought on the matter is that I shouldn’t wait until I sit down to write a blog post to start trying to come up with an idea. Instead, I should make a list of ideas for blog posts and add to it as I think of more ideas.

Sweet dreams, don’t forget to tell the ones you love that you love them, and most important of all, be kind.