Lukas Püttmann    About    Blog

Joseph Henrich on modern causal reasoning

[E]ducated Westerners are trained their entire lives to think that behaviors must be underpinned by explicable and declarable reasons, so we are more likely to have them at the ready and feel more obligated to supply “good” reasons upon request. Saying “it’s our custom” is not considered a good reason. The pressure for an acceptable, clear, and explicit reason for doing things is merely a social norm common in Western populations, which creates the illusion (among Westerners) that humans generally do things based on explicit causal models and clear reasons. They often do not.

This is by Joseph Henrich in his book “Secret of Our Success: How Culture Is Driving Human Evolution, Domesticating Our Species, and Making Us Smarter”.

He contrasts this world view with traditional societies that follow rituals derived from cultural evolution that have a purpose, but people don’t know what it is. Henrich discusses the example of a Fidjian island, where women avoid eating sharks and eal when pregnant. This makes sense, as it avoids a food poison that could threaten the baby. But when they asked the women why that is, they came up with various reasons and none were right.

Coding interviews

When interviewing for programmer positions, why do people have to solve algorithmic questions on whiteboards that have little resemblance to what people will do in their job?

Here is Gayle Laakmann McDowell in “Cracking the Coding Interview”:

  1. False negatives are acceptable, but false positives aren’t.

    [The firm is] far more concerned with false positives: people who do well in an interview but are not in fact very good.

  2. Problem-solving skills are valuable.
  3. Basic data structure and algorithm knowledge is useful.

    Other interviewers justify the reliance on data structures and algorithms by arguing that it’s a good “proxy.”

  4. Whiteboards let you focus on what matters.

    Whiteboards also tend to encourage candidates to speak more and explain their thought process. When a candidate is given a computer, their communication drops substantially.

  5. But it’s not for everyone or every company or every situation.

This actually reminds me of consulting interviews.

I picked up the book as I was curios what a programmer is expected to know. You might also like the book if you enjoy solving coding puzzles and the general interviewing advice is good. The book also has a nice introduction to the big O notion of computational complexity.

The examples are usually written in Java, but just knowing Matlab or some other language it’s easy to understand what the code does.

"2001: A Space Odyssey", by Arthur C. Clarke

This book is what I imagine Elon Musk dreams after reading the Martian, Superintelligence and Faust.

Clarke wrote it in 1968 in conjunction with the movie of the same name by Stanley Kubrick and he’s prescient of technological developments:

When he tired of official reports and memoranda and minutes, he would plug his foolscap-sized Newspad into the ship’s information circuit and scan the latest reports from Earth. One by one he would conjure up the world’s major electronic papers; he knew the codes of the more important ones by heart, and had no need to consult the list on the back of his pad.


The text was updated automatically on every hour; even if one read only the English versions, one could spend an entire lifetime doing nothing but absorbing the ever-changing flow of information from the news satellites.


There was another thought which a scanning of those tiny electronic headlines often invoked. The more wonderful the means of communication, the more trivial, tawdry, or depressing its contents seemed to be.

And I also like this line:

The truth, as always, will be far stranger.

Collected links

  1. Johannes Mauritzen reviews Tim Harford’s “Messy”:

    I enjoyed this book - it is a delightful page-turner. I am also sympathetic to the main argument. The world is a messy, complicated place, and nice neat solutions, while seemingly satisfying, can have unintended consequences. But, perhaps fittingly, the book itself sometimes felt a bit messy, with only faint connections between the chapters and subjects. I recognised some of the serious ideas that lie behind many of the stories Hatford tells. But these ideas —upon inspection— are often distinct from each other. I haven’t quite decided whether pulling them together under the banner of “messy” is appropriate. Finally, I suspect that readers looking for advice on “how to succeed at life”, may be advised to look elsewhere.

  2. Noah Smith: “Anti-empiricism is not humility”. And The Undercover Historian (Beatrice Cherrier): “How much do current debates owe to conflicting definitions of economics?”:

    I’m thus left wondering to what extent current debates about the state of economics are nurtured by conflicting definitions of economics. Here’s my speculation: those economists who believe the shape of economics is good usually endorse the rational decision definition. Yet in the past decades, they have shifted toward a tool-box vision of their practices. They thus view interdisciplinarity as tool exchanges. Meanwhile, critics are pushing back toward a definition of economics that was in wide currency in the early XXth century, one concerned with understanding the economy as a system of production and distribution, one rooted in capitalist accumulation, technological change, etc. They believe economists should borrow from other scientists whatever models, concepts and theories will improve their understanding of how the economy works.

  3. Edward Tufte on “Displaying estimates +/- error, confidence bounds”.
  4. Lucas, Nicolini and Weber:

    Over the last three decades, most economists and central bankers have come to doubt the usefulness of money supply measures for conducting monetary policy, and have turned to macroeconomic models in which monetary aggregates have no role.


    In a recent paper, using a specific, narrow monetary aggregate, M1, we study a dataset comprising 32 countries since the mid-19th century (Benati et al. 2016). The main finding of this large-scale investigation is that, contrary to conventional wisdom, in most cases statistical tests do identify with high confidence a long-run equilibrium relationship between either M1 velocity and a short-term interest rate, or M1, GDP, and a short rate – that is, a long-run money demand.

  5. Tyler Cowen:

    It was to be an intellectual paradise. What we got was…the blogosphere. Still a paradise of sorts! And free. But not a scientific paradise.

  6. Sindre Sorhus: “Mac OS tips and tricks

  7. Dietrich Vollrath’s insightful discussion of the construction of capital output shares and the special role that owner-occupied housing plays in it:

    The total amount of GDP getting paid to owners of homes is rising over time (Rognlie). But at the same time, the required rate of return on capital is falling (Barkai and BLS), which means that the profits on owner-occupied housing must be rising.

    What do I mean by profits? Remember that these are economic profits, not accounting profits. Owners of homes are not seeing an increase in their cash flow. […]. Those economic profits are coming in the form of a higher imputed flow of GDP from my house over time. This implicit flow of value, a rent I’m charging myself, is getting cranked upwards over time, even if I don’t see it.


    The implications of an increasing profit share coming from owner-occupied housing are a lot different from the implications of an increasing profit share coming from corporate market power or concentration.

    Update: Here.

