Author Archive

Firefox 2.0

Posted by on Wednesday, 1 November, 2006

I tried to like Firefox 2.0. Really. I tried. I’m a huge fan of Firefox 1.5.

The first problem is that it doesn’t feel like a 2.0 release. There’s nothing obviously better or worse about it; all the features are new things under the hood, not normally visible to users. If I secretly swapped your old Firefox for Firefox 2.0, I doubt you’d notice.

That said, I’m still happy about getting the internal improvements like “better phishing protection”, automated search-term suggestions, session resumption, web feed awareness, and javascript 1.7. Seem like nice things to have, even if they’re not particularly compelling.

The thing is, Firefox 1.5 has crashed on me… oh, maybe twice in the last year or so. But Firefox 2.0 has crashed on me every day for a week now. I’ve given up on it for the time being. I’ll wait for 2.1 to see if the stability improves.

More Goings On

Posted by on Monday, 23 October, 2006

The Subversion Summit was a huge success, you can read various bits about on the shared Subversion developer blog.

I’m currently heads-down, working on a new musical-like chidren’s play — Ray Bradbury’s Dandelion Wine, which is opening at the Chicago Children’s Theatre next month.

And finally, a local magazine published an interview of me and my two engineering cohorts at the Google Chicago office. Whee!

Two Great Computer Summits

Posted by on Sunday, 15 October, 2006

I’m back in Silicon valley this week, attending two different gatherings.

The first was yesterday, a summit for mentors who participated in Google’s Summer of Code program. It was really incredible รขโ‚ฌโ€ about 80 representatives from a huge array of open source projects all gathering at Google to talk about their experiences mentoring students. Fitz and I got to give our fun ‘how to protect your project from poisonous people’ talk that we gave at the last OSCON, and it was like a group therapy session. Lots of nodding heads and empathy all around.

Monday through Wednesday of this week is the very first Subversion Developer Summit. Subversion has a thriving developer community, but we’ve never actually gathered in one place before… most of us have never met in person! So we’re going to be holed up in a big conference room at Google this week, planning the future of Subversion. Results of our discussions will probably be posted to some sort of group blog.

Fun times!

New Backyard

Posted by on Sunday, 24 September, 2006

We’ve been in our house more than 5 years now. It started out as a decrepit place, artifically split into two apartments. After a couple of years of hellish gut-rehabbing (while living there), it came out as a beautiful single family home again. And, as by my wife’s design, the kitchen is fully half of the first floor.

Since the rehab, we’ve been focusing our savings on fixing up the exterior of the house. Last year we removed the horrible light-blue aluminum siding and replaced it with painted cedar planks. The backyard, however, had been turned into a dead field full of broken glass, nails, and wood chips. Construction will do that.

it just so turns out that the electric guitar player at my weekly folk jam is a professional landscape designer, now gone freelance. He drafted up a new yard for us, something full of vegetables, ferns, fruit trees, flowering bushes, and lots of native prairie grass. He even put in a brick patio:

It only took about 3 weeks… poof, a new yard! Yeah, it’s kinda stumpy right now. But in a couple of years, the plants will all spread out and no dirt will be showing. Woo!

(For those playing along at home, yes, the two yard images were taken with a wide-angle 19mm lens.)

Three Strikes

Posted by on Thursday, 7 September, 2006

Blogs are supposed to be places for rants, right? Well, I’m really annoyed, so here’s my rant.

My wife and I joined the local YMCA last April. We paid for a one-year family membership up front. I’ve been going to the Y every week or so, mostly to swim laps before work, occasionally to use the gym.

Strike 1: Three times over the last six months, I’ve shown up to swim, change into my swimsuit and towel, only to find the pool door locked. I get dressed again, come back out, and am told, “oops, the lifeguard just never showed up.” I finally filed a written complaint about this about two months ago, suggesting they hire a new lifeguard.

Strike 2: In August, we received a letter saying that our YMCA was going to close down, that they were selling the building next spring. The letter also said that this was a confirmation of a similar letter that had been sent out in March. Hm, that’s funny. So we signed up for a 1-year membership on April 29th, but as we forked over our wad of cash to the administrative folks at the desk, nobody bothered to tell us that the YMCA might not exist in a year? Seems a tad slimy, don’t you think? (Are we going to get a partial refund if they close before April 2007?)

Strike 3: I came to the Y to swim this morning. They swiped my membership card, and told me “Sorry, you have no membership.” I was dumbfounded, and told them that I had been coming for six months. According to their computers, however, the ID number on the card had expired in the year 2000. I told them, yes, I had briefly been a member of a different YMCA back in 2000, but that I had been using this ID just fine for six months. The woman insisted that the card must be six years old, despite the fact that the photo shows me wearing glasses I’ve only had for three years. I tried to point that out, and explain that the old ID number must have been accidentally placed on the card last April, and that the computer must have only just started noticing this fact. After 20 minutes of bickering, they finally located my wife in the system, then cut up my ID card and forced me to buy a new $7 card on the spot.

So finally, I went in, put on my swimsuit, and discovered the pool was locked. Again. No lifeguard.

So let me say this: I am REALLY GLAD that the New City YMCA (1515 N. Halsted, Chicago) is shutting down next spring. This the most mismanaged health center I have ever experienced. The national YMCA organization should definitely put their money into other YMCAs, and I pray the other YMCA’s don’t rehire whatever administrative imbiciles are running this place.

Slides for our talks

Posted by on Thursday, 3 August, 2006

I’ve been getting lots of emails asking for slides of the two talks that Fitz and I gave at OSCON. One of these talks was deemed the best talk of the conference by Ted Leung… and we’re flattered! I’ve posted PDF files of the two talks at this location.

What I’ve Really Been Working on at Google

Posted by on Friday, 28 July, 2006

It’s been a long week. After almost a year at Google, our team finally released our new service to the world at OSCON this week in Portland. Of course, I didn’t actually get to attend the conference; I spent four days holed up in a smelly hotel room with three other team-mates, trying to prepare for public launch. This lovely photo shows us like the caged animals we are.

My co-worker Fitz and I did manage to escape the hotel room twice to present two talks. We’ve been working together so long now that we can actually finish each other’s sentences, so we’ve turned this abliity into a presentation gimmick. We stand in front of crowds each holding a microphone, riffing on slide bullets back and forth. I’m not sure if it’s comedic or just novel, but we get really great feedback. One blogger did an amazing writeup of our first talk, and another blogger practically republished the slides of our second talk. A third blogger said that our first talk was the “best session of the day”. Woo!

In any case, the real news is our product announcement.

Long ago I made post describing What I Do at Google. Namely, I work on the Open Source team, whose mission is to promote open source software development however we can: create more of it, and make it better. Working for a large company like Google, we have two main resources: (1) money, and (2) a massive data-serving infrastructure. Given these resources, how can we accomplish our mission? Our team has been using money in a few ways. We make financial donations to important open source projects, and sometimes even pay people to work full-time on them. We also fund the hugely successful Summer of Code program, which pays hundreds students to work on open source software as ‘virtual summer internship’; the result is not only accelerated open source development across the board, but a whole new generation of open source programmers.

But it’s the massive data-serving infrastructure that we’ve not really used much — until now. Our big product announcement was Open Source Project Hosting on our team’s main website, code.google.com. You can read all the gritty details in our FAQ, and there are many blogs and news posts that talk about our new service, as well as folks posting screen shots.

The general jist of the service is: come to our site and create an open source project. There’s no approval process. Within a few seconds, your project is ready to go. You get a super-simple front page which describes your project, an issue tracker, and a Subversion repository to store your source code.

No, this is not a new concept. There are many project-hosting sites out there such as Sourceforge and Tigris. Our intent isn’t to compete directly with these sites, but rather to provide more options to open source developers; we feel that we’ve got a fresh new take on project hosting, and we’re excited to see how developers make use of it. Following the motto on our front page, we’ve “released early” (our service is admittedly quite spartan right now) but also plan to “release often” — there are a whole slew of new features planned over the next several months.

