5 October 20045 October 2004 Everyone must check out Garrett's F-Spot UI design notes. As Alex said, his printing dialog is better than any I've seen in any photo tool. We open source nerds are finally getting to the point where we can lead the entire industry in certain areas. 10 October 200410 October 2004 Fun time at the GNOME Summit, in one of the two most beautiful buildings of all time.

. . .

Tonight, I'm watching Henry V and playing with making little wiggle images. Move the mouse over the photos for fun.

14 October 200414 October 2004 This morning Zaheer Merali commented about the possibility of autobookmarking URLs using Beagle and D-BUS.

I think this is a great idea. In fact, it sounds familiar. Let's set the way-back machine to September of 1998...:-)

. . .

The girl in the Ubuntimax wallpaper looks cross-eyed:

15 October 200415 October 2004 The other day we announced our patent policy. Someone pointed out that the headline should have been: Novell to use powers for good, not evil. Played with Google's desktop search tool. It is mind-blowingly fast. The interface is a web page running on a local web server, and I have never seen a web server return pages so quickly. This must be the secret sauce that runs Google's web search, in a 400k download on your PC.

So, it is fast and it is cool, but Google shocked the world by releasing something highly imperfect. Besides the inherent suckiness of being proprietary, Google's desktop search indexes a very narrow set of application data, very few file formats, its index is disk-intensive, slow to build, doesn't back off of non-idle systems well, etc. And it only runs on Windows, with IE and Outlook.

Our theory is that this thing was rushed out the door. You might have noticed a flurry of search announcements recently: AOL, Google, Spotlight, heavy advertizing from blinkx. Everyone's rushing to market on this thing because Microsoft plans to unveil their desktop search functionality — a scaled-back search-only tool, not full WinFS functionality — next month. And so people are scampering to get out of its way.

That's our theory, but I doubt Google would ever admit to being the subject of market forces.

. . .

This week we started putting together a new web site for Beagle. Also, I recommend digging through our product design team's wiki, there is some excellent stuff in there.

Wednesday I added preliminary snippet support to Best.

. . .

Last night I found a nice introduction to the basics of text search from my old friend Edward Loper.

. . .

After the Utah - Kentucky - Toronto - San Francisco - Barcelona - Bangalore - Little Rock five-week trip, nothing short of major enticement is going to coax me out of Boston for a while. It is good to be home again.

Today also marks my third in a row without a cigarette. I'm over the three-day hump! Not smoking also means not drinking alcohol (weakens resolve) and not having coffee (association). So I'm on some kind of secular lent for a while.

Which gives me a lot of time to make animated gifs of my friends.

16 October 200416 October 2004 I've just noticed that Alex is now on the planet.gnome.org aggregator. If anyone wants to make a hackergotchi for him, here is a good starting point.

Also, he's put a donation link on his Tomboy page. The poor crazy fool is unemployed, so consider sending him your pocket change. For just a dollar a day, you can support a hacker-poet halfway around the world. Or you could just hire him.

. . .

Coming from a generation that really does get its news from The Daily Show, Jon Stewart's autotelic calm last night on Crossfire reminded me of John Doe from Se7en.

 
17 October 200417 October 2004 You'd be surprised how much of my referer log is people embedding these two images in their web pages:

 

This practice seems especially popular among 20-something girls on livejournal.com. Usually talking about some boy issue.

In the fall in Boston there are always thunderstorms. After watching SLC Punk I blew a roll of film trying to take a polaroid of a lightning bolt.

    [photo]
    My friend Watson.
18 October 200418 October 2004 One of the most interesting changes in the last five years is that Microsoft has become a depressing place to work.

Microsoft embodies the old-world software mentality: large-scale, abstraction-driven, developer-focused, client-based, all founded on high-margin licenses of intellectual property.

Their all-at-once approach to software development means long, risk-prone release cycles and frequent slips. Meanwhile, even Apple puts a new version of Mac OS X out every year, and of course Linux is highly modular and new functionality is continuously available to those who want it.

Microsoft's focus has always been on developers, and when you hear Ballmer and Gates talking about Longhorn, you hear them talking about WinFS, Avalon, and Indigo: terms that mean nothing to software users, but that are endlessly interesting to developers.

