
Cooking Patterns - appplemac
http://alexey.ch/cooking-patterns
======
batbomb
They aren't called patterns, they are called techniques.

There's tons of books about all the techniques you can use. When you
understand some of the basic techniques, it's apparent what techniques are
being used when you read a cook book. The problem is, even if you only got as
technical as saying "make a velouté sauce" in half the cookbooks you see, then
people would freak out if you didn't tell them how.

When you learn the fundamental techniques, you can easily extrapolate them and
realize half the recipes you read in your cookbooks are (necessarily)
overcomplicated and can be reduced (no pun intended) to a few techniques.

Jacque Pépin is an good resource for beginners and intermediate cooks to learn
french techniques. You can find techniques online and in his book New Complete
Techniques. The CIA book is good, but a big gripe with the CIA book and the
FCI/ICC book (Fundamental Techniques of Classic Cooking) is that the portions
are pretty huge because they are for professional chefs and caterers. That
aside, they are still a good resource for learning that. IIRC the James
Peterson "Cooking" book is pretty good at basic techniques.

The Joy of Cooking is still one of my favorites, because the recipes are basic
(but delicious), and because it's a compendium of recipes, it builds on itself
more than nearly every cookbook you can find. So the recipes include in the
ingredients do say "2 cups béchamel (Page 400)", and you can backtrack to that
recipe and learn.

One problem with these books people don't usually like is the basic recipe
isn't often fancy enough to be novel. It's kind of up to the cook to
understand "Oh Coca-Cola would be a good substitute for the acid and sugar
here" or "maple syrup would be better than brown sugar here" or whatever.

For that, it's nice to have McGee's "On Food and Cooking", as it goes into
details about ingredients you've never really thought about.

~~~
wiz21
> They aren't called patterns, they are called techniques.

I totally agree. That's weird to see the n+1-th geek discovering something
people have been doing since the dawn of humanity.

Damn, we're just talking about basic cooking. I understand many of us didn't
learn the basics, but nonetheless, it's basic.

Imagine somebody saying he discovered "patterns to ride a bicycle" and
explaining how to go from A to B with a regular bike in the most obvious
fashion...

~~~
mercer
I think it's great that someone is trying to make cooking more approachable by
using 'geek jargon'. Who cares that it's slapping a different label on an old
thing?

~~~
VLM
Confusion when you meet a chef and try to learn something or at least
commiserate about cooking and what he calls a béchamel you try to provide ...
a functional programing lambda statement based on map and reduce statements
applied to lecithin proteins using heat as an anonymous lambda function.
Sorta.

Fooling around as a mental exercise is fun. Hey look at this, a floating point
multiplier in BF! The problem is mis categorizing or mis titleing it as
"learning floating point math". Describe Ops activity as a "insights from
looking at cooking thru a programming lens" would sell a lot smoother than
learn to cook using c++ design patterns.

There is a minor area of danger in that there are many ways to hurt yourself
cooking but working slowly with common sense should prevent serious accidents
(I hope?) Perhaps a good analogy to "don't write your own crypto" would be
"don't invent your own canning recipes" or "don't invent your own deep fat
frying procedures (unless you like burn wards)"

------
mattdotc
To those of you who got into cooking later in life, consider your experience
if you [ever] have kids. You will enrich the rest of their lives if you
involve them in the kitchen and teach them some of what you know.

I learned how to cook by helping my mother and father for as long as I can
remember. I don't honestly know when I started but it was definitely before
10, and likely around 7 or 8 when I could make meaningful contributions and
not just get in the way. It has benefited me greatly and I should really make
a point of thanking them more often for it.

Sure, I might have groaned when being tasked with preparing my own school
lunch, or being asked to help peel potatoes, but through the years I picked up
lots of valuable experience without even realizing it. I learned these
patterns that the author talks about, even if I didn't have a word for them.

Cooking is one of my greatest pleasures and, to be honest, I feel sad that
some people see it as only a means to an end.