Let me draw your attention to the two main features we’re providing at launch. The issue tracker (written by a team-mate of mine) is unlike any I’ve ever seen. Like many Google products, it’s extremely fast and AJAX-y, has cool customizable views, and has a simple Gmail-like interface. Instead of forcing users to fill out myriads of fields, the issue entry is simple and uncluttered. Developers can invent any sort of arbitrary ‘labels’ to describe an issue, much like Gmail labels. The issue tracker then uses Google search technology to search over all of the data in a free-form fashion. There’s just one search box. I really think it’s a whole new approach to issue tracking applications, and we hope it’s useful to open source developers.

However, the thing which I’ve been working on for the last ten months (with Fitz) is the Subversion hosting feature. A typical Subversion repository has two different back-end options for storing your code: either a BerkeleyDB database or a FSFS (flat filesystem) store. What Fitz and I have done is write a new Google-specific back-end which stores the code in our datacenters, specifically in an internal technology called Bigtable. Jeff Dean (another Googler) has given public presentations about Bigtable, and you can read more about this technology by Googling for it. It’s much like a gigantic spreadsheet for holding data, but it can run over thousands of machines spread over mulitple datacenters. So just like other Google services (picasaweb, Gmail, Calendar, etc.), your data gets put into a massively scalable, redundant, and reliable system. I know that in the past, I’ve been personally frustrated when my own Subversion server goes down; it can be a lot of work to manage your own repository. Instead of being distracted with that, let Google Code be your free host, and get on with coding!

I know that some of my closer friends may wonder if I’ve turned to the Dark Side. Aren’t I the same guy who worked on open-source Subversion for five years? Who wrote a free book about Subversion? Why have I spent time all this time writing a proprietary (!) extension to an open source system? My answer is that it’s all about seeing the forest through the trees. Yes, I wish that our new Subversion back-end were open-sourceable, but it’s not a realistic possibility. Google has amazing hardware and a complex mountain of software to make use of it effectively, but it’s all one proprietary ecosystem. Releasing this new Subversion back-end as open source would be meaningless, since it’s not something that can function outside of Google. That said, the point here is the larger, longer-term benefit: by providing free, highly-available Subversion repositories to the world at large, we open to “embiggen” open source everywhere. (Yes, that’s the word used by my team leader, Chris DiBona). ๐Ÿ™‚

To technical friends: I hope this post has been enlightening. To my nontechnical friends and family: hope that wasn’t too much babble!

iPod shields and… no sales tax

Posted by on Sunday, 23 July, 2006

I recently received an iPod Nano as a (very expensive!) gift. I have to say, the user interface beats the pants off my old samsung mp3 player. It’s just wonderful. All my iPod-toting friends gave me a unanimous warning about getting some sort of protective case for it, to ward off the horrible scratches that quickly accumulate on the device’s screen and mirror finish. Fair enough, so I went with one recommendation and got the invisible shield. Instead of a big bulky case (which defeats the point of the Nano’s sexy thinness), this is an invisible space-age plastic laminate that covers the device. You can’t even tell it’s on, except for the fact that the device takes on a slightly tacky, rubbery texture. This ain’t so simple plastic wrap though. This is the same freakish, indestructible material they designed for the edges of helicopter blades! What’s really entertaining is the video showing somebody snapping a pen in half while trying to poke a hole in the material, or watching some guy just repeatedly stab at his shielded iPod with car keys. It’s almost too painful to watch.

Well, I’m glad I got the shield anyway, since yesterday I dicovered my 9-month old son happily chewing on the device with his newly minted 6 teeth. Not a scratch! (On the device, that is… I have no idea about my son’s teeth.)

Thanks, Invisible Shield!

I splurged and bought a remote-control that adds a radio feature to the iPod (so I can keep listening to NPR), and then yesterday I bought a recording of Bradbury’s Martian Chronicles on the iTunes Music Store. It was great to listen to a book on the plane to Portland today.

Portland? Yes, Portland, for the O’Reilly Open Source Convention, where I’m giving two talks. After getting to my hotel, I went into a sandwich shop and saw a nice veggie sandwich on the menu for $5.70. I went to the register and ordered the sandwich.

