What I do at Google

Wednesday, December 28, 2005 Posted by

Friends and family often ask me what I do at Google. I can’t give details, but I can explain in general. And by posting this blog entry, I can refer people here!

Most of this information is available at code.google.com.

I work for Google’s open-source team. Our mission is to promote open source software (OSS) in multiple ways:

  • Opening Google code: …we help internally developed software get released as open source. See our projects page for a list.
  • Publishing Google APIs: …so that people can write 3rd-party applications that use our technology, such as search or maps. See our APIS page for a list.
  • Sponsoring OSS organizations: …we participate, both financially and politically, in important OSS organizations such as the FSF, Mozilla, Apache and Python foundations.
  • Participating in OSS communities: …we participate directly in OSS communities where we have expertise: Apache, Subversion, Firefox, Open Office. We attend OSS conferences and speak about open source.
  • Encouraging new generations of OSS coders… by creating programs like the Summer of Code, whereby we pay students to work with mentors on OSS coding projects.

Hopefully this gives you a better idea of what sort of things I do. If you’re interested in Google, send me an email, we’re always looking for new people!

Bubble-pack radio pirates

Tuesday, December 27, 2005 Posted by

So I picked up a pair of these nifty wristwatch walkie-talkies when browsing Fry’s Electronics. Super cheap, and they work as advertised with about a 1-mile range. They’ll be great for camping, hiking, geocaching — though my wife plans to use them as an intercom, so she can page me to come out of my basement music studio!

The strange thing about them that caught my eye in the instructions is the manufacturer’s warning: of the 22 radio channels they can use, 14 of them are freely usable, but the upper 8 channels “require an FCC license” to use. So I googled around for a bit, and discovered this bile-filled FAQ page telling me that I’m a radio pirate, and that I need to buy an $80 FCC license to use the device at all.

After spending an hour or two reading the FAQ and FCC websites, here’s my take on the situation.

Once upon a time, the FCC created something called General Mobile Radio Service (GMRS), which allowed individuals/families to create local radio networks for private use over a few-mile range. It required a license and radio call-letters to use, and was restricted to 8 frequencies. Then Radio Shack came along and propsed a new standard called “Family Radio System” (FRS), which was much lower power (half a watt, instead of 5 watts), and used 14 frequencies that lay between the GMRS frequencies. The FCC approved the standard, saying that that certified FRS radios didn’t require a license. Then, some evil electronics companies started marketing some super-cheap radios branded as “hybrid” FRS/GMRS: they could transmit on all 22 frequencies. The instructions said nothing about license requirements, and suddenly thousands of people were accidentally using GMRS without FCC licenses. The angry FAQ calls these people “bubble pack pirates”, referring to the packaging the cheap hybrid radios come in.

Well, as you can imagine, this phenomenon has greatly angered all the law-abiding radio enthusiasts. The FCC has been blindsided, and is too busy scanning airwaves (hunting terrorists) to bother to slap the hands all these accidental violations. As a result, the true radio hobbyists have turned into a self-righteous vigilante force. They patrol local GMRS networks, demanding people present their licensed call-signs. When they discover accidental pirates, they send them to the FAQ page and try to persuade them that they need to buy an FCC license.

The thing is, I don’t think their argument holds any water.

There’s no doubt that the FCC is a good and useful thing. The spectrum is a shared, scarce resource, and without FCC regulation it would be absolute anarchy. Whoever had the most electricity (i.e. big corporations) would dominate all airwaves. So the FCC intelligently requires people to license parts of the spectrum when the transmission signal is strong enough to interfere with others’ activities. But what I think we’re seeing in that angry FAQ is a bunch of radio hobbyists feeling cheated: “I had to pay $80 to use these frequencies, and now the rules changed, wahhh, it’s not fair.”

