April 2009

The End of Philosophy?

Tuesday, April 7th, 2009

David Brooks has written a column for the NYTimes entitled, “The End of Philosophy”. The basic thrust of the article is that moral reasoning is less about reasoning and more about intuition. In other words, morality is more like aesthetics than logic.

A representative section:

Think of what happens when you put a new food into your mouth. You don’t have to decide if it’s disgusting. You just know. You don’t have to decide if a landscape is beautiful. You just know.

Moral judgments are like that. They are rapid intuitive decisions and involve the emotion-processing parts of the brain. Most of us make snap moral judgments about what feels fair or not, or what feels good or not. We start doing this when we are babies, before we have language. And even as adults, we often can’t explain to ourselves why something feels wrong.

In other words, reasoning comes later and is often guided by the emotions that preceded it.

The major hole I see in Brooks’ article — and argument — is what he himself recognizes here:

Moral intuitions have primacy, Haidt argues, but they are not dictators. There are times, often the most important moments in our lives, when in fact we do use reason to override moral intuitions, and often those reasons — along with new intuitions — come from our friends.

It’s true that moral intuitions may have evolutionary (or other) roots distinct from reason, but that’s why they’re called “intuitions.” Brooks recognizes that at the “most important moments in our lives”, we cast those intuitions aside. Well, doesn’t that suggest that there exists a moral “right answer” outside our intuitions? Perhaps people should use reason to override impulse at more mundane moments of their lives, too. For example, when deciding whether one deserves those alligator skin shoes, or whether the dying children in Africa might be better candidates for that money.

There have been many attempts in recent years to justify the less rational sloppy moral thinking of individuals by pointing to evolution and saying that an individuals’ beliefs are just derived from their primordial roots. I simply disagree with this line of reasoning. The fact that you can override your moral impulses means that at times you must! I much prefer to frame my decisions in terms of Jean-Paul Sartre’s concept of “radical” or “unlimited” freedom. And with that freedom comes responsibility.

Brooks quotes Haidt,

The emotions are, in fact, in charge of the temple of morality, and … moral reasoning is really just a servant masquerading as a high priest.

My analogy is that moral intuitions are more like the inmates in a psychotic ward. In people who don’t think their moral choices through, “the inmates are running the asylum.”

Favorite PyCon 2009 talks

Monday, April 6th, 2009

I attended PyCon 2009 this year, which was a whole lot of fun. Quite a few people have asked me which talks I liked, so I decided to put together my “top 5 talks” list, in ranked order:

  1. A Whirlwind Excursion through Writing a C Extension. This talk by Ned Batchelder (author of coverage.py and cog) shows that you can write a Python C extension module in under 20 minutes. This is my top talk because I never thought that my skills in C would be so directly useful in writing Python applications. Considering how damn easy it is to write a basic C extension module, I wouldn’t be surprised if the only reason I ever write C code again is to implement some Python functions or types in C. Truly the best of both worlds!
  2. Reinteract: a better way to interact with Python. Owen Taylor (of GNOME/GTK+ fame) has spent some time over the last few months building a better Python shell. Specifically, it’s a lightweight shell that is meant to be a prototyping or “worksheet” environment a la Matlab, Mathematica, or Maple. Except, you’re running and re-evaluating Python code. It even supports things like in-line graph plotting, but I’ve already used it to experiment with Python web services API. Any Python programmer who has been frustrated with IPython before should check out Reinteract.
  3. Easy AI with Python. This talk might have gotten the #1 slot for most interesting, but not the #1 slot overall because it seems like this talk has been given at a lot of conferences (not just PyCon) over the last few years. This talk introduces some complex AI topics in a very short time frame, and in a very intuitive way. For me, the neural networks example with Jets and Sharks was particularly impressive. Raymond Hettinger is a great presenter, and if you have some time you should definitely check out his recipes on ActiveState’s Python Cookbook and his How-to Guide for Descriptors.
  4. Abstraction as Leverage. A talk by one of my favorite Python authors, Alex Martelli (who wrote the best book on Python on the market, Python in a Nutshell), this talk isn’t so much about Python as it is about software engineering overall. But it’s thought-provoking as his talks usually are.
  5. Class Decorators: Radically Simple. The presenter is the author of the Class Decorators PEP, Jack Diederich. If you like decorators and you are curious about metaclasses, you’ll love class decorators.

Feel free to share your favorites!