Monday, December 12, 2005

Separation of Church and State.

I just saw a piece of spam go by about a petition to stop some alleged group of anti-religious people from passing a bill to stop the use of radio waves for preaching the gospel. It's interesting to see this, because the same groups that are pushing so hard to end the separation of church and state are the groups that are apparently worried about losing their freedom of speech - their freedom to push their view of the gospel on others using the radio waves.

I don't even know if this is a real conflict or not; I suspect it's a hoax. But the point is to push this idea that there's some kind of conspiracy in the United States to suppress religion, which I believe is at the root of a lot of the fear that divides our country.

The fact is that there is no move afoot in the U.S. to suppress religion. Why? Because most Americans are religious. There is no popular support in the U.S. for suppressing religious speech. What there is, though, is a move afoot to use religion, which should be a source of peace in the world, as a way to divide people. This kind of fear mongering is most sad because it insults the intelligence of the people at whom it is targeted.

The fact is that the Constitution expressly forbids the government from restricting speech based on content, except in cases where the content is found to be obscene. The government is strongly enjoined against regulating religion. At least, right now it is. If a government action can be shown to have, as its main effect, the restriction of religious speech, then that action is unconstitutional, and an honest Supreme Court, regardless of their beliefs, has no choice but to rule such action unconstitutional.

If you are a religious person who is concerned about the government suppressing your right to freedom of speech about your beliefs, your best hope for preventing this is to work to keep the Constitution strong. This doesn't mean amending it. It doesn't mean stacking the courts. It means placing the question "do I agree with this person's politics" below the question "will this person uphold the Constitution?" The Constitution was written by men of faith who wanted very much to prevent the kind of thing you fear, and the Constitution has done that faithfully for more than two hundred years.

Please, don't let anyone try to convince you that the way to keep your right to practice your religion safe is to undermine that document.

Wednesday, December 07, 2005


I woke up this morning on the edge of a dream. It was kind of a fun dream at the beginning - I was in some town in New England, going to school, kind of like Hogwarts only for adults. I think Andrea was going to school with me. There were problems - we had to schlep a mattress to class for some reason, and a blanket, and while there's nothing at all wrong with schlepping a blanket to class, schlepping a mattress, particularly when you're on a bicycle, is another story. But after a few classes I realized that we didn't have to schlep the mattress, so that was good.

Anyway, after one of the classes ended I had to go somewhere by myself, for no obvious reason that I remember, and I took a shortcut through a nice section of town with a lot of cool stores. On the way through one of the stores there was a glass clock. Not delicate glass - more of the kind of glass that is translucent, that they make plates out of, painted with a kind of paint that was probably shiny at one time, but that had gone matte and would rub off on your hand if you rubbed it. Very retro - the sort of thing that a car dealership might have given you in the fifties when you bought a T-bird coupe.

Oh, and it was red. Anyway, the clock was on the ground, in my way, so I picked it up so I could pass. Later on, I noticed I was carrying two clocks, one of which, the aquamarine one, I did not recall picking up. And I realized that I hadn't put the first one back, and that I couldn't remember where I'd got it, but the second clock, the aquamarine one, I knew came from a store that I'd been to before, so I went there to return it and ask the owner to whom the red one belonged.

The owner thought the whole thing was funny, but said that she had a blue clock. So I showed her the aquamarine clock, thinking that it was probably what she meant, and she said "no, blue." And then I dropped the aquamarine clock, which shattered. She laughed, and told me that I could probably find another at a country fair or tag sale.

Now at this point I'm thinking "wait, I didn't do anything intentionally wrong here, why am I suddenly responsible for going out and buying another clock, which is probably going to take me the rest of the summer to track down, and is probably going to set me back a lot of money?" And yet I did feel obligated.

So the thing about this is that it's kind of an absurd situation, as situations in dreams tend to be. But it's interesting in that I think it's not at all dissimilar from real life situations that we actually experience. I've definitely had that feeling in real life before, where I feel this kind of karmic debt as a result of a series of happenstances that I did not orchestrate, yet that somehow appear to be my fault.

A karmic analysis of the situation is problematic. If there's any conclusion I can draw from this, it's that a lot of the stuff life throws at us shouldn't be taken literally.

Friday, December 02, 2005

Bad news you wouldn't normally have heard.

I don't read Sajjad Zaidi's blog often enough.

Look, the only reason to read bad news that you can't do anything about is to smash the mindset that I think we all sometimes fall into of thinking that the status quo is okay. The status quo is not okay. Why are we wasting our efforts reinventing the wheel when people are freezing to death in the mountains of Pakistan?

I don't have an action item to suggest here. Except to just smash it.

Linux and usability.

I'm going to put on my l33t geek hat for a minute. The backstory is that I am a Mac fan, and have been using a Mac for a while, but I have a lot of friends who are poor and can't afford the upgrades, and also I'm frustrated that the Mac does some things really well, but still asserts a bit too much lock-in, and doesn't really let you fix the problems it has. I think that in the long run, open source software is the right way to go. So I've been using Linux for the past month or so, and I've been switching around a lot between different tools. Linux has so many different tools that attempt to do the same thing, all of them incompatible with each other.

