Social Protocols

Essays on the design of social protocols for improving public discourse

Featured image of post Deliberative Consensus Protocols

Deliberative Consensus Protocols

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.

Philosophy

Various philosophical musings

Featured image of post Victims, Villains, Heroes: Righteous Outrage and Social Status

Victims, Villains, Heroes: Righteous Outrage and Social Status

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

Travel

Some travel writing

Featured image of post Mekong Lights

Mekong Lights

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

Featured image of post Functional Equality: When 2+2 does not equal 4.0

Functional Equality: When 2+2 does not equal 4.0

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.