------
tptacek
This is the premise behind Ruhlman's books _Ratio_ and _Twenty_. Both are
great.

Another interesting prism through which to look at cooking is the format used
by the CIA's _New Pro Chef_, which covers technique, still focuses on recipe,
but also introduces evaluation criteria for each dish: you're not simply
following steps, but also judging the outcome carefully, which forces you to
focus on what you're actually doing.

And then there are recipe books that use recipes as a vehicle for teaching a
broader technique. A good example would be _Sauces_, which is compromised of
recipes for sauces, but is a survey of the techniques involved in saucing a
dish.

------
gms7777
I really like Mark Bittman's How to Cook Everything Series for this. It has a
ton of recipes, but there is also a decent amount of discussion of the
concepts behind recipes and multiple ways to alter most recipes, as well as
tables that make this sort of concept explicit (e.g. There is a table for
soups that has a list of well known soups with a column for the liquid base,
protein and vegetable). I rarely pull recipes directly out of this book, but
it has completely changed the way I think about cooking.

~~~
jschulenklopper
Second that advice for Mark Bittman's book. The main advantage (for me) is
that it briefly discusses the basic recipe (and some of the reasoning behind
it), and then mentions 10-20 variations w.r.t. ingredient alternatives that
are worth a try.

------
xutopia
That's funny you say that. I am a computer programmer and I also do a once a
year pop up restaurant. I cook on the level of some very good chefs without
the formal training so I'm more wasteful and slower but create great dishes
just the same.

I started thinking of design patterns in cooking when I took a class on
stocks, soups and sauces. In traditional French cooking you see the bones,
shells and carcass of any animal you cook used to make a base liquid that can
then be transformed (refined) further.

Take a chicken for example. I'll debone it and use the bones, feet, head and
excess skin to make stock with it. I'll either grill it before dipping it in
water to extract the flavour or do a "white" stock by dipping in water without
browning. To this I'll add aromatic veggies and spices. Once you understand
how to extracts taste from the carcass you can expand on that and concentrate
the flavour by reducing it and then you have a liquid with many good
properties. You can then apply the same technique to any mammal, bird, fish or
seafood you can think of.

Perhaps my favorite "cooking pattern" is the demi-glace. This takes the
(usually veal) stock, concentrates flavours further with tomatoes, mushrooms
and a standard mirepoix but adds a roux to thicken it. You can then use any
tasty liquid you can find to mix with it and you have an instant high quality
sauce. I've made demi-glace that I've used for mushroom sauce, bordelaise (red
wine), tarragon poultry sauce, porto and cherry sauce, etc...

