Monthly Archives: January 2010

the grand libation

Wash: (to a departing Zoe) "Bye, hon! We promise not to stop for beers with the fellas!" (sits down, starts the engines, then to Mal) "So, are we gonna sing army songs or something?"

I figure it’s long past time we ruminate about malted grains here on Earth-That-Was.


friar tuck"This is grain… which any fool can eat. But for which the Lord intended, a more divine means of consumption. Let us give praise to our maker, and glory to His bounty, by learning about… beer."

Yes, friends, gather ye round, for this post is about that grandest of libations: beer.

As Friar Tuck so eloquently elucidated in Robin Hood: Prince of Thieves, beer is a sublime beverage and a precious gift from God Almighty. Not so precious as the saving grace of Christ Jesus (not by a long shot), but it’s up there. I rank it somewhere between nachos (the most divine of all snacks) and cheesecake (the most heavenly of desserts).

I think almost everyone in the developed world by the time they reach their 30s has some kind of relationship with beer. Either eschewing it entirely (for reasons ranging from piousness to poverty or, perhaps, proclivity) else embracing it enthusiastically. I have been both of these at various stages of my adulthood — though my friends will attest, I’m not one who is oft found overboard.

When I was a lad, I despised beer. It smelled funny, tasted like carbonated urine, and made my dad’s breath smell garishly awful. Yet as I recall, he loved to come from work and settle into his recliner with with a cold one. The reason I knew that I disliked it was not because I stole cans from the fridge to sample in secret; rather, I know because there was no stigma about alcohol in our home. No one abused it, nor was it kept secret. If we wanted to try anything, all we need do was ask.

Later, I vowed to myself never to drink (or smoke, but that’s a bit off-topic for this missive). Such oaths lasted until my 21st birthday, spoiled one romance, and nearly ruined several friendships in my college years. Let’s just say that when it came to booze, we were all a lot less open and affirming of others’ views back then. In any event, I grew tired of the way I viewed my friends and lovers who drank with any regularity, but more than that, I became overwhelmed by a singular thought: One day, it would be very nice to go to a pub and have a beer with my dad. By not drinking, I am depriving myself of that opportunity for all my earthly days.guinness

And so I decided it was time to do away with my self-imposed reticence and bite the bullet. I did what any self-respecting, moderately shy 21-year-old guy with no experience drinking (either in public or in private) and no nearby friends who were regular imbibers — I went to Safeway and bought some Guinness-in-a-can (dating a girl who grew up in Wales had at least given me some sense of proper brand awareness when it came to beer — although I think she’d probably give me an earful and an eye-roll for my mécanisme de prestation).

Nevertheless, I steeled myself against what was bound to be a horrid mouth-taste, took a swig1, and…

… it wasn’t that bad. It was definitely very different than the soft drinks I was accustomed to, but it was a long way away from the nasty, mass-produced swill my father used to drink with great satisfaction after a long day at the office. Thankfully both his palate and mine have come a long way since then. I blame moving to the Pacific Northwest with its abundance of microbreweries for that shift — in the midwest, in the 80s, Michelob, Miller, Coors, and Anheiser-Busch were pretty much your options.


At the same time, I could tell this dark beer stuff was going to take some getting used to. Maybe you had to work your way up to loving dark beer? All I knew was that beer of any color was definitely an acquired taste. And I set out to acquire a taste for it… for the love of myself and my friends and the one-day some-day pub crawl with dear old dad.

I tried gold beers and brown beers, amber beers and black beers, pilsners, lagers, IPAs and Hefeweizens. For a good many years I settled on Widmer Hefeweizen as "my beer" (I loved the cloudy, unfiltered nature of it). Then I toured the Red Hook Brewery with some friends and became hooked on something that you couldn’t even buy in a store – Chinook Copper. An unfiltered amber. Hmm, seems my tastes were definitely drifting simultaneously in two dimensions: unfiltered and darker. I took this as a good sign, since I was intentionally trying to get myself to a place where I could love The Guinness. After all, it seemed to be the pinnacle of beers: sophisticated, artistic, and celebrated the world over. Alas, Chinook Copper was only available in a pony keg, and I wasn’t about to drink one myself (at least, not before it went flat). I also was sharing a house with 4 other guys, and while I’m a generous sort, I wasn’t feeling that generous.optimator

