Archive for the ‘Life Musings’ Category

On Food Choices, part 2: but is it healthy?

January 20, 2019
Once you are open to questioning rituals and time-honoured practices, you find that one question leads to another. (Carl Sagan)
Let food be thy medicine. (Hippocrates)

The central concern about a plant-based diet is this: is it healthy?

It’s a very reasonable question. Committing to any kind of dietary strategy without some understanding of it is to run a potentially dangerous experiment.

We all need to make decisions based upon evidence not dogma or wishful thinking, sometimes easier said than done since we’re creatures of emotion not pure reason.

I’ve been learning a lot lately. What I found is mostly good news but there are things to be aware of and I don’t want to sweep anything under the carpet.

I’m not a climate scientist, but I understand the fundamental science and accept the idea of evidence-based consensus.

I’m not a nutrition scientist or dietician either, but I can inform myself by reading, critical thinking and conversation.

By the same token, here’s a disclaimer: I am not a nutrition scientist or dietician! When I refer to publications, I am reporting what I have found. Everything else is my opinion, hopefully well-informed opinion based upon evidence and reason.

I read fairly widely for what follows but the main references are:

  • the 2013 Australian Dietary Guidelines of the National Health & Medical Research Council (NH&MRC)
  • a supplement to Issue 1999 volume 4 of the Medical Journal of Australia (MJA), and
  • a book by Peter Singer and Jim Mason titled “The Ethics of What we Eat”. Singer is a well known Australian philosopher.

The 2013 Australian Dietary Guidelines from the NH&MRC says this:

Appropriately planned vegetarian diets, including total vegetarian or vegan diets, are healthy and nutritionally adequate. Well-planned vegetarian diets are appropriate for individuals during all stages of the lifecycle.

Those following a strict vegetarian or vegan diet can meet nutrient requirements as long as energy needs are met and an appropriate variety of plant foods are eaten throughout the day.

It continues (my italics):

Those following a vegan diet should choose foods to ensure adequate intake of iron and zinc and to optimise the absorption and bioavailability of iron, zinc and calcium. Supplementation of vitamin B12 may be required for people with strict vegan dietary patterns.

Volume 199, Issue 4 supplement of the Medical Journal of Australia (October 9 2013) contains numerous articles about plant-based diets including this one: A plant-based diet — good for us and for the planet.

This issue of MJA also has articles dealing specifically with protein, vitamin B12, iron, zinc and omega-3 from plant-based sources including cereals, legumes, nuts, seeds, oils, and from foods fortified with some of these nutrients.

The MJA article Protein and vegetarian diets (my italics) has this to say:

If a vegetarian diet is planned to meet the requirements for essential micronutrients, including iron, zinc, calcium and vitamin B12, it is likely that protein needs will be exceeded. Most plant foods contain some protein, with the best sources being legumes, soy foods (including soy milk, soy yoghurt, tofu and tempeh), Quorn (mycoprotein), nuts and seeds. Grains and vegetables also contain protein, but in smaller amounts.

In relation to protein, Singer & Mason, in their book The Ethics of What we Eat (p 205, 206) comment that:

The first question most people ask vegans and vegetarians is “Where do you get your protein?” The prevalence of that question is a hangover from an earlier period, starting in the 1930s, when nutritionists believed we needed a high level of protein in our diet, and that a protein-deficient diet was a major cause of malnutrition.

The idea that we need high levels of protein was disproven in the 1970s, and health authorities reduced recommended protein levels to about a third of what had been thought to be required.

I didn’t know about that history before reading this book. A comment that I found a bit surprising is that with the reduced recommended protein intake from the 1970s “…even a diet consisting exclusively of bread, pasta, rice or potatoes will provide adequate protein.” (Singer & Mason, p 206).

Then again, rice underpins the diet of many people around the world. And apparently, contrary to the old saying, man can live by bread (or potatoes) alone. Of course, this says nothing about the other essential nutrients which must be taken into account, only protein, and I think it’s fair to say that there are malnourished people around the world who live on a diet that lacks variety.

The MJA article also has this to say:

While the lower protein intake and quality of protein in a vegetarian diet is often believed to be a concern, there is increasing evidence that consuming protein from plant rather than animal sources may, in fact, be one of the reasons why vegetarians generally have a lower risk of…obesity and chronic disease. In comparison to protein foods of animal origin, most plant protein sources are lower in saturated fat, free of cholesterol and haem iron, higher in fibre, and are good sources of antioxidants and phytochemicals, all of which may contribute to a reduced disease risk.

The MJA article goes on to say that a number of studies show that higher protein intake — animal protein in particular — in childhood may increase the risk of obesity later. It also has a useful table (Box 2) of recommended daily protein intake for different ages and genders.

One morning while taking a break from writing a draft of this post, I ate a nut bar containing 8g of protein. Added to the 3 serves of soy milk I typically have per day, that gives half of the required dietary intake of protein without much effort. A mix of fruits, vegetables, lentils/beans/chickpeas, meat substitutes if desired such as veggie sausages or burgers — there’s around 19g in 2 veggie sausages vs around 25g in a 100g beef steak — will help with the rest.

The MJA article concludes (my italics) with:

Vegetarians who eat a range of plant foods can easily meet their protein requirements, even though the protein content of vegetarian diets is usually lower than that of omnivorous diets. Most Australians eat significantly more protein than is required. The consumption of plant protein rather than animal protein may play a role in weight management and reducing chronic disease risk.

