Thursday, September 01, 2005

Specifications for Lasagna

I found this site posted on Slashdot quite some time ago, lost it, and then stumbled upon it a few weeks ago. Now I'm blogging it so that I never forget again... (That's the kind of person I am: have to write it down or else I forget.)

There's a back story here: I can't make lasagna. That isn't entirely true. I can make lasagna, but it never turns out exactly as the instructions explain it should. Why? Because I can't follow recipes. And, for some reason, lasagna recipes are the hardest for me to follow.

It isn't that I don't understand the words or the technical language being used. "Stir" here, "mix" there, and "preheat oven" make perfect sense to me. The problem, here's an example, is that the recipe goes through all the mixing and preparing and then says "bake in preheated 350F oven for 40 minutes"...

WHAT? What preheated oven? When should I have preheated the oven? Where was that step!?

Admittedly, some recipes are better than others, but the people who write recipes aren't engineers. Engineers write specifications that can be read and understood in a clear, straightforward, repeatably accurate way. (Well, good engineers are supposed to be able to do that. I took Tech Writing in college with some people who were simply incompetent writers. I'm not the best speller, but I think I can write a halfway useful specification.)

Anyway, that's why Sarahlynn won't let me make lasangna. I always miss something or make a silly mistake somewhere. Not critical to the edibility of the final product, but annoying enough to warrant not letting me make lasagna on my own.


The solution: Cooking for Engineers!

These aren't always the most elegant dishes, but the approach that the authors of these recipes takes to explaining is pure genius.

Oh, the other part of back story here is that I'm a very visual person. Graphs. Charts. Diagrams. Numbers. These are the best ways of conveying information, in my opinion. Accompanying text is important, but once you've read the text once, the associated artifacts are should need to refresh your memory or explain the concepts to someone else. Picture's worth a thousand words... or a million lines of code.
As for the recipes, they're drawn out in a type of diagram that shows how different ingredients are being combine and in what order. At a glance, it can show you the chronology of preparing the dish, as well as where there are opportunities for parallelism in the preparation and what the dependencies are between different steps. Brilliant!

Maybe there's hope for me and lasagna yet:

No comments: