Noogling
I've officially survived more than a week at Google, and here's what I've got to
show for it:
I'm officially a "Noogler"
My cube-mate apparently wore hers home the day we got them. Mine's still
at the office :)
Flex Hours
So I guess flex hours were partially rescinded at Niti, based on PlaNit. Wow. Times change, eh? I was
definitely one of the "baddies" when I was there, typically showing up
between noon and 1. But I often worked until 2am, and I liked it that
way, and it made me happy to sleep until 11:30.
Now, you might read that and think either:
- I worked insanely hard and killed myself at Niti.
- I'm so insanely stupid that it took me a billion years to get anything
done at Niti.
In fact, neither of these is true (well, there's evidence that I'm
insanely stupid, but it didn't take me a billion years to do stuff at
Niti). It's just that I found that during
the day at
Niti, I wasn't all that
productive. I talked to people, helped people with their problems, they
helped with mine, I made espresso, played foosball, etc. At night, when
nobody was around, I could just blast through the bugs (and espresso)
like nobody's business. I guess the same effect could have been acheived
by showing up insanely early, but I just can't think very well before 11
or so. I tried going to bed early and getting up early in Waterloo for a
while, and it just didn't work for me...
At Google there are flex hours too,
although almost everybody is in by 11 so you feel a bit odd showing up
much later. The funny thing is people were still there tonight when I left
at 12:30. Typical silicon valley hardcore-ness I guess. I've taken to
showering there (which makes sense, since I cycle in) thus avoiding the
4 to 1 person to shower bottleneck at our home in the morning, giving me
a few more minutes of sweet, sweet unconsciousness :)
Proprietary software
So the last few days I've been dealing with a binary-only shared library
provided by a certain software vendor. All I have is the header, a PDF
doc, and a .so. But this particular software vendor is particularly
evil, in that their header file blatantly lies. It lies by
telling you some functions want a foo * instead of a foo
**, and your stuff is segfaulting all over the place until you
objdump the .so to look at the asm and realise it's
dereferencing twice. (I became very intimately familiar with
objdump during my training; it's a
life saver).
And then there's the PDF API docs, which also blatantly lie, by telling
you stuff like "If you pass in a foo ** here, we'll point it to
something valid with some stuff in it." No you won't, you liars, you'll
just leave it as NULL. I mean the least you can do if you're going to
release a binary-only .so is have some decent docs and accurate headers.
Fortunately, I've managed to work around most of this crud and should be
ready for my first code review tomorrow. My first checkin will involve
no less than 5 languages. Fun stuff.