Reasons for A “No” Vote

So as you’ve probably heard, Miers has withdrawn herself from consideration for Sandra Day O’Connor’s seat on the Supreme Court. Lots of people gave lots of reasons as to why she wasn’t a suitable candidate: lack of a constitutional law record, lack of judicial experience (hello, Rehnquist?!), and lack of any real information.

Scary-et MiersWhat concerns me most is the reason no one mentioned: her apparent utter lack of ability to apply eye liner appropriately. Seriously, I haven’t been in drag for over 5 years, and I could apply better eyes while driving and drinking a latte. Where are people’s priorities?

date:2005-10-27 17:12:08

A matter of perspective, I guess

Joel relates an interesting way to look at the big boys of tech:

A very senior Microsoft developer who moved to Google told me that Google works and thinks at a higher level of abstraction than Microsoft. “Google uses Bayesian filtering the way Microsoft uses the if statement,” he said. That’s true. Google also uses full-text-search-of-the-entire-Internet the way Microsoft uses little tables that list what error IDs correspond to which help text. Look at how Google does spell checking: it’s not based on dictionaries; it’s based on word usage statistics of the entire Internet, which is why Google knows how to correct my name, misspelled, and Microsoft Word doesn’t.
date:2005-10-17 19:55:24

There goes my VC funding

So I just saw a story reporting that Palm is replacing the SIM tray for Treo 650 users. That totally ruins my VC opportunity. Garrett’s 650 had this problem — you bumped it or put it in your pocket and the phone portion turned off. Not exactly a desirable feature, huh? So I crafted the “SIM Shim”, which I figured was the perfect opportunity for a VC-funded startup I could ride into a firey crash. OK, so it was really just card stock cut to the shape of the SIM card, but it worked better than any solution Cingular had (“uh, just check it periodically, sir”). Damn you Palm!

date:2005-10-10 13:24:34

Gnome Summit Day 2

Yesterday, the second day of the summit, was more hacking, less talk. I did sit in on a few BOFs, and managed to get some hacking of my own done. Most of the morning was occupied with hacking. Well, observing others hack. I spent the morning trying to get my laptop’s WiFi connection to come back to life under Linux. HP helpfully supplies a little button on my DV1040 for turning off the wireless radio. While in the Indianapolis airport and having booted into Windows XP, I turned it off to conserve power. This had the unfortunate side effect of having it off by default on boot up, and the button only working under Windows. Sigh. I eventually found some details about iwconfig that claimed to let me adjust the radio power. When I tried the command, however, I was informed that it was unsuccessful. Expect that suddenly the wireless connection started working. I’m curious whether it was really unsuccessful and the fact that it works now is just voodoo or if its just incorrect reporting in the software, but frankly I’m too chicken to try and test it — at least while I’m traveling.

While I was working on that, Scott was sitting across from me, working on the low level C wrapper for the web services as a precursor to the license chooser; more on that in a moment. To my right, Aaron was working on adding CC support to the tagging libraries used by Banshee. He made quick progress, so I’m hopeful we’ll see CC support in Banshee soon.

Once I had my laptop up and running again, I did some mozCC hacking before lunch. After lunch I sat in on two BOFs. The first was for ISVs, the second on building a great community web site. The ISV BOF was interesting, although not that applicable to what we’re presently doing. The discussion centered around what the Gnome developers can do to make the platform Gnome more attractive to ISVs, such as VMWare, Sun and IBM. I suppose you could include CC in that list once we start shipping ccPublisher for Linux. If nothing else, it was good to hear about potential troubles and pitfalls in targeting the Gnome/GTK platform.

Garrett LeSage led the Community Website BOF, and the discussion there centered on what a project needs to do to have an informative, useful website that not only delivers information efficiently, but also helps buld community. Garrett is the mastermind behind the Beagle, Mono, Hula and Banshee websites, all of which are built on Media Wiki. is also build on Media Wiki. It’s not as pretty. Steven Garrity was also in the session. Steven is the guy behind the new-ish visual identity, and responsible for rolling out DevMo, also on Media Wiki. So overall a really interesting discussion about what it takes to have a good community-oriented website. And it sounds like Garrett and Steven are going to try and compile some of the visual design elements for Media Wiki together with any hacks needed, so that others don’t have to work so hard. I’m hopeful we can learn something from that and make look better.

Late in the day I caught up with Scott, or rather he caught up with me, with an update on the low level library. I can only say “it seemed like a good idea at the time.” Scott was smart enough to talk to Aaron and Larry, two app authors who were interested in integrating CC with their apps, to find out how they might want to use such a library. The response was, “uh, we don’t”. And I can’t blame them. According to Scott, neither one was really interested in taking on another shared dependency for a task they could do themselves in a lightweight manner. That makes sense to me, and I can definintely respect their reasoning. So the library is shelved. Now that I think about it, if that’s the case what we need is sample code in lots of languages for using the web services to create a license chooser. Maybe this is the excuse I finally need to look closely at Mono.

