#
Tag Archives: code

When I was a high school kid, my dad and I sometimes played a game where one of us would make up a secret code, write a message in that code, and the other would try to decipher the message. We generally used simple substitution ciphers, so it was an exercise in letter frequency analysis and word guessing.

There’s a cute secret code I found in a book back then that really stuck with me because of the neat way it looks. It also stuck with me because it’s so simple that once you learn it, you really can’t forget it.

So for some Saturday fun, I thought I’d share it with you.

Continue reading

1 Comment | tags: Alan Turing, Alienese, cipher, code, decipher, decoder ring, Freemasons Cipher, Futurama, math, mathematics, one-time pad, Pigpen Cipher, secret code, substitution cipher, The Simpsons | posted in Basics, Math

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, computers, CPU, data, data bus, RAM, source code, stored program computer, Von Neumann architecture | posted in Computers

Is that you, HAL?

Last time, in *Calculated Math*, I described how information — *data* — can have special characteristics that allow it to be interpreted as *code*, as instructions in some special language known to some “engine” that executes — *runs* — the code.

In some cases the code language has characteristics that make it Turing Complete (TC). One cornerstone of computer science is the Church-Turing thesis, which says that all TC languages are equivalent. What one can do, so can all the others.

That is where we pick up this time…

Continue reading

1 Comment | tags: Alan Turing, algorithm, Church-Turing thesis, code, data, flowchart, lambda calculus, state diagram, stored program computer, Turing Machine, Universal Turing Machine, Von Neumann architecture | posted in Math

The previous post, *Halt! (or not)*, described the Turing Halting Problem, a fundamental limit on what computers can do, on what can be *calculated* by a program. Kurt Gödel showed that a very similar limit exists for any (sufficiently powerful) mathematical system.

This raises some obvious questions: What is *calculation*, exactly? What do we mean when we talk about a *program* or *algorithm*? (And how does all of this connect with the world of mathematics?)

Today we’re going to start exploring that.

Continue reading

7 Comments | tags: Alan Turing, algorithm, binary digits, calculation, Church-Turing thesis, code, computer program, data, information theory, lambda calculus, mathematical expression, Turing Machine, Universal Turing Machine | posted in Math, Opinion

I’m on a numeric kick with regard to Sidebands. Don’t worry, it can’t last past 13, because 14 and the numbers that follow are fairly uninspiring. Maybe #21 will be special; Sidebands become adults or something. I’ll have to think about that.

I’ve also noticed that Sidebands have taken on more life than I intended. The plan was for them to be short and frequent, but some of them are pretty meaty. That’s okay, meaty words are the point here. And I’m still searching for my “voice” as I write. Many years of more formal writing, much of it technical, seem to push me away from the personal writing I wanted for this blog.

Well it’s a journey, isn’t it; a process.

Continue reading

6 Comments | tags: code, Cogito ergo sum, data, engineering, programming, Star Trek | posted in Sideband