Saturday, February 23, 2008

More on Internet-Fame -- Seriously!

Recently I talked about the subtle strangeness of working on a high-visibility project. My take on it was a little silly, but David Welton has a much more thoughtful analysis.

I think he's spot-on, and makes several great points. And he even gets comments! ;)

Sunday, February 17, 2008

N-ary the k-th

I'm n-ary the tree, I am
N-ary the tree I am, I am
I got traversed by the Iterator next door
She's iterated several things before
And every one was an n-ary (n-ary!)
She couldn't touch a stack, queue, or a DAG (or a DAG!)
I'm her k-th parse-ee, I'm n-ary
N-ary the tree I am!

Next pass -- same as the last!

I'm n-ary the tree, I am
N-ary the tree I am, I am
I got traversed by the Iterator next door
She's iterated several things before
And every one was an n-ary (n-ary!)
She couldn't touch a stack, queue, or a DAG (or a DAG!)
I'm her k-th parse-ee, I'm n-ary
N-ary the tree I am!

Parsed
Re-
Curse-ive-ly!

N-ary! (N-ary!)
N-ary! (N-ary!)
N-ary the tree I am, I am
N-ary the tree I am!

Saturday, February 16, 2008

On Internet-Fame

Android is the first project I've worked on that gets regular press coverage. This has been a wild experience so far, to say the least. It's at once weird, fascinating, amusing, and dismaying.

It's weird because occasionally I'll see stories or commentaries about Android that catch me off guard. For instance, when I did the Android introduction video that's on YouTube, I knew what to expect from the viewer comments. This is the Internet after all, and I'm a USENET veteran. What I didn't expect was to be compared to a Muppet.

Other times, I'll find myself fascinated by the latest detailed analysis of our "Android strategy." It's fascinating to read about your own plans and goals -- especially when they're wrong. The resulting cognitive dissonance ("is THAT what we're doing?") is not to be missed. My favorites are the advertising-related conspiracies. We've said repeatedly that Android is not about advertising, but I guess some people either haven't heard or don't believe us.

In fact, I've had to get quite used to not being believed. It's amazing how many times we'll say one thing and then see someone else repeat it, but with a preface like "Google claims that..." I think it's just that people are well-trained to mistrust companies. Sometimes no matter how flatly I state something, people assume I'm just a soulless spokesweasel. On occasion I take it as a sort of personal rhetorical challenge to see how many slightly different ways I can rephrase the same pointblank statement until someone actually believes me.

Ahh, good times. I think next week I need to write a lot of code to counteract all this. Hacking on some software is the universal antidote to the silly squishiness of the world of evangelism.

Sunday, February 10, 2008

Dear Munich: May I come back, please?

When I was a kid, my family moved around a lot. I saw (and lived in) well more than my fair share of the United States, and maybe that burned me out on travel. I certainly never had the wanderlust that many people I know have. Sure, I thought it might be neat to see London or maybe Paris once, but you know, I hate planes, and travel means a lot of hassle and time away from home...

So that's how it came to pass that I spent thirty years on this spinning blue ball and only ever visited the North American land mass. But boy howdy, did THAT change in a hurry. It never rains but it pours, and a couple weeks ago I had occasion to collect a couple new continents.

I visited Munich, Tel Aviv, and London. It was a whirlwind tour, and I only really had any time to look around in Munich. That time, though, was well spent. I loved Munich, and I can't wait to go back.

My friend and colleague Jason Chen traveled with me. (I should say I traveled with him, because he's the experienced globetrotter. If you ever need to travel internationally, you could do a lot worse than picking Jason as your companion.) I mention that mostly to say that if you want to see some photos, you'll have to visit his site, since I am "between cameras" at the moment.

So as I said, I loved Munich. But there are so many questions! Like these:
  • Remember, it's spelt M-U-N-I-C-H, but it's pronounced "M√ľnchen". I guess? I need someone to explain this to me.
  • The Marienplatz is pretty awesome, but why is that building called the Glockenspiel? Was it named after a person? I need someone to explain this to me.
  • Some parts of the autobahn appeared to have speed limits, but I was unable to figure out what the pattern was. I need someone to explain this to me.
  • What is the name of that character that looks like a Greek beta with a long tail, and what is its phoneme? I need someone to explain this to me.
I realize that I could answer these questions via Wikipedia, but that would mean I'd have less reason to go back. I'd rather let them remain a mystery until I can take Aimee and go back, and have some of the amazingly friendly locals explain them to me.

Oh, and our Android session went really really well, too.

Friday, February 8, 2008

Shopkeeper to the Pioneers

Shortly after I graduated from undergrad, my mom once asked me why I liked computer science so much. I told her that writing a piece of software is as near to the act of pure creation as you can get: you start with nothing but an idea, but you end up with something tangible. Or well, at least something to show for your work, if not something "tangible" per se.

Later in my career I refined that answer a little. I realized that for me, there's more to the joy of programming that the simple purity of writing lines of code. I like to do new things, but I'm impatient. I like to stand on the shoulders of giants, making connections between grand ideas that others have come up with.

If I were a pioneer in colonial America, I wouldn't be one of the folks beating the earth into submission with nothing but sweat and a plowshare. I'm not the kind of person who goes out to blaze new trails and explore uncharted territories. Those kinds of pioneers get the thrill of doing something new, but usually the only scenery they get to see is the scenery they're personally exploring.

Instead, I'd be an enabler: the general store-keeper. All those pioneers out there making history have to get their supplies from somewhere, and when they do, I'd get to hear their stories. I'd get to see their homesteads, and pass along advice and lore among visitors to my store. I probably wouldn't get to make history on my own, but I'd get to be a small part of a lot of great histories.

That's why I love my current job. Google has a lot of developer tools, like GWT, Gears, and Android, and a lot of pioneers are out there on the web doing cool new things with them. I'm not out there building the sites; instead, I'm tending my shop, getting them the tools they need, spreading their lore, and being a small part of a lot of great sites. Sometimes I even devise a new tool of my own, to help them out.

I'm excited by constantly being exposed to neat new ideas, and I love learning. I can't imagine a job more fun than where I am now, sitting in the middle of this crazy, furious, flurry of new ideas that is the open web and mobile.