August 2007 Archives

If Answers in Genesis’s creation anti-museum didn’t have enough of lie already, it is beginning to corrupt Kentucky’s government. The tax-funded Northern Kentucky Convention & Visitors Bureau is promoting the anti-museum as a “‘walk through history”” that “counters evolutionary natural history museums that turn countless minds against Christ and Scripture”. This inflammatory lie has rightly upset several organizations, who are fighting to improve the quality of science education in Kentucky. We expect Answers in Genesis to lie, but we hope that government wouldn’t join them in it. So far the visitors bureau has refused to change their website despite having is inflammatory lies pointed out to them. Perhaps some more public pressure can change that.

The Cincinnati Enquirer has the full story.

Go Congratulate Her!

Tiffany has passed the North Carolina State Bar Exam.


Go congratulate her, now!

Of course this means that I will primarily be looking for faculty positions in North Carolina. Anybody know if there are any good universities here?

Ngila 1.2.1 Released

I’ve updated my sequence alignment program, Ngila, to version 1.2.1. This version has been modified to become more modular, and uses some really cool C++ coding that I’ve developed on another project recently. A new feature, evolutionary alignment, has been added based on my current research.

See Ngila’s Website for more details or just download it.

MT-Dispatch 1.4


This will be a short post. Mostly for people who are already using MT-Dispatch to serve Movable Type with FastCGI and background tasks.

I’ve released MT-Dispatch 1.4.

I will write the documentation later this week, and it will appear on this page.

What is new in this version?

  1. Movable Type 4.0 migration. (I’ll release 1.3 sometime later to backport my new features to MT 3.)
  2. Auto loading of MT App scripts.
  3. A plugin interface—recycle the dispatcher from the MT dashboard.
  4. Support for url rewrites, which is important for getting MT-Dispatch to work with Apache.

Quote 2.0 Released


For nearly two years, I’ve been running a custom plugin on my blog that allows visitors to clink a link and quote a previously made comment. With MT 4.0, I’ve updated the plugin and have now released it publicly.

You can view the instructions and download it at the following page:

Go ahead and play with it, just click the “quote comment” links beneath the comments.

More MT-Dispatcher Features

I’ve added some new features to MT-Dispatcher since yesterday afternoon.

1. MT-Dispatch can now be used with url rewriting, allowing it to be deployed on Apache, and other webservers that don’t support fastcgi proxies.

2. A plugin now integrates control of the dispatcher into the Dashboard, allowing administrators to recycle the worker threads and force the dispatcher to reload MT’s apps and plugins. When a plugin is added, the dispatcher can be recycled from the dashboard instead of restarted from the command line.

3. Workers now log their creation and recycling to MT’s activity log.

I’ll probably put a distribution out this weekend. Let me know if you want to test it earlier.

I solved the problem of using MovableType’s background tasks with FastCGI a while back. A couple of MT developers took notice, but the solution wasn’t incorporated into the recent 4.0 installation. Six Apart still maintains that background tasks and persistent environments are incompatible. I believe it has to do with different philosophies that Six Apart and I have in regards to running MT under FastCGI.

Since the last release I’ve added some interesting features to my MT-Dispatcher. This “current” version discovers and understands MT apps. No more need to edit the dispatcher to specify the apps you want to run.

For 4.0 compatibility I’ve had to update the my background tasks code to the new organization of MT. I’ve also copied the error handling code from MT::Bootstrap so the dispatcher will behave like a normal MT install. This means that the current version is probably not backwards compatible anymore. If needed, I can backport my changes to a 3-compatible branch.

I’ve decided to post links to the version that is under active development in case anyone wants to try it out. Read this post for a rough outline of the installation procedure. A release won’t happen for a few days, and I cannot guarantee that as I update the source code that the version that you download will run.

mt-dispatch, current (download)

However, background tasks still fork the process. I’m working on a new method of doing background tasks that will not cause fork.


I’ve successfully migrated my blogs over to MT 4.0. I’ve even used 4.0’s new backup and restore capability to migrate my blog from a mysql database to a postgresql database. It was a test run for doing the same thing to The Panda’s Thumb.

I’m probably stuck with this style for a while, until I can find the time to modify it and make it into something like I had before.

MT 4.0 Is Out


Movable Type 4.0 has been released. I’m working on upgrading this site and PT to the new software. Our layouts will probably revert to a generic layout for a while until I can customize them.

Discovery Goes Bust

It is not a good sign for the sport of cycling when the most dominant team, the one with the most GC contenders, is disbanding because they can’t find another sponsor. Discovery Channel is not renewing its contract, and the team of Armstrong, winners of 8 of the last 9 Tours de France, is having to fold due to lack of sponsorship.

I hope that the Tour de Georgia will be able to find a sponsor for the next race, but with DC folding it doesn’t look good.


The southeast is in the middle of a heat wave and the air conditioning in my building on campus goes out—for the second time this summer. This isn’t Canada; we need our air conditioning to survive. Hopefully, the physical plant will work overtime tonight to get the rented chillers up and running before work tomorrow; otherwise, I’ll probably work from home after lunch.

And the image is what our outside thermometer read when I came home this evening.

I’m working on implementing some new evolutionary alignment models into my recently published alignment program Ngila. In the process I’m rearranging Ngila’s code based on lessons I’ve learned on more recent projects, including using x-macros and the Boost libraries.

One task that I needed to program today was to take a string of sequence data that may contain gaps and copy it to another string removing any gap characters. Now I could use the following routine:

std::string ss_gaps = "-+="; // chars to remove
std::string s = "aaa---ggtgct"; // the sequence data
std::string t; // the destination sequence
for(size_t i=0;i<s.size();++i)
	if(ss_gaps.find(s[i]) == std::string::npos)

But that for loop is boring. Instead I decided to employ the standard template library and the boost libraries to craft a much cooler ‘single’ line of code to do the same thing:

std::remove_copy_if(s.begin(), s.end(), std::back_inserter(t),
    std::string::value_type, std::string::size_type>(&std::string::find),
    ss_gaps, _1, 0) != std::string::npos );

This line is more complicated that it should be because std::string::find is an overloaded function, requiring additional complexity in the code that a non overloaded function wouldn’t needed, e.g.

std::remove_copy_if(s.begin(), s.end(), std::back_inserter(t),
    boost::bind(strchr, ss_gaps.c_str(), _1) != (char*)NULL);

or even

std::remove_copy_if(s.begin(), s.end(), std::back_inserter(t), stl::bind2nd(equal_to<char>(), '-'));

or even

using boost::lambda;
std::remove_copy_if(s.begin(), s.end(), std::back_inserter(t), _1 == '-');

Now, isn’t that more interesting than a boring for loop?

Do I have Asperger’s?

| 1 Comment

The answer is no.

I got a 15 out of 50 on the Asperger test, which means that I am an “Average woman, [or] average male or female biologist”.

They pegged me correctly. I’m just your average biologist, specializing in computational and theoretical evolutionary genetics.

Now if only my late adviser was still around to take this test.

(via PZ)

About this Archive

This page is an archive of entries from August 2007 listed from newest to oldest.

July 2007 is the previous archive.

September 2007 is the next archive.

Find recent content on the main index or look in the archives to find all content.


Powered by Movable Type 4.37