Log in

Previous 10 | Next 10

Dec. 29th, 2009


Katherine update

Since I seem to have livejournal open again, let me see if I can actually make two posts in a day.

So Katherine is now on the verge of being six. She is also on the verge of reading - she can read simple books to herself at I'd guess about the rate of 5-10 words per minute. She's generally right now able to read extremely slowly books labeled as "2" in the "I Can Read" line, and books labeled as "1" comfortably. (And has been observed to pick up the books on her own)

She's making her own books occasionally by drawing on several pieces of paper, writing stories (using her own invented, phonetic spelling) to go along with them, and asking us to staple the pages together. I should scan in a book she made a few weeks ago and put it up somewhere.

I should know how tall she is right now, but don't. I must remember to measure her when she gets home from my parents' house on Friday. I think she's just under 4' 2" (~ 125 cm.) but am not at all sure.

She's reasonably comfortable with the household computers, and has been able to sit at the family desktop and log into her username for just over a year. Recently, I installed a talk daemon and we've used that once or twice to chat at each other, though never when I wasn't somewhere else in the house. Typing is still a few years off at least.

We got a Wii for Christmas, and I worry a bit at how she tells me that she's scared of games that are too tough for her and refuses to play them, but I think it may be mostly that she doesn't want to play games she's not good at in front of me. For example, this morning I came in and discovered her playing BIT.TRIP.BEAT which is much, much too hard for any six year old. I think my presence flusters her; I'll have to see what I can do to make her more comfortable playing with me.

(no subject)

I was thinking I needed something longer than a facebook status update, but shorter than a blog post.

But then it occurred to me that there's no real minimum length on blog/lj posts, so:

In Larry Niven's compilation N-Space, he includes a story outline and notes for a story he never wrote because he happened on the idea that became Ringworld instead. Anyway, these notes were for a final story to end his Known Space universe by introducing a gigantic game-changing conspiracy that basically demanded everything then come crashing down in one gigantic war. Basically, it was a way to go out with a bang.

I never saw the Star Trek movie that came out this past summer in theaters, but received it on DVD for my birthday a few weeks ago, and just finished watching it. It feels very similar, especially with the musical cues of the TOS music in the closing credits.

Mar. 3rd, 2009


How to not piss off your Google interviewer

Yeah, yeah, haven't posted in ages, etc.

As those few of you who still have me on your friends' lists probably know, I work for Google.

As the rest of you may know, Google's a fantastic employer and many, many more people than we can hire want to work here. In fact, many more people with good resumes want in than would be practical to interview in person. Hence the phone screen, wherein a Google engineer calls you up and assesses whether you should be brought in for an interview.

I do about one phone screen/week, on average.

Sometimes my interviewees manage to seriously annoy me. As a public service, here's how to avoid doing that. Note that many interviewees who did not annoy me still didn't end up with in-person interviews, but that no one who did annoy me did. This is basically a guide for how to avoid totally bombing - if you want a guide for how to actually succeed at a Google interview, look elsewhere.

This applies only to people being interviewed for a technical position (i.e., Software Engineer or Site Reliability Engineer). Not knowing everything on this list does not make you a bad person, nor will I be pissed off at meeting you if you don't know everything on this list. It does mean, though, that you are not ready to phone screen at google for an SWE position.
Cut for friends pagesCollapse )

Jan. 20th, 2009


Something noticed in malware distribution - one-time malware redirects

Yeah, yeah. First post in a long time, first post of the new year, first post with a new US President, etc. Assume I've groveled sufficiently for not posting in ages.

So the other day I visited a website belonging to a friend and my web-browser completely freaked out, blocking the site and saying that it linked to all sorts of disreputable places. That is to say, it warned that my friend's site was including material from sites that attempted to install all sorts of malware.

Now, this was odd, but occasionally a bad ad can get into an ad network, and then everyone showing those ads accidentally is displaying malware, and I figured that was what happened since when I went back and then visited the site again, all was fine.

Only, after reloading her page I discovered that my friend doesn't run ads on her site.

A more detailed description of what was going on, probably of interest only to techiesCollapse )

Aug. 6th, 2008


So what's Google like?

I've been meaning to post this for a while, several months in fact, but I haven't. However, just this morning I discovered Scalzi's Law, and it seemed like a sign.

This is a reconstruction of a conversation I had at Google. It was had in 5-minute chunks over breakfast, over the course of several weeks, and has mostly died down now. I'll try to reconstruct it, but may miss some important bits since I wasn't writing it down at the time. In particular, I may well attribute important bits of the conversation to the wrong person. As background, Google provides us with breakfast if we're there early enough, but only two of us in my group ever are:

me: (looking at D's plate) You're going to regret that.
D: What? ... Oh (unpleasant face)
me: Yeah. The turkey bacon just isn't bacon.
D: The turkey sausage is fine, though.
me: Oh yeah, that's fine. Turkey's a fine meat, and they do make great sausage out of it; it just doesn't make good bacon.
D: (holding up the plate) It's not turkey bacon today.
me: Yeah, this is good.
D: Another day of the adjective-free bacon.
me: yeah, but I can't believe you tried that vegan sausage.
D: Oh, it looked so incredibly wrong I just couldn't pass it up. (tries) Oh bleah! The turkey bacon is disappointing, but that's just wrong. I guess I deserved that.
It gets weirderCollapse )
Tags: ,

