Archive for January, 2006

Cooking lessons 3

Friday, January 20th, 2006

This is going to get hopelessly out of order very quickly, as there are now two lessons I’ve missed out on actually posting. Never mind.

Yesterday I took Michael spice shopping. I was actually a bit unimpressed with where we went, so if anyone can tell me some good places to go spice shopping in London I’ll be really grateful. We bought ground cumin, ground red chilli, garam masala and (gasp) curry powder. I went for all powders because they’re a bit easier to work with to start with. Also because the selection of whole spices was crap. We can get on to the subtleties of spice usage once we’ve covered the basics, and once I’ve found a decent place to go shopping for them.

Here’s one of the first Indian recipes I ever learned to cook, about four years back when I was first trying out this ‘vegetarian’ thing and Tariq came into our kitchen and found my attempts at making a curry. They were umm… not very impressive. Ask nicely and I’ll tell you about it some time. Here is a very simplified and tinkered with version of the recipe he showed me.

Ingredients

  • One small bowl of lentils (about a serving size in order to make two to three servings). Preferably green, brown, puy, etc. Black or red won’t really work here.
  • One medium-large onion.
  • Sunflower oil.
  • One large spoon of ground cumin.
  • One spoon of garam masala.
  • A quarter of a spoon of curry powder.
  • Water.
  • Salt to taste.

Instructions

Mix the dried spices and salt. Dry fry them on a medium heat for about a minute, stirring constantly, and then transfer to a bowl.

Add enough oil to the bottom of the pan to just cover it. Dice the onion and fry it on medium heat until soft, and then add the spices. Fry for a few minutes more.

Now add the lentils and fry for about a minute. Cover with boiling water (say two to three times as much water as you had lentils) and bring to a boil. Reduce the heat to simmer, cover the pot, and leave it.

It will probably take about half an hour to cook. Be more worried about undercooking it than overcooking, but check on it every now and then to see if it’s getting dry and needs more water. The end result can either be dryish or soupy as you prefer. If it’s going to be soupy you might want to consider adding more salt and/or (horrors) half a stock cube. When the lentils are soft to eat it is ready.

Cooking lessons 2

Monday, January 16th, 2006

Right, here’s the first real cooking lesson. There would have been one before this in which I discussed how to make the garlic lentils in a slightly more sane manner, but stuff got in the way. So I didn’t.

At the moment Michael is still spice free, causing me to need to be vaguely creative to work with the limited flavourings and ingredients available. Here’s what I came up with as a suggested dinner for tonight. It’s basically a mixture of things which are easy to make.

Pan fried potatoes

These have, for all intents and purposes, no nutritional value. However they taste great and are cheap and easy to make, so why complain?

First of all, you’ll need boiled potatoes for this. Cold is better, because hot potatoes are a nuisance to cut and don’t retain their shape as well, but either is fine. So, first we need to boil some potatoes. I recommend making excess potato and storing the rest in those sandwich bags I told you to get, as these are always useful to have to hand and if you have precooked potato in the fridge then this becomes even easier to make.

This is a complicated procedure akin to rocket science. You take a large quantity of unpeeled potatoes, given them a rinse and put them in a pot. You cover it with water. Put the heat on high until the water boils and then reduce the heat to medium and leave it to cook. Check them after about 20 minutes, and remove when cooked. They need to be soft when you stick a knife into them (check several as this will vary with potato size and they’re better slightly overcooked than undercooked).

Once the potatoes are cooked, let them cool for a bit (it may help to leave them to sit in a pot of cold water for a few minutes), then cut them up into roughly cm cubes (you don’t need to be too careful when doing this).

Now get a frying pan and add enough oil to cover the bottom in a thin layer. You may want to add a small amount of butter as well. Let it get hot and then add the potato cubes and sprinkle a fair bit of salt over the potatoes.

This will need to fry for quite a while until the cubes get crispy. Stir it every minute or so, but not constantly – prolonged contact with the frying pan is needed to crip the potatoes.

Spicy tomato sauce

Ingredients: One medium sized onion, garlic puree, lazy chillies, tomato passata, oil, salt

What to do:

Dice the onion fairly finely. Fry on medium heat with a little bit of oil and a pinch of salt.

After about five minutes, add a small spoon of lazy chillies and garlic puree (slightly more garlic than chillies if anything) to the onions and continue stirring until the onions are soft. Then add about half a bottle of passata, mix it up thoroughly and reduce the heat. Leave it on a low heat, stirring occasionally, until the sauce thickens.

