LEGACY - The Writings of Scott McMahan

LEGACY is a collection of the best and most essential writings of Scott McMahan, who has been publishing his work on the Internet since the early 1990s. The selection of works for LEGACY was hand-picked by the author, and taken from the archive of writings at his web presence, the Cyber Reviews. All content on this web site is copyright 2005 by Scott McMahan and is published under the terms of the Design Science License.


CONTENTS

HOME

FICTION
Secrets: A Novel
P.O.A.
Life's Apprentices
Athena: A Vignette

POEMS
Inside My Mind
Unlit Ocean
Nightfall
Running
Sundown
Never To Know
I'm In An 80s Mood
Well-Worn Path
On First Looking
  Into Rouse's Homer
Autumn, Time
  Of Reflections

Creativity
In The Palace Of Ice
Your Eyes Are
  Made Of Diamonds

You Confuse Me
The Finding Game
A War Goin On
Dumpster Diving
Sad Man's
  Song (of 1987)

Not Me
Cloudy Day
Churchyard
Life In The Country
Path
The Owl
Old Barn
Country Meal
Country Breakfast
A Child's Bath
City In A Jar
The Ride
Living In
  A Plastic Mailbox

Cardboard Angels
Streets Of Gold
The 1980s Are Over
Self Divorce
Gone
Conversation With
  A Capuchin Monk

Ecclesiastes
Walking Into
  The Desert

Break Of Dawn
The House Of Atreus
Lakeside Mary

CONTRAST POEMS:
1. Contrasting Styles
2. Contrasting
     Perspectives

3. The Contrast Game

THE ELONA POEMS:
1. Elona
2. Elona (Part Two)
3. The Exorcism
     (Ghosts Banished
     Forever)
4. Koren
     (Twenty
    Years Later)
About...

ESSAYS
Perfect Albums
On Stuffed Animals
My First Computer
Reflections on Dune
The Batting Lesson
The Pitfalls Of
  Prosperity Theology

Repudiating the
  Word-of-Faith Movement

King James Only Debate
Sermon Review (KJV-Only)
Just A Coincidence
Many Paths To God?
Looking At Karma
Looking At
  Salvation By Works

What Happens
  When I Die?

Relativism Refuted
Why I Am A Calvinist
Mere Calvinism
The Sin Nature
Kreeft's HEAVEN
A Letter To David
The Genesis
  Discography


ABOUT
About Scott
Resume
My First Computer
 

Introduction

In the spring of 1984, I got my first computer, a Radio Shack TRS-80 Color Computer 2 with 64K of memory. This narrative material was adopted from a package I created for my web site which had both text and reproductions of artifacts. The text was an extended piece of autobiographical writing I felt belonged among my essays, so along with one page of photos from the web package, I present it here.

My first computer has always occupied a sentimental spot in my memory, because it launched me into a lifetime career with computers. The story is also interesting because I am from a generation at the crossroads of the industrial and information age, and this era deserves a first-hand account. My narrative blends my life, the computer, and the general sitz em leben of rural America in the early 1980s.

The computer was both primitive and limitless. Based on the Motorola 6809 8-bit processor, the Radio Shack TRS-80 Color Computer 2 (called the CoCo 2 for short) came in both 16KB and 64KB models. The computer had no secondary storage at all, other than cassette tape; the computer booted off of a ROM chip with a BASIC interpreter. Despite its limitations, this little machine was ahead of its time and possessed an elegant design. Radio Shack targeted it to the home user, and continued to develop the machine into a self-contained home information appliance similar to the ones which would be seen in 1999-2000. Later models of the CoCo would come with disk drives, and (what was for the time) sophisticated applications software, but my more primitive computer ran a few games and invited BASIC programming. By introducing me to programming, the computer was a limitless source of imagination for me. In the long years since, I have gone on to own computers more powerful than I could have imagined even while in college, but the CoCo 2s green background and blinking cursor under the OK prompt, cycling through all the colors, will always be my entry into the world of programming and imagination, the foundation of my life with computers.