Jul. 10th, 2008


My daughter, not so green

Katherine, last night, after I finished reading her Dr. Seuss's The Lorax:
"Boy I wish I was that boy so I could take that last Truffula seed and plant it to grow the last Truffula tree and cut it down and make the last thneed in the whole world. Then we could use it for a pillow."

Jun. 6th, 2008


Naomi, this is for you

For those of you who can't see the picture, when I opened up Amazon's page just now at the top of the page it said:
Kindle: Amazon's Portable Wireless Reading Device

The Amazon Kindle gives you instant access to over 125,000 books, newspapers, magazines and blogs, such as:
  • Freedom's Sisters by Naomi Kritzer
  • Freedom's Gate by Naomi Kritzer
  • Freedom's Apprentice by Naomi Kritzer

I detect a trend

Feb. 25th, 2008


A bit of truly ridiculous java geekery

Yeah, yeah. Haven't posted in two months, blah blah blah.

And this isn't going to be a life update post either. Sorry. People who are not CS types (and this is much more academic CS than practical CS stuff) should just skip this post.

Now, I present some gloriously ridiculous, useless code, done primarily to show that I could do this in java, and do so in a typesafe manner.
A demonstration of the Y-combinator in javaCollapse )
Well that was a bit interesting. Get you head around how it works, if you've never worked all the way through the Y combinator before. The relevant wikipedia article might be useful. The translation from scheme to java was fairly straightforward; the trick was getting all the types to work out properly.

But wait, there's more! That code there isn't really reuseable at all. What's really needed is a version that works with arbitrary types:
A generic versionCollapse )
Oh, and for those of you worried that I'm giving away internal Google secrets by using the interface com.google.common.base.Function, that's already been open-sourced as part of the Google Collections Library.

Dec. 8th, 2007


A tiny bit of math geekery this morning

Okay, haven't posted in two whole months, I haven't told you what it's like working at Google since the first day, etc. I will say that my lack of blogging here has absolutely nothing to do with my internal-to-Google blog, since I haven't actually signed up for that either.

And this post isn't going to interest most of you who have me on your friends list, but if I waited for that, it'll be another two months or more before I post anything again. So here's a post on something I was thinking about this morning.

I was reading through some of Steve Yegge's old blog ("who is he?", you ask? He's just this guy that used to work at Amazon, now works for Google, and had an Amazon-internal blog that he made mostly public after leaving Amazon. Some of it's interesting) about interviewing programmers and he gave this as an example of the naive solution to the problem "find the nth Fibbonacci number":

static long fib(int n) {
  return n <= 1 ? n : fib(n-1) + fib(n-2);

One of the comments noted that they'd expect any candidate to be able to tell that that implementation as it stands is O(2n).

That didn't feel right to me - I mean, clearly it is O(2n) in the sense that big O provides an upper bound, but it's not a tight bound - that is, it isn't ϴ(2n). So what is a tight bound?

It turns out that this algorithm is actually ϴ(fib(n)), which is to say that it's ϴ(φn), where φ is the golden ratio (1 + √5)/2.

Why is this? Well, I think I'll leave that as an exercise for the reader, or maybe I'll add it later to this post underneath a cut tag. Suffice it to say that there's a nice recurrence relation that defines the number of invocations of fib necessary to calculate the nth Fibbonacci number, and that it requires a bit of fiddling after that, but not too much.

Anyway, that's something I was thinking about this morning.

Sep. 12th, 2007


Commuting Security Theater

So yesterday my train home was held for 15-20 minutes after it arrived at Princeton Junction, with the doors staying closed and people not being allowed off. At the time, we were told: "Ladies and gentlemen, the dispatcher has requested that I not open the train doors until the police arrive."

We weren't told why the police were arriving. After they had let everyone off and were continuing on to Hamilton we were told: "I apologize for the delay; there was a security issue that needed to be addressed. Thank you for your patience." At the time, I figured it was an unruly customer who'd taken a swing at one of the ticket collectors. (There are signs up saying that assault on train personnelle performing their duties is punishable by up to 5 years in prison) Annoying, but I'm willing to put up with some delays if it's necessary to ensure that people aren't fighting on the train.

So what was this security issue? Two guys with a video camera were filming the inside of the train. It turns out that the two men were journalists from Hong Kong. Apparently they were working on a documentary about a Hong Kong engineer who had designed part of the new train cars. (And these new double-decker cars are nice)

Despite the title of this post, I've been thinking as I write this if after all the situation was handled appropriately. I mean, yes, the police taking anyone away for questioning (even if the people went "voluntarily") after a legal activity bothers me; so far as I know, the US has not yet implemented Soviet-style prohibitions on taking pictures inside moving vehicles, so I'm bothered by that. On the other hand, the two men weren't held overnight, I can see how videotaping various structural components of the train could be suspicious, and then there's the matter that yesterday was Tuesday, September 11th. (One wonders why the two men didn't start by contacting NJTransit's PR department)

So maybe the actions of NJTransit were appropriate, if a bit frustrating to commuters. For the record, my arrival in Trenton was delayed only a bit over 15 minutes (certainly less than the 20 quoted in that post). I've been delayed longer from wet tracks.

What definitely wasn't appropriate though were the multiple calls to 911 mentioned in that post from commuters stuck on the train wanting to know where the police were. Being 20 minutes late getting home isn't an emergency.

Previous 10 | Next 10