Category Archives: Computers
This is part five of a series celebrating the passing of BOOL, the “ship in a bottle” computer language I’ve been tinkering with for three decades. It’s a design dream, and I’ve decided to wake up.
Last time I talked about how BOOL handles data and why that was such an issue. This time I’ll ramble on about some of the other snarls that ultimately made things more complicated than I wanted. Simplicity and elegance were key design goals. I intended the run-time environment, especially, to be utterly straightforward.
Unfortunately, the behavioral design goals — the way BOOL should act at run-time — ended up in direct conflict with that.
Continue reading
26 Comments | tags: BOOL, computer language, computer program, programming, programming languages | posted in Computers, Life
This is part four of a series commemorating BOOL, a computer language I started designing somewhere around 1990. After 30 years of sporadic progress, I finally gave up. There were so many contradictions and (for lack of a better word) “epicycles” in the design goals that it just wasn’t viable.
So, I’m mourning the passing of an idea that’s shared my headspace for three decades. Previously I’ve introduced BOOL and provided a tour of its basic aspects. Now I have to start talking about why it failed.
It has a lot to do with data, but that wasn’t the only issue.
Continue reading
1 Comment | tags: BOOL, computer language, computer program, programming, programming languages | posted in Computers, Life
This is part three of a series mourning the death of a computer language I birthed around 1990. Now it’s turning 30, and I’ve decided it’s too old for this sort of thing. I’ve retired and now I’m retiring it (in the “sleeps with fishes” permanent retirement sense). These posts are part of a retirement party. BOOL might not be here to celebrate, but I’ll raise glasses in its honor.
First I introduced BOOL, a deliberate grotesquery, an exercise in “and now for something completely different!” Then I illustrated basic procedural programming in BOOL. This time I’ll get into the object-oriented side.
This aspect of BOOL is one of several that changed repeatedly over the years.
Continue reading
7 Comments | tags: BOOL, computer language, computer program, programming, programming languages | posted in Computers, Life
This is part two of a series commemorating a computer language I started designing somewhere around 1990. After 30 years of tinkering, I’ve finally accepted that it’s just not meant to be, and I’m letting it go. These posts are part of that letting go process.
Last time I introduced BOOL, said a bit about what motivated it, and started laying out what made it a language only a parent could love. Later I’ll explain why things didn’t work out, but for now I’d like to tell you about what BOOL was supposed to be:
A glorious deliberate useless Frankenstein’s Monster (insert mad laughter).
Continue reading
1 Comment | tags: BOOL, computer language, computer program, programming, programming languages | posted in Computers, Life
Somewhere around 1990 I started designing a programming language I named BOOL (Beginner’s Object-Oriented Language). It was always a personal “ship in a bottle” project — something more for aesthetic expression than utility. Like that guy constantly working on an old car in his garage, I’ve dabbled with it ever since.
I’ve decided to, at long last, take BOOL off life support and let it die (another dead dream). But enough of dreams. I’m tired of the weight of dreams; time to shed a pointless burden. I’ve carried it for 30 years, and I think it’s time to chalk this one up to experience.
So this is a eulogy and a memorial.
Continue reading
16 Comments | tags: BOOL, computer language, computer program, programming, programming languages | posted in Computers, Life
Recently I mentioned that mathematician John Conway died last April. To his eternal disgruntlement, he is most famous for his “game” of Life — something he considered trivial and inferior to his real mathematical work. That fame is largely due to a Martin Gardener column in Scientific American — the most popular column the magazine had published up to then.
I said I wasn’t going to write about Life because it’s such a well-covered topic, but I thought I might whip up an implementation in Conway’s honor. (Went there; did that; videos below.) Getting into it made me realize Life connects back to my virtual reality posts.
So it turns out I am going to write about it (a little).
Continue reading
4 Comments | tags: computation, computer generated images, computer model, computer program, Conway's Life, John Conway, Turing Halting Problem, Turing Machine, virtual reality | posted in Computers

One solution to the puzzle.
I’ve written a lot lately about the physical versus the virtual. I’ve also written about algorithms and the role they play. In this post, I revisit both by exploring what is, for me, an old friend: The Eight Queens Puzzle. The goal is to place eight chess queens on a chessboard such that none can take another in a single move.
The puzzle is simple enough, yet just challenging enough, that it’s a good problem for first-year student programmers to solve. That’s where I met it, and it’s been a kind of “Hello, World!” algorithm for me ever since.
I thought it might be a fun way to explore a simple virtual reality.
Continue reading
14 Comments | tags: abstract system, algorithm, chess, chess queen, chessboard, computationalism, eight queens puzzle, information system, physical system, virtual reality | posted in Computers

Math version 1.0
This image here of the Mandelbrot fractal might look like one of the uglier renderings you’ve seen, but it’s a thing of beauty to me. That’s because some code I wrote created it. Which, in itself, isn’t a deal (let alone a big one), but how that code works kind of is (at least for me).
The short version: the code implements special virtual math for calculating the Mandelbrot. That the image looks anything at all like it should shows the code works.
Yet according to that image, something wasn’t quite right.
Continue reading
9 Comments | tags: algorithm, Mandelbrot, Mandelbrot fractal, virtual reality | posted in Computers
In the last post I explored how algorithms are defined and what I think is — or is not — an algorithm. The dividing line for me has mainly to do with the requirement for an ordered list of instructions and an execution engine. Physical mechanisms, from what I can see, don’t have those.
For me, the behavior of machines is only metaphorically algorithmic. Living things are biological machines, so this applies to them, too. I would not be inclined to view my kidneys, liver, or heart, as embodied algorithms (their behavior can be described by algorithms, though).
Of course, this also applies to the brain and, therefore, the mind.
Continue reading
43 Comments | tags: algorithm, brain, brain mind problem, computationalism, consciousness, human brain, human consciousness, human mind, mind, Theory of Consciousness, theory of mind | posted in Computers
There’s a discussion that’s long lurked in a dusty corner of my thinking about computationalism. It involves the definition and role of algorithms. The definition isn’t particularly tricky, but the question of what fits that definition can be. Their role in our modern life is undeniably huge — algorithms control vast swaths of human experience.
Yet some might say even the ancient lowly thermostat implements an algorithm. In a real sense, any recipe is an algorithm, and any process has some algorithm that describes that process.
But the ultimate question involves algorithms and the human mind.
Continue reading
8 Comments | tags: algorithm, computation, computationalism, digital | posted in Computers