Test to Fail

In most disciplines, tests are important. An untested product is hardly better than no product. Untested products are prone to fail.

But not all tests are built equal. The human tendency is to make tests that test for success. For example, suppose I had a routine that checks if a number is greater than another. And suppose I implemented it as follows:

greater(a, b) = a ≥ b

The error in this code is obvious. There is a greater than or equal sign (“≥”), but I meant to use a greater than sign (“>”). But in practice, in more complex projects, errors will sneak in. Now imagine that my test suite looked like this:

@test greater(2, 1)
@test greater(1, 0)
@test greater(1, -2)
@test greater(100, -100)

What a comprehensive test suite! Unfortunately, this test suite will let my incorrect implementation pass. Why? Because I never once tested for failure.

Each test was written to see if the function returns the correct result when the first argument is actually greater. The test cases were written with passing in mind, not failing. We have a subconscious tendency to test for success, not failure. Tests for success are useful, but tests for failure are necessary too.

Outside of computer science, the same principle applies. Scientists and engineers would benefit from negative results as much as positive ones. In short, give failure a chance.


Why teach STEM?

One thing that I hear way too often is how high school is useless. The complaint is that the vast majority of people will never use fancy topics like al-gee-bra or will never care what the difference between a neutron and a proton is.

Furthermore, high school apparently does not teach important topics such as how to vote, how to find a job, how to give first aid, and other such topics.

I am not denying that there are valid complaints about the public schooling curriculum. However, this complaint is entirely bunk.

Firstly, at least here in Ontario, the so-called important practical topics are indeed taught. The Ontario high school curriculum requires three courses that are intended to address these practical topics of everyday life: Civics, Careers, and Healthy Active Living. I distinctly remember voting, jobseeking, and first aid covered in these three courses respectively.

Secondly, that science education should be made optional is entirely misguided. The subject of whether compulsory courses should exist at all is a touchy one, but if one accepts that there should be compulsory courses, science should certainly be one of them. The proportion of Canadian graduates in STEM is extraordinarily low among developed countries. Canada is falling behind a vast array of European countries. Just about everyone will accept that innovation comes foremost from STEM graduates. So if we’re falling behind in STEM graduates, we are falling behind in innovation. It is therefore absolutely critical that even if we just make a single course compulsory, it should be science.

The idea that science education is displacing important first aid and survival education that will save thousands of lives is comical, because it ignores the field that has saved millions of lives in Canada alone: medicine. When was the last time you saw someone saved by first aid? When was the last time you saw someone saved by modern medicine?

Thirdly, if we are to keep our modern standard of living, we have to teach ourselves to understand abstractions. Even if someone literally does not use algebra ever in his or her life (which, by the way, is exceedingly rare), the process of learning algebra develops the valuable ability to think with abstractions. James Flynn discusses how so many of the reasons that our society is so much better today than ever before is our ability to understand abstractions, rather than the rote memorization of the past.

While important, voting is far easier to learn through experience than something like abstract mathematics, and as Flynn stresses, the latter is equally important. So if time is really a concern, doesn’t it make more sense to teach someone the quadratic equation than to teach them how to use a ballot box?

Luckily, of course, it’s not a one-or-the-other, and we can teach both in Ontario high schools, which is of course the optimal solution. So once again, this argument is ridiculous.

If there is a topic today that is more productive to teach than mathematics or science, it’s computer science. But shockingly, the people complaining about compulsory STEM are not complaining that CS is optional.

Obesity and Health: Incompatible

I have nothing against overweight people—but some are very misguided in believing that one can be obese and healthy at the same time. A new study has once again confirmed the scientific consensus that obesity is unhealthy, period.

Obesity, like smoking, is a health issue. We should never discriminate against obese people—just like we should never discriminate against people who have eating disorders like anorexia—but the “Health at Any Size” movement is simply scientifically inaccurate and downright dangerous. Frankly, it’s equivalent to a campaign promoting “Health at Any Number of Packs a Day”, which would be laughed out of town if not censored outright.

As a society, we must stop discriminating against obese people, and we must also stop promoting obesity as acceptable. Yes, this means that fat shaming is bad. But radical “fat acceptance” is just as evil. Please don’t promote or share those kinds of posts.

The Real Problem with GMO

Regardless of the extent GMO harms human health (which I personally believe to be minimal), it is undeniable that there are many benefits of GMO to humanity. For instance, GMO crops have increased yields and increased pest resilience. Benefits range from economic (less money needed to grow more crops) to environmental (less chemical needed to kill crop pests).

But I have a serious issue with the GMO market—how it is patented, and who profits from it.

First of all, patenting an organism is absurd. A company like Monsanto makes a minor change, such as adding or removing a single gene, to an organism whose genome was developed over billions of years of evolution. Allowing such a company to patent the product is nonsensical.

But Monsanto patents seeds on a regular basis, and legally pursues those who use the seeds without paying Monsanto. This includes seeds generated from crops found to have Monsanto genes. Effectively, “buying” seeds from Monsanto is really more like renting them. Monsanto controls what products of the crop can be sold or reused by the farmer—seeds, evidently, cannot.

The free market has proven to be an amazing system for promoting innovation. For private corporations to create and sell their GMO products is not a bad thing. But this is not really the case with modern GMO companies. They demand control over a farmer’s produce. This is not in the spirit of a free market. The farmer loses the freedom to do what he or she wills with what he or she produces.

On top of the absurdity of patenting what is 99.9% a creation of nature, the seed patent system takes freedom away from farmers.

That is the real problem with GMO.