<?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"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Surgical Diversions</title>
	<atom:link href="http://thefragens.com/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://thefragens.com/blog</link>
	<description>My time out of the operating room.</description>
	<lastBuildDate>Mon, 01 Mar 2010 05:21:11 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Happy Birthday Alan!</title>
		<link>http://thefragens.com/blog/2009/12/happy-birthday-alan/</link>
		<comments>http://thefragens.com/blog/2009/12/happy-birthday-alan/#comments</comments>
		<pubDate>Tue, 29 Dec 2009 00:25:32 +0000</pubDate>
		<dc:creator>Andy</dc:creator>
				<category><![CDATA[life-unscripted]]></category>

		<guid isPermaLink="false">http://thefragens.com/blog/2009/12/happy-birthday-alan/</guid>
		<description><![CDATA[Happy Birthday Alan! I hope you&#8217;re having a great day on the links. It&#8217;ll be good to see you in couple of weeks. 


Related posts:Happy Birthday Jake! Happy Birthday Jake. Hope all was well. I owe you...
Thanks Alan! Thanks Alan, it was a great trip. We all had...
Happy Birthday Happy Birthday to me, happy birthday [...]


Related posts:<ol><li><a href='http://thefragens.com/blog/2002/10/happy-birthday-jake/' rel='bookmark' title='Permanent Link: Happy Birthday Jake!'>Happy Birthday Jake!</a> <small>Happy Birthday Jake. Hope all was well. I owe you...</small></li>
<li><a href='http://thefragens.com/blog/2005/01/thanks-alan/' rel='bookmark' title='Permanent Link: Thanks Alan!'>Thanks Alan!</a> <small>Thanks Alan, it was a great trip. We all had...</small></li>
<li><a href='http://thefragens.com/blog/2002/05/happy-birthday/' rel='bookmark' title='Permanent Link: Happy Birthday'>Happy Birthday</a> <small>Happy Birthday to me, happy birthday to me&#8230;. ...</small></li>
</ol>

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/' onclick="urchinTracker('/outgoing/mitcho.com/code/yarpp/?referer=');">Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p>Happy Birthday Alan! I hope you&#8217;re having a great day on the links. It&#8217;ll be good to see you in couple of weeks. </p>


<p>Related posts:<ol><li><a href='http://thefragens.com/blog/2002/10/happy-birthday-jake/' rel='bookmark' title='Permanent Link: Happy Birthday Jake!'>Happy Birthday Jake!</a> <small>Happy Birthday Jake. Hope all was well. I owe you...</small></li>
<li><a href='http://thefragens.com/blog/2005/01/thanks-alan/' rel='bookmark' title='Permanent Link: Thanks Alan!'>Thanks Alan!</a> <small>Thanks Alan, it was a great trip. We all had...</small></li>
<li><a href='http://thefragens.com/blog/2002/05/happy-birthday/' rel='bookmark' title='Permanent Link: Happy Birthday'>Happy Birthday</a> <small>Happy Birthday to me, happy birthday to me&#8230;. ...</small></li>
</ol></p>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/' onclick="urchinTracker('/outgoing/mitcho.com/code/yarpp/?referer=');">Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://thefragens.com/blog/2009/12/happy-birthday-alan/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New IP Address</title>
		<link>http://thefragens.com/blog/2009/12/new-ip-address/</link>
		<comments>http://thefragens.com/blog/2009/12/new-ip-address/#comments</comments>
		<pubDate>Wed, 16 Dec 2009 22:26:25 +0000</pubDate>
		<dc:creator>Andy</dc:creator>
				<category><![CDATA[computer]]></category>
		<category><![CDATA[osx-server]]></category>

		<guid isPermaLink="false">http://thefragens.com/blog/?p=659</guid>
		<description><![CDATA[Well, as a cost saving measure and because we really weren&#8217;t using more than one, we&#8217;ve cut back to a single IP address. Time Warner Cable is the biz Internet provider. They&#8217;ve been very helpful in setting up reverse DNS lookups and PTR records, but at the same time the transfer to the new IP [...]


Related posts:<ol><li><a href='http://thefragens.com/blog/2002/01/47/' rel='bookmark' title='Permanent Link: '></a> <small>I&#8217;ve been having problems with Airport Base Stations recently. I...</small></li>
<li><a href='http://thefragens.com/blog/2006/09/customer-service/' rel='bookmark' title='Permanent Link: Customer Service'>Customer Service</a> <small>I have to give great kudos to Wendy of the...</small></li>
</ol>

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/' onclick="urchinTracker('/outgoing/mitcho.com/code/yarpp/?referer=');">Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p>Well, as a cost saving measure and because we really weren&#8217;t using more than one, we&#8217;ve cut back to a single IP address. Time Warner Cable is the biz Internet provider. They&#8217;ve been very helpful in setting up reverse DNS lookups and PTR records, but at the same time the transfer to the new IP really screwed with the cable modem.</p>

<p>I spent many hours with some very nice people at TWC tech support, like Jan, but what eventually fixed the problem was changing the fixed IP I was assigned to another fixed IP.</p>

<p>Long and short is everything, mail, web, etc. seems to be back up and running.</p>


<p>Related posts:<ol><li><a href='http://thefragens.com/blog/2002/01/47/' rel='bookmark' title='Permanent Link: '></a> <small>I&#8217;ve been having problems with Airport Base Stations recently. I...</small></li>
<li><a href='http://thefragens.com/blog/2006/09/customer-service/' rel='bookmark' title='Permanent Link: Customer Service'>Customer Service</a> <small>I have to give great kudos to Wendy of the...</small></li>
</ol></p>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/' onclick="urchinTracker('/outgoing/mitcho.com/code/yarpp/?referer=');">Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://thefragens.com/blog/2009/12/new-ip-address/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Baby Steps to Healthcare Reform</title>
		<link>http://thefragens.com/blog/2009/10/baby-steps-to-healthcare-reform/</link>
		<comments>http://thefragens.com/blog/2009/10/baby-steps-to-healthcare-reform/#comments</comments>
		<pubDate>Wed, 21 Oct 2009 15:46:10 +0000</pubDate>
		<dc:creator>Andy</dc:creator>
				<category><![CDATA[medicine]]></category>
		<category><![CDATA[politics]]></category>

		<guid isPermaLink="false">http://thefragens.com/blog/?p=632</guid>
		<description><![CDATA[Since I&#8217;m sure all members of Congress will have the opportunity to read and comprehend the entirety of whatever is the current healthcare legislation the following small steps to improve the situation will be meaningless. I have 3 simple proposals that could fit on a single page. Heck, it fits in a single post.


Eliminate pre-existing [...]


Related posts:<ol><li><a href='http://thefragens.com/blog/2009/03/nationalized-healthcare-and-the-free-market/' rel='bookmark' title='Permanent Link: Nationalized Healthcare and the Free Market'>Nationalized Healthcare and the Free Market</a> <small>Nationalized/Universal healthcare will happen. Obama ran on it and he...</small></li>
<li><a href='http://thefragens.com/blog/2005/04/were-not-just-blowing-smoke/' rel='bookmark' title='Permanent Link: We&#8217;re not just blowing smoke&#8230;'>We&#8217;re not just blowing smoke&#8230;</a> <small>Aggravated DocSurg The medical malpractice problem in this country is...</small></li>
<li><a href='http://thefragens.com/blog/2003/01/west-virginia-surgeons-strike/' rel='bookmark' title='Permanent Link: West Virginia Surgeon&#8217;s strike'>West Virginia Surgeon&#8217;s strike</a> <small>It&#8217;s about time that the medical community banded together to...</small></li>
</ol>

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/' onclick="urchinTracker('/outgoing/mitcho.com/code/yarpp/?referer=');">Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p>Since I&#8217;m sure all members of Congress will have the opportunity to read and comprehend the entirety of whatever is the current healthcare legislation the following small steps to improve the situation will be meaningless. I have 3 simple proposals that could fit on a single page. Heck, it fits in a single post.</p>

<ol>
<li>Eliminate <em>pre-existing conditions</em> as a reason to deny insurance.</li>
<li>Allow insurance companies to sell in any market in the US.</li>
<li>Malpractice reform &#8212; Loser Pays</li>
</ol>

<p>I think the first 2 are self evident so lets focus for a moment on the third.</p>

<p><strong>Loser Pays</strong></p>

<p>What I mean is that all legal fees will be paid by the losing party to the litigation. This would include naming a doctor in a med mal suit and then dropping them from the suit.</p>

<p>You see, just because a doctor gets dropped from a suit doesn&#8217;t mean that his malpractice carrier doesn&#8217;t incur costs. In fact, it&#8217;s usually about $20K to defend a suit that is dropped.</p>

<p>Interestingly, anytime a doc is dropped from a suit, they must sign a release stating that they will <em>not</em> sue the plaintiff&#8217;s attorney. I once tried not to sign this but my lawyer told me he&#8217;d never seen it done before.</p>

<p>Yeah, I know, it doesn&#8217;t solve many of the problems facing our healthcare industry. But I bet it would improve the situation with minimal effort.</p>


<p>Related posts:<ol><li><a href='http://thefragens.com/blog/2009/03/nationalized-healthcare-and-the-free-market/' rel='bookmark' title='Permanent Link: Nationalized Healthcare and the Free Market'>Nationalized Healthcare and the Free Market</a> <small>Nationalized/Universal healthcare will happen. Obama ran on it and he...</small></li>
<li><a href='http://thefragens.com/blog/2005/04/were-not-just-blowing-smoke/' rel='bookmark' title='Permanent Link: We&#8217;re not just blowing smoke&#8230;'>We&#8217;re not just blowing smoke&#8230;</a> <small>Aggravated DocSurg The medical malpractice problem in this country is...</small></li>
<li><a href='http://thefragens.com/blog/2003/01/west-virginia-surgeons-strike/' rel='bookmark' title='Permanent Link: West Virginia Surgeon&#8217;s strike'>West Virginia Surgeon&#8217;s strike</a> <small>It&#8217;s about time that the medical community banded together to...</small></li>
</ol></p>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/' onclick="urchinTracker('/outgoing/mitcho.com/code/yarpp/?referer=');">Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://thefragens.com/blog/2009/10/baby-steps-to-healthcare-reform/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fail2ban on Leopard Server</title>
		<link>http://thefragens.com/blog/2009/09/fail2ban-on-leopard-server/</link>
		<comments>http://thefragens.com/blog/2009/09/fail2ban-on-leopard-server/#comments</comments>
		<pubDate>Thu, 24 Sep 2009 23:52:25 +0000</pubDate>
		<dc:creator>Andy</dc:creator>
				<category><![CDATA[code]]></category>
		<category><![CDATA[osx-server]]></category>

		<guid isPermaLink="false">http://thefragens.com/blog/?p=630</guid>
		<description><![CDATA[So here I am running my own server &#8212; for almost 2 years now. It&#8217;s been a real learning experience and I&#8217;ve tried to share. My latest add-on has been fail2ban. I got tired of looking into my logs and seeing where script kiddies or bots were trying to take control of my server. Fortunately, [...]


Related posts:<ol><li><a href='http://thefragens.com/blog/2008/06/forwarding-email-in-leopard-server-part-2/' rel='bookmark' title='Permanent Link: Forwarding Email in Leopard Server, part 2'>Forwarding Email in Leopard Server, part 2</a> <small>I&#8217;ve previously written about problems with Leopard server and forwarding...</small></li>
<li><a href='http://thefragens.com/blog/2008/02/forwarding-email-in-leopard-server/' rel='bookmark' title='Permanent Link: Forwarding Email in Leopard Server'>Forwarding Email in Leopard Server</a> <small>OK, to put it mildly the Workgroup Manager and Email...</small></li>
<li><a href='http://thefragens.com/blog/2007/12/leopard-server-dhcp-nat/' rel='bookmark' title='Permanent Link: Leopard Server DHCP-NAT'>Leopard Server DHCP-NAT</a> <small>Well, I&#8217;m finally getting most of the initial stuff for...</small></li>
</ol>

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/' onclick="urchinTracker('/outgoing/mitcho.com/code/yarpp/?referer=');">Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p>So here I am running my own server &#8212; for almost 2 years now. It&#8217;s been a real learning experience and I&#8217;ve tried to share. My latest add-on has been <a href="http://www.fail2ban.org/wiki/index.php/Main_Page" onclick="urchinTracker('/outgoing/www.fail2ban.org/wiki/index.php/Main_Page?referer=');">fail2ban</a>. I got tired of looking into my logs and seeing where script kiddies or bots were trying to take control of my server. Fortunately, none have.</p>

<p>After a bit of googling, I found fail2ban. It&#8217;s a collection of python scripts.</p>

<p>&gt; Fail2ban scans log files like /var/log/pwdfail or /var/log/apache/error_log and bans IP that makes too many password failures. It updates firewall rules to reject the IP address.</p>

<p>There are a few tricks I&#8217;ve discovered along the way to make it work on my installation and likely on Mac OS X Server in general.</p>

<p>First is that fail2ban creates a PID and socket file in a directory that it fails to create. Yeah, that&#8217;s a <a href="https://sourceforge.net/tracker/?func=detail&amp;aid=2013282&amp;group_id=121032&amp;atid=689044" onclick="urchinTracker('/outgoing/sourceforge.net/tracker/?func=detail_amp_aid=2013282_amp_group_id=121032_amp_atid=689044&amp;referer=');">bug</a>. Since I didn&#8217;t want to mess around with the actual scripts in the program, I created a plist that issues the <code>mkdir /var/run/fail2ban</code> command. I placed this in /System/Library/LaunchDaemons and set it to Run at Load. <a href="https://sourceforge.net/projects/lingon/files/" onclick="urchinTracker('/outgoing/sourceforge.net/projects/lingon/files/?referer=');">Lingon</a> is your friend, but&#8217;s now inactive. <img src='http://thefragens.com/blog/wp-includes/images/smilies/icon_sad.gif' alt=':-(' class='wp-smiley' /> </p>

<p>After creating the file you have to use the command line to move it to the /System/Library/LaunchDaemons directory. I also created another launchd plist to reload fail2ban every day. I did this because I run multiple virtual websites and the error logs for those sites get rotated and the names have some time code or something tacked on the end of the filename.</p>

<p>OK, problem 1 solved. Next I discovered that since fail2ban is really running on a multitude of linux boxes all the different methods of IP tracking, sorting etc. were really useless on my OS X Server. I run ipfw firewall and fortunately there&#8217;s a module for that in fail2ban. Unfortunately it&#8217;s not quite set up correctly, at least it wasn&#8217;t for me. I had to tweak it a bit.</p>

<p>What this means is that your <code>action</code> is always going to be <code>ipfw</code>. I tweaked the <code>ipfw.conf</code> file a bit. Now it does the following.</p>

<ol>
<li>Logs it&#8217;s action to ipfw.log</li>
<li>Adds a rulenum to the ipfw command. I did this because some other rule in my setup was allowing the IP before my deny could take effect. By lowering the rulenum my deny now fires off first.</li>
<li>Abstracted the protocol (tcp, udp) to pass as a variable. Just in case something you want to block isn&#8217;t <code>tcp</code>.</li>
</ol>

<p>I also created another filter as I found many times some machine would excessively hit my Apache server looking for nonexistent files. Since it sounds like something a bot would do I decided to ban it. This was the simple creation of a new filter.</p>

<p>I created a <code>jail.local</code> file to hold all my prefs and through trial and error discovered that the examples of how to <code>call</code> for a jail weren&#8217;t working for me. Perhaps I just didn&#8217;t understand the examples. I soon discovered that parameters for the <code>jail action</code> needed to be passed inside of square brackets in the prefs.</p>

<p>I&#8217;m sure, if you&#8217;ve gotten this far that you&#8217;re either very confused by this whole post or that you&#8217;ve had an epiphany. To further the epiphany along <a href="http://thefragens.com/pub/fail2ban-osx.zip">I&#8217;ve uploaded my file changes</a>.</p>

<p>You should be able to figure out what file goes where from the folder structure of the upload.</p>

<p>A couple of things in summary to remember. First, turn on your server&#8217;s firewall. Then make sure you change your server&#8217;s local IP address in the files to match your own. That&#8217;s the setting for <code>localhost</code>.</p>

<p>Good luck. If you have any questions leave a comment.</p>


<p>Related posts:<ol><li><a href='http://thefragens.com/blog/2008/06/forwarding-email-in-leopard-server-part-2/' rel='bookmark' title='Permanent Link: Forwarding Email in Leopard Server, part 2'>Forwarding Email in Leopard Server, part 2</a> <small>I&#8217;ve previously written about problems with Leopard server and forwarding...</small></li>
<li><a href='http://thefragens.com/blog/2008/02/forwarding-email-in-leopard-server/' rel='bookmark' title='Permanent Link: Forwarding Email in Leopard Server'>Forwarding Email in Leopard Server</a> <small>OK, to put it mildly the Workgroup Manager and Email...</small></li>
<li><a href='http://thefragens.com/blog/2007/12/leopard-server-dhcp-nat/' rel='bookmark' title='Permanent Link: Leopard Server DHCP-NAT'>Leopard Server DHCP-NAT</a> <small>Well, I&#8217;m finally getting most of the initial stuff for...</small></li>
</ol></p>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/' onclick="urchinTracker('/outgoing/mitcho.com/code/yarpp/?referer=');">Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://thefragens.com/blog/2009/09/fail2ban-on-leopard-server/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Snailjacked</title>
		<link>http://thefragens.com/blog/2009/05/snailjacked/</link>
		<comments>http://thefragens.com/blog/2009/05/snailjacked/#comments</comments>
		<pubDate>Tue, 12 May 2009 15:25:53 +0000</pubDate>
		<dc:creator>Andy</dc:creator>
				<category><![CDATA[blogging]]></category>

		<guid isPermaLink="false">http://thefragens.com/blog/?p=621</guid>
		<description><![CDATA[Well, I&#8217;ve found out that someone is hijacking my posts with no attribution and no permission. I&#8217;m not even sure I understand the logic as there isn&#8217;t even any advertising there &#8212; yet.

If you&#8217;re seeing anything on the domain computersoftware.snailjack.com, it&#8217;s a rip off from somewhere else. Do me a favor and don&#8217;t click on [...]


Related posts:<ol><li><a href='http://thefragens.com/blog/2006/07/give-google-a-hand/' rel='bookmark' title='Permanent Link: Give Google a Hand'>Give Google a Hand</a> <small>After reading about Judi&#8217;s success in getting her new domain,...</small></li>
</ol>

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/' onclick="urchinTracker('/outgoing/mitcho.com/code/yarpp/?referer=');">Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p>Well, I&#8217;ve found out that someone is hijacking my posts with no attribution and no permission. I&#8217;m not even sure I understand the logic as there isn&#8217;t even any advertising there &#8212; yet.</p>

<p>If you&#8217;re seeing anything on the domain computersoftware.snailjack.com, it&#8217;s a rip off from somewhere else. Do me a favor and don&#8217;t click on any links, don&#8217;t support there advertising and just don&#8217;t go on their site.</p>

<p>Other than restricting my RSS feed I&#8217;m not sure what I can do to stop it.</p>

<p>Don&#8217;t support anything from the domain SNAILJACK.COM!</p>


<p>Related posts:<ol><li><a href='http://thefragens.com/blog/2006/07/give-google-a-hand/' rel='bookmark' title='Permanent Link: Give Google a Hand'>Give Google a Hand</a> <small>After reading about Judi&#8217;s success in getting her new domain,...</small></li>
</ol></p>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/' onclick="urchinTracker('/outgoing/mitcho.com/code/yarpp/?referer=');">Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://thefragens.com/blog/2009/05/snailjacked/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>VoodooPad Pro Blogging</title>
		<link>http://thefragens.com/blog/2009/05/voodoopad-pro-blogging/</link>
		<comments>http://thefragens.com/blog/2009/05/voodoopad-pro-blogging/#comments</comments>
		<pubDate>Thu, 07 May 2009 21:54:59 +0000</pubDate>
		<dc:creator>Andy</dc:creator>
				<category><![CDATA[blogging]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[mac-osx]]></category>

		<guid isPermaLink="false">http://thefragens.com/blog/?p=619</guid>
		<description><![CDATA[It&#8217;s time to package up all my VoodooPad Pro blogging scripts and assorted web export plugins so that I can


Remember what the heck I was thinking.
Remember what all these pieces were supposed to accomplish as a whole.
Provide some sort of reference to others interested in this stuff.


Concept: To use VoodooPad Pro as a CMS for [...]


Related posts:<ol><li><a href='http://thefragens.com/blog/2006/11/voodoopad-blogging/' rel='bookmark' title='Permanent Link: VoodooPad Blogging'>VoodooPad Blogging</a> <small>Well, it&#8217;s not really VoodooPad blogging but it&#8217;s pretty close....</small></li>
<li><a href='http://thefragens.com/blog/2006/11/voodoopad-automation/' rel='bookmark' title='Permanent Link: VoodooPad Automation'>VoodooPad Automation</a> <small>I&#8217;ve finally gotten it working. I&#8217;ve now got a Ruby...</small></li>
<li><a href='http://thefragens.com/blog/2006/09/voodoopad-goodness/' rel='bookmark' title='Permanent Link: VoodooPad goodness'>VoodooPad goodness</a> <small>Thanks to Gus Mueller for loads of help adapting a...</small></li>
</ol>

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/' onclick="urchinTracker('/outgoing/mitcho.com/code/yarpp/?referer=');">Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s time to package up all my <a href="http://flyingmeat.com/voodoopad/voodoopadpro.html" onclick="urchinTracker('/outgoing/flyingmeat.com/voodoopad/voodoopadpro.html?referer=');">VoodooPad Pro</a> blogging scripts and assorted web export plugins so that I can</p>

<ol>
<li>Remember what the heck I was thinking.</li>
<li>Remember what all these pieces were supposed to accomplish as a whole.</li>
<li>Provide some sort of reference to others interested in this stuff.</li>
</ol>

<p><strong>Concept:</strong> To use VoodooPad Pro as a CMS for a web site, allowing for static sites and inclusion of blog-style concatenated page. The blog-style page was originally intended as a &#8220;News&#8221; page of a static business site. SEO optimization necessitating the addition of a page with re-newing content. <em>Google likes it more.</em></p>

<p>Disclaimer: I like <a href="http://daringfireball.net/projects/markdown/" onclick="urchinTracker('/outgoing/daringfireball.net/projects/markdown/?referer=');">Markdown</a> and built these scripts around the fact that the VPP document is essentially always formatted in plain text. Images need to be added using links.</p>

<p>I will include a <a href="http://thefragens.com/pub/sample-project.zip">sample package</a> that contains a VPP document, a web export plugin and several script plugins. The site the sample is based upon is at <a href="http://losrobleshoa.org" onclick="urchinTracker('/outgoing/losrobleshoa.org?referer=');">http://losrobleshoa.org</a>.</p>

<p>VoodooPad Pro is a requirement as the meta data and triggers are necessary in the creation of the files. My workflow is as follows.</p>

<ol>
<li>Create new page/post.</li>
<li>Run script plugin <code>Blog &amp;gt; Meta Markup - HomepageMeta</code> on new page.</li>
<li>Run script plugin <code>Blog &amp;gt; Make Homepage and Feed</code></li>
<li>Run web export.</li>
<li>FTP files up to site. I use <a href="http://www.panic.com/transmit/" onclick="urchinTracker('/outgoing/www.panic.com/transmit/?referer=');">Transmit</a>. It&#8217;s also a great app.</li>
</ol>

<p>The script will move all the created files into a folder structure so that the file structure on the computer will match the web site structure.</p>

<p><strong>VoodooPad Pro document</strong>
<strong>Item meta</strong> data is contained in the <code>HomepageMeta</code> page of the document. This is where most of the personalized info on the site is contained.</p>

<p>In the VPP document tags are used to create a pseudo-folder structure. This means that a page may only have one tag. Some pages are not exported but are used as reference, ie. links in the sidebar or the HomepageMeta page. Static pages that are to be rendered at the root level of the site are tagged <code>main</code>.</p>

<p><strong>Triggers</strong> can be used to include certain information into specific pages or info on every page. I use this for things like Google Analytics which needs to be on every page or the analytics confirmation that is only on the index.html page.</p>

<p><strong>The Web Export Plugin</strong>
Some customization of these files will be necessary for your specific site.</p>

<ul>
<li><p><code>preflight.sh</code> - creates the actual folder hierarchy, the folders are created in the <code>preflight.sh</code> script. The <code>preflight.sh</code> script also copies files like images to the export folder. These images are kept in the web export plugin. File like <code>robots.txt</code> that need to be at the root level are kept in a <code>root</code> folder inside the web export plugin.</p></li>
<li><p><code>postflight.sh</code> - can be used to rename pages that may be PHP based from <code>.html</code> to <code>.php</code></p></li>
<li><p><code>deleteVPExtra.sh</code> - deletes the <em>extra</em> pages that VoodooPad creates during a web export. No changes to this file are needed.</p></li>
<li><p><code>fixRelativePaths.sh</code> - fixes the relative URLs that occur inside of nested pages. No changes to this file are needed.</p></li>
<li><p><code>parseMetaXml.rb</code> - Parses the meta.xml file that VoodooPad creates and uses that infomation to move files into their correct folder structure on the disk and to create a valid sitemap.xml file for use with Google Sitemaps.</p></li>
<li><p><code>Info.plist</code> - This file was edited to call these scripts during the web export process.</p></li>
</ul>

<p><strong>Script Plugins</strong>
These are placed in the <code>~/Library/Application Support/VoodooPad/Script PlugIns/</code> folder. No changes should be required in these scripts. They will be viewable from the <code>Plugin &amp;gt; Blog</code> menu in VoodooPad.</p>

<ul>
<li><p><code>meta_markup_HomepageMeta.lua</code> -  Takes the data from the page <code>HomepageMeta</code> in the VPP doc and adds specific item meta data to the frontmost page.</p></li>
<li><p><code>meta_markup_update.lua</code> - Propagates changes made to the <code>HomepageMeta</code> page to all the item meta data of all pages that require them. This is only just the pages used for the blog-style page.</p></li>
<li><p><code>blog_home_atom.lua</code> - Creates the blog-style page now called <code>home</code> in the VPP document and also creates a valid atom.xml feed in the output directory.</p></li>
</ul>

<p>Comments and questions are welcome. If some enterprising person wants to wrap this all up in the new plugin architecture that would be cool. I&#8217;m happy to help if I can.</p>


<p>Related posts:<ol><li><a href='http://thefragens.com/blog/2006/11/voodoopad-blogging/' rel='bookmark' title='Permanent Link: VoodooPad Blogging'>VoodooPad Blogging</a> <small>Well, it&#8217;s not really VoodooPad blogging but it&#8217;s pretty close....</small></li>
<li><a href='http://thefragens.com/blog/2006/11/voodoopad-automation/' rel='bookmark' title='Permanent Link: VoodooPad Automation'>VoodooPad Automation</a> <small>I&#8217;ve finally gotten it working. I&#8217;ve now got a Ruby...</small></li>
<li><a href='http://thefragens.com/blog/2006/09/voodoopad-goodness/' rel='bookmark' title='Permanent Link: VoodooPad goodness'>VoodooPad goodness</a> <small>Thanks to Gus Mueller for loads of help adapting a...</small></li>
</ol></p>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/' onclick="urchinTracker('/outgoing/mitcho.com/code/yarpp/?referer=');">Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://thefragens.com/blog/2009/05/voodoopad-pro-blogging/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Amavisd settings</title>
		<link>http://thefragens.com/blog/2009/03/amavisd-settings/</link>
		<comments>http://thefragens.com/blog/2009/03/amavisd-settings/#comments</comments>
		<pubDate>Mon, 16 Mar 2009 17:03:40 +0000</pubDate>
		<dc:creator>Andy</dc:creator>
				<category><![CDATA[computer]]></category>
		<category><![CDATA[osx-server]]></category>

		<guid isPermaLink="false">http://thefragens.com/blog/?p=613</guid>
		<description><![CDATA[I run my own mail server on OS X Server. For the most part I have my SpamAssassin settings tweaked pretty well. Unfortunately, there is some spam that seems to have malformed or incomplete MIME boundaries and these messages don&#8217;t seem to be getting passed off from Amavisd to SpamAssassin. As such, they seem to [...]


Related posts:<ol><li><a href='http://thefragens.com/blog/2007/08/running-spamassassin-locally/' rel='bookmark' title='Permanent Link: Running SpamAssassin locally'>Running SpamAssassin locally</a> <small>While I haven&#8217;t yet gotten an iPhone I&#8217;m making preparations....</small></li>
<li><a href='http://thefragens.com/blog/2008/03/unforeseen-circumstances/' rel='bookmark' title='Permanent Link: Unforeseen Circumstances'>Unforeseen Circumstances</a> <small>Due to unforeseen circumstances I accidentally trashed my server installation....</small></li>
<li><a href='http://thefragens.com/blog/2008/06/forwarding-email-in-leopard-server-part-2/' rel='bookmark' title='Permanent Link: Forwarding Email in Leopard Server, part 2'>Forwarding Email in Leopard Server, part 2</a> <small>I&#8217;ve previously written about problems with Leopard server and forwarding...</small></li>
</ol>

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/' onclick="urchinTracker('/outgoing/mitcho.com/code/yarpp/?referer=');">Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p>I run my own mail server on OS X Server. For the most part I have my <a href="http://spamassassin.apache.org/" onclick="urchinTracker('/outgoing/spamassassin.apache.org/?referer=');">SpamAssassin</a> settings tweaked pretty well. Unfortunately, there is some spam that seems to have malformed or incomplete MIME boundaries and these messages don&#8217;t seem to be getting passed off from Amavisd to SpamAssassin. As such, they seem to be getting through to the recipient with a null value for the spam score.</p>

<p>After a little Googling I found <a href="http://www200.pair.com/mecham/spam/amavisd-settings.html" onclick="urchinTracker('/outgoing/www200.pair.com/mecham/spam/amavisd-settings.html?referer=');">Amavisd critical settings</a> and I think the <code>$final_bad_header_destiny</code> is the key. The default setting is set to <code>D_PASS</code>. I&#8217;ve changed mine to <code>D_REJECT</code> now I&#8217;ll see what the logs say and see how much non-spam gets caught. Obviously, if enough good stuff doesn&#8217;t get through then I&#8217;ll have to think of something else.</p>

<p>But the obvoious question remains, <em>Why doesn&#8217;t SpamAssassin score these messages?</em></p>


<p>Related posts:<ol><li><a href='http://thefragens.com/blog/2007/08/running-spamassassin-locally/' rel='bookmark' title='Permanent Link: Running SpamAssassin locally'>Running SpamAssassin locally</a> <small>While I haven&#8217;t yet gotten an iPhone I&#8217;m making preparations....</small></li>
<li><a href='http://thefragens.com/blog/2008/03/unforeseen-circumstances/' rel='bookmark' title='Permanent Link: Unforeseen Circumstances'>Unforeseen Circumstances</a> <small>Due to unforeseen circumstances I accidentally trashed my server installation....</small></li>
<li><a href='http://thefragens.com/blog/2008/06/forwarding-email-in-leopard-server-part-2/' rel='bookmark' title='Permanent Link: Forwarding Email in Leopard Server, part 2'>Forwarding Email in Leopard Server, part 2</a> <small>I&#8217;ve previously written about problems with Leopard server and forwarding...</small></li>
</ol></p>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/' onclick="urchinTracker('/outgoing/mitcho.com/code/yarpp/?referer=');">Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://thefragens.com/blog/2009/03/amavisd-settings/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Backblaze Backup</title>
		<link>http://thefragens.com/blog/2009/03/backblaze-backup/</link>
		<comments>http://thefragens.com/blog/2009/03/backblaze-backup/#comments</comments>
		<pubDate>Sat, 14 Mar 2009 01:35:37 +0000</pubDate>
		<dc:creator>Andy</dc:creator>
				<category><![CDATA[computer]]></category>
		<category><![CDATA[mac-osx]]></category>

		<guid isPermaLink="false">http://thefragens.com/blog/2009/03/backblaze-backup/</guid>
		<description><![CDATA[I have an invite or two to distribute for the Backblaze online backup service for OS X. Price is $5 a month per machine for unlimited data. Attached disks are recognized, but not yet network attached storage. My opinion is once they allow for NAS backup it&#8217;ll be great. 

Leave a comment if you want [...]


Related posts:<ol><li><a href='http://thefragens.com/blog/2006/03/backup-backup-backup/' rel='bookmark' title='Permanent Link: Backup, backup, backup'>Backup, backup, backup</a> <small>I&#8217;m usually not too bad with this, but&#8230; Who thinks...</small></li>
<li><a href='http://thefragens.com/blog/2005/12/backup-is-good/' rel='bookmark' title='Permanent Link: Backup is good'>Backup is good</a> <small>Just doing a little backup. ...</small></li>
</ol>

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/' onclick="urchinTracker('/outgoing/mitcho.com/code/yarpp/?referer=');">Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p>I have an <em>invite or two</em> to distribute for the <a href="http://www.backblaze.com" onclick="urchinTracker('/outgoing/www.backblaze.com?referer=');">Backblaze</a> online backup service for OS X. Price is $5 a month per machine for unlimited data. Attached disks are recognized, but not yet network attached storage. My opinion is once they allow for NAS backup it&#8217;ll be great. </p>

<p>Leave a comment if you want a link to the beta. </p>


<p>Related posts:<ol><li><a href='http://thefragens.com/blog/2006/03/backup-backup-backup/' rel='bookmark' title='Permanent Link: Backup, backup, backup'>Backup, backup, backup</a> <small>I&#8217;m usually not too bad with this, but&#8230; Who thinks...</small></li>
<li><a href='http://thefragens.com/blog/2005/12/backup-is-good/' rel='bookmark' title='Permanent Link: Backup is good'>Backup is good</a> <small>Just doing a little backup. ...</small></li>
</ol></p>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/' onclick="urchinTracker('/outgoing/mitcho.com/code/yarpp/?referer=');">Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://thefragens.com/blog/2009/03/backblaze-backup/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nationalized Healthcare and the Free Market</title>
		<link>http://thefragens.com/blog/2009/03/nationalized-healthcare-and-the-free-market/</link>
		<comments>http://thefragens.com/blog/2009/03/nationalized-healthcare-and-the-free-market/#comments</comments>
		<pubDate>Thu, 05 Mar 2009 21:33:06 +0000</pubDate>
		<dc:creator>Andy</dc:creator>
				<category><![CDATA[medicine]]></category>
		<category><![CDATA[politics]]></category>

		<guid isPermaLink="false">http://thefragens.com/blog/?p=606</guid>
		<description><![CDATA[Nationalized/Universal healthcare will happen. Obama ran on it and he intends to deliver. What&#8217;s more, I can see a manner in which the country will flock to it under the current free market insurance system.

First, the federal government will expand Medicaid to cover the unemployed and uninsured. Second, the Congress will pass some law that [...]


Related posts:<ol><li><a href='http://thefragens.com/blog/2009/10/baby-steps-to-healthcare-reform/' rel='bookmark' title='Permanent Link: Baby Steps to Healthcare Reform'>Baby Steps to Healthcare Reform</a> <small>Since I&#8217;m sure all members of Congress will have the...</small></li>
</ol>

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/' onclick="urchinTracker('/outgoing/mitcho.com/code/yarpp/?referer=');">Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p>Nationalized/Universal healthcare will happen. Obama ran on it and he intends to deliver. What&#8217;s more, I can see a manner in which the country will flock to it under the current free market insurance system.</p>

<p>First, the federal government will expand Medicaid to cover the unemployed and uninsured. Second, the Congress will pass some law that mandates employers to provide health insurance for not only full-time employees, but part-time employees too.</p>

<p>Oh, by the way, the federal government will also make available a <em>government-sponsored</em>  insurance plan to <em>compete</em> with the other available HMO and PPO choices. Of course the government plan will cost you (the employer) 40-50% less than the next most expensive plan.</p>

<p>You (the employer) will offer your employees the <em>government plan</em> as per the terms of the new law and they (the employees) will have the option of spending almost twice as much for a different commercial plan. I don&#8217;t really expect many employees to avail themselves of the opportunity to spend more money for little perceived increase in services.</p>

<p>Soon 80-90% of the country will be on the <em>government plan</em> and physicians and hospitals will effectively have a single payor.</p>

<p>Welcome to nationalized/universal healthcare.</p>


<p>Related posts:<ol><li><a href='http://thefragens.com/blog/2009/10/baby-steps-to-healthcare-reform/' rel='bookmark' title='Permanent Link: Baby Steps to Healthcare Reform'>Baby Steps to Healthcare Reform</a> <small>Since I&#8217;m sure all members of Congress will have the...</small></li>
</ol></p>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/' onclick="urchinTracker('/outgoing/mitcho.com/code/yarpp/?referer=');">Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://thefragens.com/blog/2009/03/nationalized-healthcare-and-the-free-market/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>iPhone Stand</title>
		<link>http://thefragens.com/blog/2009/03/iphone-stand/</link>
		<comments>http://thefragens.com/blog/2009/03/iphone-stand/#comments</comments>
		<pubDate>Wed, 04 Mar 2009 23:51:27 +0000</pubDate>
		<dc:creator>Andy</dc:creator>
				<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://thefragens.com/blog/?p=604</guid>
		<description><![CDATA[While looking for an iPhone stand I came across the simplest solution. A binder clip.


Related posts:iPhone 2.0.2 I don&#8217;t know what Apple fixed in the 2.0.2 software...

Related posts brought to you by Yet Another Related Posts Plugin.


Related posts:<ol><li><a href='http://thefragens.com/blog/2008/08/iphone-202/' rel='bookmark' title='Permanent Link: iPhone 2.0.2'>iPhone 2.0.2</a> <small>I don&#8217;t know what Apple fixed in the 2.0.2 software...</small></li>
</ol>

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/' onclick="urchinTracker('/outgoing/mitcho.com/code/yarpp/?referer=');">Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p>While looking for an iPhone stand I came across <a href="http://cultofmac.com/iphone-stand-from-binder-clip/4374" onclick="urchinTracker('/outgoing/cultofmac.com/iphone-stand-from-binder-clip/4374?referer=');">the simplest solution</a>. A binder clip.</p>


<p>Related posts:<ol><li><a href='http://thefragens.com/blog/2008/08/iphone-202/' rel='bookmark' title='Permanent Link: iPhone 2.0.2'>iPhone 2.0.2</a> <small>I don&#8217;t know what Apple fixed in the 2.0.2 software...</small></li>
</ol></p>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/' onclick="urchinTracker('/outgoing/mitcho.com/code/yarpp/?referer=');">Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://thefragens.com/blog/2009/03/iphone-stand/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