The First Connected Generation

My generation grew up at a turning point in human history: when future historians draw the line between the industrial and information ages, I am convinced that it will cut directly through my generation, which was the first time an individual could own a useful personal computer. To previous generations, computers were not part of daily life, and existed off in a separate world of machine rooms in the bowels of business, government, and university buildings; people could come into contact with computers, but these machines did not contribute much to change peoples attitudes about the world they lived in. Computers automated much of the drone work of grinding out payroll checks and reports, and analyzing data. People could, of course, learn about computers and learn programming. Yet it was not until my generation that the personal computer became easily available as a tool (not a kit), and could be a daily part of life, that any monumental change occurred in the way humans approached their work, creativity, and lives.

My generation is particularly significant because not only did personal computers become part of our lives in the 1980s, when we were going through adolescence and high school, but we also seamlessly made the transition to the Internet as we graduated from college. I do not think it is possible to underestimate, or even understand, what difference this made to my generation and all generations to come this had never before happened in history. My generation went to college where Internet access was becoming common, and then graduated and went into the work force in the late 1990s when the Internet became a part of daily life. In the past, college students had Internet access which disappeared when they graduated: the yearly ritual was the graduates losing their college Internet access, as well as the annual September flood of new freshmen to the Internet. The Internet was not a dependable part of everyday life when access was transient and hard to come by. (Those with constant access were a small population of college professors, researchers, etc who remained in institutions which allowed them to have uninterrupted Internet access. This was not a large enough population for the Internet to even be known to the general population, let alone used by them.) My generation was the first to ever have seamless continuity of computer use and familiarity in childhood, Internet use in college, and then for the rest of life staying connected to the global, instantaneous information network.

First Use Of A Computer

My road to the connected Internet world started in apple country, in Hendersonville, NC. The rural county was farming country, with farm laborers, migrant workers, and about the smallest core of a professional class the population could sustain to perform the functions of medicine, government, law, and so forth. Literacy was still a concern here, beyond the minimum functional literacy needed to survive in the world, and computer literacy almost unheard of. Yet computers trickled in slowly. The school system started by getting each school a computer, usually an Apple II. Stores generally had one model of a computer which was intended for home and consumer use, such as the Commodore 64. The machines were incredibly expensive, both compared to the amount of money people had at the time and comparing their limited abilities to todays powerful commodity machines.

I cant remember the first time I saw a computer, or became aware of what a computer was. We would go over to my grandmothers apartment in nearby Asheville, where she had cable television (something Hendersonville did not have at the time), and I remember sometimes watching reruns of the old 1960s television show Star Trek which had fictional computers so far beyond what actual computers could do that, if my idea of a computer came from the show, I had a wrong idea of what computers could do. The computer, though, became for me a ticket out of the poverty in which I lived in Hendersonville. Computers unlocked a new world of possibilities for me. I grew and learned about computers, which began a process of using computers as a way to better my position in life; while at the same time I watched computers go from being curiosities to essential tools in the world.

Perhaps most interestingly, computers, and what they enable people to do, have permeated every aspect of my existence from the time I was old enough to understand the world around me. I do not think I could imagine a world without computers, because they have been part of my life since I was old enough to understand them. My education, starting in high school and more importantly in college, was with computers. My entire working life has been with computers. The only two talents, or abilities, I possess are writing and programming, and I doubt I could have made much of a living with writing. Without computers, I would most likely have gone into journalism, but I likely would not have gotten far because I most likely would not have gone to college without the lure of computers to pull me. I am not sure I could even conceive of what I would be without computers, especially considering the limitations of having a chronic illness. I doubt much of anything was available for me in Hendersonville. Whatever ability I have to write and to program, in both cases its completely innate and something I can do without thinking. Ive gotten better at both over the years, through practice, but whatever spark makes me good at these two activities has remained constant.

