Wednesday, April 28, 2010

Science and Nature Reading List

Now that school’s out, it’s time for summer reading! Here are a dozen of my favorite science and nature books, recommended to students, colleagues, and friends alike. None of them are especially recent, and in fact, many are books that I first read for fun during graduate school, when I should have been working on my thesis. They’re listed below in approximate order by difficulty, starting with the lightest reading and ending with books that require some effort. None, however, assume any specialized background. Of course there are hundreds of other good science and nature books out there, most of which I haven’t read. I can’t promise that you’ll like all of these as much as I do, but I can promise that each of them is of the very highest quality.
  • Encounters with the Archdruid by John McPhee. In this classic from the golden era of environmentalism, McPhee arranges for Sierra Club hero David Brower to spend some quality time with three of his natural enemies: a mining geologist, a resort developer, and a dam builder.
  • Desert Solitaire by Edward Abbey. Essays by a hard-nosed realist about the wonders of southern Utah: juniper trees, snakes, clouds, heat, quicksand, tourists, inhabitants, and the encroachment of industrial civilization.

  • The Cuckoo’s Egg by Cliff Stoll. My favorite mystery, and all true! A Berkeley hippie astronomer and computer geek discovers that a hacker is breaking into U.S. Government computers. Soon he’s teaching the FBI, CIA, and NSA all about internet security.
  • Voodoo Science by Bob Park. An entertaining survey of perpetual motion machines, cold fusion, human space flight, and other things that look like science but aren’t. Written in the same spirit as Martin Gardner’s classic, Fads and Fallacies.
  • Basin and Range by John McPhee. The best geology book ever written, which just happens to be about the place where I now live. Filled with clever juxtapositions of human and geologic time. The three sequels are also good: In Suspect Terrain, Rising From the Plains, and Assembling California.
  • First Light by Richard Preston. Before the author became famous for writing The Hot Zone, he spent some time hanging out at Palomar Observatory and wrote this delightful book about the astronomers working there.
  • 365 Starry Nights by Chet Raymo. Among the hundreds of guides to the night sky, this is by far my favorite. It offers a mini astronomy lesson for each night of the year, with lovingly hand-drawn illustrations. Its only deficiency is the lack of an index, so I created one years ago.
  • The Character of Physical Law by Richard Feynman. A set of seven informal lectures by the great theoretical physicist, just as relevant and insightful today as when they were first delivered in the 1960s. If you like this, you’ll also enjoy Feynman’s QED: The Strange Theory of Light and Matter, which presents four more lectures on quantum physics.

  • Guns, Germs, and Steel by Jared Diamond. The big picture of human history and prehistory.
  • The First Three Minutes by Steven Weinberg. Still the best book on cosmology, written soon after our understanding of the hot early universe became firmly established.
  • The Copernican Revolution by Thomas Kuhn. This well-crafted classic on the history of astronomy reminds us that a moving earth was once just as much a threat to some peoples’ belief systems as evolution and global warming are today.
  • Gödel, Escher, Bach by Douglas Hofstadter. A weighty masterpiece that interweaves art, music, logic, puzzles, puns, language, molecular biology, and artificial intelligence.

Monday, April 12, 2010

Mobile Computing Growing Pains

The experts have been saying for years that the future of computing is in mobile devices. I ignored them until recently, but now the iPhone, iPad, Kindle, and similar gadgets have gotten my attention. I own an iPhone myself, and I’m beginning to see the potential of mobile platforms for some of my own creative projects. These projects might include textbooks, educational software, and perhaps a trail guide to the local area.

I’ve already written about some of the challenges in delivering a textbook or trail guide on a mobile device. But perhaps the biggest challenge facing any of these projects would be the diversity of competing mobile platforms, and the fact that only a minority of the potential audience owns any one of them.

The obvious solution is to create content in a cross-platform format. This is trivial for a book whose formatting doesn’t matter. But a versatile and attractive electronic format for physics textbooks doesn’t seem to exist, so some custom, platform-dependent coding would probably be required. A good, practical trail guide would require much more coding. And a decent interactive simulation of molecular dynamics or the night sky requires a thousand or more lines of user-interface code.

For several years I’ve been writing these kinds of simulations in Java, which makes them portable to virtually all of today’s desktop and laptop computers--and deliverable over the web. I can’t overstate what a huge advance this is compared to the bad old days when you had to write native code that would run on only one platform. (The native Mac simulations that I wrote between 1985 and 1992 were never widely used, and now they don’t even run on the new Macs.)

Unfortunately, mobile devices don’t run Java applets. Apple’s mobile devices don’t support Java at all. I’m not absolutely wedded to Java, but I’ve been hoping that some kind of usable cross-platform development environment for mobile devices would soon come along. Last week my hopes got a major setback.

Apple has now added the following sentence to its iPhone developer license agreement:
Applications must be originally written in Objective-C, C, C++ or JavaScript as executed by the iPhone OS WebKit engine, and only code written in C, C++ and Objective-C may compile and directly link against the Documented APIs (e.g., Applications that link to Documented APIs through an intermediary translation or compatibility layer or tool are prohibited).
The geek blogs are all abuzz over this new rule, and rightly so. It seems to prohibit virtually any sort of cross-platform development tools, and even restricts what programming languages you can use to develop iPhone apps. Bloggers are inferring that Apple isn’t merely trying to maintain the quality of apps; it’s literally trying to make life difficult for any developer who wishes to deploy an app on multiple mobile platforms.

For a part-time, half-assed developer like me, this move by Apple is devastating. I write software not to make money but to reach a target audience. I have no intention of writing software that can reach only the fraction of that audience that owns a particular device. And I don’t have the time or the resources to port software from one device to another.

Eventually, I suppose, the situation will improve--just like it improved for personal computers when Java came along. Until then, I’ll keep deploying physics simulations as Java applets for personal computers. And I’ll keep publishing books in the tried-and-true format that’s universally readable by all.