Serve with the pan fried potatoes (you probably don’t want to put the sauce directly on them, as it will soak in and they’ll lose their crispiness. Serve on the side and mix as you eat).

Next post: Salads.

Cooking lessons 1

Saturday, January 14th, 2006

A few months ago I was walking through London with a friend of mine. For the sake of the argument let’s call him something implausible like Michael. In the course of conversation two things came up. Firstly, that he was very low on money. Secondly, that he wanted to go to McDonalds because he could get a meal’s worth of food for only five pounds there.

Needless to say I objected rather strongly to this statement. Both to the notion that one can acquire food at McDonalds and to the notion that five pounds for a meal is good value. And so it arised that I would be teaching Michael how to cook.

Michael has now returned from the barbarian lands which he calls home, and so the lessons are to begin. Because it will allow others to benefit from them, and because I’m a total show off, I’ll be doing it via a series of blog posts.

Today is shopping day, and I’m suggesting a list of bare minimals he’ll want to stock before we do this. Spices will come later, as I refuse to instruct anyone to buy spices at a supermarket.

Cooking implements and general kitchen stuff

He actually has most of these, but I’m including it for completeness. Some of these aren’t essential, and one can always improvise, but it’s irritating to have to do so.

  • Cutting board
  • Sharp knife
  • Frying pan
  • Pot (Having two pots is ideal, but not neccesary)
  • Wooden spoon
  • Cooking spatula.
  • Large sandwich bags
  • Cheese grater
  • Aluminium foil

Cooking essentials

These are the ingredients which I feel it would be useful to always have to hand.

  • Sunflower oil. This can be as cheap as you can find.
  • Garlic puree
  • “Very lazy chillies”
  • Table salt
  • A couple packs of green, brown and red lentils respectively
  • A couple bottles of tomato passata.
  • White rice. Preferably basmati.
  • Stock cubes. Something of midrange quality is likely fine.
  • Bag of cheap white onions.
  • Bag of potatoes
  • Marmite
  • Soy sauce
  • Sugar, preferably brown

Not all of these are things I would use. I’ve replaced some of my ingredients with equivalent shortcuts.

Short term stuff

Things which I’d recommend picking up in the short term. This is definitely not a required list, but will give rise to some nice easy starting meals.

  • Eggs
  • Carrots
  • Cucumber
  • Fresh fish from the fish counter – if you buy whole fish rather than steak you can find some quite reasonably priced examples.

Other stuff

I like to have the following around, but it’s totally nonessential.

  • Balsamic vinegar
  • Sesame oil
  • Miso (if you get the fish I recommend picking up some of this)
  • Sweet chilli sauce

Stone duality rocks

Friday, January 13th, 2006

I’m sorry for the title. Please don’t hurt me. I have a condition.

Stone duality is a result that says (in a certain sense) that Boolean algebras are the same as zero-dimensional compact Hausdorff spaces. (It’s not an equivalence of categories as I had previously claimed, as the resulting functor is contravariant, but it is an equivalence of categories if you replace one of them with their dual).

I’ll assume you know a little bit of topology (enough to decipher ‘compact Hausdorff’ anyway), but I’ll give a quick refresher on Boolean algebras.

One way to define them is purely ring theoretic. A Boolean algebra is a ring with 1 such that for every x we have x^2 = x.

These have various nice properties. In particular every element of a Boolean algebra is its own additive inverse, as 4x = 4x^2 = (2x)^2 = 2x, so 2x = 0. Also, multiplication is commutative as x + y = (x + y)^2 = x^2 + xy + yx + y^2 = x + xy + yx + y. So xy + yx = 0 and thus by the previous observation xy = yx.

Two important notes: Firstly, the only Boolean algebra which is a field is {0, 1} with the obvious operations. Secondly, the homomorphic images of Boolean algebras are Boolean algebras. So if B is a Boolean algebra and I is a maximal ideal then B/I is a field, and so {0, 1}. Thus for any x in B we have either x in I or 1 + x is in I.

The classic example of a Boolean algebra is P(X) for some set X, with the symmetric difference as + and intersection as multiplication. 0 is the empty set and 1 is X. In the finite case, every Boolean algebra is isomorphic to one of these. In the infinite case, something more interesting happens.