The year is extremely hard to recall, but the first time I ever used a computer was in elementary school. I want to say in the sixth grade, sometime in late 1983 or early 1984, but cant date it accurately. Computers were still, at that time, so expensive that the rural elementary school only had one. These machines, especially by todays standards, were so underpowered that they couldnt be used for much yet the cost, not the capabilities, was the limiting factor. In rural Hendersonville, personal computers were a high-end, novel specialty item that most people did not know what to make of. I did not, either: I had little concept or imagination about the possibilities of what a computer could do, and how it could be used. If youd asked me, then, what a computer was, I could probably have given you an answer, but I could not have told you what could be done with one. If I had even seen a personal computer anywhere, before using the one at the elementary school, it did not make an impression on me, but I was so young that I had plenty of other things to learn about besides computers.

The elementary school had one computer, an Apple II, which stayed in a special room in the library where the librarian worked so it could be kept under watch all the time. (The photo is of an Apple II from the Flat Rock Junior High 1984 yearbook.) Saying the computer meant the Apple II: all of the schools I ever attended, until up into the late 1980s, had Apple II computers. (If I ever knew which model it was, I no longer remember, but I suspect I never knew that there were different models of Apple II computers.) The computer itself was a long, rectangular box with a keyboard sticking out at one end. Apple computers then were a uniformly drab brown color. A monitor sat on top, and usually two 5- floppy disk drives were attached to the side. The letters on the screen were big, green, and blocky, and were at such a low resolution it was possible to count the dots that made them up.

The IBM PC (and its compatibles) was almost totally unknown to schools. I did not see one in person until 1985 or later. The high school got one because they wanted to run a special application, which used special hardware, that only ran on the IBM PC, so they did not have any choice. This computer was so special and sacred that no one was allowed to use it for any reason other than the people authorized to run this special application, certainly not a then-junior high student who came over in the afternoon to the high school where his mother worked. I looked, but did not touch, and would not get to touch an IBM PC until I was in high school.

What the elementary school did was let each student, over the course of a school year, have a few minutes in the morning to use the computer before class began. The school wanted to get us to sit down, use the computer, and become familiar with it. Exposure to computers, in any form, was the key. I do remember the day my turn came very clearly. I remember the event itself more than anything I did that day: it was significant just to use the computer, no matter what I did on it. I think I played a game, something about leading a rabbit through a maze. In a way, this was an element of Joy: awakened in me was a longing for something I simply could not satisfy. Even if I could use the computer more, which I could not really do, there wasnt much to do on it. Although the machine had a BASIC interpreter, the elementary school had no information on how to program in BASIC and I was so young I could not have learned it if there was because I was not old enough for algebraic thinking. Yet I knew there was this new element in my universe, a computer, which could do things. I did not even know what it could do, but some vague conception of the computer as a limitless expanse of potential seeped into my young mind. At the time, it is most notable that I had no real reaction: I do not remember being fascinated or enthralled by the computer. My imagination was not immediately unlocked and I did not have a compelling desire to use the computer more and more. I was probably just too young: at that time in my life, computers were novel and different, but I was too young to have my interest piqued by them.

The Impact Of Video Games

Before I got my own computer, I played video games, and the video games are probably as important to the story as the computers themselves at that time in my life. Video games were the only real application of personal computer technology that I had ever encountered, to the point where a light bulb lit up in my young mind and I realized I could make my computer do what the video games did, if only I learned how. Without video games to stimulate my imagination, my reaction to personal computers was one of indifference, because I didnt have any conception of what a computer could do. By playing video games, I had a key to bring to the computer to unlock its potential. Without this critical key, I most likely would never have become interested in programming at all.

Video games in the 1980s were part of a magical and wondrous time which will most likely never been seen again. When I was growing up, video game consoles were a staple of entertainment and could be found everywhere: Department stores, movie theatres, and other places all had them tucked away in odd corners, ready to suck up idle time and loose change from anyone who passed by. No wonder they were everywhere, since at one quarter per game, anyone with a console could make a lot of money without having to do anything but provide electricity. The most special places were video arcades, shortened to just arcades, which were businesses that had rooms with nothing but games and usually a huge selection of them open to the public. Games cost one quarter per play, and some gave more play for the quarter than others.