Moving on, Singer & Mason continue with this:

After protein, the nutrient that concerns most people when going on a vegetarian or vegan diet is iron. Many plant foods are rich in iron, including soybeans, molasses, pumpkin seeds, dried apricots, pinto beans, spinach, and raisins. Iron from plant foods may not, however, be as easily absorbed as iron in meat.

Taking vitamin C with iron rich foods makes the iron more available.

Vitamin C is not hard to come by in various fruits (e.g. oranges, strawberries) and juices. Singer & Mason also point out that coffee, tea, and calcium supplements inhibit the absorption of iron. So drinking coffee or tea with a meal makes it harder to absorb iron.

Vitamin B12 requires serious consideration since it is not generally present in plant matter and is necessary for nerve myelin integrity and DNA synthesis. It is created by bacteria and present in animal products such as meat, eggs and dairy, foods fortified with B12 like soy milk, some cereal, and dietary yeast.

Alternatively, a B12 supplement can be taken. Some people, such as those with low intrinsic factor (e.g. in my age group of over 50) or those with pernicious anaemia may need a supplement anyway due to a reduced ability to absorb B12. Some even choose to have B12 injections where there is a known deficiency or a high risk of deficiency.

Indeed, if there is concern about a possible deficiency of any of the important nutrients, a supplement (e.g. multi-vitamin or specific) can be used. On one occasion several years ago when donating blood I was told to take iron supplements before I could donate again. At that time I ate plenty of animal products.

There’s a lot written on the topic of vitamin B12, but the important thing is to be aware of the potential for deficiency, to think about whether you are consuming enough, and to get levels tested if concerned. What every vegan should know about B12 is an honest appraisal and there is also a good MJA article about B12.

The MJA articles don’t have a separate article about calcium but the 2013 NH&MRC guidelines point to fortified foods as sources, again, such as soy milk.

The MJA article about zinc makes a number of points, including:

  • Vegetarians appear to adapt to lower zinc intakes by increased absorption and retention of zinc.
  • Good sources of zinc for vegetarians include whole grains, tofu, tempeh, legumes, nuts and seeds, fortified breakfast cereals and dairy products.

  • Studies show vegetarians have similar serum zinc concentrations to, and no greater risk of zinc deficiency than, non-vegetarians (despite differences in zinc intake).

Sometimes it’s hard to see the forest for the trees. We are used to seeing a food pyramid. The 2013 NH&MRC guidelines present the same thing in a slightly different form:

The main message is:

  • mostly grains and vegetables
  • meat/poultry/fish/eggs or tofu/nuts/seeds/legumes
  • fruit
  • dairy or alternatives

The “in small amounts” parts of the figure are not very surprising either.

In 2006, The American Dietetic Association said that:

Well-planned vegan and other types of vegetarian diets are appropriate for all stages of the life cycle including during pregnancy, lactation, infancy, childhood and adolescence. (Singer & Mason, The Ethics of What we Eat, p 202).

They add that vegetarians have lower rates of heart disease, type 2 diabetes, hypertension, and prostate and colon cancer.

Near the end of their chapter Is it unethical to raise children vegan?, Singer & Mason mention this:

Meanwhile, further evidence of the ability of a vegan diet to provide all the energy and stamina anyone needs was provided by Scott Jurek’s victory in the 2005 Badwater Ultramarathon, one of the toughest events in ultra-long-distance running, Jurek, a vegan, shattered by more than 30 minutes a course record that some thought unbreakable, finishing a full 2 hours ahead of his nearest rival… Along the way, he ate vegan energy bars, potatoes, rice balls and soy protein drinks. Jurek has plenty of predecessors, among them Carl Lewis, who won nine Olympic track and field gold medals between 1984 and 1996. Lewis became a vegan in 1990 and has written that ‘my best year of track competition was the first year I ate a vegan diet.’

This post has only scratched the surface of the question in the title. I obviously don’t have all the answers, but hopefully, this is a start towards allaying some concerns and I’ve tried to be honest about potential problems.

A plant-based diet — good for us and for the planet ends with this (my italics):

Not everyone needs to or wants to become vegetarian, but reducing our dependence on meat is a good recipe for our own health and also that of our planet. Diets dominated by plant foods are almost certainly the way of the future.

So, the decisions we make about what to eat depend, in part, upon the needs of people (personal preference, health, a fair price) and sustainability, the topics parts 1 and 2 were most focussed on.

The next post picks up where the first left off by considering the elephant in the room, so to speak.

Part 3: like a splinter in my mind

On Food Choices, part 1: the right road lost

January 14, 2019

Midway on our life’s journey, I found myself in dark woods, the right road lost. (Dante)

Take the risk of thinking for yourself, much more happiness, truth, beauty, and wisdom will come to you that way. (Christopher Hitchens)

I agree with Hitch’s sentiment but the happiness part doesn’t necessarily follow from thinking for yourself. It’s not guaranteed to make relationships with those around you any smoother either. My transition away from a religious worldview in the 90s didn’t lead to an increase in happiness, just to a more healthy relationship with reality.

It’s hard to change the habits of a lifetime and navigating the maze of food choices is not simple.

I’ve been trying to write about this for months, mostly unsuccessfully, because it’s so big and because what I’ve been working through is disruptive to those I care about.