The hobbyists are arguing to the letter of the law, rather than the spirit. They claim that the FCC officially recognizes FRS radios and GMRS radios, but that it does not recognize hybrid radios capable of both. The law says that only 100% pure FRS radios are license-free, and therefore, they argue, anything else must require a license. In other words, simply because my device is capable of using GMRS, I have to buy a license. Sounds like a bunch of baloney to me, or perhaps sour grapes. It’s like arguing that if I don’t have a driver’s license, I’m not allowed to own a car. Sure, it would be illegal for me to drive the car, but it’s not illegal to own it and let it sit in my driveway. Likewise, I own a radio which is (questionably) able to broadcast on GMRS. If I don’t use that feature, I’m not breaking any law. (I say “questionably”, because my radio only outputs .3 watts, which is well below the .5 watt FRS maximum, and far below the 1 watt GMRS radio standard.)

The point is, I have an FRS radio that conforms to definition (and spirit) of the FRS law: it transmits extremely weakly, and on the correct free frequencies. As long as I avoid the GMRS frequencies, I’m not interfering with anyone else or breaking licensing laws. The hobbyists are angry at the hybrid-radio manufacturers for making it easy to accidentally break the law, but arguing that “the law doesn’t explicitly recognize these devices, thus you need a license” is extremely weak. I’d like to see what a court says about it.

The whole thing reminds me of the commercialization of the internet. In olden days, only elite computer hobbyists knew what email was, or how to have conversations on Usenet. When the net exploded in the mid-90’s, the old-timers got really irritated at the the influx of clueless newbies flooding the discussion boards. Sorry, that’s just how it goes.

After the baby

Tuesday, December 6, 2005 Posted by

A lot of folks have asked me, “so, has being a parent changed your life?” I’m always a little surprised by this question. It’s sort of like being asked if marriage has changed your life. On the one hand, nothing is different at all, especially if you’ve been dating for years or even living together. Your brain has already accepted the reality of partnership long before it became “official”. On the other hand, things feel different because the whole situation is official. It lends a warm cozy aura to the whole arrangement. With parenting, the same sort of thing applies. I had more than nine months to get used to the idea of being a parent, so when the kid actually showed up, I had no sudden traumatic realizations. It felt more like, “well, it’s about time, we’ve been ready and waiting for you for quite a while now.”

If you look at my eariler posts, you can see my anxiety about parenting. I was so focused on all the scary, bad things I had heard about parenthood. At one point, I think I irritated my mother with my negativity. She ended up asking me something like, “how can you be so down when this bundle of joy is about to appear?” I didn’t understand at all, but now I do.

I think that as a society, we’re really focused on the Negative. When a bunch of folks stand around a water cooler, it’s always considered perfectly fine to whine, complain, or commisserate about how awful situations are. We’re constantly looking for pity, looking to share horror stories. It’s not nearly so accepted to talk about joyful things. If you were to start spouting off about how great your job is, how great your vacation was, or how insanely happy your family makes you, it comes off sounding like braggery. Or maybe it would just be dull; it wouldn’t be nearly as dramatic as negative stories.

So before the baby came, all I’d ever heard about were parenting complaints: “oh god, the diaper changing is a nightmare”; “oh god, they’re so expensive”; “oh god, you’ll never have a moment to yourself ever again”; “oh god, your house will be destroyed”. What I didn’t hear were the tales of joy. Nobody ever talks about how sheerly intense the joy is — maybe there are simply no good words to describe an experience so intimate, so powerful, so elating. The whole scenario is so positive, that it turns out that all the annoyances are just background noise. They don’t even matter. I knew there had to be a reason why people decide to repeat the whole baby experience over and over, despite the negative public portrayal.

Poe with Music

Tuesday, November 22, 2005 Posted by
Comments closed

What? A new baby and a new job? Surely I don’t have time for another show right now. You’re right — but has that ever stopped me before?

For those who have been asking me: the next theater project I’m doing with Andre is a musical adaptation of an Edgar Allen Poe short-story: The Fall of the House of Usher. Just as Words on Fire and Winesburg, Ohio began, this production is being workshopped and presented to high school students as part of Steppenwolf Theater’s educational outreach program.

