Clifford Simak, Flying Houses, and Self-Driving Cars

When I got into SF in my teens, it was divided roughly into three broad phases, each dominated by an influential tastemaker. Hugo Gernsback (of the eponymous “Hugo” awards) essentially built a genre around the work of Verne and Wells. SF of his era were dominated by super scientists who were also all-round fabulous guys. This is the era in which E.E. “Doc” Smith emerged.

The second phase, from the late 30s through the early 50s, was dominated by John Campbell, who pushed for more rounded and realistic characters, but had his own foibles, such as a penchant for powers of the Mind (the Lensman series straddles the eras). Asimov, Clark, and Heinlein all emerged during this period, which — Wikipedia tells us — celebrated “hard” SF (i.e. SF which tried to get the science right).

The third phase, which I grew up in, was eventually dominated spiritually by Harlan Ellison, and it was characterized by the integration of speculation outside science (e.g. politics, social anthropology). Fussing over the science became less important than setting and character. Ellison, Silverberg, and Le Guin were ascendant.

Clifford Simak had the misfortune to do his best work in the later part of the Golden Age, while belonging in the third phase. He was also prolific and somewhat uneven. His best known novel is City — apparently voted the greatest SF novel of all time by the readers of Locus more times than any other. If you haven’t read City you need to stop reading this blog and go find yourself a copy. (It’s not easy — it’s out of print, and not available in electronic form.)

Even if Clifford Simak were a terrible writer (and Cosmic Engineers was pretty terrible, even though he was a working newspaperman when he wrote it) he would be worth reading as an antidote to almost every SF cliché. His robots have emotions, his aliens are friendly and helpful in a weird and alien way, his stories tend to take place in rural settings, there’s nary a space battle nor gunfight to be seen, and when there’s violence it tends to be catastrophic, one-sided, and not solve anything.

Cityspoiler alert — is presented as a collection of traditional stories, passed from dogs to their puppies around the campfire, about a mythical race of creatures called “humans” for which no archeological evidence has been found. The stories happen explain away the need for such evidence, which the introduction drily notes is very convenient.

In the earliest stories, humans are living very high on the hog. Their houses are able to fly where-ever the occupants want to live (assuming a “housing space” is available to park in) and life is good (at least in the US). Everything hard or dangerous is done willingly by tirelessly friendly robots. When it’s pointed out to one of the robots that they’re slave labor, one responds that it has been created with effectively eternal life, so why should it resent a bit of servitude in repayment?

In a later story, humans explore Jupiter by transforming themselves into native Jovians (the only practical method given the hostility of the Jovian atmosphere). The humans discover that being a Jovian is simply so much better than being a human that most emigrate to Jupiter and are never seen or heard from again. The few remaining gradually dial out of existence by going into long-term hibersleep.

Left behind, dogs — modified for greater intelligence and the ability to speak by the humans — together with robots mind the farm, and gradually form their own society, with each dog having an assigned robot helper referred to as its “hands”. They live in peace and happiness for a long time until ants, who have been uplifted by one of the few remaining non-hibernating humans, start taking over the world. Asked for advice on dealing with the ants, a briefly awake human suggests extermination. The dogs and robots instead migrate to a new alternate Earth.

In the last story, human children are being raised on the new Earth by dogs and robots, but despite removing all cultural legacy, the human children engage in horrific acts of violence.

Look, seriously, go read it.

If you’re interested in Simak’s best books, my nominees would be:

  • City
  • Way Station
  • Shakespeare’s Planet
  • The Werewolf Principle
  • Project Pope

Anyway, I was thinking of Simak today while musing over the news that we could see self-driving cars being allowed on California roads next year. My wife and I agreed that the impact of self-driving cars on society will probably exceed the impact of the car itself (consider that the “suburb” exists because of the car) and it struck me that if there was one SF writer who had foreseen anything like what we might experience, it was Clifford Simak with his [self-] flying houses.

Realbasic and Visual Basic

More than anyone except Andrew Barry, I am responsible for the creation of Realbasic. (This doesn’t reflect particularly well on me, it just means that Andrew pays, or paid, more attention to my whining than most random people.)

In the mid-90s, Andrew and I had both been involved in software development across multiple platforms for some years, and both of us were annoyed by glaring flaws in most development tools. I had gone to work for Andersen Consulting and been forced to develop a very ambitious multimedia project using Visual Basic 3, a development tool I found both admirable and horrible in pretty much equal parts. It was obviously inspired by HyperCard, but good in ways that HyperCard was bad (it created native UIs) and bad in way that HyperCard was good (it was horribly unstable, the language reeked).

