Category Archives: Computers
We started with the idea of code — data consisting of instructions in a special language. Code can express an algorithm, a process consisting of instruction steps. That implies an engine that understands the code language and executes the steps in the code.
Last time we started with Turing Machines, the abstract computers that describe algorithms, and ended with the concrete idea of modern digital computers using stored-programs and built on the Von Neumann architecture.
Today we look into that architecture a bit…
Continue reading
17 Comments | tags: address bus, algorithm, assembly language, bits, code, computer language, computer program, CPU, data, data bus, RAM, source code, stored program computer, Von Neumann architecture | posted in Computers

evaluate(2B || !2B)
Hamlet’s famous question, “To be or not to be?” is just one example of a question with a yes/no answer. It’s different from a question such as, “What’s your favorite color?” or, “How was your day?” What it boils down to is that the young Prince’s question requires only one bit to answer, and that bit is either yea or nay.
Computers can be very good at answering yes/no questions. We can write a computer program to compare two numbers and tell us — yea or nay — if the first one is bigger than the second one. Computers are also very good at calculations (they’re just big calculators, after all). For example, we can write a computer program that divides one number by another.
But there are questions computers can’t answer, and calculations they can’t make.
Continue reading
10 Comments | tags: Alan Turing, algorithm, calculation, Cantor's Diagonal, discrete mathematics, Halting Problem, Turing, Turing Halting Problem | posted in Computers, Sideband
Early this year I wrote an article comparing how we store music in digital versus analog form along with a follow-up article exploring the contrast between them. There is another major consideration that predominates when it comes recording information these days. Quite simply: what are we going to record onto?
How many of you remember (or have even seen) eight-inch floppy disks? How about five-and-a-quarter floppies? Show of hands if you’ve ever actually used a three-and-half inch floppy? Some of you might not even know what a “floppy disk” is!
Not very permanent, were they. Now consider the Rosetta Stone.
Continue reading
35 Comments | tags: analog, analog recording, digital, digital data, digital format, digital recording, floppy disk, John Naisbitt, punch cards, punch paper tape, Rosetta Stone, Zip drive | posted in Computers
Maybe you’ve been in a cafeteria and seen those spring-loaded plate dispensers. It’s a big stack of plates in a tube with a spring. As plates are removed, the lower ones are pushed up into sight. Pez dispensers and most gun magazines operate with a similar principle.
Sometimes someone comes along and dumps a new bunch of plates on top of whatever is in the stack at the time. One thing about a stack like this: if you do keep putting new on top of old, the old is never used. In some cafeterias, there might be a plate on the bottom of some stack that’s been there since the place opened in 1958!
One formal term for such a dispenser is a Push Down Stack.
Continue reading
2 Comments | tags: cafeteria plates, deque, FIFO, FILO, gun magazines, interruptions, LIFO, LILO, pez dispenser, Pez dispensers, pop, push, queue, stack | posted in Computers, Life
Many offices feature “casual Friday” in acknowledgement that today our attention begins to shift towards the weekend. (When I started with TC in 1980, ties were required. When I retired this year, “business casual” was the norm. I wore jeans and polo shirts the last half-dozen years or so.)
In the same way, today the focus here shifts from the tough and chewy Sideband material to something softer and easier to digest. I have what amounts to a bit of a rant, but a mild-mannered one of minor import. It’s just one of those little things that’s annoyed me in a small way for a long time. (But it turns out that it’s one of those things that actually have good reason!)
It’S aBoUt ThIs ThInG cAlLeD cAsE-sEnSiTiViTy!
Continue reading
Leave a comment | tags: A.A. Milne, alphabet, case-sensitive, characters, computer language, humor, letter case, letters, lowercase, programming languages, source code, text, UPPERCASE, Winnie the Pooh | posted in Computers, Life, Rant, The Interweb, Writing
Today I want to tie up last time’s post about animation before moving on to other things. I’m sure I’ll return to the topic of making movies with POV-Ray and FFmpeg; it’s just too much fun, and I have tons of ideas. (I can finally do a really decent animation for the Special Relativity article I’m planning for Albert’s birthday.)
Firstly, I’ll discuss the animation initialization file, the ANI.INI file, and show you how the multiple segments are managed. Secondly, I’ll talk about the output files — all those frames we generate — and what to do with them.
Plus, I have a couple of important announcements!
Continue reading
Leave a comment | tags: ffmpeg, INI file, Irfanview, making movies, mp4, mpeg, POV-Ray, video, WordPress, WordPress Upgrade, YouTube | posted in Computers, Sideband
I mentioned last time that a big draw for me with POV-Ray is the ability to create three-dimensional scenes and move around them. Having lots of camera positions is part of that; I want to see my scene from multiple angles. (Moving about a 3D space was often a big part of what little interest I ever had in video games. I especially liked flying games.)
From the very beginning, knowing that POV has support for animation, I’ve wanted to take it to the next level and make 3D movies. Rather than frozen snapshots taken from a bunch of (hopefully) well-chosen points, I wanted a fluid movement through the space.
Today I thought I’d write about some tricks I use to do that.
Continue reading
1 Comment | tags: animation, camera position, clock value, clock variable, INI file, making movies, POV-Ray, scene | posted in Computers, Sideband
I’ve been mentioning, and even writing about, POV-Ray for a while now. It and I go back quite a few years, and — as with many of my long-time hobbies — it’s something I’ll pick up and get really into for a while. Then, after some period, which varies considerably, I’ll exhaust my interest, and back it goes onto the shelf (which is not the same as onto the back burner).
This is the fourth or fifth time I’ve picked it up, but the first time I’ve really gotten into it. It’s been fun and very productive (all this retirement free time is awesome). I make no claim for being any good at creating mind-blowing scenes (but I’m working on it). I do, however, have a couple process tricks that have made my life easier, and I thought I’d share them.
This first one is about managing camera positions.
Continue reading
3 Comments | tags: camera angle, camera position, cameras, INI file, multiple cameras, POV file, POV-Ray, scene | posted in Computers, Sideband
Last time I mentioned wanting to write a chess move parser since my earliest days of programming. Hard-core coders often see things in terms of the software behind them. For instance, I sometimes wonder about the software running my microwave oven. Andy Warhol drew our attention to how an artist is behind even a mundane soup can label. Similarly, every computer-driven item in your growing collection of smart tools and toys has a programmer or many behind it.
Dedicated coders also look at problems in terms of the software to solve them. When my (ex-)wife complained about the difficulty of scheduling teachers, rooms, and classes, for the year, I began pondering scheduling software. I think a big part of it is the challenge of solving a double puzzle. First you have to figure out the problem; then you have to figure out the software solution.
And one area that programmers find extremely attractive is games!
Continue reading
Leave a comment | tags: chess, chess move, chess move parser, games, Mastermind, parser, Pong, Python, recursive descent, recursive descent parser, software | posted in Computers, Sideband
I don’t know if it’s having been in the saddle so long, having all this retirement time, or the magic of Python (perhaps all three), but I’ve made major advances in personal projects that have been on my drawing board for a very long time. One of them, in fact, goes back to my earliest days of programming in late 70s!
It’s certainly true that 35 years of writing computer software teaches you a few tricks. At the very least, you learn all sorts of things not to do! On some level, the computer language doesn’t matter, but a highly expressive language makes some kinds of development not just easier, but actually fun!
And Python! I haven’t laughed with delight over a computer language since Lisp!
Continue reading
3 Comments | tags: chess, chess move, chess move parser, computer programming, graph theory, maze generator, mazes, programming, Python | posted in Computers, Sideband