I continued my search for the next great beer and wound up being gifted a bottle Spaten Optimator by Aaron Todd. He also gave me a pewter-topped German beer stein as a thank you for being one of his best men2. Spaten is is an amazing brew, but at the time was nigh impossible to find. Grocery stores in Tacoma hadn’t yet jumped on the bavarian beer wagon, so the only real option for acquisition was a drive to Seattle. Back then I didn’t have a lot of friends in Seattle nor any concept of how to confidently navigate the broke-back maze of one-way avenues and thoroughfares, so laziness overwhelmed my desire for more Optimator. I treasured the gift but my romance with Munich’s finest was unfortunately very short-lived.

Not too much later I discovered another local brewer named "Mac & Jack’s." Given that they made their craft public in 1993 and I only started drinking beer in 1998, it was no surprise that it took me until the early 2000s to notice their presence. They were steadily growing in popularity around the greater Seattle area and pretty soon everytime anyone went anywhere (particularly Red Robin) they were ordering "Mac & Jack’s." I’ll be honest, I quickly became a fan. I had never been so impressed with an amber-colored brew, and it quickly replaced Widmer Hefeweizen as my "trusty fall-back" microbrew.

(I should also take a quick detour and tell you that I am a much bigger fan of their Blackcat Porter, a dark, chocolaty concoction that is sublimely tasty. There is a small pizza pub nearby that keeps a ready supply on tap and will even fill a growler to-go. What a wonderful surprise that was to discover! It’s almost a shame that the owner of the establishment, while a cheery and good-tempered man, doesn’t really understand the concept of customer loyalty or appreciation. But that, too, is a story for another blog post. Maybe. As a rule, I don’t air grievances publicly until they’ve been presented in private and resolution thereof has failed to materialize. But back to the beer… this gent also keeps New Belgium 1554 "Enlightened Black Ale" on tap, and it is, dare I say, even tastier than Blackcat Porter. Nom!)

About the same time, one of my best friends James Sanders and I used to split cases of Henry Weinhard’s Blue Boar Ale. From my perspective, he discovered this fabulous treat and sprung it upon our household unwittingly. (I, on the other hand, was responsible for introducing Krispy Kremes on a regular basis). Joe Karhan, his brother Mike, Hal Bell, and other passers-by would oft help us polish off a case on any given weeknight, usually while watching a game or a movie on the two-thousand-inch television3 I had crammed into the corner of the tiny little house… good times, great friends, tasty brew!

Fast-forward to the present and more than a decade has passed since my journey began. I eventually learned to love Guinness, and for most of the early 2000s it was my "go-to" beer, but I never again visited it in a can. I tried it in bottles, but there’s just nothing like getting it on-tap in a cold glass. And while I understand it’s regularly served almost room-temp across the pond, I like my beer cold. It seems to put the bitterness to sleep and accentuate the sweetness, although I cannot begin to comprehend why. Perhaps if I had studied food chemistry instead of computer science, I could fathom a guess. Usually when such ponderances arise, I just ask dad.

Speaking of dad, I really do need to make a date for that one-day, some-day trip to the pub that started all of this. While we’ve certainly shared beer, scotch, and other drinks over the years, the fantasy that inspired me has yet to have its true incarnation, and it would be a shame to go through over a decade of dabbling and deny myself the prize.

So, Dad, how about it? Fancy a beer? =)

1: straight from the can, mind you… I didn’t bother to pour it out because I’m an engineer and engineers don’t read directions. Even pictorial ones printed on the can)
2: along side Joe Karhan, another dear friend of mine I just want to give a shout out to — he’s a big fan of Fat Tire, a concoction I’ve never quite grown a taste for, sadly. I appreciate its merits, but it just doesn’t play the right notes for my buds
3: okay, I kid. It was only 58 inches:
see it here

What’s that? Blasphemy, you say? Well, you’re certainly entitled to your opinion. Go get your own blog (or feel free to comment on mine… but keep it civil)!

Leave a comment

Posted by on January 26, 2010 in Things Edible


Tags: , ,

Healthy Snack: Bran Muffins

Okay, I know what you’re thinking. Bran Muffins? Really?

But seriously, these are the best bran muffins you will ever have. Sweet and tasty, you will forget that this is supposed to be a healthy snack. Jer and I have been searching for more healthy snack options for work in order to move towards a diet based on several small meals as opposed to your typical three-massive-meals-a-day American standard. These muffins are my new favorite thing.

