Saturday, November 8, 2014

The Berlin Wall wasn't a border between countries

This is the 25th anniversary of the fall of the Berlin Wall. I thought I’d tell a little story.

I studied in Germany as a kid, before the Berlin Wall came down. This one time, I met a girl at a party who had recently escaped from East Germany the month before. She had been hitchhiking in Czechoslovakia when the truck driver said “I’m going across the border, do you want me to smuggle you across?”. She had only minutes to decide the fate of the rest of her life, with nothing but the pack on her back.

She showed me her English textbook. English was nearly as popular a foreign language in East Germany as Russian. Like most language textbooks, it told a fictional story of a traveler as an excuse for dialog. The traveler was an East German in America, experiencing the typical American problems of the massive tuberculosis outbreak, hunger, and suppression of the popular American Communist Party. This overlay of propaganda on normal education was a fascinating insight into the way a totalitarian society works.

I asked the obvious follow up question, “so do you plan on visiting the United States?”.

She started crying. Between her sobs she explained that this had been a life long dream of hers, but until that moment, she didn’t realize she could. After a month in West Germany, she had not yet realized she was truly free.

I point this out because the Wall wasn’t simply a border between two countries, but a wall around people’s minds. Even when people didn’t believe the communist rhetoric, the totalitarian governments still had control over people’s minds.


This is a really strong memory.

The house was typically German, in the middle of Stuttgart. The lower floors were businesses, with a nondescript door with buzzer for dwellings on the upper floors. This apartment was typical student housing, converted from an attic, with low and angled ceilings, and inconveniently arranged rooms.

The space was heated by a small stove burning coal. Being from America, I had never handled or smelled coal before. I had expected it to be light, like charcoal, but it was heavy, solid rock ("steinkohle" or "stone coal"). It also had a distinctive smell when burned, which hung over the city in winter.

But even then, in Germany, and especially among poor students, heating was a luxury. Even at a party, we'd wear heavy sweaters and scarves, huddling in small rooms for warmth.

This girl had her little backpack with her, the same backpack she'd had from Czechoslovakia. Her parents were able to send her a few additional things, like her textbooks, but not a lot. She was living on a small stipend from the West German government, going to school at the University of Stuttgart.

It was weird. As a foreigner living in Germany, I felt out of place, but for her, I think the culture shock was even worse.

Monday, November 19, 2012

Republicans aren’t that dumb about science

The message of To Kill a Mockingbird is that you won’t understand a person until you walk a mile in their shoes. I’m a non-religious Republican. That means while I agree with things like “evolution”, I’ve walked a mile in shoes of religious people who don’t.

The first thing I’ve found is the “strawman fallacy”. Democrats misrepresent the Republican position, caricaturizing it into something silly. The Republican position isn’t an outright denial of science, but something more subtle.

From talking to the religious, I find their concern is that schools teach students to have “faith” in evolution, setting it up as a state-sponsored religion competing with their Christian “faith”.

They are correct. Schools fail at teaching evolution. Students leave school without really understanding how mutation and natural selection work. They don’t understand the evidence, like radioisotope dating of fossils. Their view of evolution is vaguely Lamarckian. Or, in pop culture terms, the view of most students is like what was portrayed in X-Men, that humans are becoming “more evolved”, a phrase that has no meaning in Darwinism.

In other words, what Republicans are concerned about is not that schools are teaching the science of Darwinism, but that they fail at teaching the science, and teach a religion of Darwinism instead.

Democrats call this a success. Their first priority is to have students believe in evolution, and they pursue this with vigor. Understanding evolution is a secondary priority. Indeed, they rarely understand Darwinism themselves.

These religious Republicans propose the wrong solution, teaching “creationism” or “intelligent design”. But they are right that there is a problem. The solution is to spend more effort teaching the evidence, so that the majority of students can recognize how Lamarck and the X-Men get evolution wrong. We should care less whether students “believe” this evidence, and care more that they “understand” it.

I urge you to try to understand the issue from the Republican perspective, rather than blindly echoing the Democrat strawman version.

Thursday, October 13, 2011

RIP Dennis Ritchie

Sublime. There is no better word that can be used to describe the C programming language and the Unix operating system, which were co-created by Dennis M. Ritchie (dmr), who passed away earlier this week. C and Unix are sublime.

The way computers work today is because that is how Dennis Ritchie (and cohorts) decreed they should run. This is known as the Unix operating system, which all modern operating systems are based on, either directly or indirectly. We take for granted things like “files” on our computers, but that’s not how most computers organized data prior to Dennis Ritchie. It’s not just your computer, but your mobile phone, your TV, and even your car, that work the way that Ritchie (et al) designed.

In additional to Unix, Ritchie is also responsible for the C programming language (Unix was written using C). Most modern languages, from JavaScript to to PHP to Lua are based partly on the C programming language.

