Tuesday, December 16, 2008

Stop resizing my window!

Hey all you javascript programmers out there, and all you html people who copy and paste:

Stop resizing my browser windows!

Why do you want me to have less room to read your nice information? Why do you take a nice page that fits completely in my browser window, and put it inside a window that's too small to show it all, so that I have to use the scrollbars?

A browser is not a paint program! Web pages don't have edges! Stop it!

Monday, December 15, 2008

I love Klaatu

I saw The Day The Earth Stood Still and was quite pleasantly surprised. I loved it. I love Klaatu. Only Keanu could play Klaatu.

I bought the tickets online, and the site then sent me a link to some reviews. The reviews bothered me, so I posted my own review:

This movie was just wonderful. I found myself desperately wishing Klaatu was really on his way. This story couldn't be more relevant, and no one could possibly have played Klaatu other than Keanu.

I'm saddened to see a lot of reviewers here who didn't like the movie because it had too much Environmentalism and not enough Bone-Headed Action-Adventure Stupidity. This movie is thrilling and terrifying, if you just pay attention to the story, and to what the story is a metaphor for.

Maybe you weren't able to really enjoy the movie because you're running low on American Exceptionalism Vitamin. Unacceptable! Print out this handy cheat-sheet and bring it with you to the theater the next time you see a movie that you suspect might not satisfy:

Get on the horn! The president is waiting! Scramble the jets! Put your hands in the air! Put down the gun! Get a life! Bring it on! Over my dead body! Won't get fooled again! Cold dead hands! I'll be back! I'll be back, Bennett! That's no moon! This is Sparta! Say hello to my little friend! Resistance is futile! They'll never take our freedom! Yippie Ki Yea Mother Fucker! Steers and Queers! Do ya, punk? Get away from her, you bitch! I'll tell you about my mother! Get off my plane! I am your father! Hasta la vista! I am the law! There are always two deaths! Frankly, my dear, I don't give a damn! Shaken, not stirred! This is my rifle, this is my gun, this is for fighting, this is for fun! You're an errand boy! I make this look good! Fly, you fools! It's sex with someone I love! Life is like a box of chocolates! Elaine! Red Rain! Ma, I love him awful! You wouldn't like me when I'm angry!

Sadly, there was a 750-character limit, which I didn't find out until I tried to post it. (I should have been tipped off by the insistent message "minimum length reached", perhaps.) And they they detected the "profanity", although I think they were referring to the potty-language, so I had to work around that. AND it gets reviewed first, so I'm thinking they might not actually put it up there.

Wednesday, December 10, 2008

Lego Nancy: Scandal!

So I come in to work today, and I get my coffee, and I look over and see if Nancy is still there, and today she isn't.

She's on a table. She's kind of separated into two pieces, and there is a column of about 6 1x1 pieces taken out. What the fuck?

Now, it might have fallen off the shelf. The other portraits seem to be glued to some kind of stiff backing. Now, I remember, from my childhood, that there were some kids who would glue their legos together. You know, the kind of kids who might glue anything to anything, and they glue their lego to a barbie head, or to other lego.

Now, I'm all for kids gluing things to other things, but gluing lego is heresy -- a misuse of a great thing. Not just a misuse, but a misuse with a certain painful irony. Like Using a macbook for writing a screenplay, or using set-car!.

So I had affixed Nancy to a piece of cardboard, and held it all together with some large binder clips. Since the binder clips were on the bottom, it gave the whole thing a tendency to slip. So it might have slipped off. That's easier for me to believe than the other possibility, which is that someone came along and needed some 1x1 pieces and figured the easiest way would be to take them from the middle of one of the portraits.

I didn't restore the missing pieces -- let the crime show! But I pushed the two halves back together. And, MacGruber-style, I deftly scared up some rubber bands and cleverly wrapped them about the binder clips so they wouldn't slip again.

I went to put the thing back on the high shelf, and it just wouldn't quite fit. There was something in the way. There's some random lego junk up on that shelf, so I kind of pushed, and it turns out that there was some stupid 80-page marketing booklet up there, which, when moved, knocked a big chunk of lego off the shelf. A piece of some older project that had been stuffed up there. So that fell off and shattered all over the place.