I started with this recipe. It wasn’t quite right, so I modified until I got it to what I wanted. Here it is:

1/4 c butter
1/4 c brown sugar
1 large egg
1/2 c light sour cream
1/2 c applesauce
2 Tbsp dark molasses
2 Tbsp agave
3/4 c whole wheat flour
1/4 c ground flax or flaxseed meal
1 tsp. baking soda
1/4 tsp salt
1/2 c oat bran
1/2 c wheat bran

Preheat oven to 375. Cream together butter and sugar until fluffy, then beat in egg, sour cream, and applesauce. Add molasses and agave (if you don’t have agave, you can increase the brown sugar to 1/3 c). In a separate bowl, whisk together flours, soda, salt, and brans (you don’t have to use both wheat and oat brans, but I like the mix). Gently mix dry ingredients into wet, mixing just until combined. Spoon into greased muffin pan or tins lined with paper cups. Bake for 18-20 mins, until muffins are springy to the touch. Cool on wire racks.

Using the light sour cream and applesauce instead of a lot of butter and oil makes these fairly low-fat, and the agave and molasses give great flavor and reduce the need for a lot of sugar. The bran is full of fiber goodness, and the flax adds protein and healthy fatty acids. So make a batch of these and keep them in your desk with a box of green tea so next time you are tempted to head down to the coffee shop for a latte and pastry you can eat something healthier instead.

Leave a comment

Posted by on January 20, 2010 in Things Edible



What We’re Eating


Saffron:  "You gonna kill me?"
Mal: "Can you conjure up a terribly compelling reason for me not to?"
Saffron:  "I didn’t kill you."
Mal: "You handed me and my crew over to those that would kill us. That buys you nothing."
Saffron:  (smiles) "I made you dinner."

Fortunately for our marriage, Jer and I haven’t had anything like that conversation. I have, however, made him dinner. A lot. Some friends were over the other night and commented on how much use the oven is seeing, and Jer estimated that the oven has been used more in the first month of my living in the house than it was the entire three years Jer lived here without me. That might be an exaggeration, but probably not by much.
I do love to cook, and to bake, and the new wife syndrome does encourage a certain bit of nesting. I was also sick through much of November and December, and I find baking to be therapeutic, and good for days when I had enough energy to not be in bed but not enough to go out and enjoy holiday festivities. And it was holiday baking season, so all the foodie blogs (which I have become quite addicted to, I must admit) had fabulous new treats to try out. Add the stack of cookbooks we received as wedding gifts (and the copy of Julia Child’s Mastering the Art of French Cooking that Jer just picked up for me) and you have a recipe for recipe overload.
It was a lot of fun, and I expect it will continue, although perhaps not to the level that was witnessed last month. Although this year has already seen some Pumpkin Cranberry bread, my famous cookies, a bundt cake, candied nuts, hot cocoa on a stick, an assortment of biscuits and breakfast muffins and a few  loaves of sourdough bread, so perhaps this level of baking and cooking is a permanent condition. Not that Jer is complaining!
I shared a few recipes on my personal blog, but here is a sample of our menu and recipes (or links to the blogs I found them on):

On the stove:
Seafood Risotto from
America’s Test Kitchen
Chard and Sweet Potato Gratin (Smitten Kitchen is one of my new favorite blogs) 
Stew with Greens and Kidney Beans (Emeril failed me in another recipe, but this one was fantastic)
Taco Soup: an easy family favorite, this is simply ground beef cooked with taco seasoning, mixed with 2 cans each of tomatoes and black beans and a can each of red beans, pinto beans, and corn (add in that order).
Slow Cooker Bean Soup (so simple: soak beans overnight, then put in the crockpot with some veggies and cooked meat and italian spices and turn on low for 8 hours)
Pasta with Spinach and Marcarpone (the mascarpone in my fridge had gone bad, so I used some lowfat cream cheese and it turned out great)
Lentil soup (I’m not sure on this one, the lentils seemed a bit underdone. The flavors were amazing though)
In the oven:
Whiskey-Soaked Chocolate Bundt Cake
Breakfast muffins (Using this idea, I made them with homemade biscuit dough, and sauteed ham, mushrooms, and spinach. They are yummy and super convenient for workday breakfasts.)
Pumpkin Cranberry Bread (family sweetbread recipe)
Bran Muffins

