I’m here at the Rocky Mountain Software Symposium in Denver. Both mornings, I’ve ended up showering in ankle-deep water because the drain in the bathtub was closed when I got in the shower, and I didn’t notice right away. How annoying.
So now I’m downstairs waiting for lunch with Mike, and we’re talking about weblogs. I just showed him NetNewsWire, and used James’ blog as an example. And to my great amusement, James added a blog entry today: Why Do Hotels Close the Drains?
There are very few really good books about general computer science and programming. There are plenty of good books about particular languages, platforms, or techniques, but few on the fundamentals. And most of those good general books are written for experienced programmers (for example, The Pragmatic Programmer). One of the really big problems with our whole industry is that introductory books—the books we use to teach new programmers—are so poor.
Three or four years ago I read Structure and Interpretation of Computer Programs (SICP) by Abelson and Sussman, and was really impressed. But it moves very quickly, and I don’t think many college freshmen could keep up.
Just in the past two or three weeks I’ve learned about two exciting books. I haven’t done more than skim them, but the first impressions are really strong. The first is How to Design Programs (HtDP), by Felleisen, Findler, Flatt, and Krishnamurthi. Here’s the first paragraph from the back cover (emphasis mine):
This introduction to programming places computer science in the core of a liberal arts education. Unlike other introductory books, it focuses on the program design process. This approach fosters a variety of skills—critical reading, analytical thinking, creative synthesis, and attention to detail—that are important for everyone, not just future computer programmers. We’ve needed a book like that for a long time. Like SICP, HtDP uses Scheme as its teaching language, and it manages to be a fairly general, practical introduction while grounding students in a language and concepts that should ease the transition to more advanced topics. (Unlike most introductory texts which leave students stuck in concrete, procedural thinking.)
The other book I’ve learned about is Concepts, Techniques, and Models of Computer Programming, by Peter Van Roy and Seif Haridi. Like SICP, it is aimed at future programmers and computer scientists. But like HtDP, it has a broader scope in both primary and secondary subject matter: it presents a more general view of computer science than SICP, and its examples aren’t so focused on electrical engineering problems. This book uses Oz as its teaching language, but also includes good discussion of other languages. (And Oz is a multiparadigm language, so the choice of Oz is not restrictive.) The book is very long, and likely to be longer before it’s finally published sometime next year. But I’m looking forward to reading it over the next few months.
One of the nice things about MacOS X is the way it effortlessly adjusts to new network configurations and locations. Unfortunately, while the operating system does a good job with that, applications are a different story, especially when it comes to proxies.
Internet Explorer and NetNewsWire do a good job of using the system proxy information in the Network preferences panel, but only after stopping and restarting them. Mozilla ignores the system setting, having its own setting. The worst part of that is that it isn’t location-sensitive. I’m disappointed that Chimera hasn’t yet abandoned the Mozilla-style preference in favor of the system-wide setting, but hopefully that’ll come in a future release.
One of the most compelling parts of Lawrence Lessig’s keynote address at OSCON was the focus on how many of Disney’s works have been built on the public domain, as well as works not yet in the public domain. Steamboat Willie, the original Mickey Mouse cartoon that would have fallen out of the public domain were it not for the Sony Bono Copyright Extension Act (which Disney lobbied hard for) was itself a parody of another film called Steamboat Bill, Jr.. Disney actively tries to stifle any parodies of Mickey Mouse or its other famous characters.
On the new Monsters, Inc. DVD, there’s a preview of an upcoming Disney film I hadn’t heard of before: Treasure Planet. It’s a remake of Treasure Island, set in outer space. (And it looks like a rip-off of Titan A.E..)
Although I disagree with the perpetual extension of copyright, I can see how some people who depend on copyright for their living might feel differently, and I don’t condemn them for that. But this kind of double standard—continuing to build a commercial empire on the public domain, while fighting hard to ensure that your own works never enter it—disgusts me.
Nokia has one of the best products around for building that future: Nokia Rooftop. It’s tailor made for community networks, with good management features and exactly the kind of mesh routing support that Negroponte talks about.
Sadly, though, just five days before the Negroponte article hit, the BBC was reporting that Nokia had come out with this statement: “anyone using bandwidth without the permission of the person paying for it is simply stealing.”
I can see their point. But for Negroponte’s vision to work—and I sincerely hope it does—the granting of permission has to be easy and automatic. Negroponte doesn’t mind anyone accessing his wireless access point, and he certainly doesn’t want them pestering him to ask for permission. But right now there’s no way, short of knocking on the door and asking, to find out whether you’re allowed to use an access point or not.
Instead of attaching the “criminal” label to a lot of people who mean no harm, Nokia should instead be active in efforts to enhance the security of wireless access points, with the aim of making publicly-accessible lily pads a legal reality, while giving those who want to restrict their networks easier ways to do so.
In the process, they would help build the market for one of their best products.