Or at least, Microsoft hopes that they're interesting topics. But what if they aren't?

The web has taught people that low-tech stuff can be really productive. Lots of people are using PHP, Perl and Python in areas you wouldn't expect. These are real, salt-of-the-earth tools. By contrast Avalon and some of Microsoft's other recent efforts at programming environment design look like out-of-touch erudite fluff, with a rank odor of cubicleware evident from miles away.

The greatest lesson of open source may be its ability to excite and galvanize developers, for whatever reason. Microsoft has feebly tried to copy the best bits, with blogs.msdn.com and channel 9.

But indications are that for the world's most talented hackers, the bloom might be coming off the Microsoft rose. Gates keeps lamenting that talented people are losing interest in IT, and has recently been stumping for the field. But what if he's got a dark window on the IT world not because software is failing to attract bright developers, but because Microsoft is failing to attract bright developers?

And the worst bit of news for the Company that Copyright Built is that software business models are changing. People often ask me what the business model is for open source. Lately I've been telling them that they ought to ask what the business model is for software. The only thing that's for sure is that no one is going to get their own private jet for writing a spreadsheet program anymore.

Now, everyone knows that Microsoft's market and cash position give them more room for error than any other company in existence. And Microsoft has stood up remarkably well to the decline of IT fortunes, while other companies have fallen hard. And above all, they are fighters. But things have definitely changed in Redmond.

The day they offered me a job five years ago, the employment brochure (which I just found the other day, cleaning out my office) was full of testimonials from young Microsofties talking about how cool it is to write software that millions of people use.

My dad urged me to take the job -- "it's a million-dollar offer!" he would yell into the phone, speaking metaphorically, I guess -- and he and certain other of my relatives expressed concern for the safety of my eager young ego when I went off and started a long-haired communist company with a dirty Mexican.

Microsoft's stock has since come maybe 40% off their high; a fall, but not a big fall compared to the other companies squeezing through the eye of the needle after the tech stock bubble burst. The real change appears to be in the climate. I'm glad I didn't go to work for Microsoft, but not because I got to do something cool elsewhere, or because they're "bad people;" I'm glad I didn't go to work for Microsoft because that place doesn't seem like fun anymore. 19 October 200419 October 2004

Today is the fifth anniversary of the incorporation of Ximian, née Helix Code.


Monkeybutter!

We don't like to talk about it very often, but at a certain point Tuomas became unable to draw any more monkeys, and they all came out looking very sickly. We had to give him a vacation after that.

. . .

Monkeypop is a desktop notification tool based on Gecko and running on Mono. 20 October 200420 October 2004 I hope that everyone will join us in IRC tomorrow for the EPlugin hackfest! Bring your curiosity, your ideas, and your emacs buffers and vi ..uhm...whatever you call them in vi. The only thing I use vi for is to edit /etc/hosts for some reason, it's a strange habit but I am incapable of editing that file with anything else.

Join the EPlugin Hackfest - #evolution on irc.gnome.org

(Since Garrett outed me for my superb management skills, I had to use the image.)

A couple of hack ideas to supplement JP's list:

  • Build an EPlugin that makes Evolution behave like The Insidious Big Brother Database, automatically adding contact entries for anyone whose mails you answer to a special addressbook for completion purposes. Bonus points for parsing address/phone information out of sigs and adding that to the addressbook.

  • Add an EPlugin pre-event for sending a composed message. Then, write an EPlugin that detects when you're about to send a message that alludes to an attachment that doesn't exist, and issues a warning. KMail seems to do this by searching for the i18n string "attach", which is good but could be improved on.

  • A dashboard frontend EPlugin that builds and sends cluepackets when you read emails.

  • An EPlugin that uses Babelfish/Google to translate emails from a foreign language to a language you understand. There's a great Firefox plugin from Paul Grave to do this that I use all the time.

It should be fun! JP mentioned the hackfest ends at 5pm Boston time, but I think it'll probably go a lot later than that; I'll be joining late and staying late, since I have meetings all morning. 21 October 200421 October 2004 Up late building Evolution from CVS in preparation for the EPlugin hackfest tomorrow (plug plug, plug plug). :-)

Join the EPlugin Hackfest - #evolution on irc.gnome.org