Our good friend Jessica Thebus is directing once again, and the script is being authored by a fascinating fellow named Mickle Maher. He’s retelling the story from the point of view of the sister — a character who never speaks in the original story. Andre and I will be incorporating music on piano, guitar, and some interesting live-choral textures into the show. It should be very interesting. You can read Steppenwolf’s description of the show here.

The Risks of Distributed Version Control

Thursday, November 10, 2005 Posted by

It’s funny how times change. When we started writing Subversion five years ago, CVS was the big evil beast that we were aiming to “subvert”. These days, while Subversion still has a long way to go in performance and features, it has reached critical mass in the open source world. The users@ list has thousands of subscribers and has become self-supporting. Every major free operating system ships with a relatively recent version of subversion. There are several books in the bookstore about Subversion. Major projects like KDE, Apache, and GCC have switched to it, along with dozens of others. When you run across an open source project using Subversion these days, it’s no longer a novelty. It’s become the default safe choice for most new projects.

And now, lo and behold, a whole new generation of version control systems has appeared on the horizon: arch, codeville, monotone, bazaar-ng, svk, git, mercurial. These are the new kids in town — the Distributed Version Control systems — and they aim to unseat the establishment. Yes, you heard right: Subversion is now The Man. I wonder when that happened? 🙂

What makes this new generation of systems fundamentally different is that they take the idea of “disconnected operations” to the extreme. Every user has an entire copy of the repository — 100% of a project’s history — stored on the local computer. Each person is effectively an island onto themselves. Users connect their private repostories together in any way they wish and trade changes like baseball cards; the system automatically tracks which changes you have and which ones you don’t.

There’s something fresh and self-empowering about this model, because it’s a superset of CVS and Subversion’s traditional single-repository model. An open source project can decide that exactly one repository is the Master, and expect all participants to push and pull changes from that master repository as needed. Of course, a project can also organize itself into more interesting shapes: a tree-like hierarchy of repositories, a ring of repositories, or even just a randomly connected graph. It’s tremendously flexible.

Proponents of these systems tend to be a bit fanatical about their “superiority” over today’s centralized systems. Over and over, I hear testimonials like this:

“It’s great! If I want to implement a new feature, I don’t need to have commit access at all. I have my own private copy of the repository, so I can write the whole thing by myself. I commit changes to my private repository as often as I want until it’s all finished. Then I can present the whole thing to everyone else.”

This user is describing a great convenience, but I view it in a slightly darker light. Notice what this user is now able to do: he wants to to crawl off into a cave, work for weeks on a complex feature by himself, then present it as a polished result to the main codebase. And this is exactly the sort of behavior that I think is bad for open source communities. Open source communities need to work together. They need to agree on common goals, discuss designs, and constantly review each other’s work.

In the subversion community, we call the behavior above “dropping a bomb”. It’s considered anti-social and anti-cooperative. Usually the new feature is so big and complex, it’s nearly impossible to review. If it’s hard to review, then it’s hard to accept into the main codebase, hard to maintain code quality, and hard for anyone but the original author to maintain the feature. When this happens, we typically scold the person(s) for not working out in the open.

Good Behavior, on the other hand, involves coming to the community with a design proposal. After some discussion, we ask the developer(s) to either (1) submit a series of patches as work progresses, or (2) give him (or them) a private branch to work on. They needn’t have commit-access to the core code — a branch is all that’s needed. That way the larger community can review the smaller commits as they come in, discuss, give feedback, and keep the developers in the loop. The main goal here is never to be surprised by some huge code change. It keeps the community focused on common goals and aware of each other’s progress.

So while most people say: “isn’t it great that I can fork the whole project without anyone knowing! ” My reaction is, “yikes, why aren’t you working with everyone else? why aren’t you asking for commit access?” This is a problem that is solved socially: projects should actively encourage side-work of small teams and grant access to private branches early and often.

