Non-vegetarians like to point out, that the vegetarian or vegan lifestyle isn't that great for the environment either. For example, I heard several people cite to me "rain forests are being destroyed to make space for soy farming". And vegans/vegetarians eat a lot of soy products, so they part of the destruction.
Now, my readers are probably aware that most of the world's soy production is actually for animal feed, not for human consumption. (Incidentally, the US produces much more soy beans than China, although China is has the largest human consumption of soy products because Tofu, Topi, Soymilk, and many other soy products already have a century-old tradition there.)
So the cited argument is blatantly irrational and obviously self-serving. It doesn't make any sense as an argument other than giving non-vegetarians something to say when they have "an argument" with a vegetarian person.
Now, I certainly don't want to say that non-vegetarian people are stupid. To the contrary I have heard this or similarly stupid arguments even from people who I otherwise respect for their opinion (in fields where they actually have expertise). What actually bothers me is that all kinds of people often carelessly come up with spurious arguments when defending their own position. Being smart to me, doesn't mean that I know better than other people. Being really smart actually means knowing that
Sometimes (as in this case) those arguments can quickly be dismissed, but at other times, they are making claims which just can't be directly verified. When it comes to my own well-being I can make simple experiments (like eating completely vegan for six weeks in a row) to find out my personal truth. But when it comes to issues of like the effects of diets on life-expectancy and cancer-risk, or the heated topic of pregnant mothers and the diet of their unborn babies, self-run experiments can't be the solution.
One question which is actually of practical importance to me is whether a purely vegan diet actually requires supplementing vitamins (B12 in particular). But a similar question is relevant for non-vegetarians, too: do humans in northern countries get enough vitamin D in winter? For both questions I have found all kinds of answers on the internet: yes, no, yesbut, nobut, and of course the always-valid answer: "it depends". (As a friend jokingly said: it depends on whether you want to rationally optimize your health and life-expectancy or just want to confirm to a certain lifestyle, for example, by eating no "artificial supplements".)
I find that people tend to trust other people who they know more than they trust other sources of information. (After all, the internet can confirm or deny any claim depending what search terms you use. For instance, the query "soy healthy" actually gives pros and cons alike in a way that left me more puzzling than I was before. But on second look on, for example, this article, it seems that a lot of actual definitive health benefits are quickly listed, followed by a much longer list of potential problems, but which are all prefixed by some "might" (harm) or "could" (have negative impact). It seems that in the desire to paint a complete and balanced picture, the actual benefits are all too liberally compared to the potential risks.)
But as the stupid rain-forest-meme above has shown, people in your social circles (even if they are otherwise smart and reasonable) can't be trusted either. So how can I really know things?
Let me leave this question open for you and instead conclude with a Zen-spirited motto: Often it is better to know that we don't know, than to have a wrong belief.
1 June 2014
make it simpler
I just had the thought that we so often get into heated abstract discussions about design patterns, because in many cases (and especially in most small cases) the actual design doesn't matter: the code will work either way. It's only when a program becomes more complex that some designs make extensions easier than others.
Simpler designs make the least assumptions and are therefore the most flexible. And here's the way to create designs that are as simple as possible:
Simpler designs make the least assumptions and are therefore the most flexible. And here's the way to create designs that are as simple as possible:
- First, write all your code in a single method.
- Then, extract repeated code into submethods (your IDE probably has a shortcut for this). The scope of local variables is also a great guide on what code to extract into a submethod. The number of local variables in a method is a great estimate for its complexity and coherence. (For example, if one variable is only used at the top and bottom of a method, but not in the middle, then maybe some of the middle code should be extracted.)
- Once you have several methods which all use the same variables (either in their argument lists or by accessing a subset of the object's instance variables), then that's a good sign to extract all those methods into a new class.
- Finally, use interfaces to capture common behavior and use superclasses to extract shared instance variables from different subclasses. In most cases, this will satisfy all your abstraction needs! Abstract classes, super() calls, all those features and almost never needed!
Subscribe to:
Posts (Atom)