These video game consoles were primitive, and that led to their eventual demise. The consoles were cabinets decorated with artwork, and about five feet high with the controls at a comfortable height for most people. The cabinet housed a dedicated computer system consisting of display screen, controls, and some sort of microprocessor (such as the Zilog Z-80), and the game itself permanently burned onto a ROM chip. Personal computers at the time were little different; they had the same core parts with a BASIC interpreter on a ROM chip. Consoles typically had much better sound than a personal computer: The typical video game console had a stereo system inside of it which produced a high quality of sound; and the machines always had to be loud: no din has ever been like that of a video arcade full of machines competing with each other for attention. (One military adventure game called Operation Wolf was almost totally silent, except at random intervals when no one was playing it a frequent occurrence since the game wasnt that great the console would let out a blood-curdling scream OPERATION WOLF!!!! at an incredibly high volume. Old consoles of this game found their way into all sorts of places like coin-operated laundries, etc over the years. Occasionally, as I walk by some place, I will hear OPERATION WOLF!!!! and have a flashback of panic which I suppose is similar to that of a combat veteran.)

Many of these games were vector based (the images on the screen were composed of a series of lines which were drawn using algorithms), and did not use the bitmaps and sprites that would come to dominate later computer games. On the primitive hardware, vector graphics were much more realistic. Tempest and Asteroids were the most well-known examples of this vector style. In all cases, the primitive hardware limited what the game could do, so all of the consoles were simple in their graphics and their style of play. To compensate for their simplicity, the games had to be interesting and playable to get people to put quarters into them. The designers of the games went all-out to make them fun and playable so the limitations of the hardware would be less important.

Video games began their long, slow demise when computer graphics got better, and computers got cheaper. Once the overall level of computer graphics improved, games started being about cool graphics, and that usually had a strongly detrimental effect on the games playability. For me, having played the original arcade games, the newer games seemed so different and so much less interesting.

The best game of the 1980s, in fact the game, was Galaga. It was not a vector game, but a sprite-based one. The sprites and the sounds of Galaga were unique and inimitable. The main reason why Galaga was so appealing was the fact that it started at an easy pace and allowed the player to have a fighting chance to learn the game. Many of the games circulating at that time were so complex that to play one was to put a quarter in and wonder what just happened; often the game would be over before the player could figure out how to work the controls. These types of games were frustrating and a waste of money. Although there were people who had the means and time to play games for hours on end to master them, for those who had only a few quarters and played infrequently, complex games were a frustration and not a challenge. Galaga started off by giving any player a good chance of getting to the fourth level. A player would have to be completely uncoordinated to not be able to make it to Stage 4 by a few tries. The first three levels were simple enough that it was possible to use them to learn skills and techniques, too: instead of breezing through the lower levels, a player would be able to practice certain maneuvers with a relatively low chance of committing a costly mistake. Galaga was not simplistic: Galaga is a game of ultimate nuances and strategies. The longer I played it, the more nuances I noticed. Although it was simple for beginners to pick up the basics, like any good game it constantly challenged the player.

Hendersonville did get a shopping mall, its first and only, which opened in the early 1980s, most likely in 1983 or early 1984. Besides containing a bookstore that would play an important role in expanding my reading horizons, it also had a video arcade. The arcade had a lot of great games, including some no other arcades I visited had. One of these unique games was the one singular influence on my computer programming career: Star Trek. Tucked off in a corner over to the left in the dim and noisy video arcade the arcade always reminded me of the bar in Mos Eisley in Star Wars for some reason I saw Star Trek sitting there, and decided to play it. Something just clicked. I knew that this was the game I had been looking for. This was what computers were supposed to do. This game inspired my first and biggest computer program that I wrote on my first computer, and most likely was what gave me the impetus I needed to become a computer programmer I learned programming by implementing one feature of this game after another on my first computer. Elements from the game became one of my longest and most involved programs. I borrowed the two-dimensional tactical view from Star Trek, and the star field backdrop from its first-person view (as well as the star field from Galaga). I wanted to do all these things on my own computer, so I learned more and more about how to program it.

