Fixing two annoying issues in Movable Type

After playing around with the Movable Type Motion Beta (I’ve got a copy of it running somewhere), I spent the better part of an afternoon trying to figure out if the problems with updating external app streams (such as Twitter updates) were related to some kind of configuration problem or related to the beta-state of Motion. After realizing that the run-periodic-tasks script for my permanent blog does nothing for installed betas, or other instances of Movable Type (me stupid), I realized that MT still hasn’t corrected some easy errors in their modules. Nor have I. The problem is fixed now, and I’m writing down two simple fixes to two hard-to-research problems.
Problem 1: Can’t locate MT/ in @INC
So, say you’re getting a constant error in your daily cron logs when trying to do background publishing in Movable Type. You know, you’re trying to run the run-periodic-tasks script to take care of background tasks by setting up a cron job, either daily, or six times an hour. Assuming your crontab syntax doesn’t suck ass, now you’re getting messages that look like this:
Can’t locate MT/ in @INC (@INC contains: …
This website has some good examples on how to fix this (hint: you don’t have to modify @INC, you can simply modify your run-periodic-tasks file).
Getting background publishing to work in MT 4.1 —

The problem is that ‘..lib’;. It’s simply pointing to the wrong place in the MT file structure, which is weird, given that it’s their app and all, but whatev. So what you need to do is point the script to using the absolute filepath, and all will be well.

Problem 2: Subroutine MT::Template::Context::post_process_handler and Subroutine MT::Template::Context::add_global_filter
After upgrading your v2.x of Movable Type to v3.x or even v4, you may see these messages in your daily cron logs, if you’re running the run-periodic-tasks script to enable background publishing and housekeeping:
Subroutine MT::Template::Context::post_process_handler redefined at /usr/local/www/cgi-bin/mt/extlib/bradchoate/ line 41.
Subroutine MT::Template::Context::add_global_filter redefined at /usr/local/www/cgi-bin/mt/extlib/bradchoate/ line 22.
Took me a while to sort this out, but only because I enabed run-periodic-tasks for two fresh installations of v4, and there were no errors in the logs. As discussed here, the problem is that the isn’t used in v3 or v4 of Movable Type. To fix these very noisy messages in your crontab logs, go into /usr/local/www/cgi-bin/mt/plugins and edit the file, replacing:
use bradchoate::postproc;
with something like this:
if (MT->VERSION =~ m/^2.2/) { require bradchoate::postproc; }
or even just comment out the line altogether. You’ll notice all your post processing still works, and you’ll get no more error messages.