Introduction: Scalable Group Decision-Making A deliberative consensus protocol is a process that online groups can use to make decisions. It’s designed to produce good decisions that are fair and manifest the collective intelligence of the group. And it’s designed to work at scale.
This is not easy. Once a group gets large enough, people will start trying to manipulate the results. And even if everyone acts in good faith, it is hard for a large group to agree even on basic facts, let alone optimal decisions.
Social Protocols
Essays on the design of social protocols for improving public discourse
Philosophy
Various philosophical musings
Politics and Social Status People’s politics are partly driven by a desire for status.
People tend to express political views that will win the approval of their peers. They tend to remain silent if they hold opinions that would be criticized by their peers.
These belief systems become self-reinforcing in each subgroup of society. Churchgoers tend to adopt the beliefs of their congregation. Hollywood actors tend to adopt the beliefs of Hollywood.
Theory
Somewhat technical articles on a variety of theoretical subjects
Distributed Bayesian Reasoning Introduction
Part of the Distributed Bayesian Reasoning series
Distributed Bayesian Reasoning is a kind of hypothetical opinion poll. It tells us not what people actually believe, but what they would believe if they knew more.
Travel
Some travel writing
The Mystery Abdul wanted to see the Mekong Lights. He had seen a Thai movie eight years ago called Mekong Full Moon Party. It was a fictional story featuring one of the world’s most fascinating unexplained phenomena: mysterious balls of light that up shoot from the Mekong every year, as the full moon rises on the eleventh month of the lunar calendar. Ever since, Abdul had been saving money and dreaming of the day he would make the pilgrimage to see these lights.
Programming Language Design
Various ideas on the design of programming languages
Introduction In this post, I discuss the concept of functional equality.
If two values $a$ and $b$ are functionally equal, then there should exist no function $f$ for which $f(a)$ does not equal $f(b)$. Formally:
$$ a = b ⟺ ∀f ~ f(a) = f(b) $$
In many programming languages, the == operator does not test for functional equality. For example, the integer 4 and the float 4.0 can be equal according to the == operator, and yet an integer and a float generally are not functionally equal.