Miguel and I just noticed that there are seven networks going through our apartments.

And the number keeps going up.

. . .

A must see: Fredrik's implementation of Christian's desktop notification spec. 22 October 200422 October 2004 The EPlugin hackfest is over!

Despite my day being packed with meetings and other interrupt-driven activity, it was pretty exciting for me; I learned the EPlugin architecture, an Eclipse-like system Michael built to allow you to extend Evolution using plugins. EPlugin is wonderfully easy to use overall; almost all of my stumbling blocks were the consequence of not having enough sample code to play with, and after today that shouldn't be as much of an issue for new developers.


Note with interest the tiny droplets of posole dropping from Miguel's spoon.

The EPlugin I wrote provides "Automatic Contacts" functionality; the BBDB-alike idea I mentioned yesterday. It does the following:

  • Whenever you a respond to an email, new contacts are created in your addressbook for each recipient of your reply for whom a full name is available.

  • If an addressbook card for one of your recipients is already available in your addressbook, then any email addresses for this person are automatically added to the contact.

  • There is UI in the Mail Preferences dialog (Tools > Settings > Mail Preferences) to enable/disable the plugin, and to select which addressbook gets targeted for automatic contact creation. This probably isn't the right place for the UI to go, but EPlugin makes it easy to move it somewhere else when I figure that out. Also, the addressbook selection option menu is too wide, and I can't figure out how to fix that.
You can see the code for my plugin here. After I had Evolution building, the core of the functionality took me about an hour and a half to get working. This initial version was about 95 lines of code (I count newlines). Then, there was about 4 hours to write the UI code and do a little clean up, and now it's about 300 lines, but still pretty dead simple.

My addressbook is growing now with the names and addresses of all the people I work with. I'm already feeling the benefit as I go to type someone's email address and Evolution autocompletes it.

I also got my first look at the Evo mail code in about a year, which I have to say is pretty impressive. Extremely clean, extremely readable, very easy to understand. Not at all like it was in the 1.x days.

Now that I know how easy it is to use EPlugin, I'm going to take a look at the other plugin ideas I described yesterday. Michael has really done a beautiful job making Evolution easy for anyone to extend.

Here are a few new ideas:

  • There are still bonus points left on the Automatic Contacts EPlugin: parsing the signature of the person whose mail you're answering and extracting phone number, fax, address, etc, and stuffing those in his contact.

  • A EPlugin to keep track of mails you've sent which haven't gotten a reply yet, and which offers a UI to view outstanding mails where you're expecting a reply. The plugin might have to be smart enough to know that longer mails are more important than shorter ones, or something like that. This would be really handy for me, as a manager.

  • A dashboard-like idea from Alex: an EPlugin could extend the addressbook preview pane to show any unread messages from the person whose contact you're viewing.
JP is going to post a summary of the hackfest, and everyone else's work, in a bit I think.

. . .

Hunter S. Thompson has written up his thoughts on the presidential election for Rolling Stone. 24 October 200424 October 2004

. . .

I'm thinking of snowboarding in Utah this weekend, since I hear that Brighton is open. If you're interested in joining, let me know. I might just wait till next month to get started on the season though. 25 October 200425 October 2004

. . .

Some more hacking on the BBDB-inspired EPlugin today.

It now synchronizes your buddy list from Gaim and merges it with your contacts, including buddy names and photos (unless you already have a photo set in Evo). The whole thing relies on you aliasing your buddies to their full names in Gaim. 27 October 200427 October 2004 This is ridiculous. We are using blog aggregators like fancy HTML Usenet newsgroups without threading.

But, here I go.

Robert: What is invoking sync 57 times during shutdown? If it's a shell, just make sync a shell built-in. 28 October 200428 October 2004

I've never before seen so many people so enthralled by one thing for so long. 29 October 200429 October 2004 Getting nothing wrong is for the uninspired

After several weeks of use, I believe that Muine is a fabulous, brilliant user interface. The search-based queueing/playing is perfect, and the single-playlist model is surprisingly ergonomic. And it is all the more interesting for how different it is from the mainstream music tools like winamp, WMP and iTunes.

But I think any traditional use case analysis would probably be devastating to the egos of the Muine developers, because there's all sorts of things it gets "wrong."

