A Good Read

(Originally written 29th November, 2013)

I’ve made various references recently to this book,

and meant to write something more directly about it. The main problem is that there is so much interesting stuff in it, that it’s hard to know where to start, let alone end. I might add, also, that I have some fairly serious reservations about it too; one of the positions criticised in it is what he calls ‘the rationalist delusion’. That’s me, folks, but here I don’t mean to go into why it’s not a delusion, and why I’m right, and Jonathan Haidt is wrong.

Much better anyone interested should go and buy a copy of the book, not least because it is well written, and cleverly too. Haidt started off as – and I think still is – a proper scientist, a psychologist who studies morality, but with controlled experiments, and reference to what scans can say about what is happening in our brains when we experience moral feelings. As such, he understands very well how to persuade, and says in the book that he is going to use what he has learned in the book. The main points of each chapter are also set out clearly, and summarised at the end; he really does know how to teach, as well as do research.

The first main message is that the rational and instinctual parts of our brains are distinct, with the instinctual being far more important. He uses a metaphor of the elephant and its rider, with the elephant, very large, but also with a lot of knowledge and memory, so far from dumb, being the instinctual, while the rider is the relatively puny rational mind, which will sometimes guide the elephant, but most of the time just goes with it. In this schema, our morality is elephantine, and the ‘rationalist delusion’ is to think that we can get to what’s right and wrong by abstract reasoning. And this he knows from seeing how key parts of the brain light up when presented with moral issues.

Another message is the variety of moral impulses, and how they differ between what he, as an American, calls liberals and conservatives. Liberals focus on a reduced number of moral impulses – compassion and fairness – while conservatives have better developed feelings about loyalty, sanctity and authority, while also being able to understand compassion and fairness. So liberals systematically fail to understand what makes conservatives tick, but not vice versa.

This is the starting point for an element of personal history in the book. Haidt describes himself as originally a rather dogmatic liberal, but with the insights his research had given him, became frustrated at the needless mistakes John Kerry was making when running against George Bush. In the course of the book he also describes spending some time in India, being initially appalled by aspects of the Hindu tradition, but after a while finding himself able to feel they were as legitimate as his own cultural position. Having finally landing a position at the University of Virginia, he also found himself coming to admire the rituals associated with college football games – alumni coming in from all over the States, happily getting drunk on generous supplies of beer, and roaring their team on. The narrative of becoming more conservative, but also more understanding, as someone gets older is hardly new, but I’ve never read it told along with the associated neuro-science.

There’s also a persuasive attack on what I think, following reading this book, is one of the weak points of what he would consider the dogma of the ‘New Atheism“. This is the doctrine, which may seem abstruse, that there cannot be ‘group selection’ in human evolution. In doing so, he is positioning himself against one of the arguments of Dawkin’s “The Selfish Gene”, which is that the only sort of altruism which could have emerged is kin selection, one summarised by the aphorism that it’s only worth laying down your life to save two brothers or eight cousins. Instead, Haidt argues that, while still being “90% chimpanzee”, we are also “groupish”, so perhaps 10% bee. To make the case, he has to argue also that human evolution did not stop suddenly when all the things which seem to make us human developed, and allowed us to co-operate in large social groups – e.g. the language, use of fire to cook, and he would argue, the emergence of morality hard wired into our genes. My mention of cooking here does not come from Haidt’s book, but this I read a while back “Catching Fire: How Cooking Made Us Human“, where the impact of the cultural practice of cooking on how our guts and jaws have evolved seems unavoidable. So I find I can accept that what Haidt has studied, which any reasonable person would call morality, is a natural phenomenon, rather than having a purely rational basis.

That’s about as much as I want to say at this point. The subtitle for the book is also revealing “Why good people are divided by politics and religion”. Haidt is appalled by the partisan politics which have developed in the US, and wants more than anything else to help people overcome this behaviour. It’s why I think of all the people on the Forum, it will appeal most to Lee, which is why I’ve ordered a copy for him, and am about to pick it up from Kirkdale Bookshop. Sorry my generosity will extend no further, but I seriously recommend this as a good read to everyone else.

