<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>

<channel>
	<title>scot hacker's scripts and utils</title>
	<atom:link href="http://birdhouse.org/software/feed/" rel="self" type="application/rss+xml" />
	<link>http://birdhouse.org/software</link>
	<description>Scot Hacker's Misc Scripts and Utils</description>
	<pubDate>Wed, 23 Apr 2008 09:20:57 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
	<language>en</language>
			<item>
		<title>Cleancats</title>
		<link>http://birdhouse.org/software/2008/04/cleancats/</link>
		<comments>http://birdhouse.org/software/2008/04/cleancats/#comments</comments>
		<pubDate>Wed, 23 Apr 2008 08:12:56 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://birdhouse.org/software/?p=34</guid>
		<description><![CDATA[This is a very crude mass category deletion script for WordPress. I recently inherited a WordPress site with more than 6000 categories. After deleting a ton of old posts, we were left with more than 4000 unused categories, and I needed a way to remove them quickly. Couldn&#8217;t find a plugin up to the task, [...]]]></description>
			<content:encoded><![CDATA[<p>This is a very crude mass category deletion script for WordPress. I recently inherited a WordPress site with more than 6000 categories. After deleting a ton of old posts, we were left with more than 4000 unused categories, and I needed a way to remove them quickly. Couldn&#8217;t find a plugin up to the task, so wrote this. Very crude, but effective. Not a plugin, but a small WP companion script. See instructions in the comment at top of script.</p>
<p><strong><a href='http://birdhouse.org/software/wp-content/uploads/2008/04/cleancatsphp.txt'>Download Cleancats</a></strong></p>
]]></content:encoded>
			<wfw:commentRss>http://birdhouse.org/software/2008/04/cleancats/feed/</wfw:commentRss>
		</item>
		<item>
		<title>WP-Create</title>
		<link>http://birdhouse.org/software/2008/04/wp-create/</link>
		<comments>http://birdhouse.org/software/2008/04/wp-create/#comments</comments>
		<pubDate>Sun, 13 Apr 2008 21:26:19 +0000</pubDate>
		<dc:creator>shacker</dc:creator>
		
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://birdhouse.org/software/?p=28</guid>
		<description><![CDATA[Super fast way to install WordPress for clients, via subversion. Yes, users can often self-install via Fantastico or similar programs, but what guarantee do you have that they&#8217;ll upgrade as soon as new releases become available? Letting users run old versions of web software is a great way to get hacked. Take control of users&#8217; [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Super</strong> fast way to install WordPress for clients, via subversion. Yes, users can often self-install via Fantastico or similar programs, but what guarantee do you have that they&#8217;ll upgrade as soon as new releases become available? Letting users run old versions of web software is a great way to get hacked. Take control of users&#8217; installations by checking them out via svn (with this script) and managing them with <a href="http://birdhouse.org/software/2007/07/wp-mass-upgrade/">wp-mass-upgrade.</a></p>
<p>This script performs the following tasks:</p>
<ul>
<li>Gather installation info</li>
<li>Create install dir and check out a copy of WordPress</li>
<li>Create database, db user, set db privs via external .sql file</li>
<li>Create WP config file</li>
<li>Create upload dir and set filesystem permissions</li>
<li>Generate array line for wp-mass-upgrade.sh</li>
</ul>
<p>Final setup is done via browser.</p>
<p><strong><a href='http://birdhouse.org/software/wp-content/uploads/2008/04/wp-create.txt'>Download wp-create 1.0</a></strong></p>
]]></content:encoded>
			<wfw:commentRss>http://birdhouse.org/software/2008/04/wp-create/feed/</wfw:commentRss>
		</item>
		<item>
		<title>WP Workflow Docs</title>
		<link>http://birdhouse.org/software/2008/01/wp-workflow-docs/</link>
		<comments>http://birdhouse.org/software/2008/01/wp-workflow-docs/#comments</comments>
		<pubDate>Wed, 23 Jan 2008 05:30:33 +0000</pubDate>
		<dc:creator>shacker</dc:creator>
		
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://birdhouse.org/software/?p=25</guid>
		<description><![CDATA[A dirt-simple WordPress plugin that lets you provide workflow docs to your authors and editors from within the WP admin interface.

Instructions: Unpack this folder to your plugins directory and activate it. Click on the Dashboard and you&#8217;ll see a new tab called &#8220;NGNO Docs.&#8221; Within that, you&#8217;ll find documentation I wrote for my authors  [...]]]></description>
			<content:encoded><![CDATA[<p>A dirt-simple WordPress plugin that lets you provide workflow docs to your authors and editors from within the WP admin interface.</p>
<p><span id="more-25"></span></p>
<p><strong>Instructions:</strong> Unpack this folder to your plugins directory and activate it. Click on the Dashboard and you&#8217;ll see a new tab called &#8220;NGNO Docs.&#8221; Within that, you&#8217;ll find documentation I wrote for <em>my</em> authors  for  <em>one particular site</em>. In order for this to be useful, you&#8217;ll need to replace  the HTML it contains with your  own by editing the file <code>docs.html</code>.</p>
<p>You&#8217;ll want to remove the image files I&#8217;ve included and, if desired, add your own. Note: I found it tricky to get image paths working - you&#8217;ll need to embed images like this:</p>
<p><code>img src="../wp-content/plugins/wp-workflow-docs/more-result.gif"</code></p>
<p>You can change the plugin name and tab name by editing the plugin file itself - it&#8217;s a tiny plugin and it will be pretty obvious where to do this in the file. Then de-activate and re-activate it to see the new tab name.</p>
<p><strong><a href="http://birdhouse.org/software/wp-content/uploads/2008/04/wp-workflow-docs.zip">Download wp-workflow-docs</a></strong></p>
<p>Contributions / improvements welcome!</p>
]]></content:encoded>
			<wfw:commentRss>http://birdhouse.org/software/2008/01/wp-workflow-docs/feed/</wfw:commentRss>
		</item>
		<item>
		<title>FuturePost</title>
		<link>http://birdhouse.org/software/2007/12/futurepost/</link>
		<comments>http://birdhouse.org/software/2007/12/futurepost/#comments</comments>
		<pubDate>Tue, 18 Dec 2007 05:27:40 +0000</pubDate>
		<dc:creator>shacker</dc:creator>
		
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://birdhouse.org/software/?p=24</guid>
		<description><![CDATA[A WordPress plugin aimed primarily at events sites, where you want to be able to timestamp posts in the future but have them appear immediately (by default, WordPress will not display a future timestamped post until its go-live date rolls around). This plugin sets the post_status field to &#8220;publish&#8221; rather than &#8220;future&#8221; when publishing a [...]]]></description>
			<content:encoded><![CDATA[<p>A WordPress plugin aimed primarily at events sites, where you want to be able to timestamp posts in the future but have them appear immediately (by default, WordPress will not display a future timestamped post until its go-live date rolls around). This plugin sets the post_status field to &#8220;publish&#8221; rather than &#8220;future&#8221; when publishing a post, even if its timestamp is in the future. Written by Ryan Boren - I&#8217;m just hosting it.</p>
<h4><span id="more-24"></span></h4>
<p><strong>Instructions:</strong> Place future-post.php in your plugins directory and activate it. Write a post with a future timestamp and hit publish. Notice that it goes live on your site immediately.</p>
<p><strong>Note:</strong> This seemingly simple plugin was graciously written by the magical <a title="boren.nu" href="http://boren.nu/">Ryan Boren</a> when I was facing a deadline. He doesn&#8217;t have time to maintain/host it, so I agreed to.</p>
<p><strong><a href="http://wordpress.org/extend/plugins/the-future-is-now/">Download version 1.0</a></strong></p>
<p>Contributions / improvements welcome!</p>
]]></content:encoded>
			<wfw:commentRss>http://birdhouse.org/software/2007/12/futurepost/feed/</wfw:commentRss>
		</item>
		<item>
		<title>gpx2ipod</title>
		<link>http://birdhouse.org/software/2007/11/gpx2ipod/</link>
		<comments>http://birdhouse.org/software/2007/11/gpx2ipod/#comments</comments>
		<pubDate>Sun, 11 Nov 2007 08:38:57 +0000</pubDate>
		<dc:creator>shacker</dc:creator>
		
		<category><![CDATA[Geo]]></category>

		<guid isPermaLink="false">http://birdhouse.org/software/?p=19</guid>
		<description><![CDATA[Designed for Mac users with an iPod but no PDA who want to do paperless geocaching complete with descriptions, log entries and hints. Uses the iPod&#8217;s &#8220;Notes&#8221; feature to display complete cache description pages. gpx2ipod is built on top of gpsbabel.
Note: I&#8217;m not likely to continue development of gpx2ipod, for two reasons: 1) MacCaching finally [...]]]></description>
			<content:encoded><![CDATA[<p>Designed for Mac users with an iPod but no PDA who want to do paperless geocaching complete with descriptions, log entries and hints. Uses the iPod&#8217;s &#8220;Notes&#8221; feature to display complete cache description pages. gpx2ipod is built on top of <a title="GPSBabel: convert, upload, download data from GPS and Map programs" href="http://www.gpsbabel.org/">gpsbabel</a>.</p>
<p><strong>Note:</strong> I&#8217;m not likely to continue development of gpx2ipod, for two reasons: 1) <a href="http://www.maccaching.com/">MacCaching</a> finally grew the ability to store cache metadata in the iPod&#8217;s &#8220;Notes&#8221; feature rather than in the address book (which was the whole impetus behind my developing gpx2ipod to begin with), and 2) I switched to a <a href="https://buy.garmin.com/shop/shop.do?pID=11022">Garmin Colorado</a> a few months ago, which displays description, logs, and hints directly in the GPS. I no longer need to offload that data to the iPod, so my itch has been scratched. Do with this software what you will!</p>
<p><span id="more-19"></span></p>
<h2>Overview</h2>
<p>Mac-based paperless caching for people who own an iPod but not a PDA.<br />
Batch-converts a pile of .gpx files to plain text for use with the iPod&#8217;s &#8220;Notes&#8221; feature.<br />
<em>Super</em>-fast &#8212; cut your geocaching prep time to a few minutes.</p>
<p>gpx2ipod handles both individual and Pocket Query (multiple-cache).gpx files.<br />
Cache files will display alphabetically on the iPod for easy access in the field.</p>
<p>gpx2ipod can inject generated text files directly into your iPod (most users) or into a local &#8220;output&#8221; folder (you might not have an iPod but might still want the text files for other purposes).</p>
<p>gpx2ipod is a Terminal application (shell script), but can be run painlessly with a double-click &#8212; no shell experience required.</p>
<p>gpx2ipod is available either with or without the <a title="GPSBabel: convert, upload, download data from GPS and Map	programs" href="http://www.gpsbabel.org/">gpsbabel</a> command-line binary bundled. gpsbabel is licenced under the GPL, and thus so is gpx2ipod. See LICENSE for info.</p>
<h2>Who this is for</h2>
<ul>
<li>You&#8217;re a Mac user who has an iPod but not a PDA.</li>
<li>You want to do paperless geocaching.</li>
<li>You want complete descriptions, log entries and hints while out on the trail.</li>
<li>Your iPod has this great &#8220;Notes&#8221; feature, but you haven&#8217;t found any OS X software to get GPX files into a format you can read in the iPod&#8217;s Notes reader. <a title="Welcome « MacCaching Free GeoCache Manager for Mac OS X" href="http://www.maccaching.com/">MacCaching</a> is wonderful, but it outputs to the iPod&#8217;s &#8220;Contacts&#8221; system, which means no logs and no choice of whether to encrypt hints. It also intermingles hundreds of geocache data files with your existing pile of Contacts - very messy. GPSBabel+ has a similar &#8220;Export to v-card feature&#8221; with similar problems. The iPod&#8217;s &#8220;Notes&#8221; feature seems a much better choice to me.</li>
</ul>
<h2>Requirements</h2>
<p>Mac OS X. This script will not run on Windows or Linux (with modifications, gpx2ipod could be made to run under <a title="Cygwin Information and Installation" href="http://www.cygwin.com/">Cygwin</a> or Linux).</p>
<p>A copy of the free and open source <a href="http://www.gpsbabel.org/">gpsbabel</a> (<strong>version 1.3.4 or higher</strong>). Thanks to all contributors to gpsbabel for your hard work on this amazing workhorse! Huge thanks also to Robert Lipe, who added gpsbabel&#8217;s ability to split multi-location files into individual files, so gpx2ipod wouldn&#8217;t be stuck with the 99-split limitation in the Unix &#8220;<code>cut</code>&#8221; command.</p>
<p>An iPod with Storage Mode enabled. Storage Mode lets you use your iPod as a hard drive. If your iPod does not show up as disk volume on the Desktop when plugged in, go to iTunes and select &#8220;Enable disk use,&#8221; then click Apply.</p>
<h2>Installation</h2>
<p>Unzip this folder and drag it into your Applications folder (or wherever you like). Then drag the gpx2ipod <strong>folder</strong> icon from your Applications folder into your Dock for quick access.</p>
<ul>
<li><strong>If you downloaded gpx2ipod <em>with</em> gpsbabel:</strong>You&#8217;re good to go! Skip to Usage.</li>
<li><strong>If you downloaded gpx2ipod <em>without</em> gpsbabel:</strong>gpx2ipod requires the <a title="GPSBabel: convert, upload, download data from GPS and Map programs" href="http://www.gpsbabel.org/">gpsbabel</a> command line application, (<strong>version 1.3.4 or higher</strong>). When you install GPSBabel (probably into your Applications folder), you&#8217;ll see two files: GPSBabel+, which is a graphical application, and gpsbabel itself, which is a command-line application. There are two ways to make gpsbabel available to gpx2ipod:<strong>The easy way</strong>: Select the file &#8220;gpsbabel&#8221; in that folder and copy it (don&#8217;t move it!) to the <code>bin</code> folder inside the gpx2ipod folder.<strong>The hard (but better) way</strong>: If you&#8217;re comfortable at the command line and prefer not to duplicate the binary, you can create a symlink instead, for example:
<p><code>ln -s "/Applications/GPS Babel/gpsbabel" /Users/[yourlogin]/Desktop/gpx2ipod/bin/gpsbabel</code></p>
<p>Modify that command to match your setup. Note: Mac aliases won&#8217;t work - you&#8217;ll need a proper symlink.</li>
</ul>
<h2>Usage</h2>
<ol>
<li>Download .gpx files from <a title="Geocaching - The Official Global GPS Cache Hunt Site" href="http://www.geocaching.com/">geocaching.com</a> and move or copy them into the &#8220;input&#8221; folder. You can mix and match individual .gpx files and Pocket Query (multi-cache) files in the same input folder. gpx2ipod includes a &#8220;samples&#8221; folder for testing - copy some or all of these into the &#8220;input&#8221; folder and let &#8216;er rip.</li>
<li>Double-click the <code>gpx2ipod</code> &#8220;squid&#8221; and let it do its thing.</li>
<li style="list-style-type: none; list-style-image: none; list-style-position: outside;">
<ul>
<li>If this is the first time you&#8217;ve run gpx2ipod, you&#8217;ll be asked to set a few preferences, such as whether you want to include log files, whether to encrypt hints, whether to copy the original .gpx files into an &#8220;archive&#8221; folder, and (most importantly) the system path to your iPod (the script will let you choose your iPod from a list). For the yes/no questions, use 0 for &#8220;no&#8221; and 1 for &#8220;yes.&#8221;</li>
<li>If the gpsbabel binary can&#8217;t be found, or is an old version, the script will tell you and then halt.</li>
<li>If the iPod you selected during Setup can&#8217;t be found, you&#8217;ll be given the option to mount it now, or, alternatively, to have generated files sent to an &#8220;output&#8221; folder instead.</li>
</ul>
</li>
<li>When everything&#8217;s in order, gpx2ipod will crunch through all those .gpx files, spit out text files optimally formatted for iPod use, and copy them into the Notes folder on your iPod. On future runs of gpx2ipod, your last-used preferences will be displayed as the script launches. Hit [Return] to accept the settings, or C to change them.</li>
<li>Go geocaching! You&#8217;ll find the cache entries on the iPod in Extras &gt; Notes.</li>
</ol>
<h2>Limitations</h2>
<p>This version does not load .gpx files into your GPSr - it just generates text files for use on the iPod. A future version may load the same files into the GPSr.</p>
<h2>History</h2>
<p>v1.3 - 9/15/2007<br />
Now retains character formatting for international character sets. Default is UTF-8, but any character set supported by gpsbabel can be selected in preferences. Tested against Swedish .gpx samples (see GCY7XZ-Swedish_chars.gpx in Samples folder). Many thanks to Bengt Bäverman for excellent contributions on this feature.</p>
<p>v1.2 - 9/15/2007<br />
Bug fix for other cache name characters that would generate illegal filenames.</p>
<p>v1.1 - 9/08/2007<br />
No longer generates errors when encountering caches with slashes in their names. Now works properly when installed in a path containing a space (such as &#8220;/Applications/GPS Apps&#8221;).</p>
<p>v1.0 - 8/03/2007<br />
Renamed project to &#8220;gpx2ipod.&#8221; Now requires gpsbabel 1.3.4 or higher, taking advantage of new gpsbabel &#8220;splitoutput&#8221; feature in order to overcome the <code>cut</code> command&#8217;s 99-split limit (thanks Robert Lipe!). Now double-clickable - much better user experience. Now copies generated files directly to iPod. Now stores user preferences in a config file. Now optionally copies original .gpx files into an &#8220;archive&#8221; folder for future use.</p>
<p>v0.2 - 7/17/2007<br />
Now handles both individual .gpx files and Pocket Query (multiple-cache) .gpx files.</p>
<p>v0.1 - 7/14/2007<br />
Original version</p>
<h2>Download</h2>
<p><strong><a href="http://birdhouse.org/software/wp-content/uploads/2008/04/gpx2ipod_min.dmg">Download without GPSBabel</a></strong></p>
<p><strong><a href="http://birdhouse.org/software/wp-content/uploads/2008/04/gpx2ipod.dmg">Download with GPSBabel</a></strong></p>
]]></content:encoded>
			<wfw:commentRss>http://birdhouse.org/software/2007/11/gpx2ipod/feed/</wfw:commentRss>
		</item>
		<item>
		<title>WP Mass Upgrade</title>
		<link>http://birdhouse.org/software/2007/07/wp-mass-upgrade/</link>
		<comments>http://birdhouse.org/software/2007/07/wp-mass-upgrade/#comments</comments>
		<pubDate>Thu, 12 Jul 2007 05:23:53 +0000</pubDate>
		<dc:creator>shacker</dc:creator>
		
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://birdhouse.org/software/?p=22</guid>
		<description><![CDATA[Designed for hosts with lots of individual WordPress blogs to manage. If all blogs are managed via subversion, this script can iterate through all of them and upgrade each to the latest version in seconds.
Here at Birdhouse Hosting, we use this system every time WordPress is updated, and are able to bump 50+ WordPress installations [...]]]></description>
			<content:encoded><![CDATA[<p>Designed for hosts with lots of individual WordPress blogs to manage. If all blogs are <a title="Installing/Updating WordPress with Subversion « WordPress Codex" href="http://codex.wordpress.org/Installing/Updating_WordPress_with_Subversion">managed via subversion</a>, this script can iterate through all of them and upgrade each to the latest version in seconds.</p>
<p>Here at <a href="http://hosting.birdhouse.org/">Birdhouse Hosting</a>, we use this system every time WordPress is updated, and are able to bump 50+ WordPress installations to the next version in three minutes flat.</p>
<p>Designed to be used in conjunction with <a href="http://birdhouse.org/software/2008/04/wp-create/">WP-Create</a>, which is the fastest way to set up fresh WP installations via svn.</p>
<p><strong><a href="http://birdhouse.org/software/wp-content/uploads/2008/04/wp-mass-upgrade.txt">Download wp-mass-upgrade</a></strong></p>
]]></content:encoded>
			<wfw:commentRss>http://birdhouse.org/software/2007/07/wp-mass-upgrade/feed/</wfw:commentRss>
		</item>
		<item>
		<title>WP-Digest</title>
		<link>http://birdhouse.org/software/2006/12/wp-digest/</link>
		<comments>http://birdhouse.org/software/2006/12/wp-digest/#comments</comments>
		<pubDate>Sun, 10 Dec 2006 16:04:27 +0000</pubDate>
		<dc:creator>shacker</dc:creator>
		
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://birdhouse.org/software/?p=8</guid>
		<description><![CDATA[Sends periodic email notifications of new WordPress blog entries (in either plain text or HTML mode) to a separate subscribers mailing list. Maintains cache file recording ID of last-sent post. On subsequent runs, sends all posts created since the previous run.
Currently driving weekly email updates from birdhouse.org and other sites.
About
Sends periodic email notifications of new [...]]]></description>
			<content:encoded><![CDATA[<p>Sends periodic email notifications of new WordPress blog entries (in either plain text or HTML mode) to a separate subscribers mailing list. Maintains cache file recording ID of last-sent post. On subsequent runs, sends all posts created since the previous run.</p>
<p>Currently driving weekly <a href="http://birdhouse.org/blog">email updates</a> from birdhouse.org and other sites.</p>
<h3><span id="more-8"></span>About</h3>
<p>Sends periodic email notifications of new WordPress blog entries, either in plain text or as formatted HTML, to a separate subscribers mailing list. Records ID of last-sent post. On subsequent runs, sends all posts created since the previous run. Mail is sent to a single email address, which is most likely a separate subscribers mailing list.</p>
<p>The first time WP-Digest is run, it operates on the last n entries made in your blog. After the first run, it will save the ID of your last blog entry in a cache file. On subsequent runs, it will operate on however many entries have been made since the previous run. You can manually control the value of n by changing $MinPosts in conf.php.</p>
<h3>Requirements</h3>
<p>This script is desgined to be run on Unix/Linux/OS X servers. It may work on Windows servers as well, but has not been tested in that environment. Of course you&#8217;ll need to use some alternative to cron if working under Windows.</p>
<p>This script requires access to the lynx web browser installed on your server. To determine whether you have it, type:</p>
<p><code>which lynx</code></p>
<p>If the system returns &#8220;Command not found&#8221; then you don&#8217;t have it, and should ask your sysadmin to install it. This script is designed to be run at regular intervals via crontab.</p>
<p>See included readme.txt for setup instructions.</p>
<h3>History</h3>
<p>2.0: Now sends your choice of plain text or HTML-formatted (multipart) email.</p>
<p>1.2: Completely new architecture, now based on lynx for improved formatting options and an end to problems with incorrectly formatted characters and error messages in output generated by 3rd party plugins when run via cron.</p>
<p>1.1: Bug fixes</p>
<p>1.0: Started as a port of mtblogmail, but quickly turned into a complete rewrite in order to take advantage of the WordPress APIs.</p>
<h3>Download</h3>
<p><strong><a href="http://birdhouse.org/software/wp-content/uploads/2008/04/wp-digest.tgz">Download wp-digest</a></strong></p>
]]></content:encoded>
			<wfw:commentRss>http://birdhouse.org/software/2006/12/wp-digest/feed/</wfw:commentRss>
		</item>
		<item>
		<title>MTBlogMail</title>
		<link>http://birdhouse.org/software/2006/04/mtblogmail/</link>
		<comments>http://birdhouse.org/software/2006/04/mtblogmail/#comments</comments>
		<pubDate>Mon, 10 Apr 2006 16:04:18 +0000</pubDate>
		<dc:creator>shacker</dc:creator>
		
		<category><![CDATA[Movable Type]]></category>

		<guid isPermaLink="false">http://birdhouse.org/software/?p=7</guid>
		<description><![CDATA[Sends email announcements to  your MT Notifications list or to an external mailing list on recent Movable Type weblog entries.

About
Sends email announcements to  your MT Notifications list or to an external mailing list on recent Movable Type weblog entries.
Determines last blog entry sent and mails out excerpts of all entries created since then. [...]]]></description>
			<content:encoded><![CDATA[<p>Sends email announcements to  your MT Notifications list or to an external mailing list on recent Movable Type weblog entries.</p>
<p><span id="more-7"></span></p>
<h3>About</h3>
<p>Sends email announcements to  your MT Notifications list or to an external mailing list on recent Movable Type weblog entries.</p>
<p>Determines last blog entry sent and mails out excerpts of all entries created since then. Mail can be sent either to a single email address or to everyone in your Notifications list. The single address can of course can be the address of a mailing list or group. MTBlogMail sends plain text email only. A future version may send HTML email as well.</p>
<p>The first time MTBlogMail is run, it operates on the last 7 entries made in your blog. After the first run, it will save the ID of your last blog entry in a cache file. On subsequent runs, it will operate on however many entries have been made since the previous run. You can edit MTBlogMail.cache by hand at any time to change this value. Entry IDs can be seen in the MT back-end &#8212; click an entry and look in the URL for something like &amp;id=1381</p>
<p><strong><a href="http://birdhouse.org/software/wp-content/uploads/2008/04/mtblogmail.tgz">Download version 1.2</a></strong></p>
<h3>Requirements</h3>
<p>Your MT installation must be on MySQL and you must have PHP installed. Since this script is written in PHP but does not run through your web server, you must have the CLI (aka CGI) version of PHP installed. To determine if you have this, type into a shell:</p>
<p><code>which php</code></p>
<p>If the system returns &#8220;Command not found&#8221; then you don&#8217;t have it, and should ask your sysadmin to install it. This script is designed to be run at regular intervals via crontab. For example:</p>
<p><code>30 2 * * 5 cd /path/to/mtblogmail; /usr/bin/php -f /path/to/mtblogmail.php</code></p>
<p>This would send mail at 2:30 a.m. every Friday.</p>
<h3>Instructions</h3>
<p>1) Edit the settings in mtblogmail_conf.php to match your setup. Be sure to edit all settings.</p>
<p>2) Upload this folder/directory to anyplace you like. An &#8220;mtblogmail&#8221; dir in your home directory works well.</p>
<p>3) Since the conf file includes your database password, make sure it&#8217;s not world or group readable! :</p>
<p><code>chmod 700 mtblogmail_conf.php</code></p>
<p>3) Run this command:</p>
<p><code>cd /path/to/mtblogmail; php -f /path/to/mtblogmail.php</code></p>
<p>(using the actual full path to this script, of course)</p>
<p>4) If  there are no errors, check your mail.</p>
<p>5) If satisfied with the results, schedule the script to run every week via cron, as above.</p>
<h3>History</h3>
<p><strong>1.2</strong>: Bug fix: Enforced full path to conf file - otherwise cron may fail to fire job.</p>
<p><strong>1.1</strong>: Better cross-compatiblity between MT 2.x and 3.x. Minor bug tweak to conf file.</p>
<p><strong>1.0</strong>: First release.</p>
]]></content:encoded>
			<wfw:commentRss>http://birdhouse.org/software/2006/04/mtblogmail/feed/</wfw:commentRss>
		</item>
		<item>
		<title>reducer: harvest bad ips &#8211;&gt; firewall</title>
		<link>http://birdhouse.org/software/2006/01/reducer/</link>
		<comments>http://birdhouse.org/software/2006/01/reducer/#comments</comments>
		<pubDate>Tue, 10 Jan 2006 16:04:07 +0000</pubDate>
		<dc:creator>shacker</dc:creator>
		
		<category><![CDATA[Performance]]></category>

		<category><![CDATA[Spam]]></category>

		<guid isPermaLink="false">http://birdhouse.org/software/?p=6</guid>
		<description><![CDATA[Harvests bad IP addresses from multiple sources and adds them to the  ConfigServer firewall (CSF). This version works with WordPress  and Movable Type weblogs, and optionally the exim ACL deny list.  Future versions will scan other sources for bad IPs as well.
Download reducer
]]></description>
			<content:encoded><![CDATA[<p>Harvests bad IP addresses from multiple sources and adds them to the  <a href="http://www.configserver.com/cp/csf.html">ConfigServer firewall</a> (CSF). This version works with WordPress  and Movable Type weblogs, and optionally the exim ACL deny list.  Future versions will scan other sources for bad IPs as well.</p>
<p><strong><a href="http://birdhouse.org/software/wp-content/uploads/2008/04/reducer.txt">Download reducer</a></strong></p>
]]></content:encoded>
			<wfw:commentRss>http://birdhouse.org/software/2006/01/reducer/feed/</wfw:commentRss>
		</item>
		<item>
		<title>checkmailquota for cPanel</title>
		<link>http://birdhouse.org/software/2005/10/checkmailquota/</link>
		<comments>http://birdhouse.org/software/2005/10/checkmailquota/#comments</comments>
		<pubDate>Sat, 01 Oct 2005 07:38:34 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[cPanel]]></category>

		<guid isPermaLink="false">http://birdhouse.org/software/?p=30</guid>
		<description><![CDATA[This is a script for WHM/cPanel administrators to help them keep tabs on client mailboxes approaching or exceeding their quotas. Sends warning messages to owners of near-quota mailboxes and a separate summary message to postmaster or other address.  Must be run as root, or via root crontab.
Download checkmailquota
]]></description>
			<content:encoded><![CDATA[<p>This is a script for WHM/cPanel administrators to help them keep tabs on client mailboxes approaching or exceeding their quotas. Sends warning messages to owners of near-quota mailboxes and a separate summary message to postmaster or other address.  Must be run as root, or via root crontab.</p>
<p><strong><a href='http://birdhouse.org/software/wp-content/uploads/2008/04/checkmailquota.txt'>Download checkmailquota</a></strong></p>
]]></content:encoded>
			<wfw:commentRss>http://birdhouse.org/software/2005/10/checkmailquota/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
