https://marcusb.org/posts/2024/12/a-tricycle-of-the-mind/ Home Posts Hacks Github Contact Me A Tricycle of the Mind Posted: Dec 16, 2024 This Christmas, my daughter and I are building a computer together. The sheer power of what will be her first computer, compared to the computers I used when I was her age is staggering, as is the capability of the software she'll have access to. Still, I can't help but think that for all this power, the kids coming of age today have lost something that I took for granted. That I didn't even begin to understand that I had. Steve Jobs once described computers as a bicycle of the mind. For my generation) I think these early machines were more like a tricycle of the mind - something we could learn from without any real supervision or instruction. The computers I used as a kid were primitive by today's standards. The first computer I remember using was an Apple IIe, and the first program I ever used was a Logo interpreter running on that machine. A few years later, a friend was gifted an old Apple IIc and we spent hours playing the few games we had access to and trying to teach ourselves BASIC. (At the time, neither of us had access to a BASIC manual, so our efforts were fairly limited.) Other friends had Commodore 64s or similar machines. What these machines all had in common was they were dead simple and booted up into a BASIC interpreter. Practically as soon as your turned the computer on, you could start entering BASIC instructions. One friend liked to make dungeon-adventure-style games. Another liked to recreate his favorite songs in BASIC. We spent a lot of time just writing short (often seemingly pointless) programs. None of the grownups around us held any real interest or expertise in computing. We were a sort of digital latch key generation. But, the thing is, the machines were simple enough, and due to the lack of any real networking^1, safe enough for us to experiment on to our heart's content. Compared to what I first used, my daughter's new computer will be networked, have a bitmapped GUI, access to every compiler and interpreter conceivable for free, be cheaper (in both nominal and inflation-adjusted terms,) and have thousands of times the hardware resources (the place I bought the parts from included 16GiB of RAM for free - normal price: $50 - with the purchase of the CPU. That Apple IIe I first used? 64KiB of RAM, or around 250,000 times less. At my first tech job a decade later, our main server had 64MiB of RAM, which we thought was really something, but still 256 times less than what she'll have.) But, for all that power, she really will have a bicycle for her mind. By that, I mean I'll have to teach her how to use the thing, just like I taught her to ride a bike. Her generation won't be able to teach themselves computing in the same way mine was. As a simple example, you could draw a line in two BASIC instructions on the Apple II: 10 HGR 30 HPLOT 0,0 TO 100,100 If you manage to start a Python REPL - which for most computers is either not pre-installed (Windows) or not obvious to beginners how to start (macOS/Linux) - there aren't any graphics capabilities. Or, other than outputting a terminal bell, any sound capabilities. I guess kids can still write their own dungeon adventure games. Of course, there are a dozens of modules you can install that let you draw basic shapes, play sounds, etc., but, then, that's kind of the point: the complexity and lack of approachability of modern machines makes them a lot less discoverable than the 8 bit micros of the past. As silly as drawing lines and telling the speaker to beep at a certain frequency is, it is what kept us interested long enough to develop a lifelong passion for computing. The easiest analog to the BASIC code above I could find with Python goes like this: import pygame pygame.init() screen = pygame.display.set_mode((800, 600)) pygame.draw.line(screen, (255, 0, 0, 0), (0, 0), (100, 100), 5) pygame.display.flip() That isn't terribly complex, but there's more boilerplate than the BASIC example above and, of course, you have to know a bit about the operating system running on your computer, how to install a Python interpreter, how to find and install third party modules, etc. On the Apple II, there wasn't even really an "operating system" to get in your way, let alone the concept of installing third-party dependencies to do basic things. Its not just the software, either. Hardware has gotten way more complex. Once you got past the basics (ha!) of BASIC and wanted to learn more about the hardware, there wasn't much to get in your way. Component count was dramatically less, and there weren't so many abstractions to wade through. Want to read or write something to a memory address? Just PEEK or POKE it. No virtual memory to worry about, no protection rings, the computer just did what you asked of it. Want to go deeper and understand how the processor read data from the SRAM chips? That, too, was pretty simple, and didn't involve integrated or separate memory controllers or anything like that. You could look at the processor datasheet and hold all of the pertinent details about how it interfaced with the SRAM chips in your head in just a few minutes. Reading and writing IO had a similar (low) level of complexity. The 8-bit machines also had fewer distractions to get in the way of learning the machine. The games were fun, but weren't deliberately designed to be addictive (at least, the game designers of the 70's - 90's weren't as skilled at addiction engineering as their modern contemporaries.) The only network access you might have is a modem to call your local BBS. I certainly spent a lot of time playing games, and, later, when I managed to install Linux on my computer, I spent a lot of time aimlessly exploring the system, reading man pages (I'd start on one, then decide to read something from the related section that seemed interesting, then something from that man page's related section, and so on until sometimes I forgot what I was originally looking for.) I learned a lot that way, but I doubt that could stand up to the dopamine deluge of getting lost in a Youtube rabbit hole. Maybe none of this matters. There is more published information (on the Internet,) more free software, just more resources in general, than there ever has been in the past. But, I don't feel comfortable setting my daughter loose on the Internet just yet, even if it would nominally to be to learn about computers. It isn't always a friendly place for adults, let alone kids. I'm fortunate enough that I can teach her this stuff (assuming she's interested,) but I do wonder about other kids whose parents aren't similarly equipped - will they have the same opportunities I had? Or will they end up with a bicycle, with no training wheels, and nobody around them that cares about bicycles? --------------------------------------------------------------------- 1. with what little networking we did have, we still managed to get in plenty of trouble. -[?] Name: [ ] This will be displayed with your post Email: [ ] This isn't visible to or shared with anyone except me (the site owner) Comment: [ ] [Comment!] Made with [?] with Hugo and Tinyblog Copyright (c) Marcus Butler Unless otherwise noted, this content is licensed under the CC BY-NC-SA 4.0 License.