Post theist Christians

I’ve self identified as a post theist Christian for years, but back to back reading of a couple of contrasting books by authors who are also prompts this blog.

The books are ‘Humankind’ by Rutger Bregman, and ‘Dominion’ by Tom Holland. Both authors are atheists, but both able to acknowledge the Christian origins of their ethics. They are also both historians, although Tom Holland was never an academic one. Of the two, Tom Holland’s ethics could be said to be more Christian, since he only gives history, by which he will mean largely his account of Christian history, as a source for humanist values – from p. 522

and by rejecting the idea that morality also has roots in a scientific understanding of human nature he puts himself at odds with Bregman. Bregman is much more interested in the science, of evolutionary psychology, and the prehistory of what happened to human society when the neolithic drove us to live in large social units. Tom Holland’s history begins later, in the Ancient world, and tells of how its brutality was transformed into our more modern civilisation by ideas such as St. Paul’s.

Although interested in evolutionary psychology and prehistory, Bregman still comes to it as a historian, devastatingly when he does some archival research to challenge the myth put forward by Jared Diamond about the collapse of Easter Island’s society. Humans may well cause severe damage to our environment, but that is not what caused societal breakdown on Easter Island. Rather it was the historical processes of colonial exploitation.

As a historian, Bregman touches on but doesn’t get directly involved in theoretical biological and philosophical arguments. This is the domain of the so called ‘New Atheists’ – Dennett, Dawkins, Harris and Hitchens. At one level there is not that big a gap between these and ‘Post theist Christians’. All are atheists, but while Harris, to take an example, (Chapter 2, ‘The Moral Landscape’) argues that our ability to judge is something we bring to religion, it therefore cannot come from it, Tom Holland’s account of Christianity is a pretty good demonstration that somewhere there is a flaw in this logic. In the same way Bregman, looking at historical facts, makes it clear there is a flaw somewhere in Jared Diamond’s extrapolation of his natural science approach to a specific historical case.

Instead Bregman highlights biologists whose research suggest that humans might be, by nature, something like what we, as moderns, see as good. Not completely, because he admits that while with people we know we may be co-operative and egalitarian, xenophobia may also be in our nature. Tom Holland’s ‘Dominion’ can be seen as a historical account of how that xenophobia developed and was controlled over the last two millennia, but that is not Bregman’s focus. Similarly, Tom Holland’s focus is not on natural sources of our morality, although he does enjoy highlighting the Christian origins of the idea of natural rights.

Will either Tom Holland or Rutger Bregman be engaging with each other one day? I do hope so – it would be well worth attending if they do.

For reference, reviews of both books here from the Guardian, so not paywalled

Humankind by Rutger Bregman review – why we are all deep-down decent

Dominion by Tom Holland review – the legacy of Christianity

What Germany can teach us about renting

Many readers will be aware that being a private sector tenant is quite normal in Germany, without the stigma it carries here. Some may also have heard of recent measures in Berlin to cap private sector rents. In due course we should see their long term impact, but looking at policy over the last 50 years should tell us something about why private renting works well now.

Continue reading What Germany can teach us about renting

A d’Hondt() Excel function

I saw a spreadsheet with some VBA macros recently to calculate numbers of seats awarded in elections conducted using the d’Hondt system, so I thought I’d have a go at a single Excel function to do the same. WordPress doesn’t allow the Excel workbooks with VBA to be uploaded, so the file which can be downloaded from this link needs to have the following code added in a module

3rd June 2020 I had a comment from Daniel Martinez pointing out a bug. Hope I have fixed this now, and also addressed the problem of ties

d’Hondt workbook – with VBA stripped

Option Explicit

Public Function dHondt(iSeatsToAllocate As Integer, rVotes, Optional lVoters As Long = 10000)

Dim dVoteTotal As Double
Dim dVote
Dim i As Integer
Dim aSeats()

