MOTD

Message Of The Day

Sat, 22 Feb 2003

00:53 [zork(~/nick/scheme)] cat reading_club.txt

A Reading Club to Form New Hackers

If I were to run a hacker book club, I would screen out anyone who codes, especially for a living. I'd also not be too keen on anyone who was big on numbers, since the goal would be to catch Liberal Arts types and high school kids and so forth. I always imagine advertising this in the classifieds or something.

Here's the reading list I'd use:

Hackers: Heroes of the Computer Revolution

Hackers Start out with Hackers. It's a great read, and every hacker I know who read it as a child envied the people described in it. It's an inspiring story, and really gets across the notion of hacking, as opposed to mere development, or even work.

It covers the old guard of MIT, and lists many names that come up in anyone's study of LISP. It puts LISP into a historical context, which is useful.

Modern editions even end up with RMS, which can lead into...

Free as in Freedom: Richard Stallman and the Free Software Foundation

Free as in Freedom

It's the natural sequel to Hackers, and it covers a lot more of the philosophical angles. It helps put Free Software into historical perspective as well, and provides a context for EMACS the way Hackers does for LISP.

It's possible to skip this book, and cover Free Software in other ways, or to merely put this book on the list of subsequent reading the members might want to do on their own time.

Once the history and ethical questions are out of the way, move on to some more technical topics.

The Pattern on the Stone: The Simple Ideas That Make Computers Work

The Pattern on the Stone

Hillis makes a great explanation of the core principles of computer hardware and logical design. It's perhaps a GEB-lite, and references Hofstadter in one of the chapters. It's quite possibly the best introduction of the actual technology of computation for the lay reader.

It's a super-slim book, and can be covered in its entirety in a single session.

He talks about everything in terms of functional decomposition, which lets us lead into an application of functional decomposition: LISP itself.

The Little Schemer

The Little Schemer

This book above all others is why I love scheme. It's like a catechism for lisp programmers, or a dialogue between master and novice. It's Socratean intellectual midwifery -- 200 pages of leading questions and answers forcing you to work out the process of computation in your head or on paper.

It's quite possibly the best way to learn computer programming, and it requires absolutely no computers whatsoever to do so. It doesn't even mention particular operating environments, or teach you how to run the expressions on any sort of machine. It instead teaches you how to think about computation in a way that hack C and Perl programmers never get.

It's designed for people who are perhaps a touch innumerate, or can't get their multiplication tables down, or panic at long division. It assumes only basic arithmetic or algebraic skills, and even then only for a chapter. The whole book is structured around the manipulation of lists of names of food items (though many will note that the book is decidedly not vegetarian, lumping "turkey" in with "peanut butter and jelly", it never advises the reader to eat any meat).

This book would be covered less like a book club reading group, and more like a recitation session or laboratory. It'd be good to have a blackboard at this point, to illustrate and discuss each step of the question-answer cycle. I bet you I could teach even my dad to understand Y. It's all just linguistics.

Gödel, Escher, Bach: An Eternal Golden Braid

Gödel, Escher, Bach

I simply cannot describe this book. It's a book about thought, and it covers the topic with music, biology, psychology, and logic. It covers art and computing and linguistics and everything. I have no idea how one would cover a book like this in a book club, but you can't help but have long involved discussions after reading it.

Everyone I know who has read this book has been able to use it practically in their respective everyday lives. I pity the other Pulitzer candidates the year this book was was published, because it was an obvious shoo-in.

It's also long, and dense in parts (most notably when Hofstadter brings his boring graduate work in some sort of fractals into the tale, but do not give up!), but well worth it. The very structure of the book tells a tale, in the end, and context becomes message becomes medium again.

It's an endlessly rising canon!


[zork(~)] cal
[zork(~)] tree
[zork(~)] syndicate.py
[zork(~)] cat README