But C is more than just a programming language. It is a sublime expression of computing.

In the beginning, C was designed to be a “portable” low-level language. Until C, low-level code was written in machine language. Sure, database applications might be written in high-level languages like COBOL, but such languages were inappropriate for low-level code, like that found in operating systems. C was designed specifically to be a common low-level language that worked on many different machines at the time. This allowed Unix, which was written in C, to become a universal operating system that worked on many types of machines. In the modern world, Unix runs your iPhone and super computers.

But a strange thing happened after C: all new machine processors designed after that point were designed specifically to run C.

Take your iPhone, for example. It runs a processor type called “ARM”. The ARM processor was designed from the ground up to run C code efficiently, specifically in the way it handles the stack and conditional expressions. Or take the x86 processor family from Intel. Over the years, as the processor has grown from 16-bit to 32-bit to 64-bit; the blueprint has always been how it can run C code efficiently. Even though the x86 and ARM cannot run each other’s machine language, they both can be programmed in C, and both run C efficiently.

I’m a long-time C programmer. I learned C as a child, and it took me a decade of programming to appreciate the sublime nature of C. It would be fair to say that it was Dennis Ritchie (and cohorts) that taught me how to program. By studying their decisions in creating the language, I learned how such a language should be used. I still have my original dog-eared copy of K&R’s book on the C programming language. Like any good book, I have read and re-read it multiple times.

In the late 1990s, I started my own company, selling a high-performance network monitoring system for preventing hacker attacks. By weaving C code in just a certain way, I was able to achieve 10 times the network speeds of my nearest competitor. I could achieve the improbable because I could see the sublime nature of C. This caused my competitor to buy out my company, replacing their product with my own. This has made me very rich. And I owe this to Dennis Ritchie (and his codesigners).

Dennis Ritchie wasn’t solely responsible for Unix and C. There were many others involved, notable Brian Kernighan and Ken Thompson. It was these guys who were the heros of my youth, not baseball players or musicians or politicians. It was these guys who inspired me to become the person I am today.
#include <stdio.h>

int main(int argc, char *argv[])
    printf("Thanks dmr.\n");

Wednesday, September 28, 2011

Guardian’s take on Science vs. Religion

This Guardian article ( on the difference between science and religion annoys me. It’s gets the science mostly correct (faster-than-light neutrinos will overturn a lot of theories, but not science itself), but it lies about how science is taught. Specifically, in politicized issues like Evolution and Global Warming, children are taught to “believe”, to have “faith”, and that to disagree is to “sin”. Scientists themselves turn to “belief” when the evidence fails them.

Tuesday, September 13, 2011

The anti-intellectualism of Paul Krugman

In a NYTimes op-ed, Paul Krugman attacks Republicans (like Rick Perry and Mitt Romney) for being anti-science and anti-intellectual. But the science and critical-thinking errors in his post demonstrate that it is in fact Krugman who is anti-science and anti-intellectual.

Thursday, August 25, 2011

A thank you note to Steve Jobs











Sunday, June 12, 2011

All roads lead to "Philosophy"

King of geeks, xkcd, points out in a recent comic that on Wikipedia, if you take any article and click on the first link not in (parentheses) or italics, then repeat, you eventually end up at the page for "Philosophy". For example, the first link on the page for "Star Wars" is "Space operate", which leads to "Speculative fiction", and so on.

Two sites that follow the links for you are and

All the terms I've chosen seem to work. I've created a graph of them below, showing how they all converge on "Philosophy":

My question is: what does the "philosophy" page link to? At this moment, it links to "reason", which links to "rationality", which leads back to "philosophy". This means that all pages eventually end in "reason" or "rationality" as well.

It seems like there must be some deep principle behind this, so I'm going to take a stab at what this is: the Enlightenment.

I don't think this graph defines a "natural law", that philosophy is the basis for all things. Instead, I think this is a cultural artifact, that we in modern, Western culture define everything in terms of philosophy and reason.

For example, the American right wing has created their own "Conservapedia" to combat what they see as left-wing bias in Wikipedia. Those articles don't converge. A tested many terms, and each ended in a loop rather than a "philosophy" or "reason".

Did we do that before the Renaissance/Enlightenment? If we gathered up all pre-Renaissance writings in Europe, filtered just the pages that attempted to "define" or "explain" things, and conducted a similar experience, what would happen? Would they lead to loops? Would they converge on something? I suspect that in pre-Enlightenment Europe or modern Islam, they would converge to religion, not reason.

Or what about ancient Chinese thought? Confucianism is a system of though that's dominated China and the far east for 2500 years. If we applied the same sort of trick, what would everything lead to? Would it be some Confucian principle like "governance" or "duty"?