My chum Aubrey Kagan in Canada is a huge fan of Microsoft Excel. For example, Aubrey has used Excel to create numerous calculators to help electronic designers with their creations.
As an aside, I once met one of the guys who created VisiCalc (“Visible Calculator”), which was the very first spreadsheet program for personal computers (possibly for any computer). (I wonder if he’s telling his friends that he once met me?). This bodacious beauty (VisiCalc, not the guy who co-created it) bade a bonhomous “Howdy” to the world on 17 October 1979
I can only imagine what people thought when they first saw VisiCalc and realized how powerful was the computer-based spreadsheet concept. Now, of course, the word “Excel” is pretty much synonymous with “Spreadsheet.”
One can do amazing things with Excel. I’m reminded of Tatsuo Horiuchi, who creates the most amazing images (you could say “paints the most amazing pictures”) of Japanese landscapes using Excel. In fact, he’s been dubbed “The Michelangelo of Microsoft Excel.”
But that’s not what I wanted to talk to you about. My chum Alvin in the UK (my co-author of Bebop Bytes Back, which is now a collector's item that is sadly out of print, and How Computers Do Math, which remains available for your delectation and delight) just emailed me the link to this article on the Tom’s Hardware website that tells the tale of someone called Inkbox who has created a 16-Bit CPU that runs in Excel.
I know what you are thinking, which is “Why didn’t I think of doing that?” I’m thinking the same thing myself; that is, why didn’t you think of that? 🙂 Actually, while we are talking about you thinking of things, can you think of any other Excel-based applications you’d care to share that will make the rest of us say “Ooh” and “Aah”?













So impressive that I will overlook the misspelling of “managemnet”.
One thing though- I always thought that a compiler was used as a term for the software that converted a high level language to machine code (and a quick Google check confirmed that).. Yet he uses the word for what I would consider an assembler. Has the definition of compiler blurrred or perhaps I misheard his descripion?
Hi Aubrey — I didn’t use “management” in my blog — was it in Inkbox’s writings? Re “compiler” — this is a bit of a tricky one. An assembler “assembles” source code written in assembly language into machine code. The official definition of a compiler is a program that translates computer code written programming language (the source language) into another language (the target language). Like you, I think of a compiler as taking a program written in a language like C and translating it into machine code, but that’s not what really happens. Under the hood, the machine-independent C is first translated into machine-dependent assembly language, and that assembly language representation is then assembled into machine code. And don’t let’s talk about interpreted languages like BASIC (which can also be compiled) or languages that are translated into Byte Code to run on virtual machines. Now my head hurts 🙂
It was the title of Inkbox’s Memory Management Unit
You had me worried
I always thought that a compiler produced a standalone executable file, whereas an interpreter converted instruction to executable code on the go. Or is there a grey area somewhere?
No, I think that’s right. In the case of one of the early BASIC interpreter’s for example, it would literally “read” each line of source, convert it to machine code, run that machine code, and move to the next line of source code on the fly. Of course, if there was a loop (and there’s almost always a loop), this meant it would be interpreting the same line over and over again. I think some interpreters, the first time they looked at a source line, would replace some parts of that source code with assembly counterparts, but I’m a bit fluffy as to how this worked.
Thanks for the shout-out at the start of your piece. For those interested you can find a list of my different efforts for Excel here
https://bit.ly/2mv8W0z
although they pale in comparison to Inkbox’s efforts (and that is an understatement).
As for “Ooh”and/or “Aah” applications, my book (only in Kindle now) shows how I created a register configuration interface for the 8052 in Excel, but with the background worksheet blanked so it looks like a dedicated UI.
Also there is an app that allows you to create a graphic/letter on an n x m matrix and generate the codes and a source file for the symbol. Actually the original idea was not mine, but I did improve on it.
I also interafced a DMM and a vernier caliper into Excel, but I am not sure they two apps hold up with the serial port implemented through the USB port.
But in my opinion the piece de resistance is an idea that used the Excel auditing functions for a purpose for which they were never intended. It was published as a Design Idea in Electronics Design (https://www.electronicdesign.com/technologies/embedded/article/21762256/use-excel-to-develop-a-traceability-matrix) but unfortunately the figure has been lost in reformats of the web-site. Note the link to the worksheet in the comments, or simply click on this link
https://bit.ly/2n1plg8
The idea behind this is basically that one thing leads to another, and if you want to keep track how you got to a certain spot, you can do so graphically using this technique. The design idea was for requirements traceability on a large project, but I have also used it for hierarchical menus.
The original comments (sadly for my ego, now gone) were extremely complimentary including one that said “you have saved my life”. That may qualify as an “Ooh”!
It reminds bit of the CPU someone built in the game Minecraft a few years back. I never met Dan Bricklin in person, but was an early beta tester for his “Dan Bricklin’s Demo Program.” It’s too bad it didn’t really go anywhere because I always thought it could have been the basis for a visual application development system.
I remember that Minecraft CPU also — it was awesome!!!