For Linux/GNOME users: tired of nm-applet? Try wicd

This post is only intended for those who actually run GNOME and Linux, just a warning 🙂

I just replaced network-manager on my Ubuntu Jaunty desktop with wicd.  See wicd here:

What's so great about wicd?  I used to think nm-applet and NetworkManager were the best thing since sliced bread, but have grown increasingly frustrated with these tools over time.  Here's my short list of things I dislike about NM:

Continue reading For Linux/GNOME users: tired of nm-applet? Try wicd

Atul Gawande (MD/author) on the cost of health care in this excellent New Yorker piece

Will a new, national insurance plan solve the essential problem of the rising cost of health care? According to Atul Gawande, it won’t.  What is needed is nothing short of a complete cultural shift in the community of practicing medical doctors and the organizations/institutions that provide care.  From the article:

Providing health care is like building a house. The task requires experts, expensive equipment and materials, and a huge amount of coördination. Imagine that, instead of paying a contractor to pull a team together and keep them on track, you paid an electrician for every outlet he recommends, a plumber for every faucet, and a carpenter for every cabinet. Would you be surprised if you got a house with a thousand outlets, faucets, and cabinets, at three times the cost you expected, and the whole thing fell apart a couple of years later? Getting the country’s best electrician on the job (he trained at Harvard, somebody tells you) isn’t going to solve this problem. Nor will changing the person who writes him the check.

Click to read “The Cost Conundrum” @ The New Yorker.

Trouble connecting to GTalk with Pidgin?

After my recent upgrade to Pidgin 2.5.5 (on Ubuntu Jaunty), GTalk mysteriously stopped working.  Check out the FAQ entry on the Pidgin developer website for an explanation.  The workaround, not listed there, is to change your "Connect Server" to "talk.google.com".  Pidgin will then prompt you once for a certificate, and after that, it will connect fine.

A developer in #pidgin on irc.freenode.org told me to "fix my router" since my "router was broken".  This even though the problem has now occurred on three separate LANs, two of which I don't own/control.  Routers that are used as DNS servers are very common, and the fact they are broken in this regard is a reality.  Wake up — realities trump ideal every time.  Pidgin should automatically work around this problem, IMO.

Ubuntu Jaunty installation process

Today, I decided to finally sit down and upgrade my Ubuntu Intrepid installation to Ubuntu Jaunty. I torrented the live DVD last night (causing my roommates to complain of major Internet hoggage — it was downloading at 1.2MB/sec!). I then performed a full system backup to a remote hard drive, and then repartitioned my drives this morning using gparted, the graphical partition editor that comes with Jaunty’s live DVD.

The process took some time, which is why I saved it for a weekend. To backup my hard drive took about 2 hours, and doing the partitioning operations took about 3 hours. I went out in the nice weather and picked up groceries while it was loading.

When I got back and could kick off the installation process, I was pleasantly surprised by the installation wizard UI. It easily guided me through the partition setup process. Even though in my case I had to make use of the “Advanced” editor, it easily visualized what was going on in my hard drive, and even detected the operating systems I had on there (WinXP and Intrepid).

I set up my new ext3 partitions (after deciding ext4 too unstable for my taste), and got started. I was pleasantly surprised when instead of asking me to reboot my computer, it just started right up. I still had access to a functioning computer while it was installing! Nice. That allowed me to jump on my blog and start on this post 🙂 I even connected my MP3 player and have some tunes playing!

I was considering doing an upgrade of my system from Intrepid->Jaunty, but decided to give a clean installation a try. I get the feeling that there is some “drag” in my Linux installation which has been running on my machine for almost 3 years now. (Wow, has it been that long since I got this laptop?) I went through multiple releases of Ubuntu via upgrades, and I simply feel my requirements for my system have shrunk so significantly that a clean install was best to ensure my system is configured well and cleanly.

What do I mean by “shrunk” requirements? Well, when I profile the usage of my computer, nowadays 90% of what I do personally happens within Firefox. The remaining 10% are all handed by newer software. Among things that don’t include Firefox are browsing photos and listening to MP3s. Even some of these tasks are moving to the web platform.

For my work on Cog Tree, I really only have 3 development tools I lean on directly: vim, WingIDE (Python), and Eclipse IDE (Java). Javascript development and debugging happens inside a browser. I still lean on VMWare to give me some high-quality creative professional tools from the Windows world, e.g. Photoshop and Topstyle (for CSS). Aside from these, I don’t really need nor want much other software on my system. Any other development tools can be installed on-demand using Synaptic.

