|
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.
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.
(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).
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
|
2002
|
2003
|
2004
|
2005
|
2006
|
top
contact
This is a personal web page. Things said here do not represent the position of my employer.
|