Dim dVotes() As Double
Dim blnColumn As Boolean

Dim dSeatCostTrial As Double
Dim nSeatsTrial As Integer

Dim nParties As Integer

Dim iTries As Integer
Dim dUpperLimit As Double, dLowerLimit As Double

Dim blnScaled As Boolean
Dim dChange As Double

    On Error GoTo eh
    dVotes = asSingleArray(rVotes, blnColumn)
    nParties = UBound(dVotes) + 1

'The algorithm looks for a cost per seat which will allocate the number of seats available
'starting with upper and lower limits, and the first trial cost per seat the upper limit

'One or other of these limits is set to the mid point of their range, according to whether the
'number of seats allocated at the trial cost per seat is above or below the number to allocate

'Where there are ties in the number of votes, the basic d'Hondt process will not be able to
'allocate seats, so some other tie breaking process will be needed. This condtion is tested for
'by seeing if the difference between upper and lower limits is less than a single vote. For this
'to work when percentages are given, a total number of votes is needed. This is an option third
'argument to the function. By default it is 10,000

'Lower limit
    For Each dVote In dVotes
        dVoteTotal = dVoteTotal + dVote
        If dVote <> Int(dVote) Then blnScaled = True
        If dLowerLimit = 0 Then
            If dVote > 0 Then dLowerLimit = dVote
            If dVote > 0 And dVote < dLowerLimit Then dLowerLimit = dVote
        End If
    dSeatCostTrial = dVoteTotal / iSeatsToAllocate ' - always high
    dUpperLimit = dSeatCostTrial
    dLowerLimit = dLowerLimit / iSeatsToAllocate
    While nSeatsTrial <> iSeatsToAllocate
        iTries = iTries + 1
        ReDim aSeats(nParties - 1)
        nSeatsTrial = 0
        For i = 0 To nParties - 1
            aSeats(i) = Int(dVotes(i) / dSeatCostTrial)
            nSeatsTrial = nSeatsTrial + aSeats(i)
        If nSeatsTrial > iSeatsToAllocate Then ' adjust dSeatCostTrial up
            If dSeatCostTrial > dLowerLimit Then dLowerLimit = dSeatCostTrial
        ElseIf nSeatsTrial < iSeatsToAllocate Then ' adjust dSeatCostTrial down
            If dSeatCostTrial < dUpperLimit Then dUpperLimit = dSeatCostTrial
        End If

        dSeatCostTrial = (dUpperLimit + dLowerLimit) / 2
        dChange = dUpperLimit - dLowerLimit
        If blnScaled Then dChange = dChange * lVoters
        If dChange < 1 Then
            Err.Raise 1, "dHondt", "Check for tied votes"
            dSeatCostTrial = (dUpperLimit + dLowerLimit) / 2
        End If


    If blnColumn Then
        dHondt = WorksheetFunction.Transpose(aSeats)
        dHondt = aSeats
    End If
    Exit Function
    For i = 0 To nParties - 1
        aSeats(i) = Err.Description

    GoTo tidyup
End Function

Private Function asSingleArray(rVotes, blnColumn As Boolean)

Dim i As Integer
Dim aVotes
Dim dVotes() As Double

    Select Case TypeName(rVotes)
    Case "Range"
        aVotes = rVotes.Value
    Case "Array"
        aVotes = rVotes
    Case Else
        Err.Raise 1, "", ""
    End Select
    On Error Resume Next
    blnColumn = UBound(aVotes, 2) <= 1
    If Err.Number <> 0 Then  'single dim array
        ReDim dVotes(UBound(aVotes) - LBound(aVotes))
        For i = 0 To UBound(aVotes) - LBound(aVotes): dVotes(i) = aVotes(i + LBound(aVotes)): Next
    ElseIf blnColumn Then
        ReDim dVotes(UBound(aVotes) - LBound(aVotes))
        For i = 0 To UBound(aVotes) - LBound(aVotes): dVotes(i) = aVotes(i + LBound(aVotes), LBound(aVotes, 2)): Next
        ReDim dVotes(UBound(aVotes, 2) - LBound(aVotes, 2))
        For i = 0 To UBound(aVotes, 2) - LBound(aVotes, 2): dVotes(i) = aVotes(LBound(aVotes), i + LBound(aVotes, 2)): Next
    End If
    asSingleArray = dVotes
