In Days Of Yore


Recently, a friend of mine was lamenting the fact that he had a hard time learning programming by reading or watching videos. I suggested he learn like I did: looking at code and typing it in. Then I had a great idea and suggested that he look up an old magazine with a BASIC program and convert it to whatever language he was trying to pick up.

Long ago, back when the world was still flat, a computer in the home was seen as an expensive frivolity. There was nothing particularly compelling about getting one because whatever you could do on a computer, you could do cheaper with a pencil and paper. Maybe it would make sense if you were a company, but not so much for the individual.

Finding software, then, could be difficult and expensive. Luckily, there were magazines and books that contained code listings for various types of programs. Mostly, they were in a language called BASIC.

The thing is, as a child in this computer pre-history time, I didn’t have a lot of money to buy software. It was a lot easier to get the parents to plunk down a lot less money on a book or magazine. It could even be justified as being educational, because I could learn how to program by typing in those code listings.

The joke was on me, though, because I did, in fact, learn how to program that way. And debug. When you don’t have an Internet to search, going through a program you typed in to find out why it doesn’t behaving properly does wonders for figuring out how programs work and where you made your mistake.

BASIC is not a universally loved language. It was designed to be a learning language; something easy for someone, like children, to pick up and learn the basics (get it?) of programming. Many people, then as now, thought BASIC should be buried beneath the Earth and not taught to anyone, much less children in their formative years.

But BASIC was popular among the home computer users because, in most cases, it came built into the computer. You turned it on, there was BASIC. Even if you didn’t have a disk drive, you still had BASIC. It was ubiquitous. Given the choice of, say, dropping $95 to buy Microsoft’s Fortran for your TRS-80 (which would be the equivalent of $318 today) or using the BASIC the computer came with, well, you kind of know who’s going to win that one.

Yes, that Microsoft.

So, it was (technically) cheap, and (generally) available. The other advantage BASIC had was that it was an interpreted language. That meant the BASIC commands were turned into “machine code” when they were encountered. This meant typing in something quick and dirty, like PRINT 27*42, would give you an immediate answer and you wouldn’t have to compile it, link it, and then run it.

What about the disadvantages, then? Why wouldn’t people want this language taught to people? There are probably numerous issues (memory management, etc.) but one of the biggest was that BASIC did not teach structured programming. It was, in fact, very unstructured. It gave rise to the descriptor of “spaghetti code.” This was all most due to one command: GOTO.

The GOTO command allowed the programmer to jump to any line in the program, arbitrarily. Aside from being a great source of bugs (like, maybe using it to jump to the wrong line), it also made programs very hard to read. Given that early BASICs didn’t have, say, IF..THEN..ELSE statements, GOTO was used a lot.

Consider this:
10 IF X > 10 THEN 30
20 PRINT “X is less than or equal to 10”:GOTO 40
30 PRINT “X is greater than 10”
40 END

This simply checks to see if variable X is greater than 10. If it is, it jumps over line 20 to print a message saying so. If it’s less than or equal to 10, it prints its message then jumps to line 40. This may not seem particularly awful, but when you have a program that’s a hundred lines or more, following all those GOTO statements gets to be a real chore.

With a structured programming language (or a more modern BASIC), one could write the same thing like this:
IF X > 10 THEN PRINT “X is greater than 10”
ELSE PRINT “X is less than or Equal to 10”
END

By chance, around the time my friend mentioned his issue about learning and my suggestion of converting a BASIC program, I was reading a post by the CRPG Addict about a game called “The Devil’s Dungeon.” Evidently, there was some controversy about its status, not only as an RPG (or, Role Playing Game) but also about if it could be termed the ‘first commercial computer RPG’ because it was written in BASIC and distributed in a book, rather than being sold on disk or cassette.

“What luck,” I thought. If I could find a copy of this book online, I could try converting it to, say, Python and show my friend just how awesome an idea it was. So I found a copy of the book that “The Devil’s Dungeon” was in and began the task of converting it over. I thought it would be pretty easy.

It was not as easy as I thought it would be. The biggest sticking point was (and you should be completely not surprised by this) was the GOTO statements. It’s not a particularly long program, but following the twists and turns of the GOTOs, used to jump over sections of code and then to jump back into those previously skipped portions was breaking my brain. IF statements had to be reversed in order to get things to flow properly.

As it is, the game sort of works in Python, but I know there are issues all due to how the program executes. I may try to find these problems and fix them, some how.

The Devil’s Dungeon sort of working on Haiku

After the trouble of doing this, I began to re-think my advice of converting a BASIC program to a different language. It wouldn’t, necessarily, be an easy task. But then I thought about how much I learned about Python (take away: I don’t like it) just by having to look things up or working around issues. So, I still stand by it. I still think it’s a valid learning experience. If nothing else, one would learn how not to write a program.

I may fix Devil’s Dungeon. Or, I may move on to another game that was mentioned by the CRPG Addict, called “The Dungeon of Danger.” I found the listing for it, already. It’s a lot longer and a lot more complicated than Devil’s Dungeon. It also re-introduces a long forgotten command, ON GOTO, which is already causing me heartburn. But, I also miss those old DATA statements.

As Normal As It Gets [Ramble On]


