1. icon for News
  2. icon for TCHOW


Friday, August 31, 2012

The Last Suppers (introduction)

As you may, or may not, know -- I'm going to be living off of my savings for two years, starting this October. In support of this, I've been living a rather frugal life (and I plan to continue this as I live off of my savings). But -- as of a few months ago -- I have saved all the money I will need for my planned two years of TCHOW game development.

And so, as a last luxurious fling, I decided I should have one nice meal out every week. At Journeyman.

And I've been doing this for the last month or two. It's great. I know most everyone by name (For reference, that's: Tse Wei, Diana, Jared, John, "that other guy in the kitchen who never talks with me," Meg, Catherine, Andrea, Andrew, John-Michael, Bradford, and Sam [Backbar affiliated but he comes over to grab bread on occasion. Most serious looking bread-slicer I have ever seen.]). I also occasionally see Tse Wei and Diana at the farmer's market on Saturday. (And Andrea, but that's expected thanks to the Beakers and Cream ice cream venture.)

I have come to think of these as my Last Suppers -- a kind of  farewell to life in Boston ( / life with a real job).

And it's kinda weird -- good weird, but also uneasy; almost performance-art weird -- being a regular at a restaurant that doesn't really have any regulars. Look at the clientele for a night: stockbrokers and their well-dressed dates, an older couple celebrating their wedding anniversary, a small group of friends at a birthday party. And me, who just, y'know, stopped in for a bite to eat on his way home from work.

Being a regular gives me a different perspective on the food. I mean, it's certainly good. But on any given night, I've probably had a better version of one or more dishes earlier. And I probably fondly remember a dish that's no longer on the menu. I see the whole life-cycle of a dish, from the first, bold plating, to revisions of components and flavors, to dissolution and re-integration into other plates. With "special-event" customers, the food is competing with some sloppy home-made pasta from yesterday. With me, the food is competing with itself, last week, and everything else that has ever been on the menu (for months!).

So maybe I'm not enjoying the food as much as the special event diners. But I think there is other pleasure to be had in the experience; in watching the continuous innovation and the marveling at the effort that goes into every plate. Occasionally having the present incarnation of a dish overshadowed by my memory of the best version ever -- well, that's better than having never experienced the best version ever.

More about the restaurant

Journeyman is about 50 paces from my house. It's close enough that I once nipped home to grab some cranberry/pecan bread which I thought would pair well with a soft cheese I was eating. (It did.)

They offer 5- and 7- course menus in omnivore and vegetarian versions. My typical meal is the 7-course + a cheese course, paired with two house-made sodas which I generally ask for in very general terms so that they end up being creative and interesting. The worst that's ever happened was coffee soda, which I've made before, too. (It seems like a good idea until you try it.) The best sodas tend to feature Journeyman's (excellent) apricot shrub, their amazing ginger syrup, herbs, and/or bitters.

This whole meal experience takes about three hours from start to finish, and it's time well spent. I sit at the counter; between courses I read, or watch the chefs cook, or chat with chefs/staff. Or stare into space and think about how good the current soda is, or the previous course was, or a course that I'm anticipating is.

Also, the staff brings a comment card at the end of the meal. And I start, with the nicest intention of just writing down a few things, and end up filling the card. And when I say "card", I mean 8.5x11" sheet of paper. And when I say "filling" I mean that I end up writing margin-to-margin and putting some words and pictures on the back. Sometimes it's just good to write, y'know? I should ask to get a few back to scan/photograph. If nothing else, it's a testament to my built-in urge to critique ("thanks, academia").

But I thought maybe instead of just writing comment cards, I should write news posts for TCHOW. If not for others, then at least for myself -- so I can look back at myself in this time of my life and pine for food and curse my lack of frugality. Or maybe to think about how awesome I was to find something I enjoyed and exploit it. How I got this view into one of the best restaurants in Boston that almost nobody has, and how I tried to appreciate that view by being analytical about what I was enjoying.

So what did I have today?

Seven-course, Vegetarian Menu. (because I had the omnivore last week, and the fluke has never operated as more than a collection of parts for me, and the pork was a disappointing cut, and there were new dishes on the vegetarian side.)

First soda: peach/oregeno. Lovely combination, almost savory.

Amuse: nasturtium soup with watermellon and balsamic pearls. Spiciness of the soup plays well off the crisp watermelon. I wonder if the omnivore version still has crab? (I enjoyed that version because it hearkened back to the very good mint/pea soup with crab meat.)

Salad: Tomato slices, tomato ribbon, tomato sorbet, basil oil, roasted tomatoes, dehydrated olive, seeds-y granola, fried ricotta thing. This dish used to be on the vegetarian menu as the second course. I had the first or second version they ever plated (I recall it was bigger, but they used an opaque ribbon that broke, ruining the presentation -- this version has a transparent ribbon that's a lot thinner and generally plays better in the dish. I kinda miss having just a huge wedge of heirloom tomato though.) For a while, the amuse was tomato-water soda and that was a perfect lead-in to this salad.

Let me state clearly that I love this dish. It's got such great flavor pairings. Dehydrated olive + tomato is a wonderful match. It keeps up the Journeyman tradition of having exceedingly complicated salads that are like a playground of flavor pairings. And it has great temperature contrast, with hot, room-temp, and cold elements on the same plate. It's really masterful.

Just, y'know, not the best version I've ever had.

Soup: zucchini soup with pickled watermellon rind, corn flan, roast corn, blueberries, squash blossom. I recall the soup as being a bit flat, but the zesty rind really picked it up; similarly the corn flan was a bit bland but the squash flower was well-seasoned and brought it through nicely. First time I've had this dish, and I look forward to seeing it again. (I was getting bored of the corn soup that used to be in this slot.)

Hazelnut Terrine with Carrots, Mint, Greek Yoghurt: this is a new one, but an excellent one as well. The Hazelnut and Carrot both exist in this savory/sweet limbo, but the mint and the herbal sauce brought them down on the savory side. This is one of those dishes that connects flavors I hadn't associated; a fun experience. The colors of the components contrast well, making the dish visually exciting. And there was a carrot ribbon. I'm a sucker for ribbons. My only critique on this one is that the herbal sauce was a bit salty.

Whipped Egg with Mushrooms: a simple dish. "Almost clinical" I wrote on the comment card, meaning it neutrally. The mushrooms were almost so dry as to be off-putting, but not quite. Somehow it felt like a very small, almost stingy dish. (This is probably because I'm remembering the egg + eggplant dish -- no longer on the menu -- which felt warm, inviting, spicy, wholesome, and generous. Oddly, that dish didn't feel like Journeyman, and this one does. But I still liked that one more. It surprised me every time I ate it.)

Cucumber and roasted buckwheat with mole and kefir: I used to eat this to avoid the foie gras course; the foie gras course is now the duck breast course, and this doesn't really compare. It's good, mind you, just not roasted-duck-breast-good. Dish has a nice presentation with little heaps of green and brown over criss-crossing sauce stripes. I've seen several different platings; my favorite was with the mole in little drifts up against the buckwheat with the cucumber slices and chopped cucumber salad in similar arrangements elsewhere. Like a little city of two different colors and three textures.

Second Soda: Lime shrub + lime syrup + lime wedge + a touch of passion fruit. Intensely acidic -- a really good "sipping soda".

Eggplant with miso glaze, eggplant agnolotti, inexplicable but welcome shiso leaf, roasted ground cherry, eggplant glop [probably not the official term], green sauce: I've seen ground cherries several times at Journeyman, but never cooked. Turns out, they are way better when cooked (kinda like tomatillos, which they resemble). This was a new dish for me, and a really enjoyable one. It knocks the socks off the previous vegetarian main (a zucchini dish that wasn't more than the sum of its parts). The flavors work well here and contrast nicely, with eggplant showing its versatility, and the shiso leaf being a shiso leaf (which I can't help but love), and also tying the sweetness of the ground cherry into the more savory flavors of the rest of the dish.

Cheese: I asked for a plate which contrasted the blue cheeses on offer and got a French-origin blue cheese that was very sharp (think sharp cheddar) and an English-origin that was more mellow, along with an alpine cheese because Diana didn't want to just send me two intense blue cheeses (and because alpine cheeses have a characteristic bacteria-induced flavor, just as blues have a characteristic fungus-induced flavor). My only complaint is that having a super-acidic soda with blue cheeses is maybe a bit more than even my stomach is entirely happy with.

Cleanse: Chokecherry puree, black locust sorbet, oxsalis leaf. Really nicely balanced. Everything works together, from the calm subtle sorbet to the more aggressive sauce to the crisp and fresh leaf.

Dessert: Roast peach with crumble, various sauces, shiso sorbet. Who can argue with roast peach? I can't. The previous plating of this dish used a raspberry and sesame sauce as bold paints, looking like a sunset. This iteration uses only the sesame as a paint, looking much more coordinated on the plate (doesn't clash with the sorbet) but also less bright, which I kinda miss. Also the shiso sorbet has a very mild flavor compared to the previous iteration's basil sorbet. But -- as I said earlier -- I can't really argue with shiso.

With the check: tomato gel in basil sugar, macaroon, caramel, flourless chocolate cake, coconut financier. The tomato gel has appeared earlier in this "pate de fruit" role, but the basil sugar was a new (and welcome) innovation.

Wednesday, August 29, 2012

Finally documented the 2011 midwinter hunt

It's been sitting on my hard drive in more-or-less complete state for a while now, but I've finally gotten around to posting the documentation of the 2011 midwinter puzzle-hunt I wrote.
I hope this is the start of a trend toward actually documenting some of the things I do/make, if just for the sake of my own later self.

Sunday, August 26, 2012

Updated Backend

Over the last few days, I've massively restructured the way that tchow.com is served.On the surface, you shouldn't notice any big differences, but under the hood things have gotten dramatically simpler.

How it was

From sometime around 2007 until just a few days ago, tchow.com was hosted on a VPS partition from RapidVPS.The partition was set up running a pretty standard stack: Gentoo GNU/Linux, the Apache web server, and PHP5.
I designed my content serving system to be future-proof, simple to use, and to contain minimal redundancy.This meant that I wanted visitors to see clean URLs (no file extensions; file types determined by Content-Type header), and those that looked at the markup to see nice xhtml with a clear separation of content and chrome.Internally, I wanted to be able to serve the web page from a filesystem, provide content with my favorite text editor (and/or scp), and do so in a not-too-idiosyncratic format.
In order to make this work, the following happened on each page load:first, mod_rewrite rules would take the user's URL and turn it into a query string for a dispatch.php script;this script, in turn, would crawl the backend directory structure to find the proper page (a file containing an html fragment),then paste in appropriate templates for navigation and analytics.

What I didn't like about it

This old setup was nice, but it was also overkill -- php was re-generating the same (static) content over and over again, opening and reading through tens of files on each page view.This seems really inefficient (and, honestly, the "standard" answer of wrapping this in a caching web server seems even sillier).
Additionally, external URLs were clean-ish, but I never really resolved where a trailing slash was appropriate, which led almost everything having absolute links all the time.
Also, I ended up storing my page content in an svn repository (to move edits between my staging and live pages), but since svn has no way of updating all of htdocs at once, this creates potential race conditions in page viewing during updates.Besides, I've been using git for a number of years, and it feels so much snappier than svn that it was getting to be a drag to do page updates.
Added to these design concerns, I'd noticed that Digital Ocean was offering a VPS partition of similar size to my RapidVPS partition (but with unlimited bandwidth) for about half the price.So it was time to change.

How it works now

First off, I ditched Apache -- which provided way more than I need -- and switched to Lighttpd; this also provides way more than I need, but at root it's a lot more comprehensible.Indeed, I get nice clean URLs using just two modules: mod_rewrite for hostname correction (e.g. so that www.tchow.net redirects here properly) and mod_magnet for URL dispatch.I no longer have php re-generating static content over and over again;instead, I have a python script that I call on the (git) content repository which regenerates just those pages that need it.
But mod_magnet is really the key to the whole setup because of the way it works:you provide Lighttpd with the path to a lua script, and it runs that script to determine which physical path corresponds to given query string (the script can also do things like trigger redirects and add headers).The cool thing here is that now every page view goes through dispatch.lua (in my case, nothing more than a url -> file mapping table), and it's one file, which means that if I atomically update it then I've atomically updated the web page.So this setup gives me the satisfaction of being able to update the content on tchow all at once, and without race conditions (as long as my scripts are careful to not overwrite any content referenced by the active dispatch.lua).
I also re-worked a few things around the urls so that the semantics are much clearer, changed the styling a smidge, drew some new calendar icons, and did various other tidying.But mostly, I'm satisfied that I've gotten rid of a lot of systems that tchow.com didn't need, and pared things down to a really slick-n-slim software stack that still satisfyingly serves what it should.