The games premise is based on the simulation which opens the second Star Trek movie, The Wrath Of Kahn, where cadets are in a simulation of a starship going through a mission. The game takes this idea and allows the player to control a starship as it goes on simulated missions. I had a lot of trouble learning to play Star Trek, because it had too many controls and views. It had a joystick actually a wheel which took up one hand, and four buttons that took up the other hand. Added to this were three views, two of which had to be monitored simultaneously to play successfully. I became extremely frustrated that I could not get a grasp of the game, since from the beginning I knew it was the game Id been waiting for. After a point, I began to click with the machine and learned to play it. The first key was to learn when to switch from the tactical view to the first-person view. I had to watch the tactical view until the ship was close enough to be in visual range of the enemy, and then look at the first-person view to bring the enemy into the targeting crosshairs. Then, I had to learn to concentrate on the main thrust and fire buttons, which were adequate in almost all situations, and leave the other two (warp speed and torpedo, which were both available only in limited amounts) alone until I desperately needed them.

My First Computer

In the spring of 1984, even though at the time our family was extremely poor, my mother spent what was for us a significant amount of money to get me a computer. The lump sum came from the estate of my grandfather. Sometimes I cant help but wonder if the worlds transition from analogue to digital did not have some role in his death. For all that my grandfather B.D. taught me about electronics and electricity, he had never really made the paradigm shift from tubes to solid-state electronics. He had not even begun to learn digital electronics, and in all that he taught me I cant remember him even mentioning any concepts of digital electronics. By the early 1980s, the field of electronics was moving away from analogue towards digital, and it was clear even then that digital electronics were going to completely replace analogue. Everything B.D. knew, all of his lifes skills and work, were soon to be totally obsolete. How could anyone exist in a world which had changed that much? He knew that I was entering a world he could never share with me, but he somehow found a way to give me one final gift: he gave me the ticket to my future, even though it was along a road he knew he could not travel.

I dont remember what, exactly, prompted us to get a computer at this time. Perhaps my mother saw it as an investment in my future and a way for me to learn something that might, some day, get me out of the poverty we experienced in Hendersonville; perhaps I had some sixth sense or intuition about what was coming in the future for me. The timing was perfect: if I had gotten the computer much earlier, I would not have been old enough to have the intellectual development to learn BASIC, and likely would not have gotten much out of the computer; but if I had gotten the computer much later, I would have been sick and likely unable to devote the energy to programming that I did in the few years I had available. This was the one perfect time for a computer to come into my life.

Deciding to get a computer and actually buying one in Hendersonville, NC in 1984 were two entirely different things. Personal computers (preassembled and for sale as products, instead of kits) were still new in retail stores, at least in Hendersonvilles backwater retail setting. I had no experience with computers, being a young kid in a rural farming town known for its apples. I am astounded that I would wind up buying what was a perfect computer for me; having a computer at this age was part of my destiny that I could not escape.

I suppose the most ironic thing is that none of the stores had Apple computers: if they had, I would most likely have gotten one just because it was the only type of computer I had actually used. But I didnt know that Apple did not sell its computers through retail stores, and I had no idea how someone would buy an Apple computer. Hendersonville had no computer magazines of any sort that I can remember (indeed, I remember buying a computer magazine many years later in Ashevilles mall bookstore and marveling that such magazines existed). The whole personal computer culture was worlds away from me, because I was so isolated. I knew nothing of the homebrew scene, with users sharing information.

I remember the day we bought the computer very clearly. We went shopping first at Kings department store. Kings was one of the old regional chain stores such as Roses, or Sky City, which did not survive the move towards huge, national chains like Wal-Mart. Kings was the only department store which had a personal computer for sale, and I remember it was carefully locked up behind glass. I do not remember which computer they sold, but seem to recall it was a Commodore of some sort. (I knew little about which brands were available.) The main reason we did not get the machine at Kings was that it cost more than we could afford. We passed on it and decided to shop around some more.

