A number of my colleagues at Sun have been blogging about the number of MyDoom-generated emails in their inboxes today. Compared with most companies, Sun is barely touched by these infestations, but in a company which generates tens of thousands of emails a day, even “barely touched” means a lot of effluent. The incidence should be even lower, because (with a few exceptions) running Microsoft Outlook within Sun is a violation of IT policies, and the penalties can be severe. (In fact, even running Windows is prohibited unless the system has been “neutered” in various ways.) But people still do it.
My approach, which I recommend, is social pressure. In my email client, I’ve set up a rule that says “if this message originated from within Sun, and if it was created using Outlook or Outlook Express, flag it in red”. Then whenever I see a red message in my inbox, I drop a brief note to the sender asking if they realize that they’re violating IT policy.
If enough of us do this….
[Updated: In response to Dan’s comment: I have never had a false positive. My filter checks for “sun.com” in both the “From:” and the “Message-id:”, and for “Microsoft Outlook” (and variants) in “X-Mailer:”; it also checks that the message was NOT processed by any of Sun’s external gateways.]
[Updated: Here’s a representative Mail.app rule. You will have to add “X-Mailer”, “Received” and “Message-id” to the list of headers that Mail.app understands. I actually use a number of rules to let me identify particular versions of Outlook, but I don’t expect others to be so obsessive-compulsive about it….
Category: Computing
Hippocratic oaths for software designers
ALL AUTO-CORRECTION SHOULD BE OFF BY DEFAULT!!!!
This is a rant. If I’m going to be responsible, I guess the rant should eventually get turned into a bug report. But I’ll start with the rant.
I hate autocorrection. Automatic hyphenation, automated spellchecking, automated URL completion, automated correction of capitalization…. I’m not saying that I don’t make mistakes that need correcting: what I find is that autocorrection gets in my way, interrupts my thinking, and – overall – makes me less productive.
Now I’m sure that some people, somewhere, must like it (although I hear more complaints than compliments for it), and I’m not opposed to making these features available. What makes me furious is that they are turned on by default. Every time I encounter a new spreadsheet or word processor, I get bitten by the “feature” and have to take the time to turn it off. And how should I turn it off? That’s another source of frustration. In OpenOffice, things like automated capitalization and hyphenation are specified in Options->Language Settings->Writing Aids, while things like word completion are in Tools->Autocorrect, and configuring spellchecking requires you to start a spellcheck via Tools->Spellcheck->Check and then use Options to change its behavior. (Then remember to cancel the spellcheck!) (OpenOffice is not unique in this: it follows Microsoft’s lead slavishly in this respect.)
OK, you’re saying, but it’s just a one-time frustration. It’s not a big deal. Wrong. Consider the situation that the Register reported a couple of days ago in a piece entitled Excel ate my DNA. Scientists imported genetic data into Excel, Excel “autocorrected” it, and the result was unrecoverable data corruption:
The errors are introduced because some genetic identifiers look very like dates to Excel. If the spreadsheet is not properly set up, it will convert an identifier, such as SEPT2 to a date: 2-Sep. The conversion, the researchers say, is irreversible: once the error has been introduced, the original data is gone.
I’m sure that these researchers installed MS Office in good faith. I’m sure that the installation program never asked them, “Shall I enable a bunch of options that may lead to silent data corruption?” And now they’re screwed.
Software designers need the equivalent of a Hippocratic Oath, combined with Asimov’s Laws of Robotics. I do not expect my word processor or spreadsheet to change my data in any way without first asking me if I want it to do so. Out of the box, all automated corrections should be turned off. No exceptions. First, do no harm. (And one day someone will test the legal disclaimers in the software licenses, and the whole “repudiation of liability” nonsense will be exposed. But that’s another discussion.)
So which Bugtraq category do I file this under?
Better, Faster, Lighter Java
I assume that you know that feeling when you’re in a bookshop and a book title just grabs you, and you instantly know that you have to read this book – you hope that it’s good, but even if it’s crap, you need to understand that too. Well, that particular experience hit me in my local B&N this afternoon. The book in question is Better, Faster, Lighter Java by Bruce A. Tate and Justin Gehtland. I’ll let you know how it turns out. In the meantime, it’s sent me hunting through the usual chains of blogrefs, in the course of which I happened upon Bruce Tate’s Don’t make me eat the elephant again. Curiouser and curiouser….
Timing is everything
On my Mac PowerBook I have a folder called Downloads
where my web browser (Safari) dumps everything that it downloads. Every RealAudio stream, every PDF, every software installer…. Right now there’s about 2.2GB of stuff in there.
This morning, I thought about cleaning up my disk, opened Downloads
, and typed Cmd-A to select all of the items, so that I’d get a count at the bottom of the window. 314 items. Wow. Too much to tidy right now, I’ll do it later… oh look, there’s that PDF I was reviewing… let’s take another look…”
What I intended to do was click the PDF, thereby deselecting everything else, and then double-click it to launch Acrobat. What I actually did was to double-click it. And, obediently, Finder started opening all of the selected items – all 314 of them. Finder windows popped up, disk images started mounting, audio streams started playing, all sorts of applications started running. And of course this left no cycles to respond to UI events. So I did the only reasonable thing. I power-cycled.
Maybe the Finder needs to be a little less literal-minded.
Visualizing systems
I’ve always been interested in ways of visualizing complex systems. Simply displaying a fairly literal graphical representation of a bunch of state variables seems unsatisfactory. The correlations and causal relationships are rarely apparent; on the other hand our pattern-seeking brains are all too likely to see relationships where none exist. I remember attending a conference on agent technology (specifically “social” software agents) in which a speaker said that her team was looking for ways to “construct a narrative” that corresponded to what was going on in the system. That feels about right.
But anyway… when I want to visualize a really complex system, I head over to Passur’s site for BOS, pick a good time of day (18:00 works well), and click Start Replay
. (The reason to watch a replay is because then you can click on individual aircraft to display their information. That feature is disabled for the live feed, ostensibly for reasons of security. There’s also a random delay on the live feed.)
At the 10 mile
setting you can watch the way the air traffic controllers set up the streams of aircraft for arrivals. (At that setting my house is in the lower left corner, below the “J” of Jamaica Pond.) Zooming out to 90 miles
you get a nice sense of how the large-scale airways system feeds into the arrival streams. And each one of those icons represents an autonomous agent, with one or two independent planning subsystems, and less than perfect communications, interpreting the wishes of a bunch of ground-based planning systems….
(Passur’s Airport Monitor is available for a number of airports. You don’t have to watch BOS. But if you too have a soft spot for Logan, check out this article from Salon.)
[By the way, the applet doesn’t work quite right on the Mac. Not sure why….]
Computing needs a Grand Challenge
Tony Hoare’s for a “Grand Challenge” for computing is discussed here in the Register. The draft proposals are discussed here.
It looks like a nice mix of topics, but inevitably they are at such a high level that it’s hard to be sure how they might be transformed into concrete research and engineering activities. And of course it’s important to avoid the Fifth Generation effect….
Java and Jini
I just added the first real content to my new blogs.sun.com blog. I found myself getting a little carried away on the subject of Java and Jini…
Why a Mac user?
No, not “why do I use a Mac”. That should be obvious to anyone with a modicum of good taste. Someone asked me why I included that in my tag line at the top of this page. Looking at the list, I was struck by the fact that several of the roles that I claim represent minority positions, albeit fiercely proud ones. I’m an atheist living in a depressingly superstitious and hagiographic culture, a country where a self-avowed unbeliever couldn’t be elected to public office. A Mac user surrounded by victims of mediocre software from Redmond, WA. A liberal in a society where many treat that as term of opprobrium.
In an increasingly homogenized world, claiming membership in a minority group seems like an obvious way to define oneself as different. We all do it, don’t we? 🙂
TBL gets a K
Tim Berners-Lee gets a knighthood in the New Years Honours list. Well deserved, Tim.