Just as that happened, a whole bunch of Google Dudes were arriving, and one of them said, "heh, yer fired", and they all laughed and walked on. (Make no mistake, the nerd world has its own frat-boy stratum.) I ignored them. Another guy came in and, while talking on his cell phone, awkwardly picked up some pieces for me. That was nice.

I cleaned up and checked that Nancy wasn't going to slide again, and that was my breakfast!

Monday, November 10, 2008


Google NYC has a Lego area, as is publicly known. In particular, there are some lego portraits of luminaries who work at Google. However, there was room for another lego portrait, so I took a bunch of lego home and Susan and I put one together.

First, you have the two founders, shown at the top of this NYTimes photo:

(Recently, another one of Eric Schmidt has been added.)

Up on top of the lego storage shelves, on the left side, you have a couple of dudes whose names I don't know:

On the right, you have Brian Kernighan, who co-wrote my C textbook:

And, finally, ours:

So far, there's been no indication that anyone has even noticed it. But that's okay, I did it for my own delight.

Monday, April 21, 2008

Phone System 2.0

I realize the phone system is an example of a system that Just Works. It's got a pretty good interface. And I know that there is a lot of high tech behind a dial tone that still sounds like it's made from cans and waxed string.

However, here's an idea for a new version of the phone system interface. Useful, perhaps, not just for itself, but to inspire other ideas.

* If two people call each other at the same time, instead of 2 busy signals, how about just connecting them?

The 'how to' part is left as an exercise.

Thursday, January 10, 2008

The Death Star suddenly makes sense to me -- it's what you get when you build a skyscraper in zero gravity:

On EarthIn Space
So, now I work at Google. It's pretty great.

When I told my boss I was leaving, the first thing she said was, "you are making a BIG mistake". I was aghast, since we had had a good relationship during the four years I was there.

She went on to give a few vague reasons, but nothing that really explained the reaction. It kind of freaked me out, because I was already nervous about making such a big decision.

The next two weeks were rather bad. She told the other programmers, and it seemed like she convinced them, too, that it was a "big mistake". With one exception, no one congratulated me at first, and when they did, they sounded mournful, like I was leaving to live in an iron lung.

The same day, or maybe the next day, another programmer quit -- he'd been there for a long time, and was well-liked and essential. My boss announced that he was leaving, that they would really miss him, that he had done great work, that he was just so wonderful, that she would give him a 'quitting bonus' if she were allowed to. He was going to love his new job where they did things the way he liked, and so on.

Not a word about me, nothing. It continued to freak me out. My former boss is quite charismatic, and it doesn't really surprise me that she was able to turn their feelings against me.

It's not like I left in the middle of a project. I mean, you're always in the middle of a project, that's true for everyone, and everyone who had quit before had been sent off with the best wishes. It was even company policy that people are encouraged to grow and improve, etc. etc., and if that meant moving on to a new place, that's fine.

But not, apparently, for me.

Anyway, my code was working, it was mostly complete, it was in a usable state, etc. What did I do wrong? I know that they didn't really like my code, since it used lots of functions and had unit tests and all that annoying stuff, but so did the other guy who quit.

I was nervous about coming to Google, but I just wanted a change of pace, and Google certainly seemed like that. I've never worked at a big company (except for some contract work), and I didn't know if I would like it. I didn't really look forward to writing C++. I had once been a C++ pusher, but now I'm a die-hard functional programming pusher. What would become of me?

My wife and other family members were excited, because everyone's heard of Google and it's a big deal and all that. I felt some pressure, so I tried to play it off like it wasn't a big deal, what's all the fuss. But after about a day here, I must say, it's pretty great.

Before I decided to come here, I looked around on the web for blogs or mailing lists for disgruntled former Google employes. Those can tell you a lot about a company. I would have taken it with a grain of salt, because I know how they are biased and bitter, but there's still useful information to be gotten.

I couldn't find one. I think I found something someone said about working on something that never got used, but that's it. I was amazed. Nearly every place I had ever worked at, or even contracted for, had some place you could laugh about your former company. But not Google.

Now, I can tell why. There's just not that much to complain about. It's eerie.

I could go on about this place, but the highlights: it's good for programmers; it's casual; people are smart; there's free, high-quality, healthy vegetarian food every day.

So, let's all feel terrible about my