In the same shopping center with Kings was a Radio Shack, where I had been frequently to get parts for various electronics projects. There, they had a TSR-80 Color Computer 2. (I am using the short name CoCo, although I did not know this was its nickname until much later in my life.) It was much more affordable than the one in Kings, so we wound up getting it. For some reason we splurged and got the deluxe model, with a huge 64K of RAM. The other model had only 16K of RAM, so the difference was one where even in my inexperience I could sense that the fourfold increase would be better. (If memory serves, the 64K model was on sale that day, such that the difference in price between it and the 16K model made it almost no decision to get the 64K model.)

(Comparison to current computers is difficult, because computers change faster than I can finish writing about them. When I began writing this material, I used a computer with 96 megabytes of main memory, plus extra memory for graphics and other specialized areas. 64 kilobytes is around half a megabyte. And that 64K had to be shared among all the components of the system: for example, there was no separate graphics memory. The CoCo had no real secondary storage, other than saving data to cassette tape, while my current computer has around 10 gigabytes of it. By the time I had brought this material to draft from, I had another computer with 256 megabytes of memory, an over 500% increase in less than twenty years. Incidentally, the processing speed of the CoCo is almost a rounding error compared to modern processors.)

As it happened, the CoCo was the perfect computer for me. It came with two superb manuals on BASIC programming, which were well-written and friendly. I soaked up BASIC programming, learning by reading the books, trying examples, and elaborating on my own, until the CoCos BASIC became second-nature to me.

(The high school library discarded a BASIC programming book which had been damaged, with a chunk of the first part of the book missing, and my mother who worked at the high school saved it for me. The book has the distinction of being the first programming book I ever encountered, outside of the CoCo manuals themselves. I later found a book on adventure game programming for the CoCo at a book liquidation, but it mostly concerned machine language routines in which I had no interest, instead of BASIC programming. I did not read any other programming books until college.)

On the afternoon after we bought the computer, we went back to Radio Shack. The CoCo was supposed to read and write data to cassette tapes. I had a monaural tape recorder, and thought that was all I needed. One of the first things I ever tried to do on the computer was to load and run a game we had purchased at the same time, and I could not. After calling Radio Shack, they informed us that wed need a better tape recorder because reading and writing to tapes was a difficult and error prone activity. We got a top-of-the-line Radio Shack tape recorder, which worked better. As my programming experience grew, I realized that reading and writing data to cassette tapes was definitely one of the most difficult things that could be done: it failed as often as it worked. I spent many long hours trying to commit my programs to tape, and even now have tapes full of programs I couldnt ever use again.

Stories circulated at the time of kids who were given computers, and after an initial flurry of interest, the computers were abandoned to a dusty shelf when the novelty wore off. That did not happen to me. I took to programming like a fish to water, and completely on my own I mastered the CoCos BASIC by typing in and then modifying one example program at a time. There was not much else to do with the CoCo. The machine did have a slot into which a ROM cartridge would plug in, and it could run commercial games. But they were quite beyond my price range. I had two ROM games, and a couple on cassette, but that was all. If any application programs, other than games, existed for the CoCo, I do not remember seeing any in Radio Shack.

Perhaps the lack of software was part of the computers appeal to me: I had to find out what the computer was capable of doing, and if I wanted the computer to do anything, I would have to program it myself. The appeal lay in the ability to turn on the computer, see the OK and the blinking cursor, and start programming. I enjoyed learning about each new feature of the computer as I discovered it in the manuals.