You see, included in your use case analysis for a music application would be: browsing by genre, organizing by album, managing multiple play lists, burning CDs and managing remote streams.

Why would those things be there? Because every other music app has those features, and if you're building a music tool, you've got to have them too. Only, somehow, you've got to do them better than everyone else. How could you possibly put out a music player without the ability to burn CDs from a playlist? Or without a five-star rating system like Windows Media Player? Are you paying any attention to what's going on?

(Incidentally I think five-star rating systems for songs are useless. WMP ostensibly uses them to create a "favorites" list, and presumably to do collaborative filtering later on. But a simple favorites list would be work on its own, and collaborative filtering could be done better on profile data. And how the hell do you rate a song on a scale from 1 to 5? I'd love to hear from you if you find five-star rating systems genuinely useful.)


Larry in the stata center, where
it is easy to get lost.
This is how applications in established categories end up in incremental feature battles against each other. No one is free to break the mold, and so they just add feature after feature onto the pile. There are many examples of this: office suites, ICE collaboration tools, etc.

To me this is emblematic of the distinction between getting it right and getting nothing wrong.

The get nothing wrong way of life is evident in highly mature situations and established markets — and probably also in resource-scarce environments like a submarine — where not losing ground can seem more important than gaining ground. People are afraid to make mistakes -- to leave something out, or to put something in that shouldn't be there -- and so they consult detailed process guidelines, check every decision with their peers, and generally

Which means that they get nothing wrong: they don't introduce a bug, and so they won't be fired. But you'd never want to go to a party planned by someone like that. Sure, there are enough cups for everyone, but that's just about the only thing you can say.

New solutions to old problems are easy to ridicule because they always have major flaws. It would be a trivial matter for us (or anyone; this is not GNOME-specific) to laugh Muine out of the building. But we'd be failing to acknowledge the fundamental genius of the design, which anyone can see is there.

I think this applies to the current GNOME revision control situation. Everyone knows we have to move off CVS. And yet it's going to be hard: we have seven years of revision history in that system, seven years of integration with other tools like email notification, mirror scripts, tinderbox, client scripts, and so on.

But whatever new revision system we switch to (subversion) is probably going to cause problems for us simply because unseating a seven-year incumbent technology is not easy.

In order to get the fundamental things right, we're going to have to get some things wrong.

Eventually, people will recognize the beauty of the Muine approach, and we will either realize we didn't need those traditional media player features, or we will find new ways to deliver them to the user: perhaps even new interaction models that are just as clever as Muine itself.

Also, does anyone ever browse their own music by genre? Or do the music players just put that option in there because id3 contains a Genre tag? And what the heck is porn groove?

. . .

Miguel and I played with Keyhole today and it was incredible.

Jon's experience was what drew me in:

Jon Trowbridge: So I already feel like I can't live without Keyhole.
Jon Trowbridge: I went to the Chicago Calumet photo this evening.
Jon Trowbridge: I'd never been before, wasn't sure if they had parking.
Jon Trowbridge: So I just looked.
Jon Trowbridge: Saw the parking lot.
Jon Trowbridge: No worries.
Jon Trowbridge: And I could check out the configuration of the off-ramp I had to take when exiting the freeway.
Jon Trowbridge: mapquest seems like flint knives and bearskins
I seriously hope they make this available on Linux; it apparently uses OpenGL, and not DirectX, so it is not unthinkable.

. . .

(Sixteen days, no tobacco, caffeine, or alcohol. Total inability to sleep, though. It's 6am and I've been up all night again. Which is reminding me of this one Nabokov poem: Insomnia, your stare is dull and ashen, my love, forgive me this apostasy.)

. . .

2001
     
     
  Aug Sep
Oct Nov Dec
2002
Jan Feb Mar
Apr May Jun
Jul Aug Sep
Oct Nov Dec
2003
Jan Feb Mar
Apr May Jun
Jul Aug Sep
Oct Nov Dec
2004
Jan Feb Mar
Apr May Jun
Jul Aug Sep
Oct Nov Dec
2005
Jan Feb Mar
Apr May Jun
Jul Aug Sep
Oct Nov Dec
2006
Jan Feb  
Apr   Jun
     
     

top

contact
This is a personal web page. Things said here do not represent the position of my employer.