I’m enjoying my new job. Even though it’s still early and I haven’t had much to do yet, I can tell I’m in with a pretty good group of people. The guy I interviewed with gave me a training session today. At the end of it he said that I was a quick learner. This is what I’ve been trying to get all the other people I interviewed with to understand. Their loss, though, is my new boss’ gain.
Since the time switch happened again a bunch of people are complaining about having to turn clocks forwards and backwards. I’m sympathetic and think the practice is a little outdated, but if they do away with it then I have to buy a bunch of new junk that won’t change its own time twice a year. Some things could be fixed easily (computers, phones, and the like) but others (microwaves, coffee makers, car stereos) would be hard to do. 
Speaking of which, Apple has announced the Apple Watches price and availability. It just so happens that I’ve been looking to get something as a ‘congratulations you have a job’ present. I had thought about an Apple Watch, but I don’t know that I really need one. Or would use one for whatever its inteded purpose is. 
One thing that I find amusing are the People of the Internet blowing their gaskets over the $10,000 gold Apple Watch. They’re acting like this is the most ridiculous thing they’ve ever heard about. I’m no millionaire, but I have it on good faith that people with a lot of money tend to spend a lot of money on truly stupid things. There are clubs that offer bottle service well in excess of $10,000. There are even foods served in restaurants that top the $10K mark. Buying a ‘smart’ watch for $10K, in that light, seems almost responsible. I won’t get into buying a watch for $25K or more just because it’s not really a fair comparison. There’s no telling how long a ‘smart’ watch will be relevant, what with being based on technology and all; a regular watch will always be relevant just because it’s never going to stop being able to tell time. Unless it’s broken, but it’ll still be accurate two times a day (rimshot, etc.). For the most part a watch is a style accessory that just happens to be functional. The point is, though, that a $10K gold ‘smart’ watch is not meant for your average McDonald’s employee, it’s meant for the über-rich who can lose multiple thousands of dollars in a seat cushion and not even realize it.
Other than that, the Internet has been getting on my nerves. I don’t think I could stand to see another headline that reads like this: [Some Person] [Did Some Action] and what happens next will [Ridiculous Hyperbole Involving Incredulous Reactions]. I won’t even read those stories. As soon as I see one I just want to flip off the Internet switch.
I also need to stop reading comments on news stories because I see the things that people write and I feel like I’m ready to induldge in some [Ridiculous Hyperbole Involving Incredulous Reactions]. 
Back when I was in school, the big thing with computer nerds was computer shaming. You know, like how Atari computers were better than Apple computers because they had built in color capabilities and didn’t rely on monitor artifacts, or it had sound built in. And Commodore 64s were better than both of them even though the hard drive was slower than a tape drive, and if you had a PC jr everyone felt bad for you and called you “peanut”… All that crap. Surfing around the Internet you realize that it never ends. Android is better than iOS, or Ford is better than Chevy, or Chrome is better than Internet Explorer or whatever. It just goes on and on and on and on. 
We never really grow up. 
I’d like to think that’s a bad thing but I’m not so sure. I guess it keeps people on their toes, somehow. Or, at least, keeps their brain functioning on some level. If you’re going to fight about something I suppose you need to come up with reasons to defend your position rather than just skating along and saying, “Oh yeah, man, that’s an idea.” 
I have the day off today. My new employers were kind enough to recognize that I needed to take the day to bring Mr Junior to the vet to have his ears checked again and to figure out if he’s allergic or if he needs to have his head scoped. I’m hoping to any deity out there that I can put him back on normal food. I love my cat just as surely as I’ve loved any human in my life and he knows this and he exploits it just as much as he can.
On a good day he’ll eat what he’s fed, but that’s pretty rare. On a middling day he’ll run over to his bowl, sniff the hypo-allergenic food and then sit there looking at me and I can just tell he’s thinking, “Oh yes, very funny. Now where’s my real food?” On a bad day he’s brushing against my legs making pitiful mewling noises before he plops over on his side, feebly waving his paws in the air, because he’s going to die of starvation if I don’t give him his regular food right now
If you want to reduce a giant bear-like man to tears, that’s just how you do it. But I’ve been strong. I’ve wrestled him to the ground to put the drops in his ears. I’ve resisted his pathetic moments and not fed him his regular food. So, today I hope, I can know something for sure. But, boy, do I wish I was dating a vet. It would make everyone so much easier making her the bad guy.
Dealing with vetrinarian places is kind of weird, though, isn’t it? When I call them for something I’m always saying, “Yes, I’m calling on behalf of Junior.” When I walk in everyone is like, “Look! It’s Junior!” and then they ask what my name is because, you know, I’m just the owner. I don’t mind all that much, really, because it gives me the impression that the health of my pet is kind of important to them. When I go to see a doctor for me I feel like I’m going there to treat my wallet. “Look! It’s Walter’s wallet! And it’s here with that guy that pays us!”
All right, it’s not that bad. And I’ve gotten lucky with my dentist and the doctor that treated my face when it blew up. And really lucky with the clinic that I went to when my face first exploded. But there were others…

Not Much


We did, however, rent a car to get here. In the long run the gasoline would more than make up for the cost of the car. We ended up with a Chrysler Sebring (non-convertible). Surprisingly, the car is too small for me. The driver’s seat doesn’t go back far enough and the steering wheel rubs my legs. This is coming from someone who comfortably drove a Honda CRX Si for five years or so. Otherwise I like it just fine. I’d like it more if the top came down. What guy doesn’t feel that way about tops?