Today is supposed to be a hacking day, too. There is a libnotify BOF I want to attend this morning; not that I have a use for libnotify, I’m just interested in it. My goal is to dust off my Nautilus-CC prototype and see if I can actually make it usable. I’ve mentioned it to several people this weekend and had uniformly positive responses, so I guess it’s up to me now to really make it happen.

date:2005-10-10 07:57:22

mozCC 1.1.3 for Firefox 1.5 Beta 2

Maybe it’s just the hacking environment here at the Summit, but I’ve been hella productive today. In regards to my last post, there’s an update for MozCC available. A couple of details:

  • The new release, 1.1.3, adds compatibility for Firefox 1.5 Beta 2 and adds support for metadata linked in the header with a <link rel="metadata" ...> tag.
  • Using the update manager you should be able automagically upgrade MozCC if you are using 1.5 Beta 2; the update specification won’t offer it to you if you’re not using Beta 2, because…
  • …this release hasn’t been tested with strong>anything other than Firefox 1.5 Beta 2.
  • When Firefox 1.5 is finally released, MozCC will break until we release an update. This is intentional and I’ll try to get it updated shortly after the release (barring some late breaking bug this should be a trivial update).

If you want to download the new release directly, you can find it here.

date:2005-10-09 13:53:52

MozCC with Firefox 1.5 Beta 2

Just a quick note to head off the stream of email I’ve been receiving (yes, both of them): mozCC doesn’t work with Firefox 1.5 Beta 2.

Actually if you tried to install it, you’d be told it’s not compatible, since mozCC 1.1.2 claims it’s only compatible with Firefox 1.4 (the internal version for Beta 1). At first I thought this was gratuitous version incrementing, and then I discovered that after incrementing the supported version in mozCC, it doesn’t work. At all. I’ve tracked down the problem and hope to have a release out later today or tomorrow that fixes both this compatibility issue as well as a rather embarassing issue pointed out by Jeff yesterday. Stay tuned.

UPDATE: Just to be clear, it’s not really gratuitious per say to increment the version from 1.4 to 1.4.1 — I just assumed it had gone to 1.5; mea culpa. Also, the update is now available.

date:2005-10-09 10:47:04

Book Review: Hibernate: A Developer’s Notebook

Hibernate: A Developer’s Notebook James Elliot

I picked up Hibernate: A Developer’s Notebook (H:ADN) as someone who was famliar with Java, but doesn’t use it for day to day development. I had heard good things about Hibernate, but didn’t really have an immediate application for it. However, after reading the H:ADN, I am convinced that Hibernate could be a useful addition to my toolbox on future projects. For the uninitiated, Hibernate is an Open Source object/relational mapper (ORM) for Java, or more specifically JDBC databases. Like all ORM tools, Hibernate attempts to reduce the inherent pain involved in working with relational databases in an object oriented world. It has been my experience that while relational databases are models of efficiency when it comes to storing and querying information, working with them in applications often leads to a large amount of boilerplate code for loading rows from tables into objects and persisting them back. Past projects have also demonstrated the maintenance load embedded SQL queries can create for future developers. The goal of an ORM is to eliminate much if not all of that boilerplate code by providing transparent (or lightweight) persistence and loading facilities to go between the row and object worlds.

H:ADN is also the first book in O’Reilly’s “Developer Notebook” series I’ve read, so I was curious how the “lab notebook” format would read. Overall I thought H:ADN did a good job of providing me with the necessary background on Hibernate and how I might use Hibernate to ease the pain of database development. The book uses a running example, that of a music database, throughout the chapters to illustrate topics such as loading/persisting objects (rows), finding particular objects, and translating common relational database idioms to the world of objects – one to many joins and the like. Interestingly Elliot chose to use the all-Java HSQLDB as the database of choice for the examples. He does briefly discuss connecting Hibernate to other more common RDBMS, but I suppose using the HSQLDB system allows him to more accurately state what the interactions between Hibernate and the DB will be. In that regard it’s a good thing, as there are moments when he points out something that he initially did incorrectly and had to go back and fix.

Elliot is nothing if not thorough in demonstrating examples and then walking through what they do in particular. This was a mixed blessing for me. I think Elliot expects the reader to input and run the examples while reading through the book so they can see them in action and use that experiential knowledge in conjunction with the text to understand what goes on behind the scenes. Since I was primarily reading H:ADN with the goal of getting some background on Hibernate’s facilities, I typically read it over lunch, trying not to drip Special Sauce on the pages. In this setting, the detailed explanations, in the form of “What Just Happened?â€? grew tiresome. I know what just happened – I can read code, and you told me before what we wanted to happen, so I assume the code did just that. Had I been interactively editing and running code, these details would probably have been more interesting, as I’m sure there are naggling details that are not immediately obvious simply by reading the code.