I know I can be annoying once I start going down rabbit holes, worse when a topic is not free of controversy. Those close to me and in the workplace could vouch for that. Karen relates to commentary about the “species” that is the subject of this short amusing video:

Rather than trying to say everything all at once, I eventually realised that it made sense to write a sequence of more digestible (pun not intended) parts. This one will serve as an introduction.

As far as I can see, there are four main aspects to consider when it comes to food choices:

  1. The desires and health of a human individual.
  2. The food producer’s livelihood.
  3. The impact upon the environment.
  4. The welfare of animals.

The desires and health of a human individual

Without individual health nothing much else matters to us, so the first item on the list is clearly of crucial importance.

I’ll return to this in part 2.

I’ve generally been the kind of person who is happy to have a meal without, well, making a meal out of it. I try not to spend much time preparing or eating food.

But the thing is, I like the taste of beef, bacon, ham, fish, turkey, chicken, cheese, milk, and other foods I’ve spent half a century eating.

Of course, it’s important to distinguish between wants or likes, and needs.

Desires have a subjective importance that should be weighed against other factors rather than being accepted without question. They include purely personal preferences as well as cultural and religious traditions.

The food producer’s livelihood

Fair Trade coffee is an example of the second aspect, e.g. poor farmers receiving fair compensation for the coffee beans they’ve grown.

Karen and I used to buy instant coffee in large bags from Oxfam shops. We still try to buy Fair Trade instant coffee although it’s less common in supermarkets than would be hoped. But Fair Trade is about more than income, such as freeing people from slavery (unbelievably still a thing in the 21st century), allowing freedom of association to form unions, and providing income for education to improve the lot of future generations.

Two more examples are: dairy farmers getting a fair price for the milk their cows produce and fishermen getting enough of a share of fish stock quota to make a living.

It’s worth noting that securing a food producer’s livelihood is a different matter from the long-term sustainability of the produce.

The impact upon the environment

The third and fourth aspects go beyond the world of people though, of what we need, want or like.

Motivated by environmental concerns, as a family we have have reduced our consumption of meat over the last few years. On resource usage and emissions grounds, beef and lamb are less sustainable than pigs, chicken, or fish (see less meat less heat). Beef and lamb are obvious first targets, low hanging fruit, so to speak.

The Australian Climate Council had this to say in 2017 (my italics):

The livestock sector is responsible for a massive 15% of human-caused greenhouse gas emissions globally. This makes global greenhouse gas emissions from livestock higher than all emissions from road, rail, air and marine transport combined.

Cattle, raised for beef, milk and other outputs such as manure, make up 65% of greenhouse gas emissions from the livestock sector. One of the primary reasons for this statistic is cow ‘burps’, which contain methane produced during digestion … These ‘burps’ are particularly problematic in the fight against climate change, as methane is about 28 times more powerful in terms of its potential to cause global warming than carbon dioxide.

The infographic in this Climate Council report shows that a whopping 51% of Australian land use is for livestock grazing:

Australian Livestock Infographic (source: Climate Council)

I came across this video of Bill Nye recently musing over a question from a young caller on the theme of climate change and emissions from cattle, in his usual straightforward way:

We tend to hear less about the impact of methane as a greenhouse gas and more about carbon dioxide. Is that perhaps because of the livestock link? Profit and tradition? As a comparable aside, I’ve often thought that fixing the hole in the ozone layer was less socially challenging because unlike minimising the effects of climate change, it didn’t require us to give up as much profit or tradition, just find a replacement for CFCs in a manageably small number of products.

Speaking of tradition (coffee in the morning!), several months ago I switched to soy cappuccinos, again for sustainability reasons, because dairy milk requires cattle, presenting similar resource usage (land, water, food) and emissions problems as for beef production.

Later, I started using soy milk in cereal and drinking soy on its own. At first I thought I would never like (that word again) the taste. I had spent decades drinking cow’s milk. It didn’t take long to adapt though and now I actually prefer it.


I didn’t like beer much to begin with either! Both violated the principle of least surprise: they didn’t taste like I expected them to.

As an aside, around the same time as switching to soy milk, I moved to a “keep cup” at work that Karen had bought for me, because disposable coffee cups are a huge landfill problem. Before that I was throwing away a disposable cup every day! Of course, as a society, we generate all manner of rubbish and support wasteful, inefficient packaging of the goods that we purchase, but coffee cups are very high on the list as it turns out.

In any case, if we just consider resource usage, sustainability and climate change alone, perpetuating a demand for livestock based food is arguably questionable, especially as the human population continues its exponential growth.

This short video from The Economist asks whether there is a case for the future of food to be plant-based on such grounds:

The welfare of animals

Motivated by the fourth aspect, Karen and I have been choosing free range eggs for quite awhile now with the help of apps like CluckAR. Determining what constitutes free range and what doesn’t can be tricky though. As we’ve discovered, the number of birds and the conditions under which they are kept vary wildly under the “free range” banner.

But why stop at the ethical treatment of egg laying hens?

It would also seem to be a reasonable thing to say, if understated and obvious, that in general, any reduction of the demand for meat is a good thing for those animals not consumed.

Further discussion of animal welfare is too much for the current post.

Before going down that particular rabbit hole in part 3, I want to return to the question of the health of a human individual.

Part 2: but is it healthy?

