<?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>Seth Kinast's Blog &#187; Software</title>
	<atom:link href="http://sethkinast.com/tag/software/feed/" rel="self" type="application/rss+xml" />
	<link>http://sethkinast.com</link>
	<description>I like shiny things</description>
	<lastBuildDate>Thu, 28 Jul 2011 05:12:26 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>While speaking of spam</title>
		<link>http://sethkinast.com/2006/12/29/while-speaking-of-spam/</link>
		<comments>http://sethkinast.com/2006/12/29/while-speaking-of-spam/#comments</comments>
		<pubDate>Sat, 30 Dec 2006 03:35:37 +0000</pubDate>
		<dc:creator>Seth</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Website]]></category>

		<guid isPermaLink="false">http://sethkinast.com/blog/archive/2006/12/29/while-speaking-of-spam/</guid>
		<description><![CDATA[I have to say that WP-Hashcash has done the trick. I&#8217;ve gotten fewer than 2 dozen spams in the last 2 days, and the log shows almost 1500 blocked attempts&#8230; sweet! So while on the topic of spam, Scotty asked me today about fighting e-mail spam more effectively. Even though I&#8217;ve used SpamAssassin for a [...]]]></description>
			<content:encoded><![CDATA[<p>I have to say that WP-Hashcash has done the trick. I&#8217;ve gotten fewer than 2 dozen spams in the last 2 days, and the log shows almost 1500 blocked attempts&#8230; sweet!</p>
<p>So while on the topic of spam, <a href="http://scottyblack.com">Scotty</a> asked me today about fighting e-mail spam more effectively. Even though I&#8217;ve used <a href="http://spamassassin.org" title="Server-side spam prevention">SpamAssassin</a> for a couple years, I would still get a few hundred spam e-mails a week that made it through the filter. Thunderbird would collect about 90% of those, which meant that I didn&#8217;t have to look at a lot of spam&#8230; but still far more than I would have liked. Plus, any time I looked at my mail from a webmail interface, I had to sort through a few dozen spams.</p>
<p>I read up a couple months ago on SpamAssassin tweaking. Let me summarize some steps I took that caused the number of spam e-mails I get a week to fall to under 10.<br />
<span id="more-462"></span></p>
<h3>1) Training Camp</h3>
<p>The quick, two-line explanation of how SpamAssassin works: it looks for various signs of a spam e-mail (the word &#8220;Viagra&#8221;, e-mail sent to a large number of recipients, spoofed headers, etc.) and for each one it finds, it adds a varying number of &#8220;points&#8221; to the e-mail based on how spam-like the behavior is. If an e-mail gets too many points, it&#8217;s spam! Most SA installations learn by default what &#8220;strong spam&#8221; and &#8220;strong ham&#8221; are (those with very high positive and negative scores) and thus are able to adapt to your own personal spam preferences. However, it&#8217;s that remaining 20% of e-mails, the &#8220;weak spam&#8221;, with which you need to lend SpamAssassin a hand.</p>
<p>The <code>sa-learn</code> command allows you to show SpamAssassin additional examples of spam it didn&#8217;t catch the first time around, thus improving its Bayesian filtering. I use this small shell script to train it every so often:<br />
<code>#!/bin/sh<br />
echo "Learning from Ham..."<br />
sa-learn --ham --progress --mbox ~/mail/seth/inbox<br />
echo "Learning from Spam..."<br />
sa-learn --spam --progress --mbox ~/mail/seth/Junk</code></p>
<p>You need to train equal amounts of ham and spam for optimum results, according to the manual. So I train SA for ham on my inbox, and spam on Thunderbird&#8217;s Junk folder.</p>
<h3>2) You make the rules</h3>
<p>Most e-mail programs let you view the full e-mail headers, where you&#8217;ll find a line like this:<br />
<code><strong>X-Spam-Status:</strong> No, score=4.9 required=5.0 tests=ADDRESS_IN_SUBJECT,BAYES_50,	NO_REAL_NAME autolearn=no version=3.1.7</code></p>
<p>The three <strong>tests</strong> in the header are the ones this particular message failed. It included an e-mail address in the subject line, the Bayes Filter gave it a 50% probability of being spam, and the e-mail address it was sent from did not include a name to go with the address. This gave it a score of 4.9. To be marked as spam, it needs a score of 5.0. In this case, the message was not spam, so SpamAssassin was correct.</p>
<p>The scoring system on a default SpamAssassin installation is very different. It&#8217;s a lot harder for e-mails to be marked as spam by default, because SpamAssassin wants to play it safe and make sure it doesn&#8217;t trash any of your real e-mails. This is a good goal, but if you&#8217;ve been training it for a few weeks then it&#8217;s much safer to bump the scores for some of the bad tests higher.</p>
<p>Don&#8217;t change these scores until you&#8217;ve looked at a good sample of your own mail to see how SpamAssassin is scoring it. If you subscribe to some newsletters you like, make sure they&#8217;re not being marked as spammy, or you&#8217;ll need to take some additional steps to protect them. If the spam you receive isn&#8217;t failing any SpamAssassin tests to begin with, it won&#8217;t matter how high you raise their scores.</p>
<p>To change the scores of spam tests, edit the file ~/.spamassassin/user_prefs (~/ is your home directory). I looked at some of the spam that was getting through and saw three tests most often:</p>
<ul>
<li>FORGED_RCVD_HELO</li>
<li>HTML_SHORT_LINK_IMG_1</li>
<li>BAYES_90</li>
</ul>
<p>(A <a href="http://spamassassin.apache.org/tests_3_1_x.html">giant list of all SpamAssassin&#8217;s tests</a> is on the website.) These 3 tests would be a good place to start fighting spam, by raising their point value. I added these lines to the bottom of my user_prefs file:<br />
<code>score BAYES_90 5.0<br />
score FORGED_RCVD_HELO 2.0<br />
score HTML_SHORT_LINK_IMG_1 3.5</code><br />
Since I&#8217;ve been training SpamAssassin, if Bayes says there&#8217;s a 90% chance of the message being spam, that&#8217;s good enough for me. I&#8217;ll give it the whole 5 points it needs to be marked as spam. Forged HELOs are still common from places like my university&#8217;s mailing system, so I can&#8217;t afford to give it a very high score. And messages that are nothing but a linked image are pretty shady, so they get a high score.</p>
<h3>3) Quality Assurance</h3>
<p>For the first few weeks, take some time to review the <strong>spam</strong> folder that SpamAssassin dumps all your spam into, to make sure that one of your rules didn&#8217;t mistakenly cast its net too far. If you see some of your mail dropping into <strong>spam</strong>, just move it back to the inbox and train SpamAssassin again. You can also adjust your rules to make sure you don&#8217;t weight something too heavily. The <strong>spam</strong> folder gets pretty large, so you&#8217;ll want to clean it out every once in awhile. You can just delete it and SpamAssassin will recreate it the next time you get spammed. I just added a line to my training script above that cleans out /mail/spam while it trains on the other folders.</p>
<p>Following these steps will net you an easy 90% reduction in the amount of spam you get, and over time it will get even better, thanks to Bayesian filtering. Plus, not having to download the mail at all will make your mail reading in Thunderbird or other e-mail clients even faster and more enjoyable.</p>
]]></content:encoded>
			<wfw:commentRss>http://sethkinast.com/2006/12/29/while-speaking-of-spam/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Six Degrees of Free Software</title>
		<link>http://sethkinast.com/2006/09/11/six-degrees-of-free-software/</link>
		<comments>http://sethkinast.com/2006/09/11/six-degrees-of-free-software/#comments</comments>
		<pubDate>Mon, 11 Sep 2006 22:31:32 +0000</pubDate>
		<dc:creator>Seth</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://sethkinast.com/blog/archive/2006/09/11/six-degrees-of-free-software/</guid>
		<description><![CDATA[I was messing about before my Data Structures class today when the guy in front of me mentioned to the person next to him that he had written his assignment under Linux and needed to make sure it would compile using Visual Studio in Windows. I (unashamedly) interjected &#8220;What distribution of Linux are you using?&#8221; [...]]]></description>
			<content:encoded><![CDATA[<p>I was messing about before my Data Structures class today when the guy in front of me mentioned to the person next to him that he had written his assignment under Linux and needed to make sure it would compile using Visual Studio in Windows. I (unashamedly) interjected &#8220;What distribution of Linux are you using?&#8221; &#8220;Ubuntu,&#8221; he replied, &#8220;I installed the base server packages and then put kubuntu-desktop on top of that.&#8221; I mentioned that I did some work for Ubuntu, so I was always happy to see someone using it. Then I found out that he was Joshua Gay, who does some work for the <acronym title="Free Software Foundation">FSF</acronym>, including editing 2 of rms&#8217; last 3 books (for example <a href="http://notabug.com/2002/rms-essays.pdf" title="Free Software, Free Society: Selected Essays of Richard M. Stallman">this one</a>). He&#8217;s a graduate student who went to Massachusetts for his undergrad. It was interesting to hear him talk about rms and mako and other big names in the free-software world as people he&#8217;d actually met and talked to, rather than seen as screennames on #ubuntu or such.</p>
<p>Having come from out east, where Linux and Free Software are perhaps more common household words, Josh really wanted to increase and encourage free software use here at OU. It would be terribly interesting to get an organization started&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://sethkinast.com/2006/09/11/six-degrees-of-free-software/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>DokuWiki: an Undiscovered Gem</title>
		<link>http://sethkinast.com/2006/03/26/dokuwiki-an-undiscovered-gem/</link>
		<comments>http://sethkinast.com/2006/03/26/dokuwiki-an-undiscovered-gem/#comments</comments>
		<pubDate>Sun, 26 Mar 2006 07:23:03 +0000</pubDate>
		<dc:creator>Seth</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[ZetaBoards]]></category>

		<guid isPermaLink="false">http://sethkinast.com/blog/archive/2006/03/26/dokuwiki-an-undiscovered-gem/</guid>
		<description><![CDATA[I finished the soft launch of the ZetaBoards Documentation Project today, and have to say that DokuWiki is hands-down the best wiki software I have ever used, installed, or written with. From MediaWiki to MoinMoin to phpWiki, DokuWiki offers more features, a cleaner setup, and easier use. I took our new website template and ported [...]]]></description>
			<content:encoded><![CDATA[<p>I finished the soft launch of the <a title="Official Documentation for ZetaBoards" href="http://docs.zetaboards.com">ZetaBoards Documentation Project</a> today, and have to say that <a rel="external" title="DokuWiki - free wiki software" href="http://wiki.splitbrain.org/">DokuWiki</a> is hands-down the best wiki software I have ever used, installed, or written with. From MediaWiki to MoinMoin to phpWiki, DokuWiki offers more features, a cleaner setup, and easier use.</p>
<p>I took our new website template and ported it to DokuWiki in a matter of hours. And most of that time was spent redoing part of the header to add more functionality that the website didn&#8217;t need. Things worked just by dropping in a few PHP tags here and there. The only other software this easy to skin is WordPress.</p>
<p>There are a few hundred plugins written for DokuWiki, and the syntax is extremely simple should I choose to make more. I picked a couple and installed them on our installation in about 20 minutes. The notes plugin is amazing. The entire codebase is PHP-Doc&#8217;d so I can understand what everything does, and make changes where I need them!</p>
<p>The 2005-9 release I was using lacked a little bit on user management, but that&#8217;s all been fixed with the 2006-3 release that I just finished upgrading to. I have full control on access permissions, user groups, everything. And the new release also added some great AJAX goodness like an AJAX quicksearch. I also successfully installed aspell to my home directory and now the AJAX spellcheck it features works <em>flawlessly</em>.</p>
<p>There are no databases needed; it&#8217;s all flat-file and <em>fast</em>. I can move the directory around and nothing breaks; all that&#8217;s needed are some CHMODs. It&#8217;s drop-dead simple, gorgeous, well-written, featureful, and fast. How does it get better than this?</p>
<p>If you need a wiki software, this is the one for you.</p>
]]></content:encoded>
			<wfw:commentRss>http://sethkinast.com/2006/03/26/dokuwiki-an-undiscovered-gem/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Jump and Bump!</title>
		<link>http://sethkinast.com/2005/11/17/jump-and-bump/</link>
		<comments>http://sethkinast.com/2005/11/17/jump-and-bump/#comments</comments>
		<pubDate>Fri, 18 Nov 2005 04:33:40 +0000</pubDate>
		<dc:creator>Seth</dc:creator>
				<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://sethkinast.com/blog/archive/2005/11/17/jump-and-bump/</guid>
		<description><![CDATA[Sam and I just played Jump&#8217;n'Bump for a whole hour and laughed like little kids the entire time! You should play it too, it&#8217;s fun. Basically you are supposed to hop around as a bunny rabbit and squoosh other bunny rabbits. The sound effects make it hugely hilarious, and it&#8217;s multiplayer for up to four [...]]]></description>
			<content:encoded><![CDATA[<p>Sam and I just played <a href="http://jumpbump.mine.nu/" title="Squish!">Jump&#8217;n'Bump</a> for <strong>a whole hour</strong> and laughed like little kids the entire time! You should play it too, it&#8217;s fun.<br />
Basically you are supposed to hop around as a bunny rabbit and squoosh other bunny rabbits. The sound effects make it hugely hilarious, and it&#8217;s multiplayer for up to four players via keyboard or network. Highly recommended!</p>
<blockquote><p>Sam: Die! Die! Oh wait&#8230; no, just go squish. If you died I would just hop around sad and alone. And there would be no fun things to squish.</p></blockquote>
<p>(Ubuntu users: just open Synaptic and install package <em>jumpnbump</em> and you&#8217;re ready to roll!)</p>
]]></content:encoded>
			<wfw:commentRss>http://sethkinast.com/2005/11/17/jump-and-bump/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Pandora</title>
		<link>http://sethkinast.com/2005/11/12/pandora/</link>
		<comments>http://sethkinast.com/2005/11/12/pandora/#comments</comments>
		<pubDate>Sat, 12 Nov 2005 22:30:18 +0000</pubDate>
		<dc:creator>Seth</dc:creator>
				<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://sethkinast.com/blog/archive/2005/11/12/pandora/</guid>
		<description><![CDATA[Pandora is the best thing I&#8217;ve seen in a while. You tell it what kind of music you like, and it picks from 10,000 artists to find music like that. You can set up &#8220;stations&#8221; with mixes of different genres. You can tell it what you like and don&#8217;t like. And it&#8217;s 100% free. Go [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://pandora.com">Pandora</a> is the best thing I&#8217;ve seen in a while. You tell it what kind of music you like, and it picks from 10,000 artists to find music like that. You can set up &#8220;stations&#8221; with mixes of different genres. You can tell it what you like and don&#8217;t like.</p>
<p>And it&#8217;s 100% free. Go check it out, now!</p>
]]></content:encoded>
			<wfw:commentRss>http://sethkinast.com/2005/11/12/pandora/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>noIE</title>
		<link>http://sethkinast.com/2005/11/11/noie/</link>
		<comments>http://sethkinast.com/2005/11/11/noie/#comments</comments>
		<pubDate>Fri, 11 Nov 2005 19:25:18 +0000</pubDate>
		<dc:creator>Seth</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Website]]></category>

		<guid isPermaLink="false">http://sethkinast.com/blog/archive/2005/11/11/noie/</guid>
		<description><![CDATA[People who click external links while using IE now get a little surprise. Cheers, suckers.]]></description>
			<content:encoded><![CDATA[<p>People who click external links while using IE now get <a href="http://dean.edwards.name/my/misbehaviors/#noIE-popup">a little surprise</a>.</p>
<p>Cheers, suckers.</p>
]]></content:encoded>
			<wfw:commentRss>http://sethkinast.com/2005/11/11/noie/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>7 hours later&#8230;</title>
		<link>http://sethkinast.com/2005/11/05/7-hours-later/</link>
		<comments>http://sethkinast.com/2005/11/05/7-hours-later/#comments</comments>
		<pubDate>Sat, 05 Nov 2005 19:52:41 +0000</pubDate>
		<dc:creator>Seth</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://sethkinast.com/blog/archive/2005/11/05/7-hours-later/</guid>
		<description><![CDATA[I spent almost 7 hours yesterday working on the OU Pre-Medical Club website. See the events calendar at the right? It broke two days ago, for reasons unbeknownest to me. I run php-cli to parse out the RSS feed that the calendar is drawn from, and for some reason, two days ago it started creating [...]]]></description>
			<content:encoded><![CDATA[<p>I spent almost 7 hours yesterday working on the <a href="http://oupremed.com/">OU Pre-Medical Club</a> website. See the events calendar at the right? It broke two days ago, for reasons unbeknownest to me. I run php-cli to parse out the RSS feed that the calendar is drawn from, and for some reason, two days ago it started creating RSS files that contained nothing except &#8220;No input file specified.&#8221; <a href="http://timdorr.com">Tim</a> insisted nothing on the server had changed, which left me baffled&#8230; I haven&#8217;t changed that code in months. I spent a few hours getting it to work the code correctly. But after doing that, php-cli started putting HTTP headers into the file! Breaking the RSS feed completely. So after spending several hours trying to track down where the headers came from, I called that quits. And just used <code>sed</code> to rip the first three lines off the RSS feed every time it was parsed.</p>
<p>Seven hours of looking at 6 lines of code is no fun.</p>
]]></content:encoded>
			<wfw:commentRss>http://sethkinast.com/2005/11/05/7-hours-later/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>SELECT query FROM sql WHERE size = &#8216;BIG&#8217;</title>
		<link>http://sethkinast.com/2005/11/03/big-query/</link>
		<comments>http://sethkinast.com/2005/11/03/big-query/#comments</comments>
		<pubDate>Fri, 04 Nov 2005 02:31:05 +0000</pubDate>
		<dc:creator>Seth</dc:creator>
				<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://sethkinast.com/blog/archive/2005/11/03/select-query-from-sql-where-size-big/</guid>
		<description><![CDATA[This is a big query. SELECT CONCAT(students.firstname, students.lastname) AS name, students.grade, students.id, CONVERT(GROUP_CONCAT(DISTINCT classes.name ORDER BY classes.type) USING latin1) as classnames, CONVERT(GROUP_CONCAT(DISTINCT classes.id ORDER BY classes.type) USING latin1) as ids FROM students, classes WHERE (students.grade = classes.grade OR classes.type = 'ele') AND (CASE WHEN students.spec_mat IS NULL THEN TRUE ELSE (CASE WHEN classes.type = 'mat' [...]]]></description>
			<content:encoded><![CDATA[<p>This is a <big>big</big> query.</p>
<p><code>SELECT CONCAT(students.firstname, students.lastname) AS name, students.grade, students.id, CONVERT(GROUP_CONCAT(DISTINCT classes.name ORDER BY classes.type) USING latin1) as classnames, CONVERT(GROUP_CONCAT(DISTINCT classes.id ORDER BY classes.type) USING latin1) as ids<br />
FROM students, classes<br />
WHERE (students.grade = classes.grade OR classes.type = 'ele')<br />
AND (CASE WHEN students.spec_mat IS NULL THEN TRUE ELSE (CASE WHEN classes.type = 'mat' THEN students.spec_mat = classes.id ELSE TRUE END) END)<br />
AND (CASE WHEN students.spec_sci IS NULL THEN TRUE ELSE (CASE WHEN classes.type = 'sci' THEN students.spec_sci = classes.id ELSE TRUE END) END)<br />
AND (CASE WHEN ((students.spec_ele IS NULL) AND (students.spec_ele2 IS NULL)) THEN classes.type != 'ele' ELSE (CASE WHEN classes.type = 'ele' THEN (classes.id IN (students.spec_ele, students.spec_ele2)) ELSE TRUE END) END)<br />
AND (CASE WHEN students.spec_lang IS NULL THEN classes.type != 'lang' ELSE (CASE WHEN classes.type = 'lang' THEN students.spec_lang = classes.id ELSE TRUE END) END)<br />
AND (SELECT grades.id FROM grades WHERE grades.student = students.id AND grades.class = classes.id LIMIT 1) IS NULL<br />
GROUP BY name<br />
ORDER BY students.grade, students.lastname, students.firstname</code></p>
<p>&#8216;Nuff said. It is, however, worth several hundred dollars when combined with the other code I wrote. Cool.</p>
]]></content:encoded>
			<wfw:commentRss>http://sethkinast.com/2005/11/03/big-query/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Use the tool that&#8217;s right for you</title>
		<link>http://sethkinast.com/2005/08/28/use-the-tool-thats-right-for-you/</link>
		<comments>http://sethkinast.com/2005/08/28/use-the-tool-thats-right-for-you/#comments</comments>
		<pubDate>Sun, 28 Aug 2005 21:44:43 +0000</pubDate>
		<dc:creator>Seth</dc:creator>
				<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://sethkinast.com/blog/archive/2005/08/28/use-the-tool-thats-right-for-you/</guid>
		<description><![CDATA[So Matt decided that Opera worked better for him than Firefox did, and switched accordingly. And I say, more power to him; Firefox was crashing a lot for him and Opera appears to be working quite well. Too often I see people get caught up in fanboyism and forget that the point of an alternative [...]]]></description>
			<content:encoded><![CDATA[<p>So <a href="http://matthewdent.co.uk">Matt</a> decided that Opera worked better for him than Firefox did, and <a href="http://www.matthewdent.co.uk/blog/161/">switched accordingly</a>. And I say, more power to him; Firefox was crashing a lot for him and Opera appears to be working quite well. Too often I see people get caught up in fanboyism and forget that the point of an alternative browser is not to become the dominant market force: </p>
<blockquote><p><em>FIERFOX IS GRAAT!11!!11! LOL Y WUD U SWITCH?!?!???</em> (<a title="Brought to you by the 12-year-old AOLer translator" href="http://ssshotaru.homestead.com/files/aolertranslator.html">?</a>)</p></blockquote>
<p>But the point of an alternative browser is to provide freedom of choice. As long as a browser supports the web standards I covet as a web designer (e.g., Internet Explorer is not a browser, and no, Avant, Maxthon, et al. don&#8217;t count either), I really don&#8217;t care what you use <img src='http://sethkinast.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  </p>
<p> It&#8217;s the same with operating systems. Elliott came into my room today when I was writing a bash script and was like &#8220;Huh, MS-DOS?&#8221; No Elliott, I just run Linux. &#8220;Oh&#8230; but you&#8217;re not a zealot about it&#8230; I didn&#8217;t know.&#8221; Because I use the tool that&#8217;s right for the job, and nothing more. Linux is great for my programming and PIM needs&#8230; when I need games, I switch to Windows. None of this self-flagellation because I *must* destroy the Evil Empire&#8230; I use what works.</p>
<p>Today I was trying to do out a calendar for ZAP, and KOrganizer kept crashing when I tried to print. So I exported to vCal, swapped boots to Windows, fired up Outlook, printed. All good.</p>
]]></content:encoded>
			<wfw:commentRss>http://sethkinast.com/2005/08/28/use-the-tool-thats-right-for-you/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>PHPiCalendar</title>
		<link>http://sethkinast.com/2005/08/27/phpicalendar/</link>
		<comments>http://sethkinast.com/2005/08/27/phpicalendar/#comments</comments>
		<pubDate>Sat, 27 Aug 2005 20:55:08 +0000</pubDate>
		<dc:creator>Seth</dc:creator>
				<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://sethkinast.com/blog/archive/2005/08/27/phpicalendar/</guid>
		<description><![CDATA[The PHPiCalendar website is back online! It&#8217;s been gone for almost a year, with the message PHPiCalendar website is willingly offline until further notice. I just checked it on a whim today and they made a new release yesterday! :O (I use PHPiCalendar at http://sethkinast.com/calendar/)]]></description>
			<content:encoded><![CDATA[<p>The <a href="http://phpicalendar.net" title="A web-based iCal viewer">PHPiCalendar website</a> is back online! It&#8217;s been gone for almost a year, with the message <em>PHPiCalendar website is willingly offline until further notice</em>. I just checked it on a whim today and they made a new release yesterday! :O</p>
<p>(I use PHPiCalendar at <a href="/calendar/" title="My calendar">http://sethkinast.com/calendar/</a>) </p>
]]></content:encoded>
			<wfw:commentRss>http://sethkinast.com/2005/08/27/phpicalendar/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

