Messing around on computers
Jun. 19th, 2019 08:25 pmThis 2017 video from The 8-Bit Guy took me back:
The people in the video mention typing in the type-in programs in computer magazines as a formative experience for kids of our generation and a sneaky way we learned programming. I confess, I got Compute! magazine but I almost never had the patience to type those in. I think I only ever entered one or two of the big ones. (Often they were largely in machine language and involved typing in many dozens of lines of meaningless DATA statements, containing the machine instructions to be loaded into memory. I remember that eventually they came up with a standard loader program that took checksums along with the data, to make it easier to get everything in correctly.)
Hofstadter basically just wrote about anything that crossed his mind, from 19th-century nonsense literature to Cold War politics. This was consistent with his most famous work, Gödel, Escher Bach: An Eternal Golden Braid, one of the weirdest hit popular-science books of all time: it was a rambling, phone-book-sized meditation on mathematical logic, artificial intelligence, psychology, computability theory, molecular genetics, particle physics, Baroque music and the art of Escher and Magritte, drawing sometimes illuminating and sometimes highly tenuous connections between all of them, with a structure alternating nonfiction chapters with goofy fantasy dialogues inspired by Lewis Carroll that explored the same topics metaphorically.
It was a huge influence on my developing brain, and so was Hofstadter's column. And that sometimes described experiments one could do with computers--experiments that I could attempt to replicate myself, in a small way.
After Hofstadter, A. K. Dewdney took over. Dewdney was a Canadian CS professor who'd previously been featured there for some of his own work, including his explorations into how a civilization might live in a two-dimensional universe (which he worked into a book called The Planiverse). Dewdney turned it into a straight-up messing-around-on-computers column called "Computer Recreations". So now it was stuff I could attempt to play around with basically every month.
In fact, I don't remember very well which ideas came from Hofstadter and which from Dewdney. But I wish I still had some of the stuff I wrote back then. Probably my two most ambitious creations directly inspired by those columns were a simple text bot that produced rambling nonsense sentences based on a messy recursive grammar of GOSUB statements, and an Atari BASIC turtle-graphics library that I could use to draw fractals and the like. And they undoubtedly had an influence on my school science-fair projects, which tended to lean heavily on computer programming: one of them was a little simulated ecology with critters whose behavior was controlled by genes that could mutate, and who were subject to natural selection.
(Dewdney later got into some weird 9/11 conspiracy-theory stuff, but there had been no hint of it at this point.)
The people in the video mention typing in the type-in programs in computer magazines as a formative experience for kids of our generation and a sneaky way we learned programming. I confess, I got Compute! magazine but I almost never had the patience to type those in. I think I only ever entered one or two of the big ones. (Often they were largely in machine language and involved typing in many dozens of lines of meaningless DATA statements, containing the machine instructions to be loaded into memory. I remember that eventually they came up with a standard loader program that took checksums along with the data, to make it easier to get everything in correctly.)
I was more interested in writing my own programs for my Atari 8-bit machine, but I wasn't sufficiently willing to delve into the technical details of the platform to become a 6502 machine-language virtuoso. Instead... I found myself waiting excitedly for Scientific American magazine.
See, in the back of Scientific American in those days was a column that originally belonged to Martin Gardner, the mathematics popularizer and skeptic-movement founder, and was called "Mathematical Games". Gardner's column was great but he only infrequently did anything directly computer-related; but he retired in the early 1980s (I think his last column was a searing denunciation of Arthur Laffer's economics) and handed it over to AI researcher Douglas Hofstadter, who renamed it with the anagram "Metamagical Themas".
Hofstadter basically just wrote about anything that crossed his mind, from 19th-century nonsense literature to Cold War politics. This was consistent with his most famous work, Gödel, Escher Bach: An Eternal Golden Braid, one of the weirdest hit popular-science books of all time: it was a rambling, phone-book-sized meditation on mathematical logic, artificial intelligence, psychology, computability theory, molecular genetics, particle physics, Baroque music and the art of Escher and Magritte, drawing sometimes illuminating and sometimes highly tenuous connections between all of them, with a structure alternating nonfiction chapters with goofy fantasy dialogues inspired by Lewis Carroll that explored the same topics metaphorically.
It was a huge influence on my developing brain, and so was Hofstadter's column. And that sometimes described experiments one could do with computers--experiments that I could attempt to replicate myself, in a small way.
After Hofstadter, A. K. Dewdney took over. Dewdney was a Canadian CS professor who'd previously been featured there for some of his own work, including his explorations into how a civilization might live in a two-dimensional universe (which he worked into a book called The Planiverse). Dewdney turned it into a straight-up messing-around-on-computers column called "Computer Recreations". So now it was stuff I could attempt to play around with basically every month.
In fact, I don't remember very well which ideas came from Hofstadter and which from Dewdney. But I wish I still had some of the stuff I wrote back then. Probably my two most ambitious creations directly inspired by those columns were a simple text bot that produced rambling nonsense sentences based on a messy recursive grammar of GOSUB statements, and an Atari BASIC turtle-graphics library that I could use to draw fractals and the like. And they undoubtedly had an influence on my school science-fair projects, which tended to lean heavily on computer programming: one of them was a little simulated ecology with critters whose behavior was controlled by genes that could mutate, and who were subject to natural selection.
(Dewdney later got into some weird 9/11 conspiracy-theory stuff, but there had been no hint of it at this point.)
no subject
Date: 2019-06-20 01:21 am (UTC)While I was at PodX a couple of weeks ago, I interviewed a bunch of people about books they remembered from when they were young, and one of them turned it around and asked me which book I would have picked. My first thought was GEB (which I introduced by saying, "This is going to sound incredibly pretentious ...")
Regarding BASIC programs, I remember trying to write an implementation of Space Invaders on our Vic-20, but I didn't get as far as implementing the game being over when the aliens hit the bottom row, so in my version they just kept going, marching off into higher memory (which, in a Vic-20, was not particularly high -- it had less than 4k of free RAM at startup, though I think we bought the 32k expansion card. The expansion card had its own issues, though, because it changed all the memory addresses, so a lot of programs would stop working if you plugged it in.)
no subject
Date: 2019-06-20 02:01 am (UTC)no subject
Date: 2019-06-20 03:26 am (UTC)no subject
Date: 2019-06-20 11:58 am (UTC)no subject
Date: 2019-06-20 02:25 pm (UTC)I think it's a good point to discuss. My first computer was a TRS-80 Model 100: it had BASIC, a text editor (of course), a 300 baud modem, and largely speaking that was about it. Later came a 5.25" and 3.5" floppy drives. You HAD to program on it to get it to do anything useful! And it got me my first computer-related job doing data entry: I was hanging out at a play-by-mail game company, the owner saw me doing programming or working on a paper for school or something, I don't recall, and offered me a job doing entry for a commercial mailing list that he wanted to sell. Later, I did entry for the games that he ran for people around the world.
And that was literally my very first job in IT. A few piddly jobs after that, a database development job, then a friend whom I met at the game company got me an interview for a job with the State, and I worked in Government for the next 20+ years doing SQL database development and management and server/network admin.
Computers are good things.
no subject
Date: 2019-06-20 10:20 pm (UTC)Many modern computers actually do have some sort of programming language built in, but its existence is obscure--for instance, modern Macs come with Python installed out of the box, which is maybe the closest thing to a modern equivalent to old personal computer BASIC. But there isn't a programming environment that advertises its existence, makes it particularly easy to use or that pushes it at the user, so most people never see it. And there isn't the old sense that the language environment is the computer.
no subject
Date: 2019-06-20 11:49 pm (UTC)This is true re: Python and Macs: you just need to run the text edit program and save it as a .py and know how to invoke from the terminal window. Not exactly promoted or straight forward. And with Windows, you’ve got Powershell built-in, but it’s not exactly a full-fledged environment.
no subject
Date: 2019-06-21 01:04 pm (UTC)no subject
Date: 2019-06-21 02:24 pm (UTC)10 PRINT "BUTTS HAW HAW"
20 GOTO 10
type program than install and run commercial software, which involved going to the store and buying it, and then putting the tape in your cassette drive, and loading it, and so on.
no subject
Date: 2019-06-22 01:23 am (UTC)no subject
Date: 2019-06-22 01:02 pm (UTC)def butts(): while 1: print "butts haw haw"(or even leave off the first line to execute the loop immediately, which I guess you couldn't do in immediate mode in BASIC because you needed a line number for a branch.)
The Python REPL doesn't really have an integrated editor, though, they'd expect you to use an external one if you want to edit things, which is another step.
But most users probably don't even know how to open a shell terminal on modern computers.
no subject
Date: 2019-06-22 01:05 pm (UTC)no subject
Date: 2019-06-22 03:54 pm (UTC)no subject
Date: 2019-07-13 01:33 pm (UTC)does the stock Python installation in a Mac come with IDLE? that'd at least be something.
I can't try it on mine because I have Homebrew so of course I have three different versions of Python with all the bells and whistles on it.
Kids today can learn Python on their tablets, though, so they'll be fine.
no subject
Date: 2019-07-13 04:52 pm (UTC)no subject
Date: 2019-07-13 04:56 pm (UTC)