Two Archbishops and a Law

July 10, 2018


Source: ABC News

Soon after the inadequate sentencing of Archbishop Wilson to 12 months of home detention (and even this he will appeal!), his successor, the Acting Archbishop of Adelaide Greg O’Kelly says that the new laws coming into effect in October requiring priests to report admissions of child sexual abuse heard during confession won’t affect the church.

Politicians can change the law, but we can’t change the nature of the confessional, which is a sacred encounter between a penitent and someone seeking forgiveness and a priest representing Christ.

That does not change by the law of politicians.


The same old we’re in the world but not of the world mantra.

South Australian Catholics must be doing a collective facepalm at the moment. Or at least they should be.

As this ABC News article comments:

Under the Catholic Church, to gain absolution — and therefore to then be able to take holy communion again and avoid eternal damnation — a person needs to be contrite about their sins and do penance.

In the 21st century, that should give anyone pause and is a good example of why people need to be respected but beliefs don’t.

Strictly speaking, I think the foregoing only applies to so-called mortal sins. But then again, since homosexuality is counted as a mortal sin, there’s a whole segment of society that is apparently damned by nothing other than their natural state of being.

Then there’s abortion. Obviously women shouldn’t have control over their own bodies and severely deformed babies should always be brought into the world just because the Catholic church says so.


Then there’s apostasy. That’s right. We hear about apostates having their lives threatened in some Muslim majority rule countries. But in Catholicism, it’s apparently also a grave matter to give up one’s the Christian faith. I suppose that’s not surprising since not being a Catholic means, well, not being a Catholic. Which is apparently bad…

In any case, that many of us still give such ideas the time of day is a solid indication of our lack of maturity as a species.

Religious groups demand tolerance and freedom while at the same time themselves being forces for intolerance and placing restrictions on freedom.

And yet, as Paul Collins, a former Catholic priest said in a recent ABC interview:

What’s happened within Catholicism really over the last 40 years has been a complete collapse of people going anywhere near a confessional.

Most Catholics including myself haven’t been near a confessional for 30 years or even longer.

A casual conversation with a friend who has Catholic relatives of various ages suggests this may not be an unreasonable statement.

Apparently, modern Catholic Mass allows a person to admit their sinful nature and gain absolution by the priest, asking God to have mercy on them and to forgive their sins.

So, if this is the case, wouldn’t it be nice if O’Kelly just said, yes, we’ll go along with it, especially in light of dwindling confessor numbers, instead of insulting the rest of us by ignoring the law of the land, especially since as O’Kelly himself says, priests have mandatory reporting training and responsibilities anyway?

Here’s how silly it gets, in O’Kelly’s own words:

Anything said inside the confessional box is subject to the seal of confession, but if a child mentioned he or she had been abused while there “it’s the sort of the thing where you’d invite them to speak to you outside of confession”.

In other words, what is said inside the magic box, stays inside the magic box, but if a mortal sin is spoken about outside the magic box, then the priest can report it?

We’re meant to take this seriously?

Maybe it’s best to just allow senior Catholic clerics to continue to talk themselves into the total irrelevance to which they and their Church should be relegated.

On the incoherence of the Good and Bad Place

April 9, 2018

The Good Place uses comedy to explore the absurdities of the afterlife. More than that, the show does a great job of making moral philosophy accessible.

The show’s plot assumes salvation by works, i.e. that to get to Heaven, you have to be a good person. Christian denominations differ over whether salvation by works or salvation by faith (atonement through the sacrifice of Jesus) or some combination is required to get you to Heaven or, if you’re a Jehovah’s Witness, resurrected at some future time.

An early church founder, Tertullian, looked forward to being in Heaven so he could witness the eternal torture of the wicked in Hell.

Takes all kinds I guess…

While listening to an episode of The Thinking Atheist podcast, I heard a short, simple argument, or perhaps a parable – to borrow a biblical word – that casts doubt upon the coherence of Heaven and Hell. I’ll paraphrase and extend it here.

Ruth’s daughter, Mary, believes in salvation by faith and the reality of Heaven and Hell. She’s not certain what Hell is, but she knows it means eternal separation from God.

Mary is sad that Ruth, who Mary believes isn’t saved, won’t be with her in Heaven, that she will be separated from her mother for all eternity.

And yet…

When Mary is in Heaven, blissfully worshipping God forever, won’t she feel sad about being eternally separated from Ruth?

If so, won’t that negatively affect the quality of Mary’s eternal stay in Heaven?

No problem, you say!

God can make Mary feel better. God can do anything! He is omnipotent after all. He can make her forget about how she feels. He can make her forget about Ruth, about what she meant to Mary.

Or perhaps that’s a step too far…

Maybe God won’t remove the memory, just change the way Mary thinks and feels about her history with Ruth.

But then…

Who will Mary become?

Like someone who takes a drug to forget…

Or like a person with memory loss or personality change…

Either way, surely, Ruth would become someone other than who she used to be in some important sense.

Is this a water-tight argument against the existence of the Good and Bad places? Of course not. The non-existence of a thing is generally difficult to demonstrate. But it does chip away at the coherence of such ideas and should serve to further diminish their insane hold over us.

Why do I care about this argument? Because I know people in a Mary-Ruth scenario, and because this is just another example of how religion poisons everything, as the sub-title of Christopher Hitchens’ book God is NOT Great, says.

