Moral Algorithms

Why Justice Requires Computation I’d like to be able to say for certain that I own zero slaves.  Of course, I don’t own slaves outright, in the de jure sense. There is no person who works for me without pay, and I don’t have any title or deed to such a person.  But I’m not […]

Rhyme and Meter are Error Correcting Codes

Any electrical engineer will tell you: the two ways to overcome noise on a channel are using energy to boost your signal, and adding redundancy on the channel. Energy makes the signal louder. Redundancy allows receivers to better deal with loss. Shakespeare didn’t have electrical amplifiers, but he did have ancient, error-correcting code technology known […]

A Modern Bodhisattva Vow

Beings are numberless, so let’s make sure everyone counts. Delusions are inexhaustible, so let’s be emission-free. Opportunities to help are boundless, so let’s get rich together. Accelerating an object to the speed of light would require infinite energy, so i hope this brightens your day.

How to (Actually) Follow the Golden Rule

“Treat other people the way you’d like to be treated.”  It sounds simple, right? How hard could it be? And yet most of us who say we believe this rule fail to abide by it. I know I do. Why? Most people would say something like, “because we are human, and no one is perfect.” […]

Popular Culture as Distributed Lookup Table

“It’s hard for me to understand what Americans are talking about because they are always referring to TV shows or movies.” I’ve heard this same thing, both from my wife –  who did not grow up in America, as well as from coworkers who emigrated. There’s an episode of Malcolm in the Middle, where Malcolm’s […]

Society is a Distributed System

What would happen if you tried to write down a list of every single thing you believed?  Not just the important stuff, like “People get out of life what they put into it” or “Most of what happens to us is determined by circumstances beyond our control.”  I mean trivial beliefs, too, such as “Cats […]

Emotion: The Animal OS

If you want to be comfortable working in software, you need to feel very comfortable with ideas like memory, the filesystem, and running commands. Everything in software will feel much more solid and understandable once you understand these basic, operating-system level concepts.  “I double-click this icon and a program starts” is nowhere near as useful […]

Stories are Models that Shape our Thinking

A simple, naive picture of how a human experiences the world might look like this: This image is, of course, way too simple. We all know that we aren’t seeing all of reality. We have to filter out some information, because much of it is noise, or redundant.  So perhaps a slightly more realistic view […]

Talk to the Process, not the Machine.

Decades ago, computers could run exactly one process at a time. Nowadays, modern operating systems let us run multiple processes on a single processor. Modern  microprocessors generally have multiple cores, as well. This means that on any modern machine, there are generally many different processes, all running in parallel. I’m writing this using a text […]