Cranberry Almond Holiday Wreath (the group at brunch decided this was quite yummy, although my mom said it needed a touch more salt to bring out the flavors)
Pear Granola Muffins

And coming soon to our menu:
Zucchini Sweet Potato Bread
Vegetable Pot Pies

Banana Chocolate Chip Cookies (Jer says it sounds like an ice cream sundae) and some family recipe banana bread
Minestrone Soup (I can’t decide between
this one and this one. Guess I’ll have to try both!)
Butternut Squash Gnocchi

So readers, what are you eating? Have you got any great recipes to share? Food blogs I should be following? Don’t be shy!


Leave a comment

Posted by on January 16, 2010 in Uncategorized



What I’m Reading

Time for my inaugural post on the family blog! Since Jer posted on computer stuff, it makes sense that I would post on literary things, since usually if he is on his computer I am somewhere in the house reading and/or cooking.

I have a habit of reading multiple books at once. It might seem like a form of literary ADD, but really it is because I have varying tastes, and different types of books need to be read differently, with accommodations made for their genre. A good work of contemporary fiction needs to be devoured in large chunks over a short period of time, preferably no more than a week, in order to stay in the story. A classic can also be read in this manner, but usually needs a bit more time to savor, or work through the language barrier. A collection of essays can be taken piecemeal, picked up one day and then forgotten, only to be happily rediscovered under the pile of junk mail two weeks later. A deep introspective theology work needs to be read daily in small doses as one chews over the challenging statements and researches Scripture passages with which to disprove the author’s conclusions. So while working slowly through one work, I might find myself supplementing with additional books as the mood or opportunity strikes.
While I will read all these types of books and more, there are two genres that top my list of preferences. My absolute favorite in recent years has been the memoir. I love the simple reality of a person’s life, and how time and a little exaggeration dress up everyday events into moments of introspective brilliance. Close behind the memoir is the short story, and its cousin, the personal essay. A well-written short story always astounds me with the writer’s ability to capture the depth of a plot or character in a single moment. Short stories are to novels what photographs are to movies.
My current read, A Homemade Life, by Molly Wizenberg, is a memoir told in a series of short vignettes, so it is the perfect book for me. Reading each one is like studying facets of a precious stone-you see an image, and then turn the page to find a new perspective. The best thing about this book though is that since Molly is a food writer (check out her blog Orangette), each story resolves with a recipe for whatever food was featured in that chapter. Whether it is something as simple as encouraging you to make pain au chocolat by stuffing a chunk of fresh bread with a piece of dark chocolate or a more ambitious recipe like Fresh Ginger Cake with Caramelized Pears her stories are poignant and her recipes are delicious. I recently made her Whiskey-Soaked Dark Chocolate Bundt Cake for Christmas with the in-laws and both my husband and his father were quite pleased.
Underneath this on my bedside table is a marriage book, Sacred Sex: A Spiritual Celebration of Oneness in Marriage. Jer actually ordered this one right before the wedding but somehow on the honeymoon it ended up in my stack. It’s one for slow, thoughtful reading; as the title suggests, the author doesn’t waste time with sex tips but instead looks at what it means to be truly one with your spouse, on both a physical and spiritual level, and the ways marriage reflects the relationship of Christ and the church. I definitely recommend it (at least so far!)
Recently placed on the finished pile is Without Reservations by Alice Steinbach.  This is another entry in the memoir genre, but a bit lighter, as it is a tale of her travels in Europe during a year-long sabbatical. The “woman-finding-herself-by-traveling” is a popular book theme these days, especially with another favorite of mine, eat, pray, love, which has garnered quite a bit of success and an upcoming movie. I don’t easily tire of the genre, and Steinbach’s book is quite enjoyable, although it didn’t have the spiritual significance for me that Gilbert’s book did. Both authors have sequels, however, which I am looking forward to digging in to.
Steinbach mentions several authors and books in her work, and so I recently raided the library for some old gems, including a collection of E.B. White’s writings from The New Yorker. Most people know E.B. White as the author of children’s books like Charlotte’s Web, but he was a prolific essayist and co-writer of The Elements of Style, which used to be required reading for any student of writing. I picked up White’s Here Is New York a few years back and I am again enjoying his wit.
I’ve got a stack of books to dive into, so my only question is, what next? Perhaps a bit of novel action? I’ve got The Time Traveler’s Wife and Amy Tan’s Saving Fish From Drowning sitting on my shelf staring at me accusatorily. Or maybe I should continue on my memoir kick and read Ann Patchett’s Truth & Beauty (if you haven’t read Bel Canto, you haven’t lived.) But hey, with my reading habit, I’m sure I will get to them all eventually!

