autoconf config.h prefixing

A little while back in the OpenPA project we realized that we had a problem with the way that autoconf works by default. Normally in your configure.in (or configure.ac) you specify a config.h file via the AC_CONFIG_HEADER macro that will contain the results of any AC_DEFINE macro invocations. Then your .c files include this file and will compile different code based on the definitions in your config.h. This is all well and fine as long as your project either results in an executable or your project results in a library with minimal platform-dependence in the header files.

[...]

new Roku box

Heather and I received our new Roku set-top box in the mail a few days ago and so far we are very pleased with it. We used to use Blockbuster’s plan but ever since they decided to drop the only significant advantage that they had over Netflix then they ceased to have a compelling offering for us. And we were even on the old grandfathered-in pricing scheme with 3-out, unlimited exchanges for ~$20/month, not the $30/month or so that they charged in the interim period before the new exchange policy. So, couple of months ago we switched to Netflix at the 3-out at a time plan and haven’t looked back. The price is a bit cheaper for the disks-by mail (~$17/month), the selection is far better, and movies are actually in stock in general instead of being on long wait for nearly a year at a time.

[...]

highlight tool

I’ve written a tool that some of you might find useful. It’s really simple, it just highlights the given regular expression with the specified color in your terminal. It’s sort of like grep --color pattern except it prints both the matching lines and the non-matching lines. The raw script can be found here. It currently lives at github, which is a bit of an experiment for me. I’m not sure if I plan to make any modifications to it, but I figured that it was as good of an opportunity as any to give it a try.

fixing corrupted git-svn commit data

So recently we had a permissions problem on the SVN server at work (a whole other story) that caused me to import bad commit data to my git repository using git-svn. The commit messages were fine, but the diffs were empty for this particular development branch. Due to unfortunate limitations in SVN-over-http, the workaround solution that we came up with was to create a second repository root that pointed at the exact same repository under the hood. This let us specify a different and more correct set of permissions in the second repository (mpi-private instead of mpi). Unfortunately because of this my standard git-svn fix-all trick, blowing away the the metadata in .git/svn, won’t work (alone) in this case. All of the git-svn imported commits contain a breadcrumb to figure out from where the commit originally came, called the git-svn-id, that looks something like this:

git-svn-id: https://svn.mcs.anl.gov/repos/mpi/mpich2/trunk@4262 a5d90c62-d51d-0410-9f91-bf5351168976

This is problematic if you want to move to a new repository url, such as the above with “mpi” replaced by “mpi-private”. The fix in this case is a little more involved than I would like it to be, but at least it was doable. The basic game plan is to:

[...]