(If you're reading these posts in reverse chronological order, be aware that this Book Report is the last one of a series. This book report is for Beautiful Code, a book of essays. Rather than try to review all of the essays at once, I chunked them into blog posts, a few chapters each.) (If you're reading these posts in forward chronological order, you reached the last one! But you probably already figured that out.)
When a Button is All that Connects You to the World / Arun Mehta
I didn't know what to make of this chapter. It's a HCI exercise, inspired by Stephen Hawking: how would you design a computer UI for someone who can just press one button? But Stephen Hawking doesn't use their software. It's not clear that anyone uses this software.
Emacspeak: the Complete Audio Desktop / T.V. Raman
Every so often at work, I see a message on a distribution list from this software developer, T.V. Raman. It's usually about how to use some API for some Web2.0-ish page. At first, these messages surprised me. I suppose I was prejudiced. I kept thinking, Wait, how did this blind guy even notice that this totally visual page had useful information on it? How does he make as much progress around the web as he does? I asked him for some background once, and he gave me an answer that didn't make much sense: it sounded like he'd set up the Emacs text editor to browse web page, screen-scrape useful information out of them, and speak it. But that couldn't be right, could it? Surely I was misunderstanding? But that's what he did.
In this essay, Raman gives us a glimpse into his Emacs configuration, how he put it together, how he's built it up. He talks about the early days of the web, before pages got all visually fancy. He talks about why he likes some parts of Web2.0: the APIs. They reveal data--unadorned with presentation. He knows how to program Emacs to fetch, parse, and speak the data he's interested in. In this article he talks about how he uses Emacs' advice feature to add text-to-speech support. I think I understand it now. I think I understand how this guy bootstrapped his system, turned Emacs into his window to the world.
Code in Motion / Laura Wingerd and Christopher Seiwald
Ha ha, folks from Perforce, a revision control system, wrote this essay about writing code so that you can understand it when you need to revise it years later. That's cute. This was a fun essay.
Writing Programs for "The Book" / Brian Hayes
This essay was pretty cool, though it's not clear how mere mortals are supposed to put its method into practice. Hayes was working on a geometry problem: testing three points for collinearity. He tries a few methods that don't work. So then he tries the best method: he posts to his blog, asking for help. Soon, he gets tons of advice, including one really great set of lecture notes which has a good solution.
How many computational geometers read your blog? Yeah, maybe I have one, but I don't know that he reads often. I'm not sure that Hayes' method would work for me.
The best part about this article was when I recognized the name of the author. Brian Hayes wrote the article about Markov-chain-generated text that inspired my Daily Nonsense page. Nowadays he has a blog. So I spent the rest of the day catching up on two years of archives on that. And I subscribed to his blog. I'm not a computational geometry expert, but maybe he'll be stumped by some Japanese ska trivia someday and I can help out.
Labels: book, feed addiction, programming