Leave a comment

Posted by on January 10, 2010 in Things Legible


Tags: ,

The new (old) PC

So last week was a bit of a nightmare computer-wise. I wanted to get things here off to a good start, but my computer had other ideas. Lemme explain:

I bought my current hard drive (Seagate 1.5TB) around the beginning of last year. It was shiny and had received great reviews at the time. (Yes, Seagate’s reputation has been unsavory of late, but this acquisition was made before it started circling the drain).

For the past year I’ve experienced infrequent (but still intermittent) lock-ups whereby my system will just… hang. Mouse will stop moving, keyboard will stop responding, and the song I’m listening to starts cycling over the last few notes. Anywhere from 30 seconds later to 5 minutes later, it suddenly comes back to life as if nothing happened.

Now, I’m a pretty tech-savvy guy, so my first stop is the Event Viewer application to see what the heck just happened to my System. To my chagrin, I saw Warnings from a device called nvstor64 that looked like:

 Reset to device, \Device\RaidPort0, was issued.


What’s more, i filtered the list and saw a bunch of these dating back several months to when I installed Windows 7. Now, I’m not about to blame Win7, since I know these issues were happening on Vista. Also, this is clearly an attempt by the Operating System to fix what is most likely a hardware problem (Windows talks to drive, drive doesn’t talk back, Windows waits patiently… then resets the drive to try to "wake it up"). I’m also experienced enough to know that "nvstor64" is the 64-bit NVIDIA Storage Driver, i.e., the thing that Windows uses to talk to the storage devices (hard drives, optical disc drives, etc.), which gives me a very strong hint as to who has a problem… but not why.

In the past this was happening only once in a while and I wound up sending my old motherboard (nForce 780i) in for a warrantee replacement. (I would like to give a shout out to evga for their amazing customer service). I installed the 750i motherboard as a hold-over until the 780i arrived… but when it did I was a few months away from getting married and was barely looking at my computer. No time to do heart surgery. So I’d been using the 750i faithfully since then.

I thought the lock-ups were a thing of the past, but last week I also endeavored to move the PC from the basement to the upstairs for the winter. All was going well and I considered my task finished until the lockups came back with a vengeance. To make matters worse, I was 3 days into a programming project for work and I hadn’t backed up to my Live Mesh or any external physical media yet. The problem needed to be fixed and fixed right then!

First step: Update the Motherboard (nForce 750i) drivers.

A bug in the driver could cause wonky hard drive controller issues, after all. I applied them (including the Storage Driver), rebooted, and hoped for the best. I was not prepared for what I was met with when the reboot finished. I opened the System Event Log and could almost watch the nvstor64 warnings roll in. Without fail, every 30 seconds a new one. Thankfully they weren’t stun-locking my user experience, but there they were, in spades.

"That can’t be good." I tell myself, and start poking around the ‘net. I run across this post (and several others like it) that let me know I am not alone. Eventually I wound up thinking that the increase in errors meant that the drivers weren’t as compatible with Windows 7 as NVidia and Microsoft seemed to think they were when they got WHQL signed. So I set about removing them.

Second step: Remove the updated NVIDIA nForce Storage Driver.

This was accomplished via six steps. If you’re following along at home, here’s what you do:

  1. Download the latest NVIDIA nForce Drivers (or, if you want to roll back to a previous version, have it handy).
  2. Download & install Driver Sweeper (you gotta do this first because after step 2, your internet won’t worky).
  3. Uninstall everything that says ‘NVidia’ via the Windows built-in Add/Remove Programs wizard. Don’t reboot until you’re all done installing them all.
  4. Reboot the PC and go into Safe Mode (spam F8 as the system is starting to get the menu that lets you choose this).
  5. Once in Safe Mode, log in as an Administrator-privileged account and run Driver Sweeper. Tell it to clean out anything from NVidia. Once it’s done, reboot.
  6. When the reboot is complete, re-install the NVIDIA nForce Drivers, but don’t check the Storage Driver. This should get your network ports active & functional again.