I probably sound like Mr. Anti-Distributed-Version-Control, but I’m really not. It’s definitely cool, and definitely convenient. I just think it’s something that needs to be used very carefully, because the very conveniences it provides also promote fragmentary social behaviors that aren’t healthy for open source communities.

For more on this subject, see this essay by Greg Hudson — it was the writing which originally had my head nodding on this topic. Also relevant is Karl Fogel’s excellent new book, Producing Open Source Software. It’s all about managing and promoting healthy open source developer communities.

Jeff Award

Tuesday, November 8, 2005 Posted by

Last night, Andre and I got a Joseph Jefferson Award for original incidental music. (The Jeff Awards are sort of like the Tony awards for the Chicago theater scene). People poked all sorts of fun at us — “guess you’ll have to add another shelf to your trophy case”, etc. It’s true, we’ve received a bunch of these awards over the last ten years. What unsettling, though, is that this year we got an award based on a semi-misunderstanding.

The show had all sorts of Film Noir music, and most of it was pulled from famous jazz CDs. Yet the nomination was for “original music”. Andre originally emailed the awards committee and tried to explain. They asked him if any of the music was original, and the answer was, “sure, 1 or 2 pieces, maybe”. And that was apparently enough.

So the irony is that of the two shows we were nominated for, the show for which we actually composed and scored music and hired session musicians to record — it didn’t win the award. Instead, it went to the show with the mostly-unoriginal music. One of our sound-designer friends told us not to sweat it, that this sort of thing happens all the time. He told us to think of the award as general recognition from the theater community… and he’s right, we’re still really thankful to be working in such a great town with such amazing artists.

New character

Monday, October 24, 2005 Posted by

So after months of work, we’ve finished building a new character. It took a lot of effort and late nights of snacking, but we think the result is well worth it. We see great potential for future development.

At the moment, though, the abilities are a bit lacking, much what you’d expect for a level 0 figure. Strength and Constitution are quite low, barely strong enough to lift his own head. Dexterity, however, is quite high — able to touch his feet to his groin with no problems whatsoever. Intelligence is lacking, though we feel this will grow over time with more XP. Wisdom is fair — he knows when not to sweat the small stuff, and stays tightly focused on the things going on inside him. Charisma, however, is through the roof. He charms everyone he sees. We need to be careful about allowing him to recklessly wield such power!

As one would expect with a low-level, the skill set is also still severely lacking. Almost all of his skill points seem to be invested in sleeping, eating, and digesting… though I was suprised by his subtle Escape Artist skills when dressing him this morning, and his Bluff skills when trying to read his varied facial expressions. He’s also apparently invested many ranks in Diplomacy: he’s able to make scads of minions fall over backwards to serve his every whim. We’ve initially equipped him with nothing but a simple wrapped robe and boots of warming. This should be all he needs for his initial encounters.

Emmett Laith, wee commoner: Human Cmnr 0; CR 0; Tiny humanoid (human); HD 1/2; hp 2; Init -2; Speed 0; AC 10, touch 10, flat-footed 10; Base Attack -3; Attack -3 melee (1d4-3, unclipped fingernails); Attack +2 ranged (1d4, scream); SA heightened smell 30′; SQ charm 15/day; AL NG; SV Fort -2, Ref +1, Will 0; Str 3, Dex 18, Con 5, Int 4, Wis 12, Cha 20. Skills: Concentration +4, Diplomacy +8, Bluff +6, Sense Motive +4, Survival +10.

A Very Small Banjo World

Sunday, October 16, 2005 Posted by

So I’m finally getting frustrated with my cheap “beginner” banjo. The The pegs are super-cheap; whenever I try to tighten the drum head, they slip off. The action above the 5th fret is terrible, probably due to cheap-neck curvature. The tone is weak, and I’m insanely jealous when I listen to my teacher play his banjo. One day I asked my teacher: “why does your banjo sound so GOOD?”. He said that it was “all about the rim” — it turns out he’s playing a Stelling Bellflower with a Tony Pass rim. What an incredible, punchy tone. It just cuts right through you.