Me: “I’d like the veggie sandwich.”
Clerk: “Is that all?”
Me: “Yep.”
[awkard silence]
Me: “So… how much?”
[Clerk stares at me with giant expression of “duh”]
Clerk: “$5.70, like the menu says.”
Me: “Oh.”

That’s right, I had forgotten that Oregon has No Sales Tax. This is strange, because it seems that a line of my pre-programmed buying-stuff script is missing. I was busy waiting for the guy to tell me what the total was, and he was just waiting for me to fork over the already-obvious amount of money. Weird.

Spontaneity, Bottled for your Consumption

Posted by on Wednesday, 19 July, 2006

A couple of weeks ago, it seems that the leader of our Friday Night Jam group decided to secretly record the dozen or so of us. He gave us a CD last week, and the results are surprising! For one, I’m singing really out of tune on the one song I lead… I wouldn’t have been so sloppy if I knew I was being memorialized!

The really great track, however, was Freeborn Man. It’s just so much fun to listen to. Straight up bluegrass, not too fast or slow…. seven minutes of selfish giddy music. The song is led by one of our excellent electric guitar players,and he really leads the song. He calls on people to solo (me, a mando player, another electric player), and even does this great “build up” from drums and bass to full ensemble. I love the sheer joy in this performance.

And I’m not even too ashamed of my banjo playing: you can hear me keeping a steady syncopated beat all the way through. I do a short solo near the beginning, and a longer one about 5 minutes into the recording. Nothing stellar, but at least I’m comfortable with the limited improv. ๐Ÿ™‚

You can download the mp3 here.

New Camera

Posted by on Wednesday, 14 June, 2006

So I have to admit… like every new parent, we’ve been videotaping the baby and taking lots of digital photos. Our main audience seems to be grandparents, who eagerly await uploads of grandson photos every few weeks. But after seeing the photos taken by my uncle and co-worker, I realized the gigantic difference between our 4-year-old, 2-megapixel digital camera and the “real” digital SLR cameras they were using. Holy moly.

So I couldn’t take it anymore, and bought a digital SLR last weekend… after a bunch of research, of course! The camera of choice was a Canon 30D, for a few reasons: first, my co-worker can give me tech support, since he’s a Canon user; second, Canon and Nikon seem to be in 3rd and 4th generation products, whereas other companies seem to have 1.0 products; third, my wife already owned a few Canon lenses from her analog camera, which are automatically compatible.

I’ve not used an SLR since I was in high school back in the mid-80’s. I owned an old Pentax ME Super (now on the cover of Autumn War’s Camera album), and it was almost totally manual. Manual focus, manual aperture. The most it could do was use its light meter to set the shutter speed. The best feature, though, was a fixed-length 50mm f/1.4 lens which let in a lot of light. It was the perfect camera for learning black & white photography. (In those days, I even had a darkroom in my parents’ basement!)

So this new Canon 30D is fascinating to me. It autofocuses for me if I want, which is nice. I can choose either aperture or shutter speed, and it will choose the other for me. Or, if I don’t want to think, it can do absolutely everything for me. What really blows my mind is the abliity to set the “virtual” ISO light sensitivity on the fly, as well as the exposure. This thing will do auto-exposure bracketing, and can even do rapid-fire photos for a moving subject. Point camera at wiggling baby, and bam, 25 photos taken in 5 seconds. One of them will look good, right? Hey, if you throw a bunch of spaghetti on the wall, something is gonna stick!

The only thing I was unhappy with was the zoom lens that ships with the camera. Yes, it’s a zoom lens, which is a nice thing, but it has a maximum aperture of f/3.5, which doesn’t cut it. I hate using a flash in low-light situations, and want the ability to do short depth-of-field photos. So at my co-worker’s recommendation, I bought a really basic lens just like the one on my old Pentax: 50mm f/1.8. My wife and I will just have to switch lenses. She can enjoy the zoom, and I can use my wide-aperture lens.

People have been asking me for photo samples, so here are a couple of early photos. The first photo ever taken, showing the boy attempting to eat some cat food. Later that day, he decided that mom’s toothbrush was in fact the most exciting toy ever, crawling all over the house with it in hand. He ultimately fell asleep on me, still clutching it.