I am not precisely sure why, but I have gone in a downward spiral of boredom the past two weeks. It is not like I do not have things to do, but for some reason they all seem dull. As such, I have started getting back into things that I got out of, i.e. blogging. I have now found myself here typing this text.

Let us start out with a status update: what I have been doing since the last time I posted.

I have spent most of my time advancing my knowledge in chemistry, reading up on philosophy, expanding my background in the history of software development, learning conversational German (Bedingung, ich hätte gern die Suppe als vorspeise, bitte!) and, more recently, studying the field of psychology. With all this going on, I have largely forgot about actually programming anything.

Since the holidays are rolling in, and hence the candy, I started thinking about Rolos. They say that you can “role a Rolo to a friend,” though the very design of the chocolate implies that you must compensate for the unavoidable curved path it will take. I decided to search for a precise equation for the number of degrees you would have to rotate your fist to role a Rolo to someone X meters away from you.

“You can roll a rolo to a friend!”

As it turns out, rolling a rolo at any angle will cause it to make a sharp curve that stops it a few centimeters away from your hand. This tells me one thing, the Hershey Company has lied to me (yes, I know Nestlé made Rolos, but in the United States Hershey is under license). I later realized that in the commericals they were rolling entire packs, but then should they not say “role a pack of rolos to a friend?” I thought this was disappointing enough of a conclusion that I decided to write about something else, like chemistry.

Chemistry is a beautiful subject. The study of atomic interactions is fascinating, but the real beauty is in the mathematical bit. Specifically, I speak of stoichiometry, the wonderful subject of converting from one unit to another. It is amazing how much you can gleam from this simple concept. For instance, let us take this everyday equation:

2 Bread + 1 Cheese → 1 Sandwich

Albeit this is not what you normally see in chemistry, but it is a really great example that I have been taught. Now, in the pantry you have 14 pieces of bread and 8 pieces of cheese. The question is, which one of these ingredients limits how many sandwiches you can make. In chemistry, this value is known as the “limiting reactant” or the “limiting reagent.”

This is really simple to discover just by simple conversion (stoichiometry) and comparison. First, we must find how many sandwiches we could make from the bread if we had unlimited cheese:

(14 Bread) × (1 Sandwich ÷ 2 Bread) = 7 Sandwiches

Grilled Cheese! =D

What we did here is convert from units of bread (14) to units of sandwiches (7). We did this by multiplying the amount of bread by the ratio of sandwiches to bread (1 Sandwich / 2 Bread). By doing so, we end up with [(14 Bread * 1 Sandwich) / 2 Bread). The unit “Bread” is then cancelled out by the division and results in ([14 * 1 Sandwich] / 2) which gives us 7 Sandwiches. The most important thing in stoichiometry is to keep the units, otherwise this type of solution is unusable.

Next, we do the same thing with limited cheese and unlimited bread:

(8 Cheese) × (1 Sandwich ÷ 1 Cheese) = 8 Sandwiches

As you can see, 14 Bread only gives us 7 Sandwiches, while 8 Cheese gives us 8 Sandwiches. Therefore, since our resources are limited this way, we can only make 7 Sandwiches, and therefore Bread is the limiting reagent.

Fascinating, is it not? Now, let us take a simple example using an actual chemical equation:

H_{2} + O_{2} → H_{2}O

Wait, but there is a problem. If you look carefully, the first half of the equation has two hydrogen atoms and two oxygen atoms, but the second half has two hydrogen atoms and only *one oxygen atom*! This means that we have to balance the equation by prefixing the molecules (note: not the individual atoms) with a coefficient to make everything equal.

**2**H_{2} + O_{2} → **2**H_{2}O

There, now the amount of atoms is equal on both sides. Given 50 moles of hydrogen and 100 grams of oxygen, we must find the limiting reagent. The problem here is that we are given oxygen in grams, but limiting reagents in chemistry require everything to be in moles. The “mole” corresponds to approximately 6.022 × 10^{23} entities (in this case, molecules). The equation above could be read as “Two moles of dihydrogen plus one mole of dioxygen reacts to form two moles of water.”

To convert from grams to moles, me must first remember that moles are specific to the molecule they are linked with. In the case of hydrogen, there are 50 mol H_{2} (moles of dihydrogen). This is *not* the same as 50 mol O_{2} (moles of dioxygen). Given this, to convert from grams of a molecule to moles, you must divide the amount of grams by the molar mass of the molecule. The molar mass (measured in g/mol or “grams per mole”) is found by adding the molar mass of its atoms (given on the periodic table). In this case, the molar mass of oxygen is approximately 2 × 16 g/mol, giving dioxygen a mass of 32 g/mol. Hence,

100 g O_{2} ÷ 32 g/mol = 3.125 mol O_{2}

Now, we can apply the bread-and-cheese!

50 mol H_{2} × (2 mol H_{2}O ÷ 2 mol H_{2}) = 50 mol H_{2}O

3.125 mol O_{2} × (2 mol H_{2}O ÷ 1 mol O_{2}) = 6.25 mol H_{2}O

Thus, we have discovered that oxygen is the limiting reagent. The difference is so large because one oxygen atom is about sixteen times the size of a hydrogen atom. For example, if you had a tank, you could fit sixteen times more hydrogen atoms than oxygen atoms into it.

I was going to end this post with the text “Voila! Simple, is it not?” but then I remembered that the first time I saw this I had a mental heart attack. Instead, I say good luck!