But first, a note. We can turn any Boolean algebra into a lattice (a partially ordered set in which every finite set has a sup and inf, or equivalently a certain type of algebraic structure) of a very special kind:

Define x <= y if xy = x. Then x^2 = x, so x <= x, if x <= y and y <= x then xy = x and yx = y then x = y because the algebra is commutative. If x <= y and y <= z then xz = (xy)z = x(yz) = xy = x. So, it's a partial order. Note that 1 is the largest element of the order and 0 is the smallest.

I’m going to claim the rest of the details to check without proof:

sup{x, y} = x + y + xy
inf{x, y} = xy

We write sup{x, y} = x / y and inf{x, y} = x / y

These two operations are associative, commutative and idempotent. Further they distribute over eachother.

Finally we have that for every x there is a unique y such that x / y = 1 and x / y = 0. (Specifically y = 1 + x). We write this x^c. Further, De Morgan’s laws hold in that (x / y)^c = x^c / y^c and (x / y)^c = x^c / y^c. Further x <= y iff y^c <= x^c.

The first part is just saying that this forms a lattice. The second part is saying that this is a distributive lattice, and the third is that it is complemented.

In the power set case we have that / is union and <= is subset containment as one might expect.

Given any complemeted distributive lattice we can get a Boolean algebra structure back out of it, by taking x + y = (x / y^c) / (y / x^c), the symmetric difference.

So, Boolean algebras are the same thing as complemented distributive lattices. This is nice, but it’s not the main point here.

It does however give us one useful way of recharacterising things.

Theorem: I <= B is an ideal of B iff it contains 0, is closed under / and whenever y in I and x <= y we have x in I.

I’ll leave this as an exercise, but it’s not hard. But applying the complement operator to it gives us a dual definition:

F <= B is a filter iff it contains 1, is closed under / and whenever y in I and y <= x we have x in I.

Filters turn out to be a very useful equivalent way of looking at ideals.

Boolean algebras come up an awful lot in their own right. A lot of natural things in logic and set theory can be interpreted as Boolean algebras, and there are rich classes of examples of them. Most often they come up as lattices rather than algebras, but because these two are the same thing we can cheerfully switch between them as we wish.

The major example (which will lead us to Stone duality) is the following:

Let X be a topological space and let A be the set of clopen subsets of X. Then A is closed under union, intersection and complement and so forms a Boolean subalgebra of P(X). We call this the clopen algebra of X. In general this may not tell us an awful lot about X, but in the case where X is zero-dimensional (there is a basis of clopen sets) it will.

Stone duality is going to say the following:

1) For every boolean algebra B there is a topological space which we will call the Stone space of B such that B is isomorphic to its clopen algebra.

2) Given a zero dimensional compact hausdorff space X, X is homeomorphic to the Stone space of its clopen algebra.

So for every zero dimensional compact Hausdorff space there is a unique Boolean algebra, and vice versa. Further, both constructions are (contravariant) functorial.

I’m not going to prove this, but I will explain how it works and why it gives a zero dimensional compact Hausdorff space.

The Stone space of B, S(B) is the set of all homomorphisms from B into {0, 1}, given the subspace topology from {0, 1}^B. Equivalently it’s the Zariski topology on the set of maximal ideals of B. This is compact because it’s a closed subspace, and zero-dimensional and hausdorff because {0, 1}^B is, and both properties are preserved under restriction. The fact that it’s functorial is obvious.

Sketch proof of why X is homeomorphic to the Stone space of its clopen set. Let x in X. Then { U in clop : x in U } is an ultrafilter on clop(X), so gives rise to a maximal ideal and so a homomorphism into {0, 1}. You can check this is a homeomorphism.

The fact that it’s a contravariant functor actually makes it more interesting, not less.

Here’s why:

The stone space of P(N) is the set of all maximal ideals of P(N). By complementing we may equivalently regard it as the set of all maximal filters on P(N). i.e. the set of all ultrafilters, which form the Stone-Cech compactification of N, beta N. It’s an easy check to see that this gives the right topology as well. The Stone Cech compactification is a very major area of study in topology, and the Stone duality gives some very powerful tools for studying it.

Of more interest is the remainder, beta N N. Now, under Stone duality this is not a subalgebra of P(N) but a quotient of it. Specifically it is the quotient P(N) / Fin, where Fin is the ideal of finite subsets of P(N).