Oh Yes, It Will Be Mine.

It’s funny, I used to think that it was wrong to buy expensive instruments unless you were a truly great player and “worthy” of such hardware. But now I realize that even if you’re still an intermediate player, having a really nice instrument is just an incentive to practice more often… it makes everything more enjoyable! My teacher was right: if having a nice instrument makes you pick it up more often, then it’s worth every penny.

In any case, I posted some of my questions about rims to the discussion board on www.banjohangout.org, and it generated a number of interesting responses. Even more interesting is that a couple of days later, I got a private email from Tony Pass himself! He offered to answer any questions I had about building or buying a banjo, a really sincere email. Tony said I’d be “surprised at how cheap I can put together a professional quality banjo.”

Moral of story:

  • It’s a really small banjo world. Every banjo player knows every other one, and the folks who build banjos are even more famous (and just as accessible) in the community.
  • I don’t know squat about banjo construction. I’ve got a lot of reading to do, and a lot of research to do. Maybe I’ll take a drive up to Elderly Instruments in East Lansing, MI, or maybe I’ll head down to visit the Squeaky Animal Studio in Nashville. I’m sure Mark and Marg are surrounded by banjo-crafters and dealers.

Until I try a whole bunch of different banjos, I have no idea what “sound” I want, much less how to ask an expert to build one for me. Ah well, all in good time. I’ll keep saving my pennies and doing my research.

Tuna: Genova

Thursday, October 13, 2005 Posted by

This week’s tuna is what I refer to as “old reliable” — Genova brand tuna. It may not be the finest out there, but like a good friend, it’s always available and satisfying. It’s still a step above the common mass-produced tuna of Starkist and Chicken of the Sea, though not by much. Genova is really a sub-brand of Chicken of the Sea, packaged fancily to appear that it just arrived off the boat from Italy, rather than a fish-farm:

To the untrained buyer of tuna, the two distinguishing features of this can (beyond the foreign-language marketing) are (1) it’s packed in olive oil, and (2) it’s yellowfin tuna. And no matter how you beat around the bush, it’s hard to put down yellowfin. It just tastes better than the more common bluefin or pale-bland albacore species that fill most of the supermarket shelf. It’s got a richer flavor and all-around meatier texture.

The olive oil is cheap and mixes entirely with the tuna. The result is a cloudy, mucky solution that my cat won’t come near. But does it matter? Not really. One could argue that the total exchange of olive and fish oils is precisely what makes the tuna’s flesh taste so good. It’s not a “pure” tuna taste, but some sort of rich hybrid of animal and vegetable fats.

Let’s me honest here. There’s a time for snobiness, and a time to just get down-and-dirty with the common folk. You can go around ordering eight dollar beers at yuppie bars, but when you’ve been out sweating in the sun all day doing garden-work, nothing tastes better than a cheap Corona. Likewise, when I just need to kick back after a long day of changing 1’s into 0’s and 0’s into 1’s, nothing satisfies my primal fish urge better than a can of Genova. It’s not a tuna for the ages, but it’s still my basic pantry staple. I couldn’t go without it.

This is a working-man’s tuna. I salute it heartily.

Recent Theater Successes

Monday, September 19, 2005 Posted by
Comments closed

Woo, Andre and I received three Jeff Award nominations for sound design and original music. (Andre received two more for work he did with other designers!) The one I’m really proud of is the music we composed & recorded for Mary Zimmerman’s new play adaptation, Silk. It will be headed out to Berkeley Repertory next year, I think.

In other news, the newest incarnation of our original musical, Winesburg, Ohio, is opening at the Arden Theatre in Philadelphia. I was out there for a few days last week, and the cast is excellent. We even rewrote a couple of songs. I think it’s going to be a great production — the theater has 6000 subscribers, so it will likely get a lot of press and exposure! If you’re anywhere near Philly, come see the show between October 6 and November 6.