Jaunty’s installation percentage is about 50% right now. We’ll see how the system runs once it boots directly off the hard drive. I’m pleasantly surprised that most of my hardware seems to be working out of the box. Even my volume buttons, brightness buttons and media buttons on my laptop now work, which is a nice touch. My sound quality is still a little poor due to a chipset detection problem that still seems to be present in the snd_hda_intel driver. But I’m pretty sure by setting some options in /etc/modprobe.d/alsa-base I’ll be able to get it working better.

People who know me know that I’m very skeptical about my computer and about Linux. I regularly complain about all the little silly regressions that Linux has suffered over the years. I’m also particularly upset about how certain beautiful and essential pieces of software never end up making it into the Linux mainstream, e.g. TuxOnIce. But hopefully, Jaunty will capture my heart this time, and gain some love from this Linux cynic…

The End of Philosophy?

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

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!

Beautiful Code and a Beautiful Bug

I am teaching a technical course on the popular and ubiquitous version control system, Subversion, this Monday. I thought it might be fun to give my class a little “extra credit” reading from the O’Reilly book, Beautiful Code. In it, one of the original authors of Subversion, Karl Fogel, shares what he considers to be the most beautiful internal design within the codebase: the SVN delta editor. Though this API is not directly used in doing Subversion development, I thought it might be cool for students to have a deeper understanding of the thought that went into SVN’s codebase. But when trying to print up some copies of the chapter for the class, I got more than I bargained for…

Continue reading Beautiful Code and a Beautiful Bug

The media blackout of Ralph Nader

I haven’t done a formal analysis of this yet. Just an informal one using a NYTimes.com search for Ralph Nader.

On July 1, 2008, CNN published a poll that put Ralph Nader at 6%. On February 24, 2008, Ralph Nader formally announced his bid for presidency on “Meet the Press.” What happened in the intervening four months?

Not much, according to the ‘liberal’ NYTimes. In the days following Nader’s announcement, the NYTimes had a bit of activity. You can see the full details by looking at the newspaper’s Ralph Nader feed. Two articles were published immediately after the announcement, one merely rehashing the “Meet the Press” discussion. The second one was more interesting, as it appeared as an editorial and was called, “Ralph Nader: Going, Going, not Gone”. In it, Eleanor Randolph repeats the typical diatribe about Ralph Nader ‘spoiling’ the 2000 election, seemingly with detachment, but then points to Bush’s presidency as being a regrettable outcome. Here’s a select piece:

Many Democrats still believe, bitterly but without conclusive evidence, that Mr. Nader siphoned off a lot of Democratic votes in the 2000 presidential election. He argued that the main candidates, George W. Bush and Al Gore, were nothing more than “Tweedledum and Tweedledee,” two peas in a pod, no daylight between them.

The Republican Tweedle won the presidency, and the Bush administration went on to gut, hobble or hamstring many of the safety agencies that Mr. Nader had fought so hard to create. Mr. Gore got a Nobel Peace Prize for raising concern about global warming.

If there is a stronger word for whoops, it certainly applies here. But that does not seem to cast a shadow on the Nader enthusiasms.

Bob Herbert’s Op-Ed, “A Driving Force”, published the same day, seems to recognize Nader’s ‘right to run,’ but also points out, somberly, how Democrats despise and Republicans will encourage his run to force another ‘spoiler’ outcome. This was followed by a couple of narrow-interest pieces, one on Nader supporters (entitled “Trying Times for Remaining Nader Faithful”) and one about Nader’s vice presidential pick, Matt Gonzales. This news activity all occurred at the end of February.

In the intervening 4 months, there hasn’t been a single news article covering Nader’s campaign in The New York Times. Not one. I think it’s fair to say that there hasn’t been a day that has passed since February where there were any fewer than two or three articles on the other presidential candidates.

There have been a couple of Nader mentions buried deep within other articles, but no mention of the fact that Nader has secured access to quite a few state ballots. No background on his campaign or profile of his person. No interviews with him, his vice presidential pick, staffers, or anyone else involved with his campaign. And no mention of this remarkable number — 6% in a national opinion poll by CNN. That’s 6% despite no coverage in the NYTimes, and not much coverage elsewhere in the Mainstream Media.

Is this a media blackout? Well, there is no other way to classify it.

Related to my last post, who determines the content of the news: journalists and editors (and their masters), or we, the people? If the news really reflects our interest, why is it that 6% of the political news coverage of the last four months hasn’t been about Nader? I’m not asking for there to be equal news coverage as Obama or McCain. But why not at least an in-depth article or two? This is a presidential candidate making a serious run. Nader also has better credentials and deeper experience with Washington and politics than Obama or McCain. Why is it that the media continues to ignore him? I know there’s at least one explanation, but the effects still baffle me.