You’ll also need to re-install your graphics card drivers, but I make no assumptions that you’re using an NVIDIA card. I’m running a pair of 8800GTs myself, and they were happy to get squeaky-clean drivers after the total driver strip-down described above.

At this point, I figured my troubles would be over. Or at least, things would go back to "normal" (stun-locks and all). I was right, except that I was also wrong. Things were much as before, except they were much, much worse. I tried resuming my programming, but after hitting save 20 minutes into my work, I experienced a heart-stopping stun-lock that lasted for a good five minutes (but it felt like 5 hours). Eventually, the system recovered and my data was saved, but that was a highly-anxious handful of minutes I dared not repeat.

For sanity’s sake, I packaged up my code and backed it up to my Live Mesh. At least there it would be safe until I could figure out what the heck was causing this. After completing the backup, the machine locked up again. "Screw this!" I said under my breath and flicked the Reset switch on my computer’s case (a cold, black behemoth known as the CoolerMaster CMStacker).

Following the POST and the initial BIOS rigamarole, I was presented with every geek’s worst nightmare:


Exsqueeze me? I assure you, my good sir, the boot disk is in the computer. I didn’t see any black smoke escaping or smell the crisp pungency of ozone accompanying my reboot, which by deduction I assert that the disk and its contents are in fact intact and still remain in the machine! I press the Power button this time and give the system a chance to cool. Some things you just can’t solve on a warm reboot.

After sending my PC into a power-free time-out to pore over its recent bad behavior, I head downstairs to locate my copies of SeaTools and SpinRite.

Third step: Scan the drive for errors.

Yeah, the controller chip on the motherboard might be going bad, but it’s hard to prove that without verifying that the physical drive is fine. So I ran the SeaTools Short Test to see if there were any glaring issues. Passed 100%, and the SMART status hadn’t been tripped. To be extra sure, I scheduled the Long Test and went to enjoy some time with Becca. When the test was finished, it also reported 100% pass. So, probably not the drive.

Fourth step: Replace the motherboard.

Rebooted the PC. This time i got a different error when Windows tried to start. It said something to the effect of "A disk read error occurred. Press Ctrl+Alt+Del to restart." Happened twice in a row. A full power-cycle fixed it, but it gave me the heebie jeebies. Felt like the drive (or the controller) was going downhill fast.

To rule out the controller, I finally unboxed my replacement 780i board and swapped it in for the 750i that was having the panic attacks. After an hour of trouble-free computing, I thought all was well… and then the system locked up on me again. Reason? You guessed it: nvstor64, device reset. Grrrr….

Back to the Internets for more helps. I changed tactics and started searching for my drive’s serial number in conjunction with the nvstor64 error and the disk read error and I eventually ran across this article which led me to this AnandTech article which indicated that flashing my ailing drive would woo it back to health.

Fifth step: Flash the drive’s firmware!

So I ran the utility for my ST31500341AS drive. Quick, easy, painless (though it is kinda cool — uses some kind of Acronis dynamic boot-partition creation magic that lets you do low-level things without floppies or CDs by creating a tiny temporary bootable partition on your hard drive, then removes all trace that it was ever there. Sneaky. I like it… just as long as it doesn’t fail and leave you stranded in no-OS land. Hah!)

Once Windows was back up, I cleaned out the Windows System Event Log and ran the best stress test I could think of: I played Borderlands for a few hours. (It was locking up regularly before).

Sixth step: Rejoice and give thanks!

Seagate’s firmware update seems to have fixed the issue for good. It’s been several days and I’ve had nary a lock-up despite my best efforts to force one. I’d like to thank:

  • God for getting my data and my sanity through this ordeal intact.
  • Seagate for responding to the problems of their own making.
  • The Internet community at large and AnandTech in particularly for being doggedly persistent with them over the issues with these drive firmwares!


I guess you really do learn something new every day. First time in 15+ years of building systems that I’ve ever had a hard drive need to have its firmware flashed. And I hope I never have to again! Like Kaylee said, "Sometimes a thing gets broke, can’t be fixed." I’m glad this wasn’t that time.

Leave a comment

Posted by on January 7, 2010 in Computational Engines


Tags: ,