Posts

Why software has bugs

When people discuss the future of computers and software, a common worry is that it will become increasingly difficult to produce correct software due to the ongoing surge in complexity. A common joke is to imagine what cars would be like if they were as buggy as software. I believe these fears are groundless, and that they arise from a misunderstanding of the reason why current software is full of bugs.

The event horizon is near

It occurred to me that Kurzweil’s singularity might be better characterized as an event horizon. The difference is that a singularity is where something actually infinite happens, while an event horizon is a surface beyond which one can never know anything. An event horizon looks like a singularity from the perspective of a fixed external observer, but from the perspective an observer falling it in always appears to be further down.

Many fewer books

As part of moving, I just got rid of these:

Standard and Poor's

Here’s a quote from a Managing Director at Standard Poor’s, explaining how their years of data on mortgage borrowers could be used to predict the behavior of new types of mortgages (such as those which don’t require proof of a job): We were able through our analytical process to develop assumptions about what the future would be like for these borrowers. [TAL] Normally it would be hard to take data from one situation and apply it to another, so it’s a good thing they had an analytical process.

Science cannot tell us what is ethical?

I’m in the middle of listening to this, and had to take a break to rant for a minute. They’re currently interviewing Alister McGrath, who has written two books complaining about Dawkins. Here’s a quote (emphasis mine): Well I think one very important point here is simply that it’s fairly clear that science is limited in terms of what it can tell us. It is marvelous in clarifying the relationship between entities and forces in the material world, but when it comes to questions of value or meaning it isn’t really quite so good.

A literal MPI corner case

I just spent a day tracking down a nasty MPI bug in some fluids code, and the cause is amusing enough to record. A process was interleaving message receives from two of its neighbors, one above and one to the right. Each message contained a band of data one grid cell thick. Both messages were sending into the same array, so the two regions intersected at the corner of the domain.

Facebook link

Kevin suggested I link my blog into facebook so that he could comment through there. Here’s a wordpress plugin that accomplishes this. This post should test whether the plugin is working. Update: When debugging wordpress plugins, it’s very convenient to have a friend who knows the developer personally. Thanks Adam Hupp! Update: Unfortunately, facebook connect appears to be incompatible with an application/xhtml+xml content type. I need that content type for mathml use (facebook $\ll$ math), so no luck for now.

Two Quotes

These are very refreshing: From Hudak et al., “A History of Haskell” [1]: The fact that Haskell has, thus far, managed the tension between these two strands of development [as a mature language, and as a laboratory in which to explore advanced language design ideas] is perhaps due to an accidental virtue: Haskell has not become too successful. The trouble with runaway success, such as that of Java, is that you get too many users, and the language becomes bogged down in standards, user groups, and legacy issues.

Sorting in linear time

If you assume fixed word length, integers can be sorted in linear time using radix sort. This paper gives a stunningly elegant generalization of this to essentially arbitrary data structures, including lists, sets, bags, etc.: Henglein, F. (2008). “Generic Discrimination: Sorting and Partitioning Unshared Data in Linear Time”. Wow. The most interesting aspect of this to me is that it provides some extra hope about the practicality of functional containers. Right now everyone is using hash tables, which are fast but extremely lacking in functionality (e.

Lyre bird

Lyre birds are spectacular:

http://www.youtube.com/watch?v=VjE0Kdfos4Y

Thanks for Jiayi for the link. I wasn’t sure it was real at first, so here’s independent confirmation (PBS probably isn’t lying):

http://www.pbs.org/lifeofbirds/songs/lyre.ram