(Sadly, although Microsoft built its early success on its BASIC interpreter, a version of which ran on my CoCo, they have gotten completely away from their original mission of unlocking the computers potential for people who could become the next generation of hackers. Their BASIC interpreter diminished in importance over the years, but was always there in MS-DOS and Windows, until it was removed from Windows 95. Until it was removed, someone who had the inclination to be a programmer would simply start the BASIC interpreter and begin programming. The only place left anymore with this spirit of openness and unlimited potential is in the free software movement. Im encouraged by new, free languages like Python which recapture the feeling of the original BASIC interpreters I used, allowing for unbounded exploration and creativity in a friendly programming environment. My strong belief is that all commercial software companies, even those which oppose the philosophy of the GNU project, should still support it with generous donations; free software is where new software development talent will be encouraged. The new generations of programmers will download free software development tools and learn how to program from them. Thats where people like me will come from, who go from being incredibly curious about what the computer can do to creating the next generation of new software.)

Although I certainly spent a lot of time learning BASIC and programming on the CoCo, I never developed the monomaniacal fixation on the computer which I have read is typical for hackers. For me, the computer was always one of a million other things I had going on. I had every factor aligned perfectly to become obsessed: I had no friends at all in Hendersonville, and I spent huge amounts of time alone, usually going the entire summer without seeing any children my own age. In spite of this, my personality was not suited for fixation. I had a million interests and a million things going on at once. I was extremely artistic, and spent a lot of time with modeling clay, drawing, and other things. I read everything in sight. I listened to music. I played a lot outside, especially riding my bike.

I spent about three years learning the CoCo and programming in BASIC, from when I got the computer in 1984 until I moved to Asheville in 1986 and got so sick that my excitement about and energy towards computers (and everything else) waned dramatically. These years were the only real time I had to dedicate myself to learning programming which I had, and I suppose it was my larval stage of hacking. During this time, I learned the built-in BASIC of the CoCo inside and out, finally mounting what was to me its steepest hurdle: the high-resolution graphics capabilities. (High-resolution only in comparison to the CoCos own low-resolution graphics, of course. High resolution was 255x191 pixels, and of the 16 colors the CoCo was capable of displaying, only two could be used in high-resolution mode. Using more colors meant using a lower resolution. For the time, this was fairly advanced graphics for a personal computer. The IBM PC had not begun to exhibit the graphics capabilities that the adoption of the VGA card would later allow; the Apple II computers I used were all monochromatic.)

For some reason, I had trouble with high-resolution graphics, I believe because I tried to use them before I had learned enough BASIC: they were hard at first, so I set them aside until I had more experience. The fact that I though high-resolution graphics were hard was because I didnt have enough programming experience to understand them; when I did learn how to use them, they were not significantly harder than anything else I had learned. I just attached hard to them early on when I got in over my head with them and had to back off.

My biggest and best program was what I called the Star Trek Simulator, a high-resolution graphics based program which allowed piloting a ship around the galaxy. It got to be quite sophisticated at the end, as feature after feature accreted: I basically added anything to this program I could think of. When it ran, I had a ship on the screen which could be piloted in any of eight cardinal directions on a two-dimensional star field, moving at any of three speeds. I had made a picture of the ship moving in each of the eight directions (the diagonals were the hardest to draw) and as the ship moved in different ways, the picture of the ship changed so it was pointing the way it was moving. The ship could shoot torpedoes, and destroy planets (a planet was just a pixel, and so was a torpedo), and it had various other things like shields and flashing grid lines. Towards the end, I added fuel constraints to the ship (and a way around them!) and a starbase at which the ship could refuel. It was possible to navigate to different quadrants of the universe, which was accomplished by switching among the four pages of video memory. The ship could even go to other weird universes, by changing the screen resolution. At the end, I remember there was a text screen, but not what it did. The programs code, by necessity a mass of gotos and gosubs by nature of the unstructured BASIC language, got to be as big as a program of that nature could be. The only feature I could not add was logic for an enemy ship to appear, move around, and shoot at the ship I piloted; such AI logic was simply beyond my abilities.

This first computer, combined with my exposure to video games, started me upon the lifelong path that would lead to becoming a computer programmer and being part of the software development industry.

Epilogue: A Funny Story About Graphing

