Here are some neat things I’ve been reading.

Zip files all the way down:

(Quine tricks are enlightening, and everyone should try it once. Once might be enough, though :-/ )

Fast functional lists:

(Joker, that is not your daddy’s CONS cell).

Bootstrapping a JavaScript Virtual Machine:

(I really like papers that describe whole stacks; this one includes the compiler, its code generator, the memory management system and the T strategy for port generation).

Google’s Spanner:

(I hate SQL, but database guts are cool).

Open Reusable Object Models:

(The last one had me writing code halfway through. I can see where this is going…)


I’ve also been chowing down on the Sandman graphic novels (“not comics”) and Niven & Benford’s new Bowl of Heaven (yet another Big Dumb Object book — or maybe it’s a Big Smart Object, but that hasn’t been revealed yet. So far I’ve yet to hit redline on my suspension of disbelief, but the characters sure could act smarter in some situations).

[update: For the Bowl, a radial velocity of 34 km/sec and G equivalent of 0.8 yields a radius of 125,000 km, which is an order of magnitude less than one AU, and wayyy less than “size of a solar system”. Did I miss something?

Huh, I just realized that it’s not a good idea to hurl a Kindle against the wall if you have the urge to rage-quit an e-book. I don’t know how we’re going to address this; just giving a “zero star” review doesn’t seem visceral enough.

It also seems likely that e-readers can revolutionize book burnings, though I don’t want to spend much time on that.]

[[Clarifying: I am not rage-quitting Bowl of Heaven. Yet. The only book I recall doing this to was the first Dune prequel, whose very title I have managed to erase from my memory. This was different from the mid-fourth-book flame-out I did on Robert Jordan’s Treadmill of Time in that I physically destroyed the Dune prequel, but still have the Treadmill books, up to #4, in a box somewhere]]

Really advanced data structures

This is a neat set of course notes  on advanced data structures from MIT (link courtesy of Reddit).

Also, kids appear to be doing graph walks in 2nd grade math. Not presented as such, but as “find paths through a set of boxes-and-lines that add up to various numbers” type problems. I tried to get my son to do a DFS using pennies as markers, but I think he was more interested in the pennies.

The singularity will be right around the corner when 8 year old kids start coming home from school complaining that the homework problems are only N log N complexity, and that they’re bored, bored, and that last week Johnny’s family uploaded and everybody’s doing it so why can’t we?

Not Allowed (again)

I will not superglue the pointless glass trophies we are occasionally awarded onto any surface in my manager’s office.

Not allowed to do anything to the Elmo doll that may compromise anyone’s emotional integrity.

Actually, I’m not allowed to superglue any thing to any other thing in the office, ever again.

Not allowed to claim that the towel dispensers are wired into the corporate network by tagging them with a real-looking asset sticker and a “contact for support” URL.

The ban on superglue also applies to the exterior of the building, its grounds, and the approaches.

Not allowed to wire vegetables into electric outlets “in the name of science.”

Not allowed to make the LED on a Kinect pulse like a heartbeat, even if it does look way cool.

Can’t leave unerased whiteboard notes on winning poker hands after meetings that are supposed to be about engineering.

Bad poetry in check-in comments is not allowed. (It’s unclear if good poetry is allowed).

Design documents that assume a spherical user will always be suspect, even if this is the video game industry.


Looper and Points Beyond

Both my wife and I had yesterday off from work (her free day was a ship gift, mine was . . . well, more about that later). So we had a nice breakfast at The Original Pancake house, went to the UW bookstore, and then saw the movie Looper.

I liked Looper, though it was kind of depressing in spots. The effects of time travel didn’t seem totally thought out (you’d think that causing injuries on an earlier self would cause timestream-invalidating changes as well), but they were certainly dramatic, and in one case the basis for a good laugh. The whole telekinesis thing seemed grafted on as well. But all told, it’s a fine film, and I recommend it.

After almost 11 years I’m no longer a Microsoftie. I accepted a job offer from Valve earlier this week and I’m taking a little time off before starting there. I’m really, really excited about working there (though I’m really bummed about leaving behind some truly wonderful and smart cow-orkers at Microsoft).

No, I have no idea what I’ll be working on. (For those who haven’t read it, here is the Valve employee handbook. From conversation it seems to be the straight dope).

What to do with a couple unexpected weeks of free time? I’ll probably just read a lot, get out for a bunch of walking, hang out with the family and do stuff around the house, but some hacking projects come to mind. We’ll see.

Sick day

What my 8 year old son learned, spending a day home from school:

  1. Not being allowed to play Minecraft sure takes the fun out of being sick.
  2. Repeating “I’m bored” to Daddy every five minutes is an effective way to combat boredom.
  3. Up until the point he tells you to clean up your toys.
  4. Writhing and reeling and rolling about is not a good way to avoid picking up toys.
  5. The cat will tolerate nearly unlimited abuse if she is in a patch of sun.
  6. Hayao Miyazaki makes great films, even if they are a little strange.
  7. The cat does not appreciate Miyazaki.
  8. I can get a lot of reading done.
  9. When Mommy gets home, she will let you play Minecraft if you have been good.