End Function

The function needs first the number of seats to allocate, and then an Excel row or column range with the votes cast, or percentages, so something like


The output is another Excel range, a row or column as the case may be, with the number of seats awarded under d’Hondt. Those curly braces are the result of the function being entered as an array formula – something to look up for those unfamiliar with these.

I’ve also written it so that it can be used more simply in VBA with just a single dimension array as the second argument.

Copyright? I’m really not too bothered, and I’m sure plenty of other people have done something like this, but yes, acknowledgement is appreciated.

Tim Lund

23rd April, 2019

Signage for volunteer initiatives


This is an argument for a scalable initiative to support volunteers who want to make their neighbourhoods look better. In summary, there should be some high quality, consistent but adaptable branding, to identify volunteer initiatives, and support communications with and about them. The initiative would be owned by a professional managed organisation, ideally operating at a national level.  More details below in Recommendations Continue reading Signage for volunteer initiatives

“Wutbürger” – The German for NIMBY

Originally posted in the Sydenham Town Forum, 30 June, 2013

Last week’s uncharacteristic radio silence was thanks to cycling round Normandy. With my rusting French revived, I came across an interesting article in Le Monde on the way back, dealing with a report into the sorts of people who in 2010 gave German this new ‘word of the year’, and is now in official dictionaries. I know virtually no German, so I’ll have to go via the French to give the literal meaning in English as “angry citizens”, but on reading the article, it becomes clear the cultural meaning is NIMBY. For these 


are not the young of the various Occupy movements and protesters in Turkey, Egypt or Brazil, but “they are for the main part people without children, working part time, with good school backgrounds, teachers and above all, those approaching retirement and the retired … More than a half say they are non religious, and a large majority say they don’t think Germany is a real democracy”

So – what to they do? Well, stop the redevelopment of the area round a station in Stuttgart, limit night flights in Frankfurt, and a new runway at Munich, stop proposed long term storage for nuclear waste by chaining themselves to railway lines, stop the electrification of the Munich-Zurich train line, get in the way of the high tension cables needed to bring electricity from wind farms in the north to the south, even get in the way of creating a national park in the north of the Black Forest.

Seems to me, these are just Germany’s Baby Boomer “usual suspects”, with too much time on their hands, and used to being able to get their own way, and for whom a real democracy is a system which delivers whatever they want.

A former bond analyst thinks again about house prices

I was going to title this blog ‘house prices, supply, rents, incomes and interest rates‘, but then wondered if any would be readers would still be awake.

The background is the discussion which has been going on for a while about whether UK house prices so high because of a lack of supply, but it also leads me to some thoughts about the linguistics of ‘rent’

Continue reading A former bond analyst thinks again about house prices

We need more evidence on tenure and occupancy

It is sometimes argued that policy changes which affect landlords can have no effect on the balance of supply and demand for tenants because the properties which may move between being rented and owner occupation will still exist, and will be occupied all the same.  See for example these recent tweets Continue reading We need more evidence on tenure and occupancy

Flooding, engineering, planning and politics

Reposted from my local Forum, 16 Jan, 2014, with a more helpful title, and some editing.  It rambles a bit, but putting here now because it touches on various questions which arose yesterday (July 25, 2018) when I attended a consultation event on ‘De-risking’ growth in the Cambridge Milton Keynes Oxford arc. 

I’m thinking about it now as much as raising the general problem of why landowners and other interested parties fail to co-operate.

The trigger here is this BBC interview with a member of the Chartered Institution of Water and Environmental Management (CIWEM) as reported here:

Back-to-nature flood schemes need ‘government leadership’

Continue reading Flooding, engineering, planning and politics