Aren’t there enough interesting and complex phenomena to devote our attention to without inventing complexities? Without creating gods, principalities, eternal abodes or false dichotomies (heaven or hell, saved or damned, …)?

If the Universe itself was capable of having a perspective, our lives would resemble a one-shot pulse from a 555 timer, a non-repeating SETI Wow! signal, a single QRS complex on an ECG from a dying heart, each briefly punctuating a baseline of nothingness.


And yet…

Up close and personal, it’s different, because we are meaning creators.

It’s what you do within that brief pulse that matters, to you, your fellow meaning creators, and the other beings impacted by your actions.

The plain truth is that we have a good understanding of what happens to living things when they die, homo sapiens or any other species, admittedly less so about the subjective experience of the hypoxic sapiens mind near death.

Every organism that has ever lived, or ever will, was not alive for 13.8 billion years, after the beginning of the Universe.

When the life of an organism comes to an end, it will once again not be alive for an even unimaginably longer time into the future.

What makes these two not alive events asymmetric is that mammals like us have memories of individuals who once were and an anticipation of the end, the falling edge of the pulse, the precipice.

It’s in the nature of mammals like us to remember, to worry, to grieve, to fail spectacularly to live our lives primarily in the present.

It’s from this that our musings about possible afterlives derive, for any version of which, no compelling evidence exists.

All of which underscores the importance, even the urgency, of living as if today actually mattered, not for some imagined future, and of the need to be kinder to earthlings of all persuasions and species.


What counts as good belief?

January 29, 2018

We watched Yes, Virginia, there is a Santa Claus over the Christmas break. I’d never seen much of it and Karen’s interest in watching it again after a long hiatus encouraged me to sit down and watch it with her. Thanks Karen, it was well worth watching.



The true story and the TV adaptation we saw are both positive, moving tales. Eight year old Virginia’s friends tell her there is no Santa Claus so she writes a letter to the editor of The New York Sun asking for advice, since as her father tells her: “if you see it in the The Sun, it’s so”.



The author of the editorial: Francis Church, an atheist and cynic, having seen his share of suffering, writes an enduring letter that has inspired many since the editorial was first published in 1897. Here’s an excerpt (italics are mine):

Yes, Virginia, there is a Santa Claus. He exists as certainly as love and generosity and devotion exist, and you know that they abound and give to your life its highest beauty and joy. Alas! how dreary would be the world if there were no Santa Claus. It would be as dreary as if there were no Virginias. There would be no childlike faith then, no poetry, no romance to make tolerable this existence.

There is something beautiful in encouraging kids to imagine.

I admit to some internal conflict when our kids were young regarding what to tell them about Santa, the Easter bunny, the Tooth Fairy and so on. In the end we encouraged such beliefs for as long as the kids were willing to imagine playfully with us.

Interestingly, Virginia’s 1930 PhD thesis was entitled The Importance of Play.

Although as an atheist I generally prefer not to pretend to know things I don’t know, the kind of belief in Santa that was the subject of Virginia O’Hanlon’s letter and the The Sun editorial, is, I think, perfectly okay.

Even in recent times I’ve heard the same sort of “there is no Santa” comment that prompted Virginia’s letter to The Sun, expressed between young children, encouraged by adults, who at the same time profess belief in God.

That brings me to the question in this post’s title: what counts as good belief?

What’s the difference between these two statements?

  • I believe in Santa Claus
  • I believe in God

Other than that the first refers to a particular individual while the second to any one of a number of possible gods, their form is identical. We can remedy this remaining difference by reframing the second statement as:

  • I believe in Jesus (or Yaweh or Jeohvah or …)

Too often, the second form is accompanied by exclusive statements, such as:

Hmm…and here I was thinking that the reason for the season was axial tilt. Not to mention Saturnalia.


The worst that can happen, in the child’s mind, for not believing in Santa or for being on the naughty list, is that they will receive no presents. True, there have been other harsher myths associated with Christmas, but I’m thinking broadly about the contemporary situation in the western world.

The worst that can happen, in the believer’s mind, for non-belief in God or being wicked (i.e. not accepting either salvation by faith or works) is eternal separation from God and loved ones or eternal torment in Hell.

So, again, what counts as good belief?

In my view, it’s the kind that doesn’t hold you ransom, that encourages you to imagine things not yet imagined while not making threats or requiring you to be dogmatic or to abandon critical thinking. In short, one that allows you to be creative but still allows you to think for yourself.

Take the risk of thinking for yourself. Much more happiness, truth, beauty, and wisdom will come to you that way. Christopher Hitchens

A key difference between encouraging a child to believe in a powerful being who can deliver presents to every house in a single night and childhood indoctrination into belief in a personal god, and the associated demands, is the exclusivity of the second. That and the lack of fun.

Here’s another excerpt (again, my italics):

Virginia, your little friends are wrong. They have been affected by the skepticism of a skeptical age. They do not believe except they see. They think that nothing can be which is not comprehensible by their little minds. All minds, Virginia, whether they be men’s or children’s, are little. In this great universe of ours man is a mere insect, an ant, in his intellect, as compared with the boundless world about him, as measured by the intelligence capable of grasping the whole of truth and knowledge.

I have some sympathy with Church’s view that:

They have been affected by the skepticism of a skeptical age. They do not believe except they see.

and especially:

In this great universe of ours man is a mere insect, an ant, in his intellect, as compared with the boundless world about him.

We have to be careful not to throw the baby out with the bathwater of course. As George Santayana says:

Scepticism is the chastity of the intellect, and it is shameful to surrender it too soon or to the first comer: there is nobility in preserving it coolly and proudly through long youth, until at last, in the ripeness of instinct and discretion, it can be safely exchanged for fidelity and happiness.

There is so much we don’t yet understand and we should approach the gulf between what we do and don’t know with humility. The universe as revealed through evidence by Science so far is stranger than anything we could have imagined:

  • We live in a universe in which everything we can see and touch makes up only a few percent of everything that is, the rest apparently being dark matter or dark energy.
  • On the smallest scales there exists a seething ocean of particle-antiparticle pairs coming into and out of existence.
  • If we travel fast enough, time will slow down and our mass will increase.

Alice’s world seems almost normal by comparison.

Science doesn’t claim to have the answer to all questions, yet the Scientific Method is the most successful and powerful form of knowledge acquisition we know. If new evidence comes to light to change our model of the world, then it will change after the dust has settled. That’s an important departure from dogmatic thinking, and skepticism is an important part of the Scientific Method.

There’s room for a child-like view of the world that encourages imagination and optimism, as well as an honest view of the world that requires careful thought and evidence regarding important questions, especially those with life-changing potential.

Kids will ask questions about early beliefs when they’re ready and that’s okay. Adults should encourage the fun aspects of early belief with a twinkle in their eye while accepting that questions will come.

It’s often been said that children are natural born scientists until society discourages them from asking honest, simple questions. I’d like to think that Francis Church the cynic and Virginia the child seeker-of-answers and adult teacher might have agreed.

In all affairs it’s a healthy thing now and then to hang a question mark on the things you have long taken for granted. Bertrand Russell

ACE, optimisation and an old friend

December 29, 2017

In late November I received an email from an old friend: Sean Miller. Sean was a member of the wonderful community that built up around ACE BASIC, a compiler for the Amiga I developed as a labour of love between 1991 and 1996. I’ve written about ACE in this blog before. Sean told me how his use of ACE influenced him over the years. It has been great to get back in contact with him.

I felt honoured and humbled when, on Christmas Eve, Sean released an episode about ACE on the Raising Awesome YouTube channel he and his son have created. In this episode (Retro Amiga Computing – ACE BASIC and Questions2.1 Development):

Sean shows how to use ACE on an Amiga emulator to compile and run a program he wrote more than 20 years ago (Questions).

Retro Computing with ACE

I’ve expressed this in email to Sean, but let me say it publicly: thank you Sean! It means more to me than I can say.

During the video, Sean comments on the progress of the compilation of Questions, notes that there were around 4000 peephole optimisations (see screenshot from video above) and wonders whether I might explain what a peephole optimisation is. I’d be happy to of course. Now you’ve got me started! 🙂

ACE generates assembly code for the beautiful Motorola 68000 microprocessor. Compilation of some ACE language constructs generates sub-optimal assembly code instructions on the first pass. Assembly code is emitted as ACE parses the input source code without any knowledge of the broader context of the program.

Here’s a trivial ACE program:


This simply stores 42 in the short integer variable x% (the type is denoted by %), multiplies x% by 3 and stores the product in the variable y%. I chose integer over floating point for this example because the generated assembly is more complex and would distract from the explanation. Speaking of distractions…

As an aside, unlike modern Intel, ARM and other processors, the 68000 didn’t have a floating point unit (FPU), so floating point operations were carried out by library code instead of hardware, such as a Motorola Fast Floating Point or IEEE 754 library. As an aside to my aside, the Amiga 500 had a 68000 processor whereas the Amiga 1200 (I owned both eventually) had a 68020. The 68020 could offload floating point instructions (which it did not know how to handle) to a co-processor. The 68040 was the first 68k processor with an on-board FPU. This is a whole topic by itself.

Back to the trivial example ACE program above…

Here’s the 68000 assembly ACE generates for the two line program without any optimisation (i.e. without the -O option):

    move.w  #42,-(sp)
    move.w  (sp)+,-2(a4)
    move.w  -2(a4),-(sp)
    move.w  #3,-(sp)
    move.w  (sp)+,d0
    move.w  (sp)+,d1
    muls    d1,d0
    move.l  d0,-(sp)
    move.l  (sp)+,d0
    move.w  d0,-(sp)
    move.w  (sp)+,-4(a4)

With optimisation we have 6 assembly instructions instead of 11:

    move.w  #42,-2(a4)
    move.w  -2(a4),-(sp)
    move.w  #3,d0
    move.w  (sp)+,d1
    muls    d1,d0
    move.w  d0,-4(a4)

Looking at the first two lines of the 11 unoptimised sequence:

    move.w  #42,-(sp)
    move.w  (sp)+,-2(a4)
