labeling of insect-derived red food dye

Until today, I didn't know that some "artificial colors" in our food product are from insects (here). I thought I was careful enough to avoid food with animal stuff inside, but now I think I had better be a farmer to get pure vegetarian food.

"Derived from the ground bodies of female cochineal beetles, the colorings are currently used in a variety of ice creams, yogurts, fruit drinks, alcoholic drinks and candy products, to which they bring a characteristic pink, red or purple color."

"
Currently the FDA only requires that the ingredient is labeled as a ‘color added' or ‘artificial color'"

"Why not use a word that people can understand?” said CSPI director Michael Jacobson. ”Sending people scurrying to the dictionary or to Google to figure out what ‘carmine' or ‘cochineal' means is just plain sneaky. Call these coloring what they are – insect-based.”

Alternative Living

It seems like vegetarian is a good choice for us and for animals:

Health Studies in Confusion

According to the so-called 8-year study: low-fat diets do not benefit cancer significantly (here).

When I first saw that result, I doubted my own vegetarian habit: Is it a really healthy to be a vegetarian? I can tell from my years of vegetarian experience that it does not give me much more energy, but compared with when I ate meat and eggs, my health is not getting worse at least. I am getting old as well. It is difficult to tell if vegetarian really improved my health. But from theory, it should be a good eating habit.

Then I read several articles about that study in the coming days. It turns out that study was based on out-of-date hypothesis. It even did not distinguish lard or olive oil!

They spent more than 400 million dollars for that nonsense study.

I will not take those kind of study for granted any more. I will keep my diet because I prove it works for me.

Unhealthy lifestyle

During the past dozen years of work as a software engineer, I met many computer guys who do not look like in their age. They are either too fat, or too weak. The reason is obvious: we sit in front of computer for years without necessary exercise, and even worse, many of us like to eat something during coding.

I am quite sad with this lifestyle although I love computer and already get used to programming life. I wanted to find a way to improve health without interrupting work. Here are what I found useful to me at least:
  1. Stand up and keep knees bent a little bit for several minutes every hour. You can talk with coworkers or design a solution to solve a problem at the same time. Human being gets older from her/his legs, so it is very important to strengthen our legs
  2. Practice TaiJi or QiGong to build energy. Healthy does not necessarily mean big muscle. We needn't go to expensive gym to keep us healthy. Simple QiGong can work perfectly for our body and our mind. For Taiji, I recommend Chen-Style TaiJi that is not so slow.
  3. Eat more vegetable and fruit. Saturated fat is not good for our body.

What else?

The 'using' statement in .Net 2.0

The 'using' statement in .Net 2.0 is to dispose an object implicitly when the code block is finished. The compiler translates 'using' statement to try...finally statement and call the object's dispose() function.

Suppose that we have this using statement:

using (obj)
{
obj.DoSomething();
}
From concept, the compiler translates that block into code like below:

try
{
obj.DoSomething();
}
finally
{
if (obj != null)
{
obj.Dispose();
}
}

But when obj is not an IDisposable object, that using statement can not be compiled. For example, ITestInterface has one method DoSomething(). TestClass is an implementation class for ITestInterface and IDisposable, the code below can not be compiled:

public class Program
{
static void Main(string [] args)
{
ITestInterface obj = new TestClass();
using (obj)
{
obj.DoSomething();
}
}
}

To make it work, we should add "as IDisposable":

using (obj as IDisposable)
{
obj.DoSomething();
}

The logic is same as:

using (IDisposable obj2 = (obj as IDisposable))
{
obj.DoSomething();
}