Reading List
The most recent articles from a list of feeds I subscribe to.
The Six Levels of Interaction with a System
We recently borrowed our friends' car, because they're awesome. Along with the keys, they gave us a few, uh, provisos, a, a couple of quid pro quos:1
- The car takes the expensive kind of gas
- The trunk doesn't always open up from the outside
- The dash says the tail-light is out, but it's not
- You'll need to add more oil every 100 miles or so, and it might need an oil change
I nodded throughout. Yup, needs prem-o gas. Trunk's weird, okay. Tail-light-light's-not-alright, good to know. Oil, yes, oil's a thing that cars need.
Meanwhile, I caught myself thinking, "Wow, they really know a lot about cars."
I, for one, don't. My dad knows how to take a car apart and put it back together. I know how to get 120 stars in Super Mario 64. Sure, I learned some stuff about cars growing up. I've changed flat tires in a pinch, once helped my dad replace brake pads on our monstrous Suburban, and sorta payed attention while I helped him change the oil in Old Blue (his beloved sky blue '85 Blazer).
Fact is, I've never owned a car in my adult life (hello, city-living). For those intermittent and unavoidable road trips, I've been a semi-content customer of Zipcar. I never been forced to face the reality of learning cars.
But, sure, I'd like to!
Even now, I'm starting to fantasize about acquiring the rusted hulk of a old Volkswagon Beetle, depositing it via crane into my garage workshop lair, tearing it apart and rebuilding it anew from first principles, as I both rediscover the invention of internal combustion and manufacture one pretty-sweet ride.
Where does this fantasy come from? Well, I've been told that Beetles have a relatively straight-forward engine for beginners (though I'm not quite sure what exactly that means). But that's not quite it. Frankly, this is an all-to-familiar headspace for me. Intimidated by the mention of changing oil, my brain races ahead rebuilding a car from scratch in order to understand ... why I needed to change the oil in an entirely different car.
Why do I jump all the way to wanting to understand things from first principles?
Maybe because this has been a mostly-successful ideal for me to aspire to when I learned programming as an adult, and I'm now pattern-matching into other complex systems. But, certainly, I should be able to productive with a system far in advance of knowing how to build it from scratch. Isn't that what interfaces are all about?
Which brings me to the following shower thought:
The Six Levels of Interaction with Systems
The six levels of interaction with a system are:
- Non-use
- Use
- Monitor
- Maintain
- Repair
- (Re)build
Yes, this is zero-indexed, obviously. Want to see it as a Ben Thompson Stratechery-style diagram?
My thanks to the Excalidraw web app for their excellent box drawing tool. While I'm at it, should I add some Wait But Why-style little stick figures?
Not funny enough? How about a concentric-circle approach? That probably makes more sense, anyway.
Yes, those are the vintage Apple logo colors, because I literally cannot help myself (it was hard enough not to write another post about my Apple IIe).
Let's go through the levels one-by-one, continuing our use of a car as the example.
Level 0: Non-use
You can't use the system. You don't know how to drive the car.
Level 1: Use
You can use the primary purpose of the system. You know how to drive a car safely. You can go in reverse. You can pass a driver's test.
Level 2: Monitor
You know how to observe secondary signals from the system. In our car, you know to occasionally review the dashboard for things like the engine light. You don't necessarily know what to do about these signals, but you know they are a thing, and will probably mention them to someone like a mechanic (but, hey, no guarantee).
Level 3: Maintain
You are comfortable enough with the previous monitoring signals and your own "handy-ness" (is that a word?) to do routine maintence on the system. You add more washer fluid when it gets low. You replace the dead battery. You add air to your tires at the gas station.
Level 4: Repair
You know how to fix sub-systems in the overall system. Not necessary all of them, but the most important ones (probably the ones that break most often). You can change a tire. You can replace brake pads. You can fix a broken headlight.
Level 5: (Re)build
You know how to tear apart the system completely and re-build it from scratch. You understand each sub-system, why it's there, and how to make them all work together. You can take apart the Volkswagon Beetle and put it back together. You can levitate.
Other examples
Sure, Charlie, that worked conveniently for your car example. But what about... other stuff?
Great question!
How about investing?
- Non-use: Don't invest anything
- Use: Invest some money and be able to check-in your returns
- Monitor: Compare your returns with alternative investments
- Maintain: Make slight adjustments based on these alternatives
- Repair: Fix gaping holes or major problems in your investing strategy
- Re(build): Design a custom investment strategy for you (or anyone else)
Okay, admittedly Repair and Rebuild blended a bit there. But I think that's fine.
In fact, the lines between these levels are meant to be porous. A Level 3 could probably do some serious Level 4 stuff. Even a Level 0 non-user probably knows enough from pop-culture and context clues to be a Level 1 user, with the proper motivation.
Let's try another example: using a desktop computer!
- Non-use: Don't know how to use a computer. They're evil!
- Use: Can use a computer to do stuff (go online, write a document, print it out, use a spreadsheet, play Minecraft)
- Monitor: Notice that your browser is slower than normal or that you are running out of hard drive space
- Maintain: Empty your "trash bin", delete old unused apps
- Repair: Remove that sketchy ad company browser extension from your parent's computer. Restore your computer's data from a backup drive.
- Re(build): Take apart a computer, install new hard drive, re-install operating system.
I suppose with that example we transitioned from a non-computer-user all the way to computer technician. It's patently obvious that there are levels of understanding even beyond our Level 5 skill of being able to "take apart a computer and install something new in it." Like, how does a hard drive even work? How does memory work? What is physics? What is truth?
The onion is infinite. But these outer levels may prove useful as you encounter unknown systems.
There's often money to be made for more advanced "Levels" to sell their skills to lower level-ers. I'm not going to fix a cavity myself - I'm going to pay an expert, a Level 5 dentist to do it. In a pinch, a desert-island pinch, I'm sure I could figure out how do some Castaway-style dentistry. But I'm not (yet) on a desert island, and I don't want to take the time to go beyond a Level 3 in the kinda-gross system that is my own teeth situation. I'll floss, mostly every day, which puts me squarely in Level 3. The bet I'm making is that my time doing Level 3 work will be worth it, given the effort, compared to my toothless friends in the preceeding levels.
So, what's the right way to learn a new system?
I don't know!
On one hand, knowledge stacks on previous or prerequiste knowledge. It's probably helpful to know about arithmetic before tackling algebra.
On the other hand, if all you ever want to do is "use" something, use the system for its primary intended purpose, maybe it's not worth digging deeper -- at least not initially. When we learn how to drive, we don't start with a box of car parts and the skeleton frame of a burned out Cheverolt (as much as I wish we did). No, we got behind the wheel (after watching countless VHS tapes of instructional material) and learned how to drive. We straight-up Level 1'ed that car.
The question to consider is: what's your goal?
Your answer should guide where you should set your North Star in the onion-level-spectrum-chart-thing.
A note on instructional design
Great courses and great teachers take a strong viewpoint towards this question.
Sal Khan of Khan Academy seems to take the former approach, stacking layers of prerequisite knowledge nuggets in a knowledge graph that goes from counting to category theory, and everywhere in-between. Their approach makes learning math trackable and digestible, relying on momentum, quick wins, and gameification to keep students motivated.
Whereas, Jeremy Howard and Rachel Thomas of the Fast.ai deep learning course go straight for Level 1, making students feel comfortable "using deep learning to do cool things first", and then and only then start peeling back the layers (good word choice here, I think, given the context) to the complexities beneath the surface.
In both cases, it's about finding the right way to motivate your students. There's no right answer. In fact, I adore both of these courses and projects, even if I think I failed as a student in both of them. In the case of Khan Academy, I lost motivation because there's too much to learn and not enough time to completely do my math-life over (as much as I want to). In the case of fast.ai, I became too self-conscious about linear algebra (a skill that's well past Level 1 stuff).
"What's next?" asked the life-long learner
Is this six-levels thing a brilliant and new grand unified theorem of learning systems? No, of course not. I'm probably butchering some existing theorem from an oversized coffee-table-sized book about mental models. But isn't that the point of mental models, so you can re-use them?
For me, this "thereom" (I'm still going to call it that) helps me think about priorities. Which systems do I want to become Level 5 in over the next few years?
Is it this car? Probably not. But I'll still watch some YouTubes so that I can figure how to put more oil in it.
Footnotes
- No actual quid pro quos were exchanged. I merely wanted to quote the Genie.
My New Old Apple IIe Computer
That Monday morning in February began like any other Monday: I opened my phone immediately upon waking up, browsed Twitter, checked Instagram, and ignored my email, all from bed, making no pretense of daily gratitude journaling. I got up to make the coffee, and then opened eBay to look at old computers.
eBay thrills in me in an early Internet kind-of-way. It's dirty. You can't believe it works. And you can still find a deal.
My greatest feat of all was the 2006 purchase of a Fender American Stratocaster for roughly $300 bucks which had been mislisted into an "Fender - Other" category. Its description warned that the guitar was "missing a few strings."
Jackpot.
I'd been waffling between a Commodore VIC-20 and some kind of Apple II in my vintage computer fantasies. As an undying fan of YouTube's The 8-Bit Guy1, I longed for a computer of my own that I could clean with hydrogen peroxide and baking soda, as I wondered what sad fate the brave, worthy computer had faced before meeting me, its benevolent new master. We'd write infinite loops in BASIC together. We'd travel the Oregon Trail. We'd poke each other's memory.
I set a few auctions to my watch-list, and then laced on my sneakers for our morning run. Not one block away from our house did I spot something: a yellowed plastic box amid a pile of trash. No. It couldn't be. I stopped, and went back to the trash.
It was an Apple IIe. With its CRT monitor. And a dual floppy drive.
Just. SITTING. THERE.
I explained the situation to Carly. She suggested, wisely, that we continue our run, of which we were less than 30 seconds into, and that if the computer was still outside when we got back, that I should knock on the door of the house, to confirm it was truly being thrown out.
The next 30 minutes were agony. I've never ran so fast in my life.
But it was still there.
I knocked on the door. They were remodeling, I could hear saws or something inside. No one answered. I knocked again. I considered, you know, for a second, just taking it. Finally, the door opened. I introduced myself, likely sounding as insane as felt, and asked if the computer in the trash was.. trash. She nodded, and mentioned that, "It still works."
It still works.
No better sounds could have been uttered.
Plugging it in
I carried my Precious back home and hurried to plug it in.
Except the monitor cable was missing. I was certain that I'd grabbed everything of computer-ish value from the trash pile. From the looks of the port, I'd need one of those old mono RCA cables, of which I know I have dozens in my parent's attic across the country in New Jersey.
I still turned on the computer and the monitor anyway, and was relieved to hear it chirp happily, even if I couldn't see anything.
By this point, it was high time to get on my bike and head into work (back when we still things like that). But I still made a quick pit-stop at a hardware store along the way, and somehow a physical store in the physical world still carried this little guy:
That night, after work, I turned it on. One beep and then:
"Isn't it beautiful?" I said to Carly. "And don't you just love how the II
is shown as //
slashes. The green, too, it's like something out of the Rebel Alliance."
"Yes, and what do you do with it?"
"Well... you just..."
Truth was I didn't know how to advance past this welcome screen. My benefactors neglected to include the computer manual for the Apple IIe in their trash. This is a major bummer on multiple fronts, because what I've learned about computer manuals from the 1980s is that they were AWESOME. I recently picked up both the Commodore VIC-20 manual and the Commodore 64 manuals on eBay, even though I have neither machine, because I wanted to enjoy their spiral-bound goodness.
But I'm a software engineer. I know how to Google. Soon, a Ctrl-Reset
had me at the BASIC prompt.
I was ready for this.
I didn't grow up coding in BASIC, but I'm a student of history. I certainly knew that it's a rite of passage to code up a little infinite loop whenever you see a BASIC prompt.
Carly nodded. "Cool. Why does it smell like a campfire?"
Capacitor problems
Uh-oh. That pop that I'd heard seconds before, and willfully ignored, might not have been a good pop. The smell grew worse.
Burnt marshmallows on blacktop.
I flipped off the power. I forgot to mention I already had the fire extinguisher at the ready, but it didn't look like that'd be necessary. Unfortunately, the smell didn't disappear after turning off the power.
Some more Googling revealed the likely problem: a capacitor popped in the power supply. I unscrewed the power supply from the computer (held on by just four small screws), and put it somewhere far away. Days later, weeks later, the power supply still smelled.
At this point, if I had been a more experienced solder-er, I would have considered buying a capacitor for like ten cents and replacing it myself. But as I'm still learning the ropes of soldering, and hacking with power supplies felt a little ahead of me, I thought about getting some more experienced help. (Also, I was kinda terrified that I would accidentally short circuit something and fry the motherboard, before I ever got to really play with the computer).
I spent some time looking for an Apple repair store that would service Apple II's. Even in the Bay Area, this felt like a lost cause. Then someone suggested this site: ReActiveMicro. Its tagline: Reactivate Your Vintage Apple Computer
. For $95, I could order a new power supply for my Apple IIe.
So I did. It arrived in the mail about a week later, and I installed it in roughly a minute and half. With the extinguisher again at the ready, I turned on the computer again.
And it worked! I looked up an old program in an old Apple magazine online, and coded up this little sine wave program:
Back in business #appleiie pic.twitter.com/AHi9EBdbVm
— Charlie Harrington (@whatrocks) February 23, 2020
Expansion slots
Now that I've got a working, adorable Apple IIe, the first thing I decide to do is take it apart. Say what you will about the new Mac Pro case design, but it's got nothing on this little hatch.
As you can see, I've hit a pretty big jackpot on the expansion card front. I'll walk through each card individually in a bit.
Here's a bare-bones look at the motherboard after removing all the expansion cards.
And a close-up of the seven (7!) expansion slots, not including the extra one for adding more memory or 80-column mode.
This again reminds of the recent discussions on Accidental Tech Podcast and other podcasts about the new Mac Pro and its expansion slots. There was a lot of fun discussion about what John Siracusa was going to put into his long-awaited Mac Pro's expansion slots.
But, in modern computers, I haven't seen much that's really that interesting as far as expansion slots go. Mostly, I've heard about video cards and more storage. Otherwise, your computer mostly has everything it needs for the majority of use-cases.
Which is completely the opposite for the Apple II.
These expansion slots in Apple II computers CHANGED your computer. Transmogrified it into something altogether new and exciting. Want to print something? Get a card for it. Go on the.. ARPANet? Get a modem card. Need to save a program on something other than tape cassette recorder (which itself is crazy and I want to try)? Better get a floppy driver card!
Even the back of the Apple IIe shows the potential of this machine to be utterly transformed by each owner. These slots are yours for the shaping, dear computer user.
So, anyway, what the heck did I find inside my Apple IIe? Let's go through them one-by-one.
Extended 80-Column Text Card
The Extended 80-Column Text Card is quite literal: it gives you 80 columns of text instead of 40! Mine also provides extra RAM, bringing my Apple IIe's total RAM up to a whopping 128kB.
How do you get into 80-column mode? Type PR#3
into the BASIC prompt. It kinda looks worse on this monitor, but I can already see the value for more complex programs.
Super Serial Card II
I am probably most excited about this card. The Super Serial Card II can be used as a modem, a printer connection, and I have a pretty good suspicion that I'll be able to connect to it an Arduino or a Raspberry Pi for some fun.
MicroModem IIe
It's a modem! With an external port that looks like a telephone jack. Some wizards at work told me that I probably cannot just plug this into a modern phone line and expect it to work, though. They said that phone lines don't really work the same way anymore. This is something I'm not quite clear on yet, but I did manage to find the Micromodel II Owner's Manual, so there could be some fun to be had here.
DuoDisk and Disk II Card
The DuoDisk is a combination drive with two 5 1/4-inch floppy drive bays next to each other. It looks nice when you sandwich it between your Apple II and its monitor.
The card uses the same Disk II system famously designed by Woz. The Wikipedia entry on the Disk II is fascinating and well-worth the quick read. Apparently, the Apple II was getting a lot of flak for not including a disk drive, instead relying on external cassette tape storage. Woz's solution was the Disk II system, a simpler design than the industry standards, proved incredibly successful, both financially and functionally. Per Wikipedia:
Wozniak called the resultant Disk II system "my most incredible experience at Apple and the finest job I did", and credited it and VisiCalc with the Apple II's success.
If anyone's got any spare 5 1⁄4-inch floppies, let me know, because now I've got two whole slots for them (this is actually a serious inquiry, please tweet at me!).
So, what are you going to do with your new old computer, Charlie?
I'm not sure. Here are some of my thoughts.
Serial port
As mentioned, I suspect that I'll be able to figure out how to use the Super Serial II card with an Arduino or Raspberry Pi.
I recently found a project that uses Raspberry Pi in such a way that it accepts keyboard input from the Apple II and displays its output on the Apple monitor. Definitely want to try that.
But I'm also eager to see if I can rig it up such that I can effectively SSH/remote into the Apple IIe from a laptop, using a Raspberry Pi as a bridge of some kind via the Super Serial II card.
This project is definitely my top priority, because it seems odd and useful. I'd really like to be able to write programs for the Apple IIe and easily save them to GitHub. Being able to write them on my laptop and simply transfer them to the Apple for processing seems like a hilariously fun and distracting project to work on next.
Repairs
These are smaller efforts, which means they'll likely linger for a while.
- Find replacement keys for my missing keys. I hope this doesn't mean buying an entire other Apple IIe. Or do I?
- "Retro-brite" and deep clean - a la 8 Bit Guy - to make the case look brand new
Games
I currently have zero software for the Apple IIe. None. Zilch. Which means I have no games. I know that, back in the 1980s, magazines used to print out source code for games, and kids would spend hours plugging them into their Apple IIs or Commodores, praying that they hadn't made a syntax error. Once their games were up and running, this proved a great chance for the curious ones to start messing around with the source code, tweaking it, and eventually making their own games. I'm sure that many of these games and magazines are now scanned and available online. I'll definitely be checking those out.
I'd also be very open to buying some classic Apple II games on eBay. I'd love to hear of favorites or any suggestions.
Storage
Given that I immediately lose everything anytime the power goes out (or I simply turn off the computer), these two projects seem important:
- Get a tape recorder and figure out how to save a program to tape, and then rewind / reload it
- Find some blank floppies and do the same
Programming
Other than AppleSoft BASIC (which was written by Microsoft! For Apple!!), which is burned into a ROM chip on the Apple II, there's also some sort of built-in assembler that you can access by typing this into the BASIC prompt:
CALL-151
I believe this is where I'll be able to do some of the more Commodore 64-like peeking and poking directly at memory. I have a feeling there's a lot of exploring (and fun) to be done here. I need to read up more on this.
One more thing
This computer represents to me the lost era of computer as appliance. I'm talking about "bicycle for the mind" type-of-stuff. When you still sat down and said, "I'm going to computer now." Or, as in my childhood, "May I please go on the computer now, Mom, PLEASE?"
We're much closer to cyborgs now, with our phones and watches and speakers and other do-dads. Computers are part of us. They're attached to us, they're in our pockets, they're in our bags, they're next to us when we go to sleep. You can't escape them, and as a result, you're no longer able to make an active choice about whether or not to use them. The best we've got is Screen Time warnings, a penal code to make us use them less.
That's why this Apple IIe is such an important machine to me. It's something I can actively choose to dive into and explore. It's the same thing I feel when I really get into a novel. I'm in another world.
And here a few more close-ups of the computer as a reward for making it this far.
Footnotes
- For the uninitiated, I suggest starting with Part 1 of The 8-Bit Guy's masterful two series: Restoration - The Worst VIC-20 I've ever seen - Part 1. I don't know why I like watching this man clean and restore old computers so much, but there it is - I just do.
Mindstorms
Mindstorms by Seymour Papert is a book written in 1980 about how children can learn with computers - and learn to fall in love with learning along the way.
I read Mindstorms, and fell in love with the book. My own mind was besieged, stormed, and ultimately broken - only to be reforged anew like Andúril from the shards of Narsil (sorry, I'm re-reading Lord of the Rings right now). This post, after this short-I-promise expository intro, contains my book notes.
You may have heard of Papert's LOGO programming language before, which issues commands to an adorable round robot called a Turtle. Papert designed LOGO and the Turtle in the late 1960s to help children learn how to learn with computers. Here's a photo of Papert and his robotic operating buddy:
The popular Lego Mindstorms products are inspired by Papert and this book, along with many other cute robot learning toys for children, like my good friend Cozmo the Robot or the insanely cute Cubetto from Primo Toys:
When you conjure up an image of "learning with computers", you might think of a rote "quiz app" or "flashcard app" - but Papert suggests that it can be more -- more creative, more exploratory, more fun, and longer-lasting. I think about how I took Calc AB and Calc BC in high school, and I was pretty good at them, too, but I had no idea what I was really doing. I knew the mechanics, not the meaning. When Papert connects teaching the Turtle to move in a cirle and the principals of differential calculus -- measuring growth by movement at the growing tip -- all I can say is 🤯.
There's obviously also a reference to George Polya in here, too - always a good sign!
And now, onto the notes!
Learning with computers
- Bricolage: creation from diverse range of things
- Computers have the power to simulate. They can take 1000 forms and serve 1000 functions
- Flexible enough so children can each create with them
- Flexible enough to model the world
- Remember: people seldom get things right on the first try
- He is not recommending "computer-aided instruction" - like a quiz app
- Instead, he envisions the child programming the computer!
- Learning to program can be a natural process like language acquisition
- Learning to communicate with a computer can change the ways we learn other things
- Jean Piaget
- Papert's mentor / teacher
- "Learning without being taught" is perhaps Piaget's main idea
- Piaget says that children build their own intellectual structures, models, and then evolve them over time when proven false
- Children do thise all without being taught
- "Child as builder"
Mathophobia
- Mathophobia is endemic. To this day, if we see math, we avoid it.
- But we often have no trouble with math knowledge if we don't perceive it as "math"
- People's images of themselves as learners is contaminated by mathophobia
- "I'm not a math person"
- "I'm not artistic"
- "I'm not musical"
- As you can see, it dangerously spreads to other disciplines... "not an X person"
- Mathophobia leads to insecurity and self-imposed restrictions, rather than a child's instinctive free exploration of the world
- However, the computer can be a carrier of cultural germs and seeds whos intellectual products won't need a computer once they can take root in actively growing mind
The Turtle
- "Body knowledge" - useful to think about things in relation to your body. Children do this instinctively
- Children need an "object to think with"
- This object is "the Turtle"
- The Turtle is not a panacea, just a model for other objects not yet invented by the child
- LOGO programming language is how children communicate with the Turtle
- The Turtle serves no purpose other than being good to program and good to think with
- Example LOGO commands
- FORWARD 100
- PENDOWN
- RIGHT 90
- PENUP
- The idea of programming is done through the metaphor of teaching the Turtle a new word, like SQUARE or TRIANGLE
- This is obviously fun, but also powerful learning is happening
- Like other builders, children appropriate to their own use materials they find around them, mostly importantly the models and metaphors suggested by surrounding culture
- Active, self-directed, recognizable personal purpose, source of power, doing something with knowledge --> all reasons to prefer using LOGO over watching educational programming on TV
- Importance of learning systematic procedures and debugging them
- Learning to be a master programmer is learning to become highly skilled at isolating and fixing bugs
- Programs are not WRONG or RIGHT -> but they are fixable
- Deliberately thinking like a computer is extremely valuable (step by step, literal, mechanical). Thinking like a computer is just one "style of thinking", and helps students understand that there are different ways of thinking.
- Computers are not something that "rots our brains"
Teaching without curriculum
- Doesn't mean free-form, spontaneous classrooms or simply "leaving the child alone"
- Teaching without curriculum means supporting children as they build their own intellectual structures
- Planting new constructive elements
- Eliminating noxious ones
- This is an ambitious task, and harder that a mere curriculum change
- Educators should be anthropologists and work with the cultural materials of the time
- He doesn't recommend BASIC as a learning language
- BASIC is to computation what QWERTY is to typing
- People say BASIC is easy to learn because of its small vocabulary, but that just gets extremely clunky when working on something more than just a toy problem
Why is it hard to change education
- Radical change is possible, directly tied to the impact of the computer
- Unfortunately, conservatism in the world of education is a self-perpetuating social phenomenon
- But as individuals get computers, education can become a private act, an open marketplace, a Renaissance of thinking about education
- Our culture has unneeded split between "humanities" and "science"
- But Plato was both
- Computer can break down this line
- "Math" just means "learning" in Greek
- e.g. "polymath" is a person of many learnings
- "Mathetic" means "having to do with "learning"
- Children begin their lives as eager and competant learners. They have to learn to have trouble with learning in general and mathematics in particular
- Conservation of liquids example from Piaget
- Children take a while to learn this principle
- They have their own coherent world view (taller glass must have more liquid)
- This model was spontaneously developed by them
- Mathophobia limit's people's lives. Deficiency becomes part of their identity. It is a self-reinforcing taboo
- "Cchool math" is not the same as "mathematics"
Turtle geometry
- There are multiple types of geometry
- Turtle geometry = computational (tracks Position and Heading of the Turtle)
- Euclidean geometry = logical (tracks Position and Point)
- Descartes geometry = algebraic
- Geometry arises when child asks "How can I make the Turtle draw a circle?"
- A good teacher doesn't answer the question, but encourages the student to act it out. Literally, to have the child "play Turtle" themselves. What steps do they take to move in a circle?
- Learning to "program computers" is done by teaching the Turtle a new word (aka subroutine / function) like CIRCLE, SQUARE, TRIANGLE
- Along the way, students learn about modularity and state
- Don't forget the error - instead study the bugs!
- Try to make sense of what you want to learn
- Syntonic learning
- The Turtle is body syntonic - firmly related to child's sense and knowledge about their own bodies
- Also is "ego syntonic" - the Turtle is coherent with child's sense of themselves with things like (e.g. intentions, goals, desires, dislikes)
- Turtle geometry is learnable because it is syntonic.
- Turtle geometry encourages deliberate use of problem-solving
- George Polya
- Came up with a general method for problem solving
- Turtle geometry lends itself well to Polya's methods (e.g. "look for something like it")
- Turtle geometry is great for learning heuristic thinking
- Disassociative learning is something like memorizing the multiplication tables
- Bill, a fifth grader, suggests this unfortunate way to learn multiplication tables
- "Make your mind a blank and saying it over and over until you know it"
- Turtle geometry on the other hand has rhythm, movement, navigational knowledger
- Differential Calculus
- Differential calculus is ability to describe growth by what is happening at the growing tip
- Newton modeled the motions of the planets with it
- The Turtle's circle program ( FORWARD 1, RIGHTTURN 1) is a set of DIFFERENTIAL instructions!
- Many students come to Turtle geometry hating numbers as alien concepts, and leave it loving them. For example, angles.
- Turtle geometry shows students that angles have body syntoncity with compass navigation. The Turtle parallels this
- Idea of a "variable" in programming: using a symbol to name an unknown entity
- Idea of "recursion" in programming: a never ending process.
- Kids already love the idea / fantasy of something "going on forever" (with 2 wishes, always use the second wish to wish for two more wishes!)3
- The Total Turtle Trip Theorem
- If a Turtle tasks a trip around the boundaries of any area and ends up in the state in which it started (direction and place), then the sum of all the turns will be 360 degrees
- One learns to enjoy and to respect the power of powerful ideas. One learns that the most powerful idea is the idea of powerful ideas.
- Computers can influence the language we use to talk about ourselves (e.g. input, output, feedback)
Structure programming
- Learn to write subprocedures, aka "mind-sized bites"
- It's possible to build a large intellectual system without ever making a step that cannot be comprehended, using hierachy of subprocedures
- Example of teaching the Turtle to draw a person can use multiple subprocedures, each of which is easily understood
- Computers give enough flexibility and power so that child's exploration can be genuine and their own
- "Brute force" would be trying to have the Turtle draw the person without any subprocedures - the straight line approach.
- Brute force with no internal structure is not a good model for computer programming
- For example, in real life, juggling is actually composed of many subroutines
- Introduces notion of timing: `* parallel processes vs serial processes
- Introduce notion of condition logic with The "WHEN demon"
- "When something happens, the demon pounces out and does its own action"
Debugging
- Children seem to have a resistance to debugging
- They would rather "throw it out" and start over
- Seemingly, they want to do it correctly in one shot
- We can empathize, because a bug seems like WRONG or MISTAKE or BAG
- Kids like that computers can remove any trace of their errors
- But errors and debugging are good!
- We must learn to study what happened and understand what went wrong. Through that understanding, we can fix the bug.
- Computers will help children "believe in" debugging
- Contact with LOGO and the Turtle eventually, gradually, underminds the long-standing resistance to debugging and subprocedures
- With LOGO, the teacher is also a learner, and everyone makes mistakes
- Children know when teacher "fakes it" with "let's try this one together" - they see right through this.
- But LOGO makes that situation feel genuine, because the teacher is trying to figure it out, too, and they make mistakes together
- Real intellectual collaboration - together they try to understand the computer and get it to do what they want
- Affirmation of the power of ideas and the power of the mind!
Writer's Bane
That's right, it's a post about writing advice.
Not from me! Goodness, no.
Instead, here's a compendium of books and other odd bits that I've found helpful in my quest. I'll keep this updated when I encounter something new and useful and surprising.
I hope this guide proves useful when you're looking to read about how to write instead of just sitting down and doing the deed.
Books
Story Genius - Lisa Cron: Learn how to write a riveting story using brain science - make sure to bring a pen and a notebook along for the ride!
On Writing - Stephen King: King's biographical guidebook to his craft.
Bird by Bird - Anne Lamott: The best advice you'll get about life and writing.
Zen in the Art of Writing - Ray Bradbury: How to delight in the joy of BEING ALIVE and also write about it.
Draft No. 4 - John McPhee: The master of creative nonfiction gives you a glimpse behind the curtain, and it's mostly 3x5 note cards and some strange vintage word processing software.
The Elements of Style - Strunk and White: Don't throw this out after high school English. It's tiny. Keep it in the bathroom. Don't tell anyone.
Podcasts
Ask the Bards - Delilah S. Dawson and Kevin Hearne: A weekly Twitter Q+A with best buddies and writing partners. You'll want to be friends with them.
Launch - John August: What happens when a famous screenwriter and podcaster decides to write a middle grade children's novel called Arlo Finch? He records a charmed six-part podcast about the process of finding an agent, signing a deal, editing, visiting the book-binding factory, and then going on book-tour.
Scriptnotes - John August and Craig Mazin: "A podcast about screenwriting and things that are interesting to screenwriters." This isn't exactly about writing books, but who cares. It's my favorite weekly podcast about an industry I don't work in. And also, "One Cool Thing."
Articles
- 25 Steps to Being a Traditionally Published Author: Lazy Bastard Edition - Delilah S. Dawson: If you're looking for a hilarious and possibly NSFW roadmap to seeing your book in an airport bookstore, look no further.
Newsletters
- The Perils of the Overworld - Robin Sloan: What happens when an engineer-author-olive-oil-maker makes a video game? He's not sure either.
"Write, you fools!" he cried, and was gone.
Notes on Nike Missile Site SF-88L
Many, many days ago, when humans could still roam the Earth for non-essential activities, our little crew visited Nike Missile Site SF-88L as another destination in our sixth grade class-trip whistle-stop tour of nerdy places in the Bay Area.
Nike Missile Site SF 88-L is just over the Golden Gate Bridge in the Marin headlands (essentially behind Hawk Hill), so it's a short drive or hike or bike ride away from the city.
Check out its National Park Service website for its operating hours and tour times. As you might expect, it looks like the site is closed for the time being. If you're lucky (and can plan ahead), try to go on the first Saturday of the month, when its staffed by volunteer veterans who worked at various Nike sites around the country.
We got lucky, and the veterans were both hilarious and super interesting. Added bonus: they were also able to operate some of the terrifying machinery and raise one of the missiles.
I brought along my little notebook and took copious notes while they were talking (which I've reproduced below).
But first I wanted to share a favorite moment.
Near the end of the tour, we were led underground to where they kept the Nike Hercules missiles. Then, one of the veterans pressed a giant yellow button, which opened a metal hatch and began to lift one of the missiles above ground. This was a common procedure for the soldiers - they'd have to run through drills constantly, at a moment's notice.
Meanwhile, as we're watching this gigantic warhead move skyward a hydraulic lift, I can't help but be distracted: Where have I heard these sounds before?
That's when the veteran asked, "Anyone ever seen Star Wars?"
My hand burst into the air like Hermoine's.
Apparently, George Lucas visited the Nike missile site before filming A New Hope, and he found some inspiration for this scene:
This experience now lends more credence to the apocryphal story of how those Oakland shipping container lift thingies became proto AT-ATs for a day-dreaming Lucas.
Anyway, as mentioned, here's what I scribbled down during the tour:
- Nike is the "goddess of victory"
- Nike Missile Program
- 1954 - 1974
- 233 sites across the USA
- Billions were spent
- Obsoleted by ICBMs (inter-continental ballistic missiles)
- Two types of missiles:
- (1) Ajax: liquid fuel, very dangerous to handle
- (2) Hercules: nuclear version
- Many of the Army operators were ~19 years: "We were kids."
- Missiles were radar operated
- No Nike missiles were ever "officially launched" at any enemy
- Each site had three radars:
- (1) Friend or Foe?
- (2) Foe tracker
- (3) Missile tracker
- The U.S. strategy for defending our coasts was:
- (1) Navy will try first,
- (2) Then the Air Force,
- (3) Finally, the Army with Nike missiles as a last resort
- Control operators had five words they could send to an in-flight missile:
- (1) PITCH
- (2) YAW
- (3) ROLL
- (4) SELF-DESTRUCT
- (5) EXPLODE (they had to tell the missiles to explode!)
- Operators went to annual training in New Mexico where they actually fired unarmed missiles
- Hercules had a 35 mile "kill" diameter
- There is an electromagnetic pulse during a nuclear explosion, which is why analog radar communication works (vs. digital)
And here are some of the better photos from my phone. If you like old control panels for old computers (like me), then this place is your kind of place!