Time for some warm-and-fuzzies! What happy memories do you have from your early days of getting into computers/programming, whenever those early days happened to be?
When I was in middle school, I read an article in Discover Magazine about "artificial life" — computer simulations of biological systems. This sent me off on the path of trying to make a simulation of bugs that ran around and ate each other. My tool of choice was PowerBASIC, which was like QBasic except that it could compile to .EXE files. I decided there would be animals that could move, and plants that could also move. To implement a rule like "when the animal is near the plant, it will chase the plant," I needed to compute distances between points given their x- and y-coordinates. I knew the Pythagorean theorem, and I realized that the line between the plant and the animal is the hypotenuse of a right triangle. Tada: I had invented the distance formula!
This sent me off on the path of trying to make a simulation of bugs that ran around and ate each other. My tool of choice was PowerBASIC, which was like QBasic except that it could compile to .EXE files.
oh man, easily-accessible BASIC interpreters and magazines with well-described algorithms (and even source listings, way back) were amazing!
that ties into my own first happy memory around computers. thrift stores used to have really cheap ($5-$10) Commodore 64s and other 80s computers and consoles. nobody wanted them because retro gaming wasn’t a thing yet — in fact, I’m fairly sure these things being affordable and achievable is why retro gaming got so big and unfortunately expensive more recently.
so of course, the vast majority of 80s home computers needed expertise to operate. 9 times out of 10, that was BASIC. so I was back to the thrift store to get stacks of old computer books — Introduction to Commodore BASIC, gaming magazines with source listings, books on Logo once I started to get bored with BASIC. it was amazing, and the whole machine felt like it was mine to program! (and it essentially was — BASIC had its limits, but it didn’t really limit your access to the hardware or memory on those machines. and you could always bootstrap yourself to a more powerful environment when you were ready! why don’t we do this anymore?)
and that’s how I got into programming — fucking around, finding out, and tweaking code (in a thoroughly 80s “editor” where you type a line number and its contents and that’s editing; the origin of the famous 20 GOTO 10; the line numbers are both a text editing thing and flow control) on a pile of retro hardware nobody else seemed to want. and I’m still into retro computing today, and actively trying to keep it relatively cheap and accessible, so that other people can experience the happiness in experimenting on those old systems too.
a much more recent happy computer memory is that I compiled the Servo browser today. it took 4 minutes to compile on my desktop (including pulling dependencies) which was a lot faster than I expected, and something about the experience of using it flooded my brain with endorphins. it’s very janky due to missing functionality, but it reminded me of the happiness I felt using the original Mozilla browser in 2003. like back then a ton of sites didn’t work, but the ones that did just felt better, and it was kind of like a badge of pride — the sites that worked did so because they didn’t have a ton of broken garbage holding them back. and somehow, awful.systems worked in spite of everything!
this kind of joy is probably why people get involved in open source. my brain has a powerful desire to know everything about how Servo works now, and I want to make it into a browser I could daily drive. I can’t remember the last time open source software made me feel like this. maybe learning Unix by breaking and fixing BSD over and over? but that’s probably a follow-up for another time.
My first memory of programming was typing in a BASIC program for hours with my older cousin into his VIC-20 from a magazine where the last, like, ten pages were nothing but hexadecimal numbers. Ended up being a Robotron clone. We played it for a while then turned off the computer and it was gone.