In the fall of 1984, I entered junior high. The math class I was in that year devoted the last month or so to pre-algebra, which allowed students used to dealing with concrete numbers used to the idea of variables. I remember almost trembling in anticipation, thinking I had finally found something in school that was interesting, until the harsh reality sank in that algebra was mostly just busy-work and rote mechanics, much like the arithmetic I had already burned out on. I am, perhaps, one of the only students who never asked what algebra was for. I immediately saw that variables and equations carried over to computers very nicely.

That year, or more likely in the 1985-6 school year in my Algebra I class, we began to graph the usual functions: lines, parabolas, and so on. We graphed functions the hard way, by manually plotting points on a section of graph paper. Since I had been learning a lot about computer graphics, and was now learning some math, I decided to combine the two by writing a BASIC program which would graph equations on my computer screen. To me, it seemed like the perfect application for a computer. Remember that I had never been exposed to graphics workstations or Mathematica at that point in my life. I thought that it was a curiosity, applying the computer to 8th grade algebra, and not something that anyone would seriously do with a computer. I did it just because I could.

My Extended Color BASIC had every math function available that I had ever heard of (and also many I was yet to encounter), and high-resolution graphics, so I went to work, and wrote a little program which I kept enhancing with new features. The only equation I was unable to graph successfully was the circle, which had two simultaneous variables being juggled: my algorithm was strictly plugging a series of values of x into an equation to get a value of y and plotting the point (x, y) on the screen. I was so thrilled with the pretty pictures I saw on the screen, which did indeed look like graphs, that I was unable to realize one important fact.

The high-resolution (for the time) graphics screen was 256 by 192 pixels. I wanted to put the origin (0,0) in the center of the screen, so I was very clever: I divided the screen into half, both in the x and y direction, and plotted a point, and then shifted the value forward by adding to it. I would compute x over the interval [-128, 128] (I was extremely imprecise about the end points, and the computer was extremely forgiving about out of range values) and get a y value. Then Id add 128 to the x value, and 96 to the resulting y value, and plot that point. I discovered this trick all by myself, with no formal computer or mathematical training, so I thought I was doing pretty good.

Most equations, over the interval [-128, 128] for x are simply not very interesting, because the graph doesnt even show the major features of the equation. To zoom out, I created a scale factor: I had 128 values of x in each direction, so I would take 128 samples by multiplying each x by some scale factor, and dividing the resulting y to fit it back to scale. Since I was dealing with a 256 by 192 screen, the blurry approximation didnt really matter much, since the graph was imprecise to begin with, even at a 1:1 scale. I had the scale factor and the equation at certain BASIC line numbers, so I could easily change them and run the program again. The program was made fancier by allowing me to graph more than one equation at a time in different colors. Of course, the TP-10 printer was unable to print graphics, so I couldnt show anyone my output.

Just as well: I had overlooked the fact that on graph paper, the origin (0,0) was at the lower left of the quadrant where both x and y were positive. The variable x increased from left to right on graph paper, which is the same direction as on the computer screen. But the variable y increased from bottom to top, while on the computer screen the y coordinate started at the top of the screen and increased towards the bottom. So all my graphs were upside down.


All content on this web site is copyright 2005 by Scott McMahan and is published under the terms of the Design Science License.

Download this entire web site in a zip file.

Not fancy by design: LEGACY is a web site designed to present its content as compactly and simply as possible, particularly for installing on free web hosting services, etc. LEGACY is the low-bandwidth, low-disk space, no-frills, content-only version of Scott McMahan's original Cyber Reviews web site. LEGACY looks okay with any web browser (even lynx), scales to any font or screen size, and is extremely portable among web servers and hosts.

What do christianity christian philosophy world religion world view creative writing design science license fantasy mystic mysticism fiction prophet prophecy imaginative fiction poem poetry book of poetry book of poems seeker meaning truth life death bible sub creation story imagination mythos calvinism reformed theology have in common? Anything? You'll have to read this site to find out!