"It’s a weird place man."

Malcolm Gladwell interviews Michael Lewis on “The Undoing Project”, the book on Daniel Kahneman and Amos Tversky’s friendship (slightly edited):

Gladwell: This is the first book where you explore academia.

Lewis: It’s a weird place man. It’s really is odd. It reminded me a little bit of Hollywood, watching these movies get made. They spend three, four our five months making the movie and then eight months in award season, celebrating each other. They spend so much time celebrating each other, they don’t have time to make the movies. […]

In all arenas of ambition, the people are very status-conscious in them. This is true of Wall Street, this is true in Washington, but the way that people are so sensitive about their stature in their community - the only thing I’ve seen like it was in Hollywood. Academics spend a lot of time telling each other what geniuses they are. And at the dullest possible kind of events.

And the other thing that’s odd about them is that they write all these kind of papers that really aren’t meant to be read. They aren’t written to engage a reader. […] They’re written in a defensive crouch. They are written to survive their readers. […] I felt so sorry for academics by the end of the thing. (link)

Getting it all together

The young are inundated with a barrage of information and facts so overwhelming that the world has come to seem an utter bedlam, which has them spinning in a frenzy, looking for what man has always looked for from the beginning of time, a way of life that has some meaning or sense. A way of life means a certain degree of order where things have some relationship and can be pieced together into a system that at least provides some clues to what life is about. […] This is what is behind the common cliché, “getting it all together” —despite the realization that all values and factors are relative, fluid, and changing, and that it will be possible to “get it all together” only relatively. The elements will shift and move together just like the changing pattern in a turning kaleidoscope.

That is Saul Alinsky in “Rules for Radicals” from 1971.

Matlab struct to R dataframe

I just found the cool R package R.matlab which lets you easily transfer data saved in a Matlab struct to an R dataframe.

First run in Matlab:

% Create some data saved in a struct
data.first = rand(500, 1);
data.second = repmat({'abc'}, 500, 1);
save('./data.mat', 'data')

And then in R (see here):

matlabFile <- readMat('data.mat')
varNames <- names(matlabFile$data[,,1])
datList <- matlabFile$data
datList <- lapply(datList, unlist, use.names=FALSE)
data <-
names(data) <- varNames

Collected links

  1. Francis Diebold:

    [Machine learning] emphasizes approximating non-linear conditional-mean functions in highly-flexible non-parametric fashion. That turns out to be doubly unnecessary in econometric [time series]: There’s just not much conditional-mean non-linearity to worry about, and when there occasionally is, it’s typically of a highly-specialized nature best approximated in highly-specialized (tightly-parametric) fashion.

  2. John Myles White, “What is an Interaction Effect?”:

    The absence of interactions has nothing to do with linearity: it’s driven instead by a form of additivity.

  3. Michael Stepner:

    After working with git, Dropbox stresses me out.

  4. This Book Left Me in Tears”, by Bill Gates

Code snippet of the day

In Matlab, use an exclamation mark ! to pass commands to the terminal. Use !pwd to check your working directory or !ls to check which files are in the current folder. I came across this first here.

My favorite is !open . (on a mac) and !explorer . (on a PC) which opens the current folder location.