Remembering Richard Crandall

This morning while frying an egg I picked up the latest copy of Reed Magazine, which had been sitting around the kitchen for a week or so, and was very sad to learn of the death in December of Richard Crandall, Reed alum and Physics prof for many years. I had a weird half relationship with Crandall in my time at Reed, which I remember with a combination of excitement and gratitude, also mixed with some regret.

Richard team taught the intro physics course I took my first year at Reed (where I learned that I was decent but not great at physics). On the strenuous recommendations of two good friends and physics majors (Peter Shirley and Neil Alexander) I later took the classroom part of second year physics from Richard. It was, as Peter had said, the best applied math course on campus, and Richard was a total genius with colored chalk, leaving the board covered with true works of art at the end of class. This was one of the most profound examples of the difficulty of capturing certain kinds of process in one’s notes, an issue I still struggle with as a teacher. Richard’s lectures were amazing to watch, but near impossible to wrestle into a notebook. I tried all sorts of things, including using colored pencils, to try to capture the glory of his board work, but it all failed. I suspect the only other person I had who’s lecturing was both as beautiful and as frustrating was Edsger Dijkstra.

More important than the classes I had with Richard, however, was his impact on me as a budding computer scientist. I’d taught myself BASIC in high school, but had never had any kind of instruction on programming or computing before my first semester at Reed, when we learned PASCAL in a series of labs in that intro physics course; labs which clearly owed their existence to Richard’s grasp of the growing importance of computation in math and science. Richard was friends with Steve Jobs, and it was through that connection and Jobs’ fond memories of his time as a quasi-student at Reed that Reed got an early Lisa, and then some of the first Macintosh computers. I remember playing with MacPaint on that clunky Lisa (I think with Peter Shirley again) and just being blown away – it was totally clear that we were seeing the future.

It was in significant part through Richard that I got to spend the summer of ’84 working at Reed designing fonts and programming for the earliest Macs. This was a very exciting opportunity, and I really felt like I was contributing to something. Probably my most notable achievement was the design of a bitmap math font (we’re just a little before PostScript here). Richard was very excited by the bitmap graphics on the Mac (taken for granted now, but still a novelty in the early 80’s), and as a scientist and mathematician he recognized the potential and value of not being tied to the ASCII character set that dominated computing at the time. So as a math nerd with computing interest and calligraphy experience (I was fortunate enough to take one of Robert Palladino’s last calligraphy courses at Reed in 1983), I was tasked with making a math font. This mostly consisted of designing a set of Greek characters, along with other common math symbols. It was hardly LaTeX (which would have been a nightmare to run on those boxes), but it was useful and widely used, and available for several years in big free font packs that you could get on a set of floppies from a fellow in (I think) Utah that had taken on the task of coordinating the distribution of free fonts. Those early bitmap fonts were, however, supplanted in short order by the much better PostScript fonts, and when I wrote my undergrad math thesis in MacWrite a year and a half later, I used the PostScript Symbol font instead of my own work. Sigh.

I also did some programming (I think I worked some on GriffinTerm, an early Mac terminal emulator), but my regret is that I didn’t make more of that opportunity. Richard was a strange guy who I at least found hard to read, but he was also clearly visionary and well connected. It’s hard to know what might have happened if I’d pushed myself more and made more of that opportunity. Sadly, I didn’t really understand the value of making things, and was mostly focused on “learning things” by taking courses and doing homework. I compare that to Thomas, who has done more extra-curricular “making” in his first year than I may have ever done at in my time at Reed, and it reminds me of why it’s so important to support our students at UMM in their “making”.

So farewell and thanks to Richard Crandall, a fellow who certainly made things, and who helped give me a great opportunity to make things.

Related posts

An unsolicited forward to an unfinished book

Bill Tozier was generous enough to share an early draft of his book-in-progress, currently entitled Answer factories: The engineering of useful surprises.

It’s a true joy, and I’m really looking forward to being able to read the “finished” work. It’s a project oriented book, though, which means that to really learn from it we’re going to have to play along at home, programming, and experimenting, and analyzing. We’re all going to have to set aside some time for this when it does come out. But it’ll be worth it. And while the claim is that we’ll be learning about Generative Projects or Genetic Programming or whatever Bill decides to have GP stand for when he wraps this thing, we’re also going to learn a lot about software development and problem solving along the way, from someone who’s got a lot of great things to say on those important subjects. So we’d best buckle our seatbelts!

I do, however, have to take issue with a claim Bill makes in the introductory “About this book” section:

This is not a textbook. If your instructors try to use it as one, complain. If they argue, send them to me.

To be honest, it’s turning out a lot more like an anti-textbook. It will not improve your performance on tests. We’ll use “advanced” techniques before we discuss “basic” ones, ignore common practices to focus on more appropriate contingent solutions for specific problems, and may not even touch on techniques your instructors think you ought to know.

Remember, my goal is to support and extend your existing skills so you can productively explore further. Seek comprehensive knowledge and historical grounding in other books. They are full of it.

I can’t help but think he had me in mind when he wrote these lines, and I doubt he’ll be surprised to learn that I’m certainly seriously considering using it in my Evolutionary Computation and Artificial Intelligence course in the Spring. <snigger>

The issue, I suspect, is what one considers a “textbook” and what the point of such a thing is. Traditionally textbooks are big, fat things that provide a “coherent” overview of “everything you need to know about subject X”. I’ve got a bunch of these on my shelves with nice overviews of things like calculus and physics and chemistry. Old things, with a clear sense of what matters and what order it should be presented in.

In teaching computer science, however, things are typically much less clear. What’s “vital” in our field? What’s the “natural” or most pedagogically sensible order to present that material? There are lots of ideas out there, but hardly consensus. And that’s on the introductory material; my upper division electives usually focus on material where there’s even less agreement.

Starting in the late 90’s I started moving away from “traditional” textbooks when I could. I found that the most important part of most of my courses was process rather then content. Most computing textbooks I’ve seen are, unfortunately, much stronger on content than process. There are piles of books full of catalogues of algorithms, but they’re mostly presented like magic tricks, things Very Smart People dreamt up in some strange opium vision, inaccessible to the rest of us. The challenge in my experience is coming up with these visions, the process and the problem solving. So a book like Fowler’s wondrous Refactoring is far more educational in the long run, giving us skills for life instead of a box full of baubles.

The contrast between process and content has been made far more pronounced by the web and its many tools and collections. Young folks (and even this old guy) almost never reach for a book when they want to look something up; that’s what Google is for. The reference value of big encyclopedias of “facts” is greatly diminished when we can so easily find things on-line, but a well-written description of an important process is still a treasure.

Which brings us back to Bill’s book.

He claims it’s not a textbook because he doesn’t plan to cover “every” technique or concept or approach. He’s going to doing things in the “wrong” order. Foolishly, he’s not going to help improve our performance on tests, choosing to instead helping us develop skills that will help us for years to come.

Silly, silly man.

So, yeah, I do want to use Bill’s book in my class, and my students are more than welcome to complain to me or take it up with Bill. I doubt, however, that they will. The writing is opinionated and ornery and humble in all the right ways, and the emphasis on projects and problem solving are the sort of thing our students just eat up. I’m guessing that they’d happily line up behind something like this vs. a more traditional text.

As will I.

P.S. You should check out the book’s LeanPub site (https://leanpub.com/pragmaticGP) and sign up for notification. It’s a great way for people to help delude Bill into thinking that he’s not actually wasting his time.

Or something like that.

Related posts