Monday, February 16, 2009

More fun with TGUPT

I've been meaning to hack up a quick straight men-vs-straight women comparison, and I figured there was no better way to honor our Presidents than by finally getting around to it. enjoy! and take the test if you haven't already!

New digs!

Fwd: apartment pics!

I've failed to post about my new apartment, or about how awesome life has been since Emma moved in with me. This is probably because we've been so busy unpacking and furnishing and painting. Some things have gone well: the new neighborhood is much better for eating and subwaying than the LES, the view is amazing, the kitchen is a pleasure to cook in (garbage disposal!), Elfa shelving is relatively easy to install. Some things have been tricky: Wells Fargo freaked out at the last minute, Oz Moving ripped me off with charges for boxes, painting is way harder than anybody told us, brand-new apartments have kinks that require working out.


Fwd: apartment pics!


Last weekend, we had a housewarming at which copious amounts of alcohol were presented and consumed, much of it by people who bravely ventured across the bridge from Manhattan (or New Haven!). Luckily, this party was on Friday, leaving me well-rested to run the Bronx Half-Marathon on Sunday. 1:59:13 was slower than Brooklyn (and much slower than Brian and Monzy), but not bad considering how little I've been training. Later in the week, I purchased a bag of candy hearts and ate all 900 calories of them, undoing any potential benefits from the training.

Saturday, December 27, 2008

The Grown-Up Purity Test!


During the company ski trip last year, we somehow found ourselves taking purity tests, something we hadn't done since college. Much fun was had (at least until Akshay turned off the Internet in a fit of rage, and we had to score the tests using the Firebug console). Many, many drinks later, we somehow decided that what the world really needed was a hip web-2.0ish purity test, with keyboard shortcuts and big fonts and statistics comparing you to other test takers and fewer "have you ever held hands with a MOS?" type questions. So I registered tgupt.com for The Grown-Up Purity Test (pronounced tee-gupt) and figured it couldn't take more than a weekend of hacking to do.

Since it's now a year later, it's clear I severely underestimated what was involved. Writing the questions was surprisingly hard, and took a lot of feedback and help from various folks, especially David. I'm still not 100% happy with them, but this project has dragged out much longer than anything this frivolous and puerile ever should.

<technical details>
Also tricky was figuring out how to work around the limitations of the App Engine data store. In a relational database, it would be pretty easy to go from normalized data to selecting the mean score for some demographic group. But App Engine doesn't offer aggregation functions, doesn't do joins, and doesn't fetch more than 1,000 rows. I ended up doing several writes on each answered question and each finished test. If a 27-year-old male answered yes to Question 1, I write the following:

AggregateQuestion
Question 1, Yes: 1, Total: 1
Question 1, Gender: male, Orientation: straight, Yes: 1, Total: 1
Question 1, Gender: male, Orientation: straight, Age: 27 Yes: 1, Total: 1

Initially, I thought I would have to store all combinations of gender, orientation, and age as separate aggregates to future-proof myself for any graphs I might want to make. This was really slow, especially with atomic writes. Then I realized that for attributes with few possible values, like gender and orientation, I could fetch, say, both the male and female values from the datastore and combine them in the application code to create a gender-neutral statistic as needed. For overall scores, I updated both a global mean as well a set of score buckets in order to make histograms easier to generate. There's more discussion of these sorts of solutions here and here. You can check out the TGUPT code at code.google.com
</technical details>

Anyway, go take the test and let me know what you think.

Sunday, October 12, 2008

Animals in streets

I've been up to various exciting things lately, like Austin City Limits and running a half-marathon this morning (albeit verrry slowly). But at the moment I really want to discuss pictures of animals in streets. So far I only have two of them. But they make me giggle. Please share more.



Wednesday, September 3, 2008

Oo, my blog's back!

Richard thinks there was some DOS attack. Spammers piss me off. If I were the police, and I had the choice of say, arresting someone for smoking marijuana, or castrating a spammer, I would not be especially torn. But since Google's better at fighting spam than Richard is, should I switch to blogger?

Anyway, I was all excited to blog about running the Nike Human Race 10K (a race with a pun!) this weekend. It was crowded and started late, but people pretty much lined up at the right pace points, unlike NYRR races, making the race itself pretty smooth. I overshot, trying to run a 8:15 and running 8:43 instead. Nike even gave us split times, clearly showing me starting off too fast, slowing wayyy down, and then picking it up at the end. It helped that the Naked Cowboy and people drumming on plastic drums were there to cheer us along. And the individually-numbered race shirts and disposable paper timing chips were snazzy. Pro-tip: don't take the bus to Randall's Island. It's slow and crowded and $5, while the walk is pretty and pleasant.

Monday, July 14, 2008

In hindsight, a drinks-to-hours-asleep ratio exceeding 2:1 is not good race preparation

photo.jpg
This weekend, Jon and I had a co-birthday, with pre-drinking, the Girl Talk album, Anchor Steam Porter, margs, remote.app, popcorn, and cake manipulation at my place and then dancing at The Delancey. I was sporting my new shirt from French Connection, which turns out to make small and extra-small shirts that fit me(!). A good time was had by all (based on twittering, which is the new picture-taking), although apparently I am not very good at clapping on the beat. Beats are for suckers, anyway. Also, we had to pay the bouncers $40 to get the last five people in, which is like a total scam. I think there might have been shots involved...

...because when I woke up 4 hours later to go to the Park to Park race (with the fun free trip to the pool at the end), I didn't feel so good. I didn't make it in time to attach my chip or number, but I finished alive and kept pace with a slightly-gimpy Bolin. Sadly, the NYRR website claims I didn't finish the race. We had a tasty brunch at the cafe from You've Got Mail, which has awesome eggs-with-herbs, but I couldn't finish it, due to aforementioned yucky-feelingness. I went home and went back to bed.

Anyway, that was my weekend. I hope we all learned a valuable lesson about how much more badass you feel running a race after a night of crazy partying, or something.

Sunday, June 29, 2008

Confusingly, Portland is full of beer, not port

photo.jpg
During this week's mini-vacation, I learned about many fine things Portland produces, mostly in the form of alcohol. Notably, Emma (another fine thing Portland has produced) and I consumed Pinot Gris and Pinot Noir at Sokol Blosser, Chardonnay and Pinot Noir at Lange (along with an excellent view), Foggy Notion Weissbier at Bill's Tavern, Rope Walk Amber at Bridgeport Brewery, and Black Butte XX at Deschutes. (We also went to the Erath Winery, but weren't impressed by anything.) There seems to be a microbrewery on every corner in Portland, which is awesome.

To wash all this down, we had great taffy and pizza in Cannon Beach, tacos and tamales at Por Que No?, mango gelato at Mia Gelato, polenta at Lovely Hula Hands (restaurants have funny names in Portland), and various tasty things at Emma's parents'. Our trip was not limited to eating, however. We also walked and ran on Cannon Beach, which has a giant rock (pictured here) called Haystack Rock, and we wandered the Rose Garden and the Pearl during Portland's record heat. Luckily, Portland has a giant water fountain where you can sit and have water massage your feet. As an added bonus, the square is filled with a bunch of dazed newfound fathers letting their babies loose in the mini-pool the fountain creates.

But going for a run tonight reminded me why New York is still awesome. It turns out the crazy public art waterfall thing is a few blocks from my apartment, and totally breathtaking, and worth dragging your lazy butt to go see. (I also saw a graceful and fun temporary building made of wood set up for citysol up at 23rd.)