This Boolean algebra has some nice properties. Firstly, it is atomless. An atom in a Boolean algebra is an element a such that x <= a implies that x = a or x = 0. P(N) has lots of atoms (all the singletons), but we've quotiented out by the ideal generated by the atoms (this doesn't always succeed in getting rid of atoms, as it can introduce new ones, but in this case it does). A Boolean algebra being atomless is equivalent to its Stone space having no isolated points.

Most importantly, it has something called the strong countable seperation property. If A, B are countable subsets of P(N)/Fin such that for any finite F, G with F <= A, G <= B we have sup F < inf G then there is an interpolating element x. i.e. one such that for a in A, b in B we have a < x < b. This is incredibly useful, because it lets us prove the following:

Let A, B be Boolean algebras such that B has the strong countable seperation property. Let C <= A a countable subalgebra. Let f : C -> B be an embedding, a in A and define C’ to be the algebra generated by C and a. Then we can extend f to an embedding f’ : C’ -> B.

(The proofs of both of these are a bit technical and a pain to write up in ascii, so I don’t intend to include them here. The proofs for all of this will get written up properly at some later date).

Now, this lets us prove Cool Things.

Theorem:

Let A, B be Boolean algebras such that |A| = aleph_1 and B has the strong countable seperation property. Then A embeds into B.

Proof:

You can probably do this via Zorn, but I find transfinite induction more natural here.

Enumerate A as {a_t : t < aleph_1}. We'll define a sequence of subalgebras A_t and embeddings f_t : A_t -> B such that if t < s then A_t <= A_s and f_s restricted to A_t is f_t, and Union A_t = A. Then the patching of these functions to A will give an embedding of A into B.

But doing this is easy. We take A_t to be the algebra generated by Union_{s < t} A_s union {a_t}. We have an embedding from the union of the previous subalgebras, so the extension lemma gives us an embedding of A_t. We pick one such embedding and call it f_t, continuing the induction.

QED

In particular this works with B = P(N)/Fin

This probably doesn’t sound especially exciting at first glance. But lets plug it into Stone duality and see what we get:

Let X be a zero dimensional compact Hausdorff space of weight <= aleph_1 (the weight of a topological space is the smallest cardinality of a basis), then X is a continuous image of beta N N.

Ok, this is still interesting. But zero dimensional spaces are a bit special – there are certainly interesting examples of them, but a lot of the spaces which we want to study aren’t zero dimensional. Fortunately, there’s a useful theorem of point set topology we can apply.

Every compact Hausdorff space of weight k embeds as a subspace of [0, 1]^k, as a consequence of Urysohn’s lemma. Recall that [0, 1] is a continuous image of {0, 1}^aleph_0. Hence [0, 1]^k is a continuous image of {0, 1}^k. Thus any compact Hausdorff space of weight k is a continuous image of a closed subspace of {0, 1}^k, and so the continuous image of a zero dimensional compact hausdorff space of weight k.

Ok, now it’s interesting. We’ve suddenly got a huge wealth of continuous maps from beta N N. This is Paracivenko’s first theorem:

Every compact Hausdorff space of weight <= aleph_1 is the continuous image of beta N N.

It gets better. We can use almost exactly the same proof to give something which will (combined with the continuum hypothesis) give a very powerful result:

Theorem: Let A, B be Boolean algebras with the strong countable seperation property and |A| = |B| = aleph_1. Then A and B are isomorphic.

Proof:

The place where we use the continuum hypothesis is in the very statement of the theorem. |P(N)/Fin| = 2^aleph_0 = aleph_1 by CH.

We need to adapt the previous argument. We’ll use a trick called a back and forth argument.

We’ll define increasing sequences A_t, B_t countable subalgebras of A and B. with Union A_t = A, Union B_t = B.

Further there will be embeddings as follows:

f_t : A_t -> B_t
g_t : B_t -> A_{t+}

Such that g_t f_t = id and f_{t+} g_t = id.

Then these will paste together to give maps f : A -> B, g : B -> A which are homomorphisms and mutual inverses, proving the result.

Now that we’ve got this setup, it’s really just a case of applying the countable extension lemma.

Suppose we’ve done this for for s < t. Let C be the union of g_s(B_s) over s < t. Then this is a countable Boolean subalgebra, and we have an embedding of it h : C -> B given by the inverses of the g_s being patched together. By the construction we have Union_{s < t} A_s <= C, and h|_{A_s} = f_s. Now, extend this map h to the algebra generated by C and a_t. Call this algebra A_t and the extension f_t : A_t -> B.

