Running Thoughts

Like many people, who run regularly, I keep a running log. I capture the obvious: date, distance, time, overall impressions. Since earlier this year, I also make note of the thoughts that occupied me, the ideas that emerged during the run. Much like the memory of a dream fades soon after waking, those thoughts encountered while running, can disappear, soon after returning home.

I experience some of my most useful thinking at a time, when I am not really trying to do so: when I am out, running. Sometimes this means progress on problems that had been vexing me, other times sights, smells or events out and about may trigger exploring of new, creative ideas. This seems to happen fairly naturally. You can gently guide this, but trying to force the process is probably missing an important point.

Unsurprisingly, I am not alone in this discovery. Numerous other people solve problems or think creatively during their runs.

Begin by building a running habit. If you do not like running or are not used to it, you will just spend your time out there being unhappy about it.

Are Toxic Political Conversations Changing How We Feel about Objective Truth? makes the important distinction between arguing to learn and arguing to win. Research has shown that the way you pursue an argument will also affect the way you actually think about the issue at hand, i.e. the degree to which you believe there is an objective answer or not:

So the next time you are deciding how to enter into an argument on Facebook about the controversial question of the day, remember that you are not just making a choice about how to interact with a person who holds the opposing view. You are also making a decision that will shape the way you – and others – think about whether the question itself has a correct answer.

I tend to think that objectivist perspectives are also simply easier and faster to communicate than relativist ones, which puts the latter at a natural disadvantage in the typical social media discourse that often feeds on outrage or quick reactions.

Paper: Using collaborative filtering to weave an information tapestry

In the 1992 paper Using collaborative filtering to weave an information tapestry, David Goldberg, David Nichols, Brian M. Oki and Douglas Terry describe Tapestry, an email system they developed at Xerox Parc. To help users cope with information (over)load, the system allows for collaborative filtering, i.e. users get to annotate documents (messages) to indicate their opinions (such as whether it was particularly interesting) and users also get to filter for messages based on people’s annotations and responses (such as whether they replied). The system provides a query language (Tapestry Query Language – TQL) to allow configuring of custom filters.

The paper is foundational in the literature of collaborative filtering and recommendation systems and has been quite widely cited. It has the building blocks for a working collaborative filtering system and introduces the idea of letting people make use of other people’s experiences in a very practical way.

Today’s systems are generally more evolved, requiring very little explicit direction from the end user. However, we generally also don’t know why today’s recommendation systems make the recommendations they do. The systems generally don’t go out of their way explaining themselves. I think there is definitely something to be said for being able to configure the filters yourself.


How Russia Helped Swing the Election for Trump

The Blacktivist ruse was part of a larger Russian plot to divide Americans, according to Senator Mark Warner, the vice-chair of the Senate Intelligence Committee. An expert told the committee that automated accounts typically push extremist views twenty-five to thirty times more often than authentic American social-media users do. “It blew my mind,” he told me. “It was an OMG moment. The extremes are screaming while the majority whispers.”

Book: The Pragmatic Programmer

The Pragmatic Programmer is one of my favorite software engineering books. Though published almost twenty years ago, it has aged quite well. I have recommended it numerous times to colleagues over the years and have bought the occasional copy for others as presents. I have been tempted to recommend it to non-programmers.

Throughout the book, tips are highlighted in boxes within the text. They usually point to a key point from the current chapter. They help with comprehension, learning — and they are simply good reminders, too. The best are at the beginning.

During the preliminaries in the preface, the authors provide tips one and two:

Tip 1: Care About Your Craft

Tip 2: Think! About Your Work

That is truly delightful. Yes, those two are basic, but all else essentially follows. No, please don’t skip the rest of the book, it is a treasure trove of useful knowledge for working software engineers, but it truly starts with those two. I bet they enabled the authors to accumulate the necessary knowledge and experience to eventually publish this book.

These basics will help you pragmatically find your way through your own projects, too.

In Making Sense of Agile Methods (draft PDF) Bertrand Meyer discusses his early introduction to, then immersion in, agile software development.

In one of my first classes as a newly minted professor in 2002, I gave a lecture on software design. A third-year student came to me afterward and asked why I was still teaching such nonsense. Everyone knows, he said, that nowadays no one does design; we just produce “the simplest thing that can possibly work” and then refactor. I was stunned (not having realized how far XP ideas had percolated).


The natural reaction was to apply a rule that often helps: when curious, teach a class; when bewildered, write a book.

He did that and wrote the book Agile! The Good, the Hype and the Ugly. This article discusses the core idea of that book, i.e. it’s not all good, it makes sense to evaluate new approaches using the IFF-method i.e. is it friend or foe and figure out which parts should be dismissed and which parts are worth embracing. Below is a video of lecture on the subject; the learnings also resulted in an edX course Agile Software Development.

Few things hold true generally. I would expect that nowadays, people understand the need to thoughtfully pick and choose those methods that make sense for their environment.

The Trouble With Trusting AI to Interpret Police Body-Cam Video

Wouldn’t police officers themselves notice any problems with Axon’s AI in the normal course of their work? Perhaps. Then again, they might suffer from “automation bias,” a tendency for people to accept a computer’s judgments over their own because of the perceived objectivity of machines.

So even if Axon’s AI can automate the description of activities recorded in body-cam video and the generation of police reports from it—and we believe that’s currently impossible—issues of fairness, accountability, and transparency would remain.

The Prophets of Cryptocurrency Survey the Boom and Bust

Explaining blockchain became a genre unto itself.


This year, it is said, the Bitcoin network will use as much energy as the nation of Austria, and produce as much carbon dioxide as a million transatlantic flights.


Each blockchain—as a technology, a community, and a social experiment—is an exercise in achieving consensus. The quest is a human one, so the mechanisms that rule it reflect the priorities of the mechanics. Technology, as we learn time and again, is no cure for human nature. Power accrues, even when the goal is to eliminate it.