eric the fruitbatBlog
Sounding out the Noosphere.

Posts from March, 2008

Intelligence Expelled

Posted by Eric Hennigan
On March 22nd, 2008 at 16:03

Permalink | Trackback | Links In |

Leave a Comment |
Posted in Idiocracy, Politics, Religion

Today I read about one of the most ironic events of which I’ve ever heard. You can’t make this kind of thing up. The atheistic PZ Meyers (a biologist and associate professor University of Minnesota, Morris), was kicked out of a private screening of a now highly controversial ‘documentary’. Events proceed roughly as follows:

  1. PZ is approached to perform an interview about a film titled ‘Crossroads’ which is to be an ‘analysis of the intersection between religion and science within the context of biology’. Basically, both he and Richard Dawkins were deceived into giving interviews for the film.
  2. PZ goes on the web, and through the interface provided by the filmmakers, reserves a seat for himself, family, and his guest Richard Dawkins. He does not falsify his name (or anyone else’s) in doing so.
  3. While standing in line at the theater, he is approached by a guard and told he must leave.
  4. Ultimately he complies, without any fuss.
  5. Richard Dawkins, and the rest of PZ’s family get to see the movie.

So the major points of irony?

  • He got kicked out of a movie in which he appears on screen, and for which he is thanked in the credits.
  • He’s an associate professor, and was expelled from a private screening of a movie titled: “Expelled: No Intelligence Allowed”.

Of course some major deceptions get spread about the entire affair. Instead of listing those, I’ll just let the people involved speak for themselves.

  • PZ himself posts about the experience here, here and here.
  • A video of a discussion between PZ and Richard about the affair, with disparaging comments on the quality of the movie itself.
  • Two examples of the ‘official’ account now being spread about the incident: here and here.

And in other (re|be)lated news. In the movie they have used a clip, from Harvard, about some of the molecular mechanisms within a cell; The same clip (mentioned in the above discussion) that has been completely plagiarized by the minions of the Discovery Institute.

So, a mirthful smirk to the ID folks for providing me and the rest of the blogosphere a really good laugh.

The Dryer Protocol

Posted by Eric Hennigan
On March 18th, 2008 at 18:03

Permalink | Trackback | Links In |

Leave a Comment |
Posted in Comp*, Engineering

I’m becoming increasingly interested in systems engineering, but still don’t really know much about the subject. One thing that I read about recently (though I completely forgot where) was about how to choose a robust cooperation protocol, using the communal clothes dryer as an example.

In a system there’s often more that one way of doing things, or more that one way of ordering the things that need to be done. When it comes to drying your clothes, we have the two basic strategies:

  1. EmptyLintFirst
    The program can first empty the lint trap, and then dry the clothes.
  2. EmptyLintLast
    The program can first dry the clothes, then empty the lint trap and leave it clear for the next agent to use.

So, obviously, both of these strategies will work with themselves quite well. If everyone follows the EmptyLintLast protocol then the lint trap will always be clear when you begin to dry your clothes. So, how to choose between the two strategies? First we set up a cost function for when things go wrong, one that reflects the actual system cost. For this example, we’ll charge 1 minute for emptying the lint trap, if it was already clean, and 60 minutes for drying clothes with a dirty lint trap. Then we ask the all important question: In a mixed system what is the associated cost for each strategy?

  1. EmptyLintFirst
    Half the time the EmptyLintLast guy will have left a clean lint trap, so, being simple-minded folk, we clean it again at a penalty of 1 min. But the trap is always clean when we go to dry the clothes, so no penalty there.
    Total cost: 0.5 minutes.
  2. EmptyLintLast
    Half the time the EmptyLintFirst will have left a dirty lint trap, so we end up with soggy clothes for a penalty of 60 minutes. But the trap is always dirty when we go to clean it, so no penalty there.
    Total cost: 30 minutes.

Clearly the EmptyLintFirst is the more robust of the two strategies, not only does it work if everyone follows this strategy, but it also has a much lower cost in the mixed environment. Most of the time in software development, the setup and initialization cost (cleaning the lint trap) is much less than the actual computation cost (drying the clothes), so it clearly pays to always initialize your environment prior to using it, even if you think it’s unnecessary, it’s an incremental cost that buys you a more robust and reliable system. And since you can’t depend on that junior programmer (or yourself) to always clean up the environment after using it, you save yourself maintenance nightmares down the road.

So from Systems Engineering 101:

    Robust Protocol Selection

  1. List all the alternative ways of performing the task.
  2. Associate a cost for when each thing can go wrong.
  3. Evaluate each of the alternatives in a mixed environment.
  4. Choose the protocol with lowest cost.

If the cost analysis results in a tie, then adjust the cost function to arbitrate some differences.

Bitstreams

Posted by Eric Hennigan
On March 17th, 2008 at 09:03

Permalink | Trackback | Links In |

Leave a Comment |
Posted in code

This past weekend I spent an inordinate amount of time writing a small set of code that will allow the fetching of bits (rather than bytes) from a FILE *. For now this only supports reading, not writing. It’s meant to be used in an upcoming piece of work that transcodes mpeg video streams, into image feature, or 3D-model streams. At any rate, it’s probably useful for other things as well. (Works for Macs and Linux, passed tests for both endian architectures).
bitstream.h
test_bitstream.c