Now, we have that the image of f_t contains B_s for s < t. Define B_t to be the algebra generated by the image of f_t and b_t and g_t : B_t -> A to be an extension of the inverse of f_t to this algebra.

The induction continues.

Phew. I think I mangled that explanation slightly. Hopefully the idea that I’m trying to convey is reasonably clear.

Anyway, the point is that under the assumption of the continuum hypothesis this becomes “P(N)/Fin is the unique Boolean algebra of cardinality aleph_1 with the strong countable seperation property.”

This is nice, because it’s a simple short characterisation of something important. Having these will very often give you interesting or useful results.

Now, hit it with Stone duality…

The question is, what does the statement ‘has the strong countable seperation property’ become under Stone duality?

It turns to be something slightly awkward:

Definition: X is a Paracivenko space if it is a compact zero dimensional Hausdorff space with no isolated points, such that every pair of disjoint F_sigma sets have disjoint closures and every non-empty G_delta set has empty interior.

Theorem: B has the strong countable seperation property iff its Stone space is Paracivenko.

I’m not going to prove this.

So, our uniqueness result becomes: beta N N is the unique Paracivenko space of weight aleph_1.

This is actually extremely useful, because there are a wealth of Paracivenko spaces of weight aleph_1 (under CH), and this theorem tells us they’re all homeomorphic – so by studying one, we study all of them.

For example, (beta N N)^2 is Paracivenko, so is homeomorphic to beta N.

Seems trivial? It’s not. You can’t prove this result under ZFC.

This gives rise to some very rich theory in modern set theoretic topology – the study of beta N under the continuum hypothesis is extremely nice, and this leads on to a lot of interesting topological and combinatorial results…

…which I know almost nothing about. So I’m going to stop here.

Sweet carrots and chickpeas

Friday, January 13th, 2006

About a week ago when it was one of my nights to cook for the family I was talking with Boy. The proposed dinner plan was a chestnut and sweet potato curry, and I asked him if he’d be ok with that. He said yes, which I was pleasantly surprised by. Then he said something else.

“It doesn’t really matter what you put in a curry anyway.”

Excuse me?

“Well, once you’ve put the onion and curry powder and stuff in it all tastes the same.”

I can’t remember what I actually said in reply to this, but I suspect it wasn’t more coherent than vague sputtering noises.

Later when eating the curry he observed “See what I mean? You can hardly taste the sweet potato or chestnut.”

On the one hand, he was wrong. The curry was basically chunks of sweet potato and a spicy chestnut sauce. The chestnut was subtle, sure, but chestnut sauces are always mild. On the other hand, he did have a point. My spice selection has become a bit lacking in variety recently. So I’ve been meaning to experiment with more interesting combinations.

Today’s recipe was a case of that. I was hungry and didn’t have any convenient food (and didn’t want eggs, as I had far too many of them yesterday), so I decided to cook something. Here’s how it went.

What I used:

Two largish carrots
Two small onions
Can of kala chana (brown chickpeas)
Handful of raisins
2 tbsp sunflower oil
About 3cm cinnamon
1/2 tsp cardamon seeds
4 cloves
2 dried red chillis
1/2 tbsp coarse salt

What I did:

First of all I dry fried all the spices and then ground them in the mortar and pestle. The grumbling about this can be taken as read.

I’d had quite a lot of success with the shredding implement on the food processor yesterday when making the latkes, so rather than fussing around with chopping things I just peeled the carrots and onions and shoved them through it. Instant well chopped carrot and onion for almost no work. I think I could very easily grow to like this attachment…

So, I heated the oil in the pan, added the carrots and onions and fried for a few minutes. Then I added the spices and continued frying it until the carrots had softened somewhat.

At this point I decided it would be a crime not to have raisins with the carrots, so I took a handful of them and added them in and continued frying, adding the kala chana a few minutes later. Fried it for another five minutes or so then took it off the heat and covered it for another five while I heated up the pita bread to eat it with.

Conclusion

Very nice. The combination of sweet and spicy worked very well as usual, and it augmented the flavour of the carrot wonderfully. Also, with the food processor to do most of the work, this was incredibly easy. The spice could possibly have done with being slightly milder. I think when I make it again I’ll only use one chilli.