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, especially on the Internet, where bad-faith actors can easily create bots and sock-puppets to try to manipulate the results. And even if everyone acts in good faith, collective intelligence does not always scale well.


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.


Somewhat technical articles on a variety of theoretical subjects


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 essay, I introduce the concept of functional equality, and discuss why 2+2 may or may not equal 4.0. Obviously 2+2 is mathematically equal to 4.0. And yet in many programming languages, the integer and float representations of the same number are functionally different values, because operations such as division and conversion-to-string behave differently for different types. When comparing two values for equality, it is important to ask, what do you mean by “equal”?