Overall I found Elliot’s writing to be clear and natural. Perhaps it is a characteristic of the Developer Notebook series, but the tone was far more conversational than many technology books I’ve read in the past. If I have any complaints about the format, it’s that the side notes and faux drink circles only distract from the content.

date:2005-10-08 21:10:43

Gnome Summit Day 1

After a too-short night of sleep, the Gnome Summit got underway this morning. I previously thought PyCon was an unstructured, free form conference. I now realize that these Gnome guys have taken it to a whole new level. The master schedule: a chalk board. Good times.

Today was mostly spent in BOFs and talks, planning hacking for the next two days. A couple cool things that came out of today. First, I met Scott Branson while struggling with the wireless connection on my laptop. I never did get the wireless to come back under Linux, but somehow got Scott interested in the idea of hacking on CC projects. We talked off and on throughout the day about the potential for a C library that wraps the web services and potentially provides offline support. But the real ah-ha came when he came up with the idea of a standardized License Chooser widget for Gnome apps. Just like we have a file chooser dialog/widget, something that developers could just drop into their code (which uses the previously mentioned web service wrapper library) would considerably lower the barrier to entry. By the end of the day Scott was showing me some notes he put together regarding how the library might come together; I’m hoping he’ll put them into the wiki so we have some concrete record.

I finally met Luis Villa, the recovering manager, this morning and he graciously spent much of the day finding people and saying “here, this is Nathan, he works for Creative Commons, you should talk to him.” So some of them just said, “ah, hi, nice to meet you… i, uh, need something to drink,” others actually chatted about ways we could integrate CC into their work. The culmination of this was the Media BOF which Luis coralled people into this afternoon. The idea was to get people who work on content apps (including F-Spot, Banshee and Totem) in one room to talk about how media integrates with the desktop. Happily for me, it sort of because the “And What About CC?” BOF. So there were several things that came out of the hour:

  • People were interested in determining how CC metadata should be embedded in file formats. Relaying my conversation from the cc-metadata list, I explained the standard license text (copyright 2004, Nathan Yergler, licensed to the public under, verify at and how we currently handle the MP3 situation. Most formats we were talking about (JPEG, Xiph, FLAC, etc) have some sort of metadata fields built into the format, usually one specifically for “copyright” or “license.” I don’t think it matters which of those fields it goes in, so long as it’s standard text we can easily parse. So I encouraged the guys to take a look at the files they’re working with, make a decision and let me know. Unless it sounds insane, we’ll publish it as a proposed solution, and the Gnome desktop will be the first implementor.
  • I also heard committments (well, noises in the direction of committment) from Aaron, who’s doing Banshee, to implement CC notification, and from Larry, who’s doing F-Spot, to implement license choosing in F-Spot. This is very cool, and hopefully we’ll get some hacking on this done in the next couple of days.
  • I was publicly shamed about a bug in MozCC, so that’s motivating me to look at it tonite; we’ll see if I can track it down.
  • Additional discussions centered around the discovery of CC licensed content, so I hope those conversations continue for the remainder of the trip.

[ I’ve forgotten something here… I’ll update when I remember. ]

So after the day wrapped a group of us went over to Harvard Square for Malaysian food and I had some terrifically yummy mango chicken. Tonite: random hacking, tomorrow: Luis has promised to handcuff me to Larry and lock us in a room until we implement licensing in F-Spot. I like Luis, but if that’s his management style maybe it’s best he stopped (just kidding, Luis).

date:2005-10-08 20:51:55


So it’s a testament to the complete insanity of my life lately that my last post was over 10 days ago, and it was about the event I just arrived at. I’m planning a future entry on what’s been going on at work and at school, because I think both are interesting, but here’s a preview: rolling out a new server platform the day you launch a fundraising campaign? Don’t. Really.

I finally made it to Boston just under an hour ago, and to my hotel 30 minutes after that. Perhaps if they give the bankrupt airlines an extra 14 years to pay back their loans they can also require them to accurately report delays before the scheduled take off time. I knew it was a bad sign when my flight was scheduled to leave at 3:40PM, and they moved another flight to the same gate, taking off at 3:30 (“No, Mr. Yergler, your flight looks good.”). We were later told that we were waiting on a plane from Dallas (or was it Denver?) that took off 15 minutes after we were scheduled to leave Indianapolis. How that’s defined as “looking good” is beyond me.

So tomorrow is the start of the Gnome Hacker Summit, although why Luis is looking forward to meeting me is quite a mystery. OK, sleep, then up early to fix lingering bugs in the website.

date:2005-10-07 21:58:10