Andrew and I would often shoot the breeze about dev tools and at some point I opined that what the Mac really needed was something like Visual Basic that didn’t suck. So Andrew created CrossBasic which became RealBasic. Anyone even casually acquainted with the two products will know that Realbasic owes more, architecturally, to MacApp and Java than Visual Basic. E.g. from the beginning there were “folderitems” which strongly resemble the object wrappers Apple’s frameworks use for filesystem objects. Similarly, all visible controls are subclasses of Canvas, which is the base graphical class in Java. Indeed, CrossBasic originally allowed you to compile programs to the JVM. Worst of all, in Visual Basic prior to .NET you essentially use simple variable types except when doing file i/o. In Realbasic you define your own classes and subclasses (including being able to subclass internal classes seamlessly). All of this was part of Realbasic 1.0.

Why bring this up now?

Well, it’s a long time down the road. Andrew left Real software after finishing Realbasic 2 (I think it was 2.1.2 at the time, which was for a long time the “golden” version of Realbasic). A few months ago, I answered a question of Stackoverflow about “which languages supported nice language feature X” and mused in my response that not only did Realbasic support it but that it supported many, many nice language features you don’t expect in a “BASIC”. I then got critical feedback based on Realbasic’s having started life as a “clone” of Visual Basic.

So I’m setting the record straight. Realbasic was never a “clone” of Visual Basic. It wasn’t an inferior copy, but a superior re-imagining. Just as Visual Basic stole ideas liberally from HyperCard while being dramatically superior in many ways, Realbasic stole ideas liberally from Visual Basic while being dramatically superior in almost every way. (E.g. it never put developers through DLL hell, even under Windows.)

If only it had market share, it would have Security Vulnerabilities

The revelation that the security flaw exploited to win a hacking competition last week was related to Java applets that used QuickTime is very interesting because of the usual argument that Macs are only seen as less vulnerable because they have a smaller installed base. Well QuickTime doesn’t have a “smaller installed base”. Its installed base is highly comparable to that of, say, Internet Explorer, Microsoft Office, or Windows Media Player. Indeed, given that Apple is less likely to rev QuickTime randomly (Windows Media Player 11 anyone?) and that iTunes and iPods are highly linked to the latest version, the chances are that its market penetration exceeds any of these products. Is that not interesting?

Here’s QuickTime 7’s stats from secunia.com (hey, they’re biased against Apple*, but then who isn’t in the security industry. Until we can get Mac users buying third party firewalls and antivirus software, we’re going to keep telling everyone they’re an accident waiting to happen). Note that these stats include the vulnerability exploited in the CanSecWest competition.

Here’s Internet Explorer 7’s stats (note that most folks are probably using Internet Explorer 6 still). IE7 has a similar number of vulnerabilities in a shorter timeframe, but they’re more critical and far less likely to have been patched. (And remember, Secunia is the company that treats a trojan you need to download and type an admin password to install on a Mac as highly critical, while a vulnerability that can take over your PC if you just visit the wrong website is not.)

Here’s Microsoft Office 2003’s stats. Quite a few vulnerabilities, almost all remote, and, oh look, one in six is unpatched.

There are so many versions of Windows Media Player that linking them all would be kind of tedious. Windows Media Player 11 so far has no listed vulnerabilities. Here’s WMP 9 and WMP 10 though.

Given that the vulnerability is an interface between code which relatively few people care about (Java) and code that gets a lot of attention (QuickTime), I suspect that it will probably turn out that some previously identified buffer overflow vulnerability that was fixed for QuickTime via more popular and conventional paths (e.g. the browser plugin) was not fixed for the Java QuickTime API.

Conclusion: Apple just writes better software than Microsoft, and doesn’t leave critical vulnerabilities unpatched for years. But we knew that already.

Note: * Secunia, biased? Say it isn’t so. Here’s a vulnerability in IE that can make an arbitrary malicious file appear to be an html file when you “Save As…”. Note its criticality. Here’s an “extremely critical” vulnerability in Mac OS X (note that Mac OS X is one product, like Windows XP Home Edition). It’s listed as partially unpatched because, apparently, you can still execute shell scripts that are placed in an archive manually. OMG really? Gimme Outlook 2000 which won’t let me extract .exe’s from email attachments even if I sign a release in triplicate. Yeah. That would fix it.