a companion discussion area for blog.codinghorror.com

Our Programs Are Fun To Use


These two imaginary guys influenced me heavily as a programmer.

This is a companion discussion topic for the original entry at http://blog.codinghorror.com/our-programs-are-fun-to-use/


Hi Jeff,

if you are a fan of those “code & see” environments, you might be interested in what Bret Victor has to say about this topic.

In case of TL;DR, one of his talks might also be a good start.


Indeed, there is a previous blog post on Bret and his work:



The Beagle Brothers appear to have all their software archived here; I haven’t quite figured out how to run it yet; but I’d be willing to bet the software you’re looking for is there.

I just started using Code Wars as a morning wakeup/kata exercise to keep me sharp; I’m really impressed with how far interactive software has come. Of course, there’s also the Game that teaches you Vim, which is just cool.


Right, that might even be where I found the video in the first place.

Have you read his essay before?


This philosophy is exactly what drove the creation of Code School. Its model is built upon interactive learning. https://www.codeschool.com/


I don’t think I get that. seems too ironic to me since every single example given on this page is effectively precisely that: the intro level, interactive playground. Just one where “children are being treated as normal people”. Well.

I think you mean you resisted “cheating” and prefer “natural learning by immersion/doing”. But you can’t really say you succesfully resist intro-levels if you give the examples where everything is presented as an intro-level.

One day, every learning book will be an intro level.

Guess who said that :slight_smile:


Those are some excellent links. I’m going to have to dive into those more deeply later, and may have one or two to add.

Well I could use a CODE keyboard so I went on a great internet hunt with absolutely zero knowledge about the Apple 2. But I struck out. I found a rom for almost every product on this list (found several other lists but they were subsets) and did a full-text search with Agent Ransack on all files but no luck.

Here’s to a future hunter to continue the search:
AppleWin for the emulator.
CiderPress to extract compressed .shk and .sdk files for text searching, .dsk files are uncompressed and searchable as-is.

Those three file formats should aid Google searches.
The only ones on the above list I couldn’t find are:

  • Alpha Printer
  • Corn Game
  • Master-Find
  • Tic Tac Fooey!

Think I found these two but not with this exact name:

  • AW 3.0 Companion

A hunch tells me these might be from someone else (some of the others listed were)?

  • Clip Art Volume 1
  • Resource Disk

I checked about 50 disk image files in total, beginning with everything on the page @gortok linked above and several other Beagle Bros. specific collections, after which I switched to searching for individual programs.

Perhaps the text is in one of those I couldn’t find. Or not saved in the disk images in a way Agent Ransack could detect (e.g. ASCII art or something). Either way someone who actually remembers this might need to come along and not just an internet sleuth like myself. Good luck. :slight_smile:

For a next step I should check that list against the actual catalog images at Apple Archives to see if the list author is missing any programs from these particular catalogs, and if I haven’t already checked said program. But I’m out for now.


Are you sure the line was from a Beagle Bros program? There is a line by James Warner on McSweeney’s that is suspiciously similar: "2020: All Books Will Be Cross-Platform and Interactive"
On second thought, since you read it a number of years ago, it’s more likely that he was inspired by the same original quote, or heard it through the grapevine.


Ooh, definitely in to see about winning that keyboard. Lets see what python can do …

Incidentally, did anyone notice that sorting.at calls in-place merge sort an n^2 algorithm? I distinctly remember proving that it’s in O(n*log(n)) during an algorithms class…


Another great set of explanations is at Red Blob Games.


Game for learning about CSS Selectors: CSS Diner


Khan Academy is a great interactive resource. Many topics are still video only (like physics) and there is the occasional bug, but I am quite enjoying the math and computer science sections.


www.CodeCombat.org - wished I could work at some place like that.

The first labyrinth there, random traversal is exactly what I’ve developed for and from scratch coincidentally a few months apart, mostly for fun.

MIT’s Scratch is, by the way, another great fun program to use! :slight_smile:

I’m pretty positive he never meant to refute the intro level and that’s very different from an intro video. Here:



Since we we’re on the topic of interactive books, one of the best examples that I can think of off the top of my head is http://eloquentjavascript.net/. Absolutely love the format and content of this book.


Great interactive visualizations teaching about Digital Signal Processing - http://jackschaedler.github.io/circles-sines-signals/aliasing.html


Thanks for collecting all of these links, many of which I haven’t seen before. I’d like to add my dynamic visualization of Melkman’s Algorithm. It’s a guided tour, with contextual information and real-time feedback.


I just spent an hour running emulators of Apple II Beagle Bros software on the Internet Archive. Some of the demos are really cool, but no mention of anything close to your quote :frowning:

Now I really hope someone does find it. Anyway, here was one of my favorite: Apple Mechanic by Beagle Bros


Another nice example of learn programming by experiment, is the tutorial for the Go language (a tour of go: https://tour.golang.org).
Go is not an interpreted language, and it doesn’t run in the browser like JavaScript and html, so a backend is required.
The result: it’s very easy to learn go, even though its syntax is a bit weird to most programmers.


Having seen that code, I doubt you could replicate Earth Primer’s simulation in JavaScript/html. It’s way too involved.