Example stack operations (source:

ACE examines this pair in a sliding window, or so-called peephole, onto the emitted instructions and notices that 42 is being pushed to the first-in, last-out stack then immediately popped from the stack and stored into the variable x%’s address, represented by an offset of two from an address stored in the register a4. The peephole optimiser reduces this push-pop pair to a single instruction:

    move.w  #42,-2(a4)

ACE stops short of taking the newly optimised pair:

    move.w  #42,-2(a4)
    move.w  -2(a4),-(sp)

then peephole optimising it and emitting this:

    move.w  #42,-(sp)

The reason is that the programmer has asked for 42 to be stored in the variable x%.

More ideally would have been this sequence:

move.w  #42,-2(a4)
move.w  -2(a4),d0
muls    #3,d0
move.w  d0,-4(a4)

which literally says:

  • move 42 into variable x%’s memory location
  • move the value stored at x%’s memory location into the 68k register d0
  • carry out a signed multiplication of 3 with the contents of register d0, storing the result in d0
  • move the contents of register d0 into variable y%’s memory location

If the constraints relating to use of x% and y% did not exist, the following would be sufficient to yield the product of 42 and 3 in 68k assembly:

move.w  #42,d0
muls    #3,d0

Notice that the 4 instructions after the multiplication (muls) in the unoptimised sequence are optimised during more than one pass over the assembly code to a single instruction that stores the product into y%, from this:

    move.l  d0,-(sp)
    move.l  (sp)+,d0
    move.w  d0,-(sp)
    move.w  (sp)+,-4(a4)

to this:

    move.w  d0,-4(a4)

So, ACE does better with this than the instruction sequence before the multiplication.

There are other simple optimisations carried out when the -O option is used, relating to numeric negation, but this example illustrates the key aspects.

Bernd Brandes later wrote a more powerful optimiser for ACE, the SuperOptimiser, that built upon this simple peephole optimisation approach.

Every instruction the processor doesn’t have to execute means fewer CPU cycles, so a run-time speed up. This matters a lot for example, when such instructions are part of a loop that iterates many times.

To revisit ACE’s code generation and optimisation implementation, I downloaded and Vidar Hokstad’s improvements to the ACE source (on GitHub) for compilation under Linux. I compiled that on my Mac OS X laptop and used it to generate 68k assembly code. Vidar contacted me several years ago to say that he was engaging in “software archaeology” (that made me feel a bit old, even then) with the ACE source code. I appreciate Vidar’s efforts. He sorted out some compilation problems under the GNU C compiler (gcc) that I would have had to otherwise.

It’s interesting to look at the Intel assembly generated by gcc for a similar C code fragment. The following would have to be embedded in a function:

int x,y;

The gcc compiler generates this sequence:

    movl    $0, -4(%rbp)
    movl    $42, -8(%rbp)
    imull   $3, -8(%rbp), %ecx
    movl    %ecx, -12(%rbp)

As with the ACE generated 68k assembly, only the relevant part is shown. There’s additional code generated just to start up and shut down a program (by gcc, ACE or any other compiler). The Intel assembly generated here is a bit better than the optimised 68k code ACE generated (4 vs 6 lines) although surprisingly, not very much better.

When I wrote ACE in the 90s, all components were written either in C or 68000 assembly and I went straight from an implicit parse tree to assembly code generation. These days I tend to use ANTLR or similar tools for lexical analysis (converting character streams to tokens) and parsing (checking against language grammar). I have yet to use The LLVM Compiler Infrastructure for language development, but that’s on my list too.

Creating an intermediate representation (such as abstract syntax trees) before code generation, provides additional opportunities for optimisation, something I’ve been exploring in recent times. I’ll write more about that in another post.

To be honest, the more I think and write about this topic again, the more I want to.

Thanks again Sean.

15 years since the kindest, wisest, sanest of us died

August 17, 2017

It’s hard to believe that 15 years have passed since Mum died and as I’ve said before:

She was the kindest, wisest, sanest of us all. But she’s gone.


…she is still in my thoughts at some point of every day. I try to recapture the sound of her voice, her facial expressions, kind, caring, at times whimsical. And yes, I still miss her. The sense of loss reduces over time, but doesn’t leave. Not that I want it to entirely.

Karen and I have taken to lighting a candle on August 17 near the end of the day as a symbolic gesture, a focus of meditation.


Questionable church signs #2

May 11, 2017

Another church sign, same non-fundamentalist denomination, one month later:

So, there exists at least one Christian not opposed to marriage equality.


Fairly uncontroversial given the likely diversity of theological views in such a congregation.

I appreciate that this is an attempt to counter the opinions of those of a more conservative persuasion, but it’s not a terribly strong message.

The essential problem is that it suggests a house divided and says little about what Christianity has to offer to the problem.

How can inter-faith dialogue even at the highest level recognise world views that are fundamentally incompatible and in principle, immune to revision? The truth is it really matters what billions of human beings believe and why they believe it.
(Sam Harris, Letter to a Christian Nation)


Questionable church signs #1

May 9, 2017

An Adelaide church sign recently caught my attention:

I’ve omitted the border because I’m not interested in pointing to a particular congregation.

While cute, what struck me about the words is that it illustrates how we are able to create gods in our own image.

Is it really such a leap to go from this to considering the Ten Commandments or the golden rule as the possible product of a human community rather than divine inspiration?

Wouldn’t it be more effective just to point people to Carl Sagan’s Pale Blue Dot on YouTube?

Roy & I

March 11, 2017

Roy Austen (1953-2017), a former colleague, died a few days ago on March 5.

A friend recently told me that Roy had been diagnosed with cancer in January, although he had actually been unwell for months before then.

Not long after the diagnosis, Roy set up a GoFundMe page for medical expenses and for the ongoing care of his son, in preparation for the inevitable.

I really did mean to get in contact, but I got busy and Roy died before I did. At least there was still the fund…

Roy’s main line of work and his passion was photography, but that’s not how we got to know one another.

I bought my first Windows (3.1) PC from his family business, KM Computers.

Then, awhile later, he offered me a job and became my boss…

By the end of 1995 I was in search of my next job after 5 years at the University of Tasmania (UTAS) in Launceston as a computer systems officer then a junior academic in the Department of Applied Computing. A lot of university contracts weren’t being renewed around that time.

Luckily for me, Roy had recently started Vision Internet, one of a small but growing number of competing Internet Service Providers (ISPs) in Tasmania. It was a small business arising from KM Computers at a time when Internet access was still dial-up, ISDN/ISDL was the fastest you could hope for (128 Kbps), but most people just had a dial-up modem, giving up to around 56 Kbps, less in practice. Vision Internet started in Launceston but quickly added points of presence in other parts of the state, including an Internet Cafe.

In 1995 while still at UTAS, I had helped Roy out by writing a basic customer time accounting program in C that read utmp/wtmp logs and generated simple output when someone else had difficulty doing so.

By 1996, Roy needed a programmer and system administrator and I needed a job. Before accepting Roy’s job offer, I was up front with him that I would probably want to do something different after about 18 months. That happened with Karen and I moving to Adelaide in 1997 where I spent 10 years with Motorola. That move was more difficult than I expected, and at least as hard as Karen knew it would be. In the end, it was a good move.

Ironically, UTAS asked me to come back for some occasional part-time tutoring soon after I started working for Roy, which may have been less economical than if they’d just renewed my contract!

Vision Internet was good while it lasted. To be honest, for the first few months, I couldn’t believe I was being paid to write C  (and Perl) code, something I enjoyed doing anyway. 🙂

The compact machine room doubled as my office for the first year or so before we moved down the road to a more spacious building; not as cushy as my office at UTAS. I actually didn’t mind the machine room too much. A terminal with function key accessible “virtual consoles”, the vi editor, command-line shell, a C compiler, and a Perl interpreter kept me pretty happy. Roy was fine with me working from home occasionally as time went by too. He expected me to keep things rolling and solve problems as quickly as possible, but he was good to me and we got along pretty well.

There were only about half a dozen people working at Vision Internet, fewer early on. Everyone pitched in. Roy and I didn’t always see eye to eye though. For example, at one point we disagreed about who should have super-user privileges; more than I would have liked for a brief time. 🙂

I experienced a number of things during my time with Roy at Vision Internet and learned lessons from some:

  • Early mobile phones were fairly bulky. 🙂 Roy gave me my first mobile before I started in the job. Of course, this meant he could contact me whenever. He didn’t abuse that though. A former UTAS colleague took one look at the phone hanging off my belt and declared amusingly: “wanker phone”. 🙂 Even worse when a larger battery was added! Still, I appreciated Roy giving me my first mobile.
  • You can’t always spend time doing what you want in a job, even one you mostly like, unless you’re very lucky. I guess I already knew that from being a nurse in the 80s. I had no real interest in sysadmin tasks like applying security patches to BSD Unix kernels, maintaining backups, chasing hackers, worrying about what dodgy things people might be doing with our systems or customer sales, credit card transactions, help desk (shades of The IT Crowd: “is your modem plugged in?”). I mostly wanted to design, code, and test software. Still do. That’s largely why I told Roy I thought I’d want to move on after about 18 months. Having said that, a fair amount of my time was spent writing software in the form of a suite of customer time usage programs, each prefixed with tu, written in C and Perl. We also eventually sold tu to another local ISP.
  • The practical difference between code that uses a search-based processing algorithm over a linear data structure that runs in polynomial vs logarithmic time – O(n^2) vs O(n log n). This matters a lot as the number of customer records (n) increases when your task is to write a program that processes customer time usage once per day and obviously before the next day starts. To simplify: given a processing time of a second per customer, n≈300 can mean the difference between a run that takes a day instead of an hour. You can make incremental changes to the processing time per customer (t), but eventually you’ll hit a point where n is too large, e.g. when n=1000 and t is 0.1 seconds. Anyway, I don’t recall what our n and t were, but we hit such a limit with a tu program. When I realised what was going on and fixed it, Roy was delighted and relieved. I was pretty happy too and thanked my computer science education, in particular, the discipline of computational complexity.

Before I left to go work at Motorola, I made sure Roy wasn’t going to be left without someone in my role. This gave one of my former UTAS students (Craig Madden) the opportunity he needed to break into the industry; it turned out well for Roy and Vision too.

At the height of Vision Internet, I remember occasional staff gatherings at Roy’s. He was a good host and I think he mostly enjoyed that period, despite the worry that must’ve accompanied running a business. He was generally optimistic and trusted those he employed. He had his moments, like the rest of us, when he was unhappy or angry, but mostly, he was a good guy to be around.

If I could do so, I’d tell him this:

Roy, I’m really sorry you’re gone and that I didn’t make the time to get in contact. In recent years, I should have told you how much I appreciated the opportunity you gave me a long time ago. Upon reflection, after time spent together at Vision and elsewhere, I think we would have used the word “friend” (now distorted by social media) to describe our relationship, not just “colleague”, even if we didn’t say so. I should have told you that too.