The reality is that a lot of the idea of patterns have been codified by the
late Auguste Escoffier
[http://en.wikipedia.org/wiki/Auguste_Escoffier](http://en.wikipedia.org/wiki/Auguste_Escoffier).
His influence is huge in the cooking world. Kitchens and cooking just wouldn't
be the same without him.

~~~
appplemac
Sincerely saying, I have never made a demi-glace, although I should have. Will
try after studying the process, thanks for sharing!

For me, Escoffier’s book is probably comparable to Bjarne Stroustrup’s “The
C++ Programming Language”, at least by complexity of the material, so I am
somewhat afraid of using it. As far as I know, “Le Guide Culinaire” is used as
a source of recipes for the Master Chef exam, for example.

Maybe I should try approaching it again with some patience. Cheers!

------
pit
Michael Ruhlman's _Ratio_ espouses a similar philosophy: that recipes can be
looked at as patterns which you can build on.

It's a great idea, especially because it encourages experimentation.

------
jpp
I couldn't agree more. So much so that I wrote the O'Reilly book on the topic:
[http://www.cookingforgeeks.com](http://www.cookingforgeeks.com)

~~~
ascorbic
It's a great book! I use it often.

------
L_Rahman
As someone who's recently started cooking as well, thanks for putting into
words something that I've been struggling to do myself.

Hoping to submit a pull request soon.

My go-to pattern is stir-fry:

\- Aromatics (ginger, garlic, onions)

\- Crispy vegetable (red/green/yellow Peppers, snow Peas)

\- Thin cuts of meat

\- Absorbent starch (Vermicelli, egg noodles, steamed rice)

\- Sauce (Cornstarch, soy sauce, oyster sauce, fish sauce)

------
dipanddough
Nice article! I definitely think this is the right approach for absolute
cooking novices who also happen to think like engineers. For those who haven't
learned to think like engineers, this might seem... boring. I won't say that
you're taking the discovery out of the equation, but I think you're distilling
this process. Discovery is important as a novice because it inevitably helps
build your palate.

Patterns, in this particular viewpoint, seem to have a limit with regards to
becoming a better cook. Sure, you're going to learn how to cook, but you won't
really know why things come out a certain way. Rather than use the analogy of
a pattern, I think it would be more advantageous to break meals down into
flavor profiles. These are the building blocks AND personas of food. By
learning how to make something taste salty, sweet, sour, bitter, spicy, or
even French-y, Chinese-y, Mexican-y, Mediterranean-y, etc, etc, you can take
very foundational dishes and produce countless variants.

Anyways, I think it would be really helpful for you to check out how the
French structure their mother sauces. They are very foundational and develop
into so many different things. Not unlike what you're talking about, but
allowing for unlimited creativity, engineering.

------
andy_wrote
I'm also a coder who has recently started attacking his kitchen incompetency!
(but on the order of months ago, not years ago...) I prefer baking because I
can rigorously follow directions in the worst case and get something
acceptable, and because it feels a little alchemical and magical.

Something I wish recipes would discuss is "why do we do X?" or "what would
happen if we did not do X here?" Like, say, the recipe calls for one teaspoon
of salt. What if we added zero, or two? I think this is a little different
from the pattern recognition discussed in the article.

These explanations would help beginners understand what is essential and what
can be omitted (if necessary) or substituted. It would also foster creativity
in the learning process. I don't want to experiment blindly and fail and have
spent lots of time and effort on something inedible, especially given that I'm
a novice who needs all the encouragement he can get. But if I understood the
reasoning behind a particular step in the recipe, I'd be more willing to mess
with it.

~~~
mercer
A friend of mine once remarked that I would probably love baking, and that I
might want to start with that before I move on to cooking. Why? Because, at
least according to him, baking is more like chemistry, where doing it right
means doing things _exactly_ right, whereas cooking is generally more
improvisational and free-form. For 'programmer types' he figured the former
would be easier.

I took his advice, and baked a really good cheesecake. I would like to say I
was hooked and kept going, but I didn't. But it was the first time I started
to see the fun of making food, and I'm sure I'll pick it up again soon.

~~~
andy_wrote
I agree with that distinction. Also, making food for many people is much more
rewarding than making food for just yourself. (When I do the latter, it's lots
of work for 5-10 minutes of payoff, and I often find myself wishing I'd
ordered instead.)

Many baked goods are easy to toss in a box and bring to the office or to
friends' places. You're not going to bring a tureen of polenta to work and
tell your colleagues to dig in for a midday snack.

~~~
vonmoltke
> Many baked goods are easy to toss in a box and bring to the office or to
> friends' places. You're not going to bring a tureen of polenta to work and
> tell your colleagues to dig in for a midday snack.

A nine-pound pork butt on the other hand...

------
arafalov
I am a beginner cook and was moving countries. I had to start the kitchen
setup from scratch. So, I got a Thermomix.

It's very expensive but was a great match for my use case. Usually, the target
audience is mothers with multiple kids, especially when kids have allergies.
But to me, it was a gadget that allowed to select temperature, time, and
strength of pulverization/cutting/mincing. It also has built-in scales. And it
came with recipes that were using absolute quantities for weight and all
settings, so no guesswork required.

So I could follow the recipe/algorithm to the letter and get perfect result.
Then, I could slowly learn _why_ that happened in the repeatable conditions.
Then, I could start change things and see what happened. And adapting non-
Thermomix recipes based on understanding the temperature/time/cutting axis.

So back in September 2014 I was looking up how to fry an egg (seriously! Not,
apparently, at the highest heat). By now, I've made risottos, soups, breads,
sweets, chocolate, smoothies, Indian Chai, some Russian specialties
(hrenoder), etc.

I am feeling a lot more comfortable in the kitchen. And, since I eat at home
most of the time now, Thermomix - nearly - paid for itself already.

So, the kitchen equipment is also about patterns, not just the
ingredients/steps.

Bad news: Thermomix is not available in the USA. Not yet anyway, maybe in a
year.

------
jeffyee
I saw "Ratio" by Ruhlman mentioned below, but also wanted to mention "The
Flavor Bible". Technique is half of the battle, and flavor combination is the
other. The Flavor Bible is basically a encyclopedia for food combinations.
Look up a food and see what goes well with it. Eg apples go well with
cinnamon, pork, and nuts. It's based on interviews with chefs, but I've also
built a version myself with recipe ingredient analysis.

There's scientific analysis that can be done on flavor compounds in foods as
well to find complementary flavors, foodpairing.com is working on this.

~~~
tptacek
The Flavor Bible is interesting (and so badly wants to be a web app). There
are things it's _amazing_ at; for instance, if you have one or two base
ingredients, The Flavor Bible will generate thousands of plausible soup ideas.
I don't find that it informs my cooking all that much though; the most
important combinations are also very well-known.

------
pjmorris
Julia Child built a career out of using recipes to teach reusable techniques,
starting here [1] and culminating with [2]. In each of these books, she embeds
what a software person would call a pattern in each 'master recipe',
illustrates with a handful of variations, and offers suggestions of
applications.

[1] 'Mastering the Art of French Cooking' [2] 'The Way to Cook'

------
noelwelsh
Agree 100% with the approach described in the post. The most useful cookbook I
own is The Modern Cooks Handbook[1] which follows the pattern approach.

[1]: [http://www.amazon.co.uk/Modern-Cooks-Handbook-Lynda-
Brown/dp...](http://www.amazon.co.uk/Modern-Cooks-Handbook-Lynda-
Brown/dp/0718138155)

------
zwieback
Good to see coders getting excited about cooking but if we now call technique
and process "pattern" then I wonder what else is a pattern. Pretty much any
creative process would end up being a pattern of some sort so the term ends up
being meaningless.

------
Tiktaalik
I believe this is actually how professional cooks discuss food.

For example the various components of a soup all have their own names.

* Stock

* Mirepoix (flavour base eg. carrots, onion)

* Bouquet Garni (more flavourful herbs eg. basil, pepper)

* Protein

Replace the various ingredients in these component categories and you get
different soups.

(I am not a professional cook)

------
v1p1n
just putting it out there: this idea is not new.
[http://www.huffingtonpost.com/linda-buzzell/pattern-
recipes-...](http://www.huffingtonpost.com/linda-buzzell/pattern-recipes-the-
cure-_b_811588.html)

------
jkscm
But the recipe is the solution, the finely crafted source code, that we have
to deploy. Cooking may be more similar to DevOps than software engineering.

~~~
pit
Throwing spaghetti code over the wall?

------
pcthrowaway
I would say the example with different kinds of fritters is more a
demonstration different implementations on an interface than of cooking
patterns

------
jorjordandan
Nice! Now we just need to be able to deploy lunch with `git push table`

~~~
teh_klev
And for that after dinner trick 'git pull tablecloth'.

~~~
jschulenklopper
Might try that once with "git checkout new-trick"

------
venomsnake
Cooking is really simple. Lets take meat:

Tender - keep the juices inside. Heat to the minimum possible safe temperature
on the inside.

Tough - nuke it till its gelatinized.

Brown generously because people love that taste.

Salt is your friend in 1-2% range.

Just by knowing these four things you will be able to convert any cut of meat
into something edible with whatever equipment you have on hand.