The first thing to say is that every single important application that I've seen sets its sights too low, with the possible exception of OpenOffice. What I mean is that each application attempts to be as good as Windows. Well if you're as good as Windows, why not just use Windows? Worse, they fail - they aren't as good. In some ways they're better, frequently, but in every case they fall down on some kind of basic functionality or usability issue. So how about being as good as Apple? No, that's not good enough either. Think outside the box. Yes, there has to be a migration path from Apple and from Windows, but it has to be a path to something better, and for the average user, something better doesn't mean "comes with source code." It means "makes my life easier."

So here are some ideas for how to make the user's life easier:

  1. For once and for all, deal with the problem of backups and data portability.
  2. Increase connectedness.
  3. Eliminate lock-in.
Backups and data portability. Currently, if you own a computer, you do backups somehow. The most popular method is "make sure my disk drive never gets trashed, because I don't even know what a backup is." Next most popular is "I burn stuff on CD sometimes." Then you get into solutions like Retrospect, which are not unreasonable, but are very old school.

Data portability is a related problem. I have a laptop and a desktop. I have data that I want replicated across multiple servers. Coda and AFS attempt to solve this problem, but they do so in ways that give me the willies.

  • The solution needs to be dirt simple. No storing peoples' data in DBM files. It's got to be as solid as a real filesystem.
  • It's got to be transparent. There's got to be metadata about files, so that for example when you make changes to your mail folder on one machine, there's sufficient information that when the data is updated on another machine, your mail database there is also updated. When you add a calendar entry on your laptop, it winds up on your desktop too, and appears in your calendar. When you add a file to your iTunes folder, it's got to be replicated properly to your other iTunes folder.
  • It's got to work when the multiple copies of your data are disconnected - you have to be able to make changes on the airplane. They have to get synced when you have a good connection again, without you doing anything special. They have to not bomb your 24kbps modem connection when you dial up from a hotel. They have to not run up a huge bill with your pay-by-the-k cell phone internet service.
  • There needs to be conflict resolution, so that if you make a change in one place, and make a change to the same file in another place, neither change is automatically overwritten, nor does the conflict simply remain unresolved.
  • There needs to be history, and that needs to be configurable, so that when you delete a file accidentally, or wipe out some part of it that you need back, there's a history you can go back through. This needs to not waste so much disk space that you go crazy. But disk space is cheap these days; we can afford to waste a lot more of it than we could a few years ago, and it's worth wasting to get this functionality.
  • It must be possible to override the backup mechanism in cases where it's not what you want - e.g., perhaps you don't want the contents of the DVDs you stashed on your laptop for in-flight viewing backed up, because the backup is the DVD, and you're never going to use them on your desktop. You don't want a backup history of your iTunes folder - you're not editing files there. One copy per instance of the data store is plenty.
Increasing connectedness. When I get email, it's one of three things. Trash, deal with immediately, or action item. If it's either of the first two, I just deal with it. If it's the latter, it gets lost.

  • I need to be able to put an email item on my to do list. This seems pretty basic, but nobody does it.
  • My to do list needs to link to my calendar.
  • I need to be able to group email messages into a single to do list item. I need to be able to use my to do list to make a plan for my day.
  • It would be awfully nice if when I go to a to do list item, I can say "put me in the environment I was in when last I worked on this item," and my editor windows and terminal windows would pop up with the right history and so on. This would make switching tasks so much less painful. Forget about virtual desktops that I manage myself - I want a virtual desktop per task.
I think a big step in the right direction here would be to make the data store I talked about earlier deeply application-connected. Different applications would present different views of the data store. You could send a URI to the data store dispatcher, and it would arrange for the right piece of data in the data store to pop up in the right application. So this makes links between to do lists and email easy - a to do item that references email messages does so by listing the URIs for referenced email messages. The virtual desktop I talked about is primarily a list of URIs; to do it nicely, you also have to be able to remember where you were in the document, and where the window(s) showing the document were on the desktop. So a good solution to this would require applications to speak the same language about location on screen and location in file.

Eliminate lock-in. Right now, none of the apps on Linux do anything meaningful to eliminate lock-in. There are no shared data formats. There are document interchange formats, but frequently they're insufficient - take vCards, for example, or DAV calendaring, or RTF. Nice, but limited. So:

  • Shared address book format, used by all linux apps, accessible cleanly by all linux apps.
  • Shared calendar format, used by all linux apps, accessible cleanly by all linux apps.
  • Shared keychain. No kde keychain, no gtk keychain: a linux keychain.
  • Shared email format. No more IMAP - use the data store. No mbox, while we're at it.
  • I don't know if it's possible, but a shared document format (OpenDocument, for example) would be nice. People are actively working on this. It needs to be the native format, not an interchange format.
  • Shared sound bus. Pick one. I don't care which one, but pick one, and use it for all gtk and kde apps.
  • Most importantly, give up on winning. Make interoperability your goal, not victory.
All this is a bit grandiose coming from me, and I don't intend it as a directive toward the open source community. It's stuff I've been thinking about, and might implement, and I really really wish others were on this bandwagon too. What's been done on Gtk and KDE is really neat - I've used both, and they both have real strengths. I'm not trying to knock them. I'm just saying what I want, for what it's worth.

Hm, one last thing: in order to encourage migration, all of this stuff has to work on Windows and Mac as well, and has to work better than the Windows or Mac alternative. The way you entice new users is to offer them a step up, not a lateral step, and definitely not a cheaper step down.