<?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>Michael Papet &#187; Servers</title>
	<atom:link href="http://www.michaelpapet.com/blog/category/servers/feed" rel="self" type="application/rss+xml" />
	<link>http://www.michaelpapet.com/blog</link>
	<description>That&#039;s a Bold Move Cotton!</description>
	<lastBuildDate>Fri, 06 Aug 2010 03:12:59 +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>Title-Only Spam Detection Research #1</title>
		<link>http://www.michaelpapet.com/blog/title-only-spam-detection-research-1</link>
		<comments>http://www.michaelpapet.com/blog/title-only-spam-detection-research-1#comments</comments>
		<pubDate>Tue, 23 Mar 2010 05:53:51 +0000</pubDate>
		<dc:creator>White Goodman</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Servers]]></category>

		<guid isPermaLink="false">http://www.michaelpapet.com/blog/?p=264</guid>
		<description><![CDATA[Rabin-Karp algorithm applied to the spam classification problem.]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been doing a bit of work on an adjunct to Bayesian spam filtering systems.  The basic idea is to  do some follow-on analysis of email messages Bayesian systems categorize as uncertains. I implement a hashing scheme, build a corpus, then check mail Bayesian filters don&#8217;t catch against the corpus.
<p><strong>Preamble</strong>
<p>Let&#8217;s get some terminology and other stuff out of the way.
<p> <em>Spam:</em> unsolicited email. </p>
<p> <em>Bayesian:</em> reaching a conclusion using some uncertain elements.  The <a title=\"Bayesian Probability\" href="http://www.michaelpapet.com/blog/wp-content/plugins/feed-statistics.php?url=aHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9CYXllc2lhbl9wcm9iYWJpbGl0eQ==" target=\"_blank\">wikipedia entry</a> explains it.
<p><em>Bayesian classification systems: </em> A strict way of describing programs like SpamBayes or SpamAssassin.  </p>
<p><em>Title or title header:</em> This is the part of the email that is displayed as the title of the email.  </p>
<p><em>Body: </em>This is the part of the email where most of the text of the email is kept.  </p>
<p><em>Why I chose to work on this already-solved problem.</em> As an email server admin, the problem isn&#8217;t &#8217;solved.&#8217;    Bayesian systems are very good. (with some limitations) Focusing on the limitations stands the best chance of making spam filtering much better.  The notion of &#8220;standing on the shoulder of giants&#8221; applies.  </p>
<p><em>What are you doing differently?</em> First, I&#8217;m using only analyzing the title of the email.  Introducing body analysis is recreating the work of Bayesian filters.  Second, I&#8217;m using a less well known algorithm and  applying it to the spam problem.  Lastly, titles with variations on words can be reliably detected. &#8216;V1agra&#8217; and &#8216;Viagr@&#8217; and &#8216;Viagra&#8217; are detected as similar.  The resulting corpus isn&#8217;t particularly large.
<p>
 <em>Reductionist dismisal of the work: </em></p>
<ul>
<li>This is a naive method, and therefore it&#8217;s non-special.  I&#8217;d argue it&#8217;s a moot point. It&#8217;s less than 100% naive for a couple of reasons, all of which can easily be shouted down by someone with a higher socio-economic rank and sufficient buzz-word use.</li>
<li>I&#8217;m unqualified.   My socio-economic standing does not exceed the title researcher, programmer or scholar.  Nor is the effort mathematically spectacular.   Another person with sufficient socio-economic standing will probably implement it and garner far more attention.</li>
<li>This article isn&#8217;t sufficiently filled with cryptic vocabulary, therefore the process isn&#8217;t special.  It&#8217;s unfortunate that vocabulary is used to establish social rank and therefore exclude.  I chose to minimize the buzz-wordiness.  The next person pursuing this method won&#8217;t advance the concepts and use far more cryptic language.  They will however ill garner more attention using specialized vocabulary. </li>
</ul>
<p><strong>The Proposal: </strong>Detect Spam Analyzing the Email Title
<p>Why choose to analyze only the title?</p>
<ol>
<li>Bayesian systems already analyze the email body.</li>
<li>Bayesian systems <em>tend</em> to fail to detect spam with brief titles and similarly brief bodies.</li>
<li>I want to be able to scale the solution well beyond Bayesian systems.  As some email admins already know, Bayesian email filters are extremely resource intensive when you  are hosting a large number of email accounts.</li>
</ol>
<p><strong>The Algorithm: </strong>Rabin-Karp
<p> Why <a href="http://www.michaelpapet.com/blog/wp-content/plugins/feed-statistics.php?url=aHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9SYWJpbi1LYXJwX3N0cmluZ19zZWFyY2hfYWxnb3JpdGht" target=\"blank\">Rabin-Karp?</a></p>
<ol>
<li>Because it seems to be suited to the job of  finding strings while exhibiting the potential to scale way beyond Bayesian classification systems.</li>
<li>It is already used as a plagarism detector.</li>
<li>Other string searching algorithms have problems when applied to spam detection.    Most string searching algo&#8217;s are built on the assumption of discreet words.  A spammer can break the filter by confounding the definition of a &#8216;word.&#8217;</li>
</ol>
<p><strong>Build a Corpus</strong>
<p>Step 1: I grabbed 17 spam titles and stuck them in a text file.  When building the corpus, I keep all characters between A and Z and force everything into lower case.  The program then loops through possible window values and generates hash values.  I send the results into a SQLite database.  There are *much* faster ways to store the data, but this worked for me in the research phase.
<p> Some notes about the window used to compute the hashes.  The window range I used was a minimum of 3 and a maximum of 10 characters.  What one would do with the variability is an open question.  If one uses too big a window to detect spam, then the filter will fail to detect spam.  If one uses too small a window, this may be too resource intensive.  I would think that randomly assigning the window would make it harder to break the filter.  Maybe it&#8217;s a moot point and a small window should be the standard.
<p> <strong>Test the Classification System</strong>
<p> To test the accuracy of classifying emails, I do a simple SQL lookup on windowed (see wikipedia reference) hashes of a title string to see if the hash exists in the database.  If it does, it gets 3 points.  The process for each email title goes something like this:</p>
<ul>
<li>If the sum of points squared is less than 120 then the program keeps checking the title string for more hashes.</li>
<li>If the current sum of points squared is greater than 120, then I assume it is spam and move to the next email.   The high score results because the title is very close to what&#8217;s in the corpus.  I don&#8217;t have to search the whole subject string if the score breaks 120 sooner than the end of the string.</li>
</ul>
<p>
<strong>Test Results</strong><br />
<table>
<tbody>
<tr>
<td width="100" >title</td>
<td width="10">Score</td>
<td width="100">Corpus Info</td>
</tr>
<tr>
<td >oysterperpetual
<p>cosmographdaytona</td>
<td>256</td>
<td>in corpus</td>
</tr>
<tr>
<td >Fwd: Cookie Booth this Sun?</td>
<td>0</td>
<td>Not spam, not in corpus</td>
</tr>
<tr>
<td >Casino&#8217;s_Best PlAyer is Welcome!!</td>
<td>64</td>
<td>Gold Best Casino : Usa Player welcome!!!!</td>
</tr>
<tr>
<td>I&#8217;m tired of viagra ads</td>
<td>144</td>
<td>Not in corpus, a title from an exasperated friend</td>
</tr>
<tr>
<td>sale visit our website today and
<p>buy replica items cheaper</td>
<td>9</td>
<td>Not in corpus</td>
</tr>
<tr>
<td>@derall and V1codin online
</td>
<td>64</td>
<td>_Percocet__Adderall_Cialis
<p>_Viagra_Ritalin!!!</td>
</tr>
</table>
<p>
 <strong>Next Step</strong>
<p>I need a bigger body of email titles to test and add to the corpus.   If you would like to provide some, then please contact me.  The title header just needs to be in a flat file, one per line, no opening/closing quotes needed.
<p> Another step to sanitize the subject data is to strip &#8220;the&#8221;, most prepositions, and “of the”, “in the”, “to the”, “on the”, “for the”, “and the”, “that the”, “at the”, “to be” and “in a” out of the subject string.  I don&#8217;t know what effect this would have, but it is all noise.</tr>
</tbody>
</table>
 <img src="http://www.michaelpapet.com/blog/wp-content/plugins/feed-statistics.php?view=1&post_id=264" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://www.michaelpapet.com/blog/title-only-spam-detection-research-1/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Awstats and IIS Debian Set Up</title>
		<link>http://www.michaelpapet.com/blog/awstats-and-iis-debian-set-up</link>
		<comments>http://www.michaelpapet.com/blog/awstats-and-iis-debian-set-up#comments</comments>
		<pubDate>Fri, 29 Jan 2010 05:28:14 +0000</pubDate>
		<dc:creator>White Goodman</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Servers]]></category>

		<guid isPermaLink="false">http://www.michaelpapet.com/blog/?p=207</guid>
		<description><![CDATA[Use Debian's awstats to make pretty IIS log graphs and charts!]]></description>
			<content:encoded><![CDATA[<p>This following should take the reader through a complete awstats setup from start to finish.  The reader should be cognizant of the possible impacts of some of the commands casually mentioned below.  This was done on Debian&#8217;s Lenny distro with apache2.  The reader should be very familiar with setting up an Apache2 instance.</p>
<ol>
<li>Apt-get awstats.</li>
<li>Configure Apache2:  Use   /usr/share/doc/awstats/examples/apache.conf  as your template for whatever you end up with in /etc/apache2/sites-available/awstats.  Apache configs are subject to personal preferences too much to be more specific than this.</li>
<li>Link /etc/apache2/sites-available/awstats to /etc/apache2/sites/enabled/awstats. &#8216;ln -s /etc/apache2/sites-available/awstats /etc/apache2/sites-enabled/awstats&#8217;</li>
<li>Restart apache2 &#8216;/etc/init.d/apache2 restart&#8217;</li>
</ol>
<p><strong>IIS Log Set Up Minutae</strong></p>
<p>Before you can make awstats useful, your logs from your IIS instance have to meet some minimum requirements.  I don&#8217;t remember the IIS logging defaults, but given Microsoft&#8217;s hostility to Free software, it&#8217;s likely a plain-vanilla IIS log will not work with awstats.</p>
<p>What&#8217;s especially miserable about IIS is setting the &#8216;host header value&#8217; on Win2003.  Somehow this value ended up being null for me and any attempts to change it end up with a 404 error.  I have a hard time maintaining the value of Microsoft products with nasty bugs like this&#8230;.</p>
<p>The following fields should be used in the log: Client IP Address, Service Name, URI Stem, URI Query, Protocol Status, Bytes Sent, User Agent, Referer.  Of those, Bytes Sent is required for awstats to work!!! There are other fields that might be useful in special situations like %logname, but that&#8217;s for you to poke through the default awstats.conf file and figure out based on your needs.</p>
<p>Now that your web server is ready, set up awstats for IIS logs.  My logs come from a Windows 2003 machine.</p>
<p><strong>Awstats.conf  Set Up</strong></p>
<ol>
<li>Check a log.  You need to extract the hostname (s-sitename) from the log.  You will need this name and it will be referred to as $s-sitename from now on.</li>
<li>Copy an awstats.conf file to awstats.$s-sitename.conf where $s-sitename.</li>
<li>Open the newly copied awstats.$s-sitename.conf file.</li>
<li>Set the path of where the log files reside.</li>
<li>Make your log string.  It will probably be a custom incantation.</li>
<li>Set LogFile.  If your IIS logs are rotated, then you *might* be able to use logresolvemerge.pl to feed awstats logs.  logresolvemerge.pl does the work of feeding logs to awstats in the required time-sensitive manner.  Otherwise, you may need to work out feeding awstats logs oldest data first.</li>
<li>Change the SiteDomain value to whatever $s-sitename is.</li>
<li>Add HostAliases as needed.</li>
<li>Save the file and exit.</li>
<li>Change directory to your web root for your awstats page.</li>
<li>Run &#8220;/usr/lib/cgi-bin/awstats.pl -config=$s-sitename  -showcorrupted&#8221; Where $s-sitename is whatever your hostname may be in the log file.  This incantation will tell you if there are problems with the logs while processing .  IIS log incantations are fiddley, so there will probably be several tries before your log string (step 5) is okay and awstats works as expected.</li>
<li>Run &#8220;/usr/lib/cgi-bin/awstats.pl  -config=$s-sitename  -output &gt; $your/path/to/web/root/index.html&#8221;  Where $your/path/to/web/root is the same as your apache config web root.  You&#8217;ll have basic information now. You should not need the -static option so frequently mentioned elsewhere if your Apache2 config is set up like the example given.  Optionally, you can set LogFile=&#8221;/some/custom/path&#8221; to feed awstats in a customized manner.</li>
</ol>
<p>For the rest of the reports, I use the awstats_updateall.pl script located in /usr/share/doc/awstats/examples.  I recall it needs a copy of awstats.pl in the same directory for it to work.</p>
<p>Essential documentation for awstats is at their <a title=\"Awstats FAQ\" href="http://www.michaelpapet.com/blog/wp-content/plugins/feed-statistics.php?url=aHR0cDovL2F3c3RhdHMuc291cmNlZm9yZ2UubmV0L2RvY3MvYXdzdGF0c19mYXEuaHRtbA==" target=\"_blank\">Sourceforge site</a>.</p>
<p>Leave questions as comments.</p>
 <img src="http://www.michaelpapet.com/blog/wp-content/plugins/feed-statistics.php?view=1&post_id=207" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://www.michaelpapet.com/blog/awstats-and-iis-debian-set-up/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Verizon&#8217;s 4-day DS1 Circuit Outage</title>
		<link>http://www.michaelpapet.com/blog/verizons-4-day-ds1-circuit-outage</link>
		<comments>http://www.michaelpapet.com/blog/verizons-4-day-ds1-circuit-outage#comments</comments>
		<pubDate>Tue, 05 Jan 2010 01:40:11 +0000</pubDate>
		<dc:creator>White Goodman</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Servers]]></category>

		<guid isPermaLink="false">http://www.michaelpapet.com/blog/?p=199</guid>
		<description><![CDATA[Verizon business service doesn't provide service.  Just people picking up the phone.]]></description>
			<content:encoded><![CDATA[<p>A big thank you to Verizon for doing nothing on a DS1 circuit that has been variously up and down for <span style="text-decoration: line-through;">4 </span> 14 days.  That&#8217;s right, <span style="text-decoration: line-through;">four</span> fourteen whole days.  Open the ticket, Verizon engineer finds an unspecified problem, closes ticket.  14 days in a row.  Escalation?  Worthless.  Chronic issue?  Equally worthless.</p>
<p>Another reason why the telco&#8217;s government-granted Monopoly deserves to be modified to allow for more competition.</p>
<p>Picking up the phone does not qualify as service.</p>
 <img src="http://www.michaelpapet.com/blog/wp-content/plugins/feed-statistics.php?view=1&post_id=199" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://www.michaelpapet.com/blog/verizons-4-day-ds1-circuit-outage/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Manual MythTV Schedule Update Script</title>
		<link>http://www.michaelpapet.com/blog/manual-mythtv-schedule-update-script</link>
		<comments>http://www.michaelpapet.com/blog/manual-mythtv-schedule-update-script#comments</comments>
		<pubDate>Wed, 23 Sep 2009 15:39:56 +0000</pubDate>
		<dc:creator>Peter La Fleur</dc:creator>
				<category><![CDATA[Servers]]></category>
		<category><![CDATA[mythtv]]></category>

		<guid isPermaLink="false">http://www.michaelpapet.com/blog/?p=68</guid>
		<description><![CDATA[I am in the unpleasant position of having to do a couple of things related to my MythTV server.

The server is off most of the time.  We just don&#8217;t use it very often and it doesn&#8217;t make sense to keep a dual-core PC running for no reason.
Manually update the tv schedule on my MythTV box. The [...]]]></description>
			<content:encoded><![CDATA[<p>I am in the unpleasant position of having to do a couple of things related to my MythTV server.</p>
<ol>
<li>The server is off most of the time.  We just don&#8217;t use it very often and it doesn&#8217;t make sense to keep a dual-core PC running for no reason.</li>
<li>Manually update the tv schedule on my MythTV box. The attached script checks the date on a file and compares it to the current day.</li>
</ol>
<p><a href="http://www.michaelpapet.com/blog/wp-content/plugins/feed-statistics.php?url=aHR0cDovL3d3dy5taWNoYWVscGFwZXQuY29tL2Jsb2cvd3AtY29udGVudC91cGxvYWRzLzIwMDkvMDkvdHYtZ3VpZGUudHh0">mythtv manual schedule update</a></p>
<p>Attached script needs zap2xml to write the xml file(s).  Be sure to check your tuner id&#8217;s in the database and a couple of other adjustments will probably be required to have the script work for you.  But the fiddly bits about dates and MythTV commands are there.</p>
<p>It should be set up to run on login for your mythtv-backend session, and then perhaps as a cron job.</p>
<p>Questions? Leave them in the comments.</p>
<p><a href="http://www.michaelpapet.com/blog/wp-content/plugins/feed-statistics.php?url=aHR0cDovL3d3dy5taWNoYWVscGFwZXQuY29tL2Jsb2cvd3AtY29udGVudC91cGxvYWRzLzIwMDkvMDkvdHYtZ3VpZGUudHh0">mythtv manual schedule update</a></p>
 <img src="http://www.michaelpapet.com/blog/wp-content/plugins/feed-statistics.php?view=1&post_id=68" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://www.michaelpapet.com/blog/manual-mythtv-schedule-update-script/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Popfile and Misspelled Words</title>
		<link>http://www.michaelpapet.com/blog/popfile-and-misspelled-words</link>
		<comments>http://www.michaelpapet.com/blog/popfile-and-misspelled-words#comments</comments>
		<pubDate>Tue, 22 Sep 2009 20:26:27 +0000</pubDate>
		<dc:creator>White Goodman</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Servers]]></category>

		<guid isPermaLink="false">http://www.michaelpapet.com/blog/?p=55</guid>
		<description><![CDATA[A script to recategorize misspelled words in the popfile corpus.]]></description>
			<content:encoded><![CDATA[<p>I am having a heck of a time with <a title=\"getpopfile.org\" href="http://www.michaelpapet.com/blog/wp-content/plugins/feed-statistics.php?url=aHR0cDovL3d3dy5nZXRwb3BmaWxlLm9yZy8=" target=\"_blank\">Popfile</a> these days.  My accuracy is way, way down lately.</p>
<blockquote><p>Good news!  I found the problem.  It had nothing to do with Popfile per se, but my setup.  Imagine that!</p></blockquote>
<p>Looking through the word lists, there were tons of misspelled words in my Ham bucket.  Seeing another nail that needed a hammer, I wrote a script that moves misspelled words into the spam bucket.</p>
<p>If it helps anyone else, I&#8217;ve attached the script. <a title=\"popfile misspeller\" href="http://www.michaelpapet.com/blog/wp-content/plugins/feed-statistics.php?url=aHR0cDovL3d3dy5taWNoYWVscGFwZXQuY29tL2Jsb2cvd3AtY29udGVudC91cGxvYWRzLzIwMDkvMDkvcG9wZmlsZV9maXhlcjEudHh0" target=\"_blank\">here</a></p>
<p>This script requires an ODBC DSN to the SQLite database.  (That&#8217;s a mouthful!)  It will definitely work in Linux.  Other platforms?  Dunno.</p>
<p>Feedback is welcome in the comments.</p>
<p>On a side note, popfile in Debian&#8217;s repos is ancient.  Get it from popfile&#8217;s site. (version 1.1.1 or later!) Also worth noting is popfile&#8217;s xmlrpc interface.  Nice!</p>
 <img src="http://www.michaelpapet.com/blog/wp-content/plugins/feed-statistics.php?view=1&post_id=55" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://www.michaelpapet.com/blog/popfile-and-misspelled-words/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to Install Debian Testing</title>
		<link>http://www.michaelpapet.com/blog/how-to-install-debian-testing</link>
		<comments>http://www.michaelpapet.com/blog/how-to-install-debian-testing#comments</comments>
		<pubDate>Tue, 01 Sep 2009 17:38:00 +0000</pubDate>
		<dc:creator>Peter La Fleur</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Servers]]></category>

		<guid isPermaLink="false">http://www.michaelpapet.com/blog/archives/18-guid.html</guid>
		<description><![CDATA[How to install and use Debian Testing.]]></description>
			<content:encoded><![CDATA[<p>Since Debian&#8217;s Testing distro is at least as stable as what Ubuntu calls their &#8217;stable&#8217; release, it&#8217;s not particularly risky to run your laptop on Testing.  I&#8217;ve been doing it for years.  It occurred to me that it&#8217;s not terribly obvious how one goes about installing Debian&#8217;s Testing distro.</p>
<p>Before we begin, some good news:  <strong>ANY</strong> PC will run Debian nicely.  All the way from 500mhz CPU&#8217;s and 1.1GHZ machines all the way to recent quad-core machines.  The key is to have about 1GB or more of RAM available.  An old 500mhz desktops make great home file/print/scanner/backups/web servers.  If you wish to run MythTV and record HD content, you will need <em>at least</em> a dual-core CPU.</p>
<p>Read on for the how-to! <em></em></p>
<p><em>One Step Back:</em></p>
<p>Debian doesn&#8217;t really do a great job at making it obvious which disk image you need.  The vast majority of you need an image with i386 in the name.  You want this one because you are changing from Microsoft Windows to Linux.  The next group would be the users converting an older Mac with a PowerPC CPU.  You want the file with PPC in the name.</p>
<p>Being a KDE user, Debian builds a single-cd installer that is just KDE.  This makes things super-easy!  Just look for the file with the CPU type and KDE in the name.  For the vast majority of you that would be something like, debian-testing-i386-kde-CD.iso</p>
<p>There is more than one way to  get onto the Debian Testing distro.  I&#8217;m going to concentrate on downloading a Testing image and install.<br />
<em><br />
Two Steps Forward:<br />
</em><br />
1. Go to the <a title=\"Debian Testing i386 builds\" href="http://www.michaelpapet.com/blog/wp-content/plugins/feed-statistics.php?url=aHR0cDovL2NkaW1hZ2UuZGViaWFuLm9yZy9jZGltYWdlL3dlZWtseS1idWlsZHMvaTM4Ni9pc28tY2Qv" target=\"_blank\">weekly builds page</a>.  PowerPC user&#8217;s <a title=\"Debian Testing PPC\" href="http://www.michaelpapet.com/blog/wp-content/plugins/feed-statistics.php?url=aHR0cDovL2NkaW1hZ2UuZGViaWFuLm9yZy9jZGltYWdlL3dlZWtseS1idWlsZHMvcG93ZXJwYy9pc28tY2Qv" target=\"_blank\">go here</a>.<br />
2a.  If your CPU has a speed claim greater than 1 GHZ, then scroll all the way down and grab the debian-testing-CPU-TYPE-kde-CD-1.iso  file.<br />
2b. For older PC&#8217;s (~1 GHZ or slower), grab the other image at the bottom of the page, debian-testing-CPU-TYPE-xfce+lxde-CD-1.iso.  XFCE4 as your window manager will keep things as fast as possible and it has tons of functionality.  At this time, LXDE is lighter still, but buggier than XFCE4.  So, choose XFCE4 from the session choices when logging in for the first time.</p>
<p>3. Wait while the image downloads.<br />
4. After downloading, burn the CD image to a CD.<br />
5.  Boot the PC with the Debian Installer!</p>
<p>There are lots of how-to&#8217;s about installing Debian from this point forward, so use the Internet to get any other questions answered.</p>
 <img src="http://www.michaelpapet.com/blog/wp-content/plugins/feed-statistics.php?view=1&post_id=21" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://www.michaelpapet.com/blog/how-to-install-debian-testing/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Drupal Database Maintenance Script</title>
		<link>http://www.michaelpapet.com/blog/drupal-database-maintenance-script</link>
		<comments>http://www.michaelpapet.com/blog/drupal-database-maintenance-script#comments</comments>
		<pubDate>Fri, 28 Aug 2009 22:21:08 +0000</pubDate>
		<dc:creator>Peter La Fleur</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Servers]]></category>

		<guid isPermaLink="false">http://www.michaelpapet.com/blog/archives/16-guid.html</guid>
		<description><![CDATA[The attached script is a perl version of some popular Drupal MySQL database optimizations plus a mysqldump.  I added some extra stuff. I suppose it might work on a Microsoft OS, but I didn&#8217;t check into it at all.
Please note:  The script is dual licensed.
-If you are using it for your non-revenue producing [...]]]></description>
			<content:encoded><![CDATA[<p>The attached script is a perl version of some popular Drupal MySQL database optimizations plus a mysqldump.  I added some extra stuff. I suppose it might work on a Microsoft OS, but I didn&#8217;t check into it at all.</p>
<p>Please note:  <strong>The script is dual licensed.</strong></p>
<p>-If you are using it for your non-revenue producing Drupal site, then the script is distributed under the terms of the GNU GPL v3.0.</p>
<p>-If you are using it in a revenue-producing site, then please leave your email address in the comments to arrange Paypal payment of $20.  If you can&#8217;t come up with this script on your own then $20 is a bargain.  I&#8217;m available for modifications to make it work better for your environment on a small-time contract basis.</p>
<p>This script is provided AS IS.  There are NO warranty or usefulness claims.</p>
<p>The only thing you need to do is to change some variables on the top of the script and set up a cron job to run it.</p>
<p>There are some consequences to using this script for which you need to be aware.</p>
<ol>
<li> Pay attention to permissions/privileges on the path for dumping the database.</li>
<li>It makes database backups named YEARMONTHDAY.dump to the path of your choice.  Delete old backups with cron. <strong> Test the backups.</strong></li>
<li>This script shuts down your site temporarily when it re-indexes.  MySQL has to have full lock on the database.  The script then turns your site back on the moment it is done.</li>
<li> There&#8217;s some cruft-cleaning that goes on with this script.  I&#8217;m not sure how well it works for others, but it works for me.  You were warned!</li>
</ol>
<p>Assuming you have read and understand the hazards of what was just written here is the script: <a title=\"drupal-db-maint.txt\" href="http://www.michaelpapet.com/blog/wp-content/plugins/feed-statistics.php?url=aHR0cDovL3d3dy5taWNoYWVscGFwZXQuY29tL2Jsb2cvd3AtY29udGVudC91cGxvYWRzLzIwMDkvMDkvZHJ1cGFsLWRhdGFiYXNlLWNsZWFuZXIudHh0" target=\"_blank\">drupal-db-maint.txt</a></p>
<p>Questions, comments can be submitted as comments.</p>
 <img src="http://www.michaelpapet.com/blog/wp-content/plugins/feed-statistics.php?view=1&post_id=19" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://www.michaelpapet.com/blog/drupal-database-maintenance-script/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Debian KDE 4.3 Packages</title>
		<link>http://www.michaelpapet.com/blog/debian-kde-4-3-packages</link>
		<comments>http://www.michaelpapet.com/blog/debian-kde-4-3-packages#comments</comments>
		<pubDate>Thu, 27 Aug 2009 20:25:04 +0000</pubDate>
		<dc:creator>Peter La Fleur</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Servers]]></category>

		<guid isPermaLink="false">http://www.michaelpapet.com/blog/archives/15-guid.html</guid>
		<description><![CDATA[Debian has KDE 4.3 packages in Sid.  If you are running Debian&#8217;s testing then, it&#8217;s not too hard to get it installed.  FYI: Debian&#8217;s Testing version is equivalent to running a Ubuntu distro only the bugs are (on average) fixed faster.
 1. Add Sid repo&#8217;s to your sources.list
2 create a /etc/apt/preferences file and [...]]]></description>
			<content:encoded><![CDATA[<p>Debian has KDE 4.3 packages in Sid.  If you are running Debian&#8217;s testing then, it&#8217;s not too hard to get it installed.  FYI: Debian&#8217;s Testing version is equivalent to running a Ubuntu distro only the bugs are (on average) fixed faster.</p>
<p> 1. Add Sid repo&#8217;s to your sources.list<br />
2 create a /etc/apt/preferences file and pin testing at a higher priority than Sid.<br />
3. Apt-get -t sid install kde-minimal<br />
4. logout of your display manager.  You should have the option to restart the display system  (X).  </p>
<p>After restarting X, you should be good to go.</p>
<p>To enable all of the desktop effects and eye candy:<br />
You need to modify your xorg.conf to enable compositing.  This is not rocket science, but depends entirely on your hardware, reading the man page (ex. man nv) and finding some examples on the Internet.  All of which are readily available.</p>
<p>First, enable compositing by opening System Settings->Desktop.<br />
You should see the enable/disable compositing button there.  Enable it!<br />
If the desktop complains, then go to the Advanced tab and click on the &#8216;Disable functionality test&#8217; option.<br />
You can Enable all Desktop Effects too.<br />
Switch to the Advanced tab.<br />
Compositing type: OpenGL</p>
<p>You should be good to go!</p>
 <img src="http://www.michaelpapet.com/blog/wp-content/plugins/feed-statistics.php?view=1&post_id=18" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://www.michaelpapet.com/blog/debian-kde-4-3-packages/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>mingw, strawberrry-perl and libxml2 on Win32</title>
		<link>http://www.michaelpapet.com/blog/mingw-strawberrry-perl-and-libxml2-on-win32</link>
		<comments>http://www.michaelpapet.com/blog/mingw-strawberrry-perl-and-libxml2-on-win32#comments</comments>
		<pubDate>Mon, 24 Aug 2009 19:34:33 +0000</pubDate>
		<dc:creator>Peter La Fleur</dc:creator>
				<category><![CDATA[Servers]]></category>

		<guid isPermaLink="false">http://www.michaelpapet.com/blog/archives/14-guid.html</guid>
		<description><![CDATA[I found myself needing a perl script on a windows server.  I run strawberry-perl distro on these servers.  The perl script needed libxml2.  As you may not know, strawberry-perl is built with entirely free tools.  (mingw)  There is the gnuwin32 project that builds gnu libraries using Microsoft&#8217;s build tools, but [...]]]></description>
			<content:encoded><![CDATA[<p>I found myself needing a perl script on a windows server.  I run strawberry-perl distro on these servers.  The perl script needed libxml2.  As you may not know, strawberry-perl is built with entirely free tools.  (mingw)  There is the gnuwin32 project that builds gnu libraries using Microsoft&#8217;s build tools, but THAT won&#8217;t work.</p>
<p>This <strong>might</strong> work.</p>
<p> 1. Go to the xmlsoft.org <a href="http://www.michaelpapet.com/blog/wp-content/plugins/feed-statistics.php?url=ZnRwOi8veG1sc29mdC5vcmcvbGlieG1sMi8=" title=\"xmlsoft.org\">website</a> and get libxml$lastest_version$.tar.gz.<br />
2. Extract it into c:\strawberry-perl  If you are very knowledgeable, this isn&#8217;t necessary, but it makes the paths that follow work.<br />
3. Open a console and cd into c:\strawberry-perl\libxml$yourVersion$\win32.<br />
4. cscript configure.js compiler=mingw incdir=C:\strawberry-perl\mingw\include libdir=C:\strawberry-perl\mingw\lib iconv=no<br />
include=C:\strawberry-perl\mingw\include lib=C:\strawberry-perl\mingw\lib prefix=C:\strawberry-perl\mingw\<br />
5. enter <em>c:\strawberry-perl\mingw\bin\mingw32-make.exe</em> on the command line<br />
6.  I had make fail.  Dowwwh!  The fail had something to do with the declaration of uint32_t.  I found it on line 29, commented that line out and added this just below it.  typedef unsigned __int32<br />
7.  <em>c:\strawberry-perl\mingw\bin\mingw32-make.exe install</em> on the command line.<br />
8.  Now, if I&#8217;m lucky, XML::LibXML will work!</p>
 <img src="http://www.michaelpapet.com/blog/wp-content/plugins/feed-statistics.php?view=1&post_id=17" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://www.michaelpapet.com/blog/mingw-strawberrry-perl-and-libxml2-on-win32/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Barracuda Networks Breaks SMTP Standard</title>
		<link>http://www.michaelpapet.com/blog/barracuda-networks-breaks-smtp-standard</link>
		<comments>http://www.michaelpapet.com/blog/barracuda-networks-breaks-smtp-standard#comments</comments>
		<pubDate>Wed, 19 Aug 2009 21:17:36 +0000</pubDate>
		<dc:creator>Peter La Fleur</dc:creator>
				<category><![CDATA[Servers]]></category>

		<guid isPermaLink="false">http://www.michaelpapet.com/blog/archives/13-guid.html</guid>
		<description><![CDATA[This is a follow-on to my last post here.
Typical form mail garbage that has nothing to do with the problem from Barracuda Networks.  My replies are in bold. Thank you for contacting Barracuda Networks regarding your issue.  Your issue is important to us.  We have assigned a confirmation number: **** to this [...]]]></description>
			<content:encoded><![CDATA[<p>This is a follow-on to my last post <a href="http://www.michaelpapet.com/blog/wp-content/plugins/feed-statistics.php?url=aHR0cDovL3d3dy5taWNoYWVscGFwZXQuY29tL2Jsb2cvZXhpdC5waHA/dXJsX2lkPTE0JmFtcDthbXA7ZW50cnlfaWQ9MTM="  onmouseover=\"window.status='http://www.michaelpapet.com/blog/archives/12-FYI-Barracuda-Networks-Erases-Email.html';return true;\" onmouseout=\"window.status='';return true;\" title=\"Barracuda Networks Black Hole\">here.</a></p>
<p>Typical form mail garbage that has nothing to do with the problem from Barracuda Networks.  My replies are in<strong> bold.</strong> Thank you for contacting Barracuda Networks regarding your issue.  Your issue is important to us.  We have assigned a confirmation number: **** to this case.</p>
<p>We apologize for any inconvenience that this may have caused you.  Since this is is your first request for this IP, the reputation of this IP address will be temporarily upgraded from &#8220;poor&#8221; for 48 hours <strong>or</strong> until we complete our investigation.  When our investigation is complete, you will receive a decision via email.  It may take up to 1 hour for the changes in the Barracuda Reputation System to propagate to all the Barracuda Spam Firewalls in the world.  </p>
<p><strong>I would be shocked to find out the investigation resources are hopelessly under-resourced.  Just shocked!</strong></p>
<p>There are a number of reasons your IP address may have been listed as &#8220;poor&#8221;, including:</p>
<p>1. The email server at this IP address contains a virus and has been sending out spam  <strong>Nope</strong><br />
2. The email server at this IP address may be configured incorrectly <strong>Nope</strong><br />
3. The PC at this IP address may be infected with a virus or botnet software program <strong>Nope</strong><br />
4. An individual in the organization at this IP address may have a PC infected with a virus or botnet program <strong>Nope</strong><br />
5. This IP address may be a dynamic IP address which was previously utilized by a known spammer<strong> Nope</strong><br />
6. The marketing department of a company at this IP address may be sending out bulk emails that do not comply with the CAN-SPAM Act <strong>Nope</strong><br />
7. This IP address may have a insecure wireless network attached to it which could allow unknown users to use it&#8217;s network connection to send out bulk email <strong>Nope</strong><br />
8. In some rare cases, your recipients&#8217; Barracuda Spam Firewall may be misconfigured <strong>Rare cases eh?  Well, Nope.</strong></p>
<p>If you do not think any of the above apply, please also contact the person who manages this IP address, as they may be better able to investigate this issue. <strong> That would be me.  I&#8217;ll open a trouble-ticket to myself.  Nope.</strong></p>
 <img src="http://www.michaelpapet.com/blog/wp-content/plugins/feed-statistics.php?view=1&post_id=16" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://www.michaelpapet.com/blog/barracuda-networks-breaks-smtp-standard/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
