<?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>DallinJones.com &#187; Software</title>
	<atom:link href="http://www.dallinjones.com/category/software/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.dallinjones.com</link>
	<description>One more geek in the world.</description>
	<lastBuildDate>Fri, 09 Apr 2010 17:02:07 +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>Google Voice</title>
		<link>http://www.dallinjones.com/2009/07/google-voice/</link>
		<comments>http://www.dallinjones.com/2009/07/google-voice/#comments</comments>
		<pubDate>Thu, 16 Jul 2009 20:43:47 +0000</pubDate>
		<dc:creator>SlipStream</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.dallinjones.com/2009/07/16/google-voice/</guid>
		<description><![CDATA[After several months of waiting I finally got my Google Voice account! It is a very similar product to what I am working on and allows me to see more of what our competitors are doing. Very cool stuff! And lots of fun building these kinds of apps. Try it out if you would like [...]]]></description>
			<content:encoded><![CDATA[<p>After several months of waiting I finally got my Google Voice account! It is a very similar product to what I am working on and allows me to see more of what our competitors are doing. Very cool stuff! And lots of fun building these kinds of apps. Try it out if you would like there is a widget on the right hand side of my blog that will connect us through Google Voice (It even transcribes everything so I can search it later&#8230; Very COOL!)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dallinjones.com/2009/07/google-voice/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Getting MySQL to run on FreeBSD 7.0</title>
		<link>http://www.dallinjones.com/2008/04/getting-mysql-to-run-on-freebsd-70/</link>
		<comments>http://www.dallinjones.com/2008/04/getting-mysql-to-run-on-freebsd-70/#comments</comments>
		<pubDate>Thu, 10 Apr 2008 23:43:51 +0000</pubDate>
		<dc:creator>SlipStream</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Server Maintenance]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.dallinjones.com/2008/04/10/getting-mysql-to-run-on-freebsd-70/</guid>
		<description><![CDATA[During my server migration, I decided that I was going to switch from five or six random Linux distributions to using a single operating system. My place of employment seems to have a fondness for FreeBSD so I decided to give it a whirl. Although very similar to the several Linux distributions I use, FreeBSD [...]]]></description>
			<content:encoded><![CDATA[<p>During my server migration, I decided that I was going to switch from five or six random Linux distributions to using a single operating system. My place of employment seems to have a fondness for FreeBSD so I decided to give it a whirl. Although very similar to the several Linux distributions I use, FreeBSD has some differences. First installing software, I have finally gotten accustom to apt-get on the Debian based distributions I use as well as YUM (Which is on the RedHat Linux variants) because FreeBSD uses an entirely different package management system I had to learn something new. (Which is always a good thing)</p>
<p>FreeBSD uses two different methods. I am going to focus on the Ports collection since this way seems to be the most flexible, I must warn you though, compiling everything can become a pain in the neck if you have a slow machine. Fortunately for me, all of the servers I am using in the Server Migration are new and quite fast.</p>
<p>The Ports collection is relatively easy to use. Simply go into the ports collection.</p>
<p><code><br />
<strong>server# </strong><em>cd /usr/ports</em><br />
</code><br />
Now you will need to find the package you want to install (I will forgo the instructions on how to do this, as I am assuming that you know how to do that already.) In my case I started with MySQL 5<br />
<code><br />
<strong>server# </strong><em>cd databases/mysql50-server</em><br />
<strong>server# </strong><em>make install clean</em><br />
<strong>server# </strong><em>mysql_install_db</em><br />
<strong>server# </strong><em>chown -R mysql:mysql /var/db/mysql</em><br />
<strong>server# </strong><em>/usr/local/bin/mysqld_safe -user=mysql&amp;</em><br />
<strong>server# </strong><em>mysqladmin -u root password &lt;password&gt;</em><br />
<strong>server# </strong><em>vi /etc/rc.conf</em></code></p>
<p>Now you will need to tell the server to automatically start the MySQL daemon when the computer restarts. Add the following line to your rc.conf file (Which you will be editing if you have followed the previous steps.)</p>
<p><em>mysql_enable=&#8221;yes&#8221;</em></p>
<p>There you go, as long as no error messages show up, your MySQL 5.0 server will be running and will be usable.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dallinjones.com/2008/04/getting-mysql-to-run-on-freebsd-70/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Server Migration</title>
		<link>http://www.dallinjones.com/2008/04/server-migration/</link>
		<comments>http://www.dallinjones.com/2008/04/server-migration/#comments</comments>
		<pubDate>Thu, 10 Apr 2008 23:24:40 +0000</pubDate>
		<dc:creator>SlipStream</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[How to's]]></category>
		<category><![CDATA[Server Maintenance]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.dallinjones.com/2008/04/10/server-migration/</guid>
		<description><![CDATA[I own a Utah web hosting business called Preciant Hosting. Recently I have started experiencing several problems with one of my servers. It would constantly go up and down. My monitoring software (Nagios for those that are interested) was showing that the server would be up for an hour or so, and then go down [...]]]></description>
			<content:encoded><![CDATA[<p>I own a Utah web hosting business called <a href="http://www.preciant.com" title="Utah web hosting and dedicated servers" target="_blank">Preciant Hosting</a>. Recently I have started experiencing several problems with one of my servers. It would constantly go up and down. My monitoring software (<a href="http://www.nagios.org" title="Nagios official website" target="_blank">Nagios</a> for those that are interested) was showing that the server would be up for an hour or so, and then go down for three-four hours while I tried to get the data center technicians to reboot the machine. Being as how I provide services for several customers from that machine, this up and down time is NOT acceptable.</p>
<p>I had previously decided to purchase some servers (rather than use dedicated servers spread around the nation) and move into a local data center. Since I work for a company that provides web hosting and other data center services, (such as colocation, which is what I needed) I got some rack space in the <a href="http://www.fiber.net" title="Utah colocation" target="_blank">Fibernet</a> &amp; <a href="http://www.nethosting.com" target="_blank" title="Utah colocation">Nethosting</a> data center and ordered my servers.</p>
<p>The servers have finally started to come in and I am slowly setting them up and moving them into the data center. I am planning on sharing all of my wo&#8217;s involved in migrating all of my servers and I am also planning on sharing my solutions to the problems</p>
<p>Return often to find out about my trials and solutions.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dallinjones.com/2008/04/server-migration/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>CakePHP: Gift from Heaven, or from Hell?</title>
		<link>http://www.dallinjones.com/2008/01/cakephp-gift-for-heaven-or-from-hell/</link>
		<comments>http://www.dallinjones.com/2008/01/cakephp-gift-for-heaven-or-from-hell/#comments</comments>
		<pubDate>Tue, 15 Jan 2008 23:55:06 +0000</pubDate>
		<dc:creator>SlipStream</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.dallinjones.com/2008/01/15/cakephp-gift-for-heaven-or-from-hell/</guid>
		<description><![CDATA[My development activies have called on my skill and talent to quickly and efficiently learn new things. So it is with CakePHP, at work we have several projects that need to be completed quickly with out much hassle, after looking at several different options, we decided to use the CakePHP libraries. I quickly discovered that [...]]]></description>
			<content:encoded><![CDATA[<p>My development activies have called on my skill and talent to quickly and efficiently learn new things. So it is with CakePHP, at work we have several projects that need to be completed quickly with out much hassle, after looking at several different options, we decided to use the CakePHP libraries. I quickly discovered that CakePHP has some awesome features that allow me to quickly and easily built website from scratch.</p>
<p><span id="more-37"></span></p>
<p>Although this frame work provides a ton of flexibility and power over the database associations and the layout of the site, I quickly discovered a large number of things that are either incredibly difficult to do, or that are impossible to do. The sad thing about this, is that these are basic database types of things that I ran into. I could understand if it were something very complex that no one does, but it is stuff that is an everyday kind of thing to do. Let me put forth an example:</p>
<p>Here is a very basic database to use with our example.</p>
<pre>
Videos
--------
id as int(11)
name as varchar(255)
icon as varchar(255)
path as varchar(255)
user_id as int(11)

Users
-------
id as int(11)
first_name as varchar(255)
last_name as varchar(255)
username as varchar(32)
password as varchar(32)
company_id as int(11)

Companies
--------------
id as int(11)
name as varchar(255)
description as text</pre>
<p>As you can see, we have a very basic example that consists of Videos that are attached to users. Users are then attached to a company. I simply wanted to use cake to read in each video and use the model association of belongsTo to attach both a company and a user. (This is because each video only has one user, and each user only has one company.) This should be easy in CakePHP right? Wrong!</p>
<p>After beating myself in the head for hours trying to figure out how to get the company to attach properly, I decided to dig into the code of CakePHP itself. I quickly discovered that the framework is there to allow for this type of thing, is simply doesn&#8217;t work. After a few minutes of hacking on the core CakePHP sources, I was able to devise a solution. My solution even though it is not graceful, works.</p>
<p>The worst part of my experience was not running into this issue though. The thing that drove me nuts was that I tried to talk to the developers in the IRC channel for CakePHP and was quickly snubbed by the developers after trying to get them to give me an answer on how to get this to work properly I was banned from the channel. WOW. Way to go open source community. Want to know why the corporate world will never take you serious? It is because you can&#8217;t handle constructive criticism.</p>
<p>Anyway, overall I really do like CakePHP, but there is an issue here that simply drives me nuts. HELP OUT YOUR USERS!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dallinjones.com/2008/01/cakephp-gift-for-heaven-or-from-hell/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Changing auto_increment on MySQL</title>
		<link>http://www.dallinjones.com/2007/12/changing-auto_increment-on-mysql/</link>
		<comments>http://www.dallinjones.com/2007/12/changing-auto_increment-on-mysql/#comments</comments>
		<pubDate>Thu, 06 Dec 2007 19:09:55 +0000</pubDate>
		<dc:creator>SlipStream</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.dallinjones.com/2007/12/06/changing-auto_increment-on-mysql/</guid>
		<description><![CDATA[From time to time, when programming with MySQL, I have needed to change the auto_increment value to something other than the default (Typically it starts counting with 1 and goes up from there). To change this, simply use the following command:
mysql&#62; ALTER tablename AUTO_INCREMENT=new_number
There you go, it is that easy to change the auto increment [...]]]></description>
			<content:encoded><![CDATA[<p>From time to time, when programming with MySQL, I have needed to change the auto_increment value to something other than the default (Typically it starts counting with 1 and goes up from there). To change this, simply use the following command:</p>
<p><em>mysql&gt; ALTER tablename AUTO_INCREMENT=new_number</em></p>
<p>There you go, it is that easy to change the auto increment value for MySQL.</p>
<p>NOTE: I have discovered that MySQL will not allow you to set the auto_increment value to a number smaller that what is currently set. The data must be truncated and then set to get it to work properly.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dallinjones.com/2007/12/changing-auto_increment-on-mysql/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MMORPG Intelligent Load Leveling</title>
		<link>http://www.dallinjones.com/2007/11/mmorpg-intelligent-load-leveling/</link>
		<comments>http://www.dallinjones.com/2007/11/mmorpg-intelligent-load-leveling/#comments</comments>
		<pubDate>Tue, 06 Nov 2007 04:22:07 +0000</pubDate>
		<dc:creator>SlipStream</dc:creator>
				<category><![CDATA[Games]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.dallinjones.com/2007/11/05/mmorpg-intelligent-load-leveling/</guid>
		<description><![CDATA[Companies in the game development industry are constantly attempting to keep up with the demands of consumers to provide more elaborate environments to inhabit. Games such as EVE Online, World of WarCraft, Planeshift and The Lord of The Rings Online are fun and enjoyable, yet have huge limitations.
These games are designed to support a gigantic [...]]]></description>
			<content:encoded><![CDATA[<p>Companies in the game development industry are constantly attempting to keep up with the demands of consumers to provide more elaborate environments to inhabit. Games such as EVE Online, World of WarCraft, Planeshift and The Lord of The Rings Online are fun and enjoyable, yet have huge limitations.<span id="more-39"></span></p>
<p>These games are designed to support a gigantic user base; in fact, the developers of these games do an amazing job of setting up an environment capable of supporting thousands of users. Unfortunately, the current networking system used by these games is limited in two ways. First, an enormous number of servers are required to allow these simulated environments to function. Second, an exuberant amount of Internet bandwidth is consumed by these games. Considering these factors, these games do not scale well at all.<br />
I am writing a research paper designed to address both of these issues. It will discuss different ways of load balancing the actual game play, allowing a minimal internet connection, and using just a few servers to support the gaming environment.</p>
<p>In addition, it will also include code snippets from a small sample game that will be used to show example code of these load balancing algorithms and practices at work. My goal with this project is to increase my knowledge of how these types of games work as well as create an environment that is not limited to only a few hundred thousand poeple. I want a place where millions can interact with each other. Come back for more information. This project is under a huge amount of work right now, and I will post more as it is available.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dallinjones.com/2007/11/mmorpg-intelligent-load-leveling/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cisco Password recovery</title>
		<link>http://www.dallinjones.com/2007/10/cisco-password-recovery/</link>
		<comments>http://www.dallinjones.com/2007/10/cisco-password-recovery/#comments</comments>
		<pubDate>Sun, 28 Oct 2007 03:35:01 +0000</pubDate>
		<dc:creator>SlipStream</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.dallinjones.com/2007/10/27/cisco-password-recovery/</guid>
		<description><![CDATA[I was given a Cisco router a few weeks back, so that I could practice for the Cisco CCNA exams. The only problem is that I had now idea what the passwords on it were. After some good old hard work, and lots of searching I finally figured out how to reset the password and [...]]]></description>
			<content:encoded><![CDATA[<p>I was given a Cisco router a few weeks back, so that I could practice for the Cisco CCNA exams. The only problem is that I had now idea what the passwords on it were. After some good old hard work, and lots of searching I finally figured out how to reset the password and set the router back to the defaults. This allowed me to start from a clean slate and start the process of learning how to manage and maintain a Cisco router.<span id="more-38"></span></p>
<p>The firstthing to do is to set up the terminal to function properly. Open something like Hyperterminal and use the following settings:</p>
<ul>
<li>9600 baud rate</li>
<li>No parity</li>
<li> 8 data bits</li>
<li>1 stop bit</li>
<li>No flow control</li>
</ul>
<p>Ok, now that the terminal is set. Connect to the Cisco router, and power cycle it. Within the first 60 seconds, press the <strong>Break</strong> key on the key board. This will put the router in ROMMON. At the prompt that comes up type<em> <strong>confreg 0&#215;2124</strong></em> to boot the flash.</p>
<p>That step skips the startup configuration, ingoring the passwords.</p>
<p>Now type <strong><em>reset</em></strong> and wait for the router to reboot. This will start the router up without loading the saved configuration. It will act like a brand new router. Once you are at the prompt type in <strong><em>enable</em></strong> you will now be in enable mode. The prompt should be <em>Router#</em>.</p>
<p>Now type in <strong><em>configure terminal</em></strong> and use the <strong><em>enable secret &lt;password&gt;</em></strong> to set the password for your router. The next thing that you should type is <strong><em>config-register 0&#215;2102</em></strong>.</p>
<p>Now type <strong>end</strong> or <strong>Ctrl-z</strong> this will leave configuration mode. Type in <strong><em>write memory</em></strong> or <strong><em>copy running-config startup-config</em></strong> to commit and save changes. You will now be able to set up your router like you know (or want to know)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dallinjones.com/2007/10/cisco-password-recovery/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Reset FreeBSD root password</title>
		<link>http://www.dallinjones.com/2007/08/reset-freebsd-root-password/</link>
		<comments>http://www.dallinjones.com/2007/08/reset-freebsd-root-password/#comments</comments>
		<pubDate>Wed, 22 Aug 2007 05:03:17 +0000</pubDate>
		<dc:creator>SlipStream</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.dallinjones.com/2007/08/21/reset-freebsd-root-password/</guid>
		<description><![CDATA[I have always attempted to have strong secure passwords, I usually pick something 12-15 characters long with a mixture of letters (both uppercase and lowercase), number, and symbols all mixed together. This makes my password quite difficult to guess. One problem that I have found is that I don&#8217;t have to deal with my servers [...]]]></description>
			<content:encoded><![CDATA[<p>I have always attempted to have strong secure passwords, I usually pick something 12-15 characters long with a mixture of letters (both uppercase and lowercase), number, and symbols all mixed together. This makes my password quite difficult to guess. One problem that I have found is that I don&#8217;t have to deal with my servers on a daily basis. Since my password are so complex, I usually forget what they are. Now, I simply keep a server log (a 3 ring binder) that keeps track of all my passwords. But until then, I kept needing to reset my passwords.</p>
<p><span id="more-36"></span>To reset your FreeBSD password simple boot the system into single user mode (done in one of two ways; first, if you are using FreeBSD 5.4 or earlier, you simple press the space bar at the appropirate time, which the computer will tell you. Then simple type in <em>boot -s</em>; second, simply select option#four from the boot up menu, it says boot into single user mode.</p>
<p>The system will prompt for the shell you want to use, simple choose the default <em>/bin/sh</em> this will boot the system to a command prompt. Now enter the following commands in sequence:</p>
<p><em>mount -u /</em></p>
<p><em>mount -a</em></p>
<p><em>passwd</em> (It will prompt for a new root password, enter it twice here.)</p>
<p><em>sync; sync</em></p>
<p><em>reboot</em></p>
<p>You will now have root access to you system once more. Good luck</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dallinjones.com/2007/08/reset-freebsd-root-password/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fighting Spam</title>
		<link>http://www.dallinjones.com/2007/07/fighting-spam/</link>
		<comments>http://www.dallinjones.com/2007/07/fighting-spam/#comments</comments>
		<pubDate>Thu, 19 Jul 2007 21:18:07 +0000</pubDate>
		<dc:creator>SlipStream</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.dallinjones.com/2007/07/19/fighting-spam/</guid>
		<description><![CDATA[I started having a lot of troubles with my mail server when it started getting spammed pretty bad. I have
Postfix using Amavis to push the email through ClamAV and SpamAssasin. My server was brought to it&#8217;s knees. It was running at 98-99% processor load and it would take hours for email to go through. So [...]]]></description>
			<content:encoded><![CDATA[<p style="direction: ltr">I started having a lot of troubles with my mail server when it started getting spammed pretty bad. I have<br />
Postfix using Amavis to push the email through ClamAV and SpamAssasin. My server was brought to it&#8217;s knees. It was running at 98-99% processor load and it would take hours for email to go through. So here is what I did to fix the problem:<span id="more-32"></span></p>
<p>First I added a helo restriction using this:</p>
<p>smtpd_helo_required = yes<br />
smtpd_helo_restrictions =<br />
permit_mynetworks,<br />
check_helo_access hash:/etc/postfix/helo_access,<br />
reject_non_fqdn_hostname,<br />
reject_invalid_hostname,<br />
permit</p>
<p>This eliminated a ton of my spam. The helo_access file allows me<br />
to make exceptions for my clients that have broken networks. In<br />
addition, this file includes rejects for anything coming from itself.<br />
(Handy since most Spammers try to pretend they are you, hoping to get<br />
around your relay restrictions) It looks similar to this:<br />
<a href="http://mydomain.com/" onclick="return top.js.OpenExtLink(window,event,this)" target="_blank">mydomain.com</a>      REJECT You are not me!<br />
localhost               REJECT You are not me!<br />
<a href="http://127.0.0.1/" onclick="return top.js.OpenExtLink(window,event,this)" target="_blank">127.0.0.1</a>               REJECT You are not me!<br />
localhost.localdomain   REJECT You are not me!</p>
<p>Next I added this to my <a href="http://main.cf/" onclick="return top.js.OpenExtLink(window,event,this)" target="_blank">main.cf</a><br />
smtpd_sender_restrictions =<br />
permit_sasl_authenticated,<br />
permit_mynetworks,<br />
reject_non_fqdn_sender,<br />
reject_unknown_sender_domain,<br />
permit<br />
Forcing everything to use a fully qualified domain name helped<br />
eliminate a ton of spam. The next item I did was the last of the light<br />
weight stuff, this catches almost everything else:<br />
smtpd_recipient_restrictions =<br />
reject_unauth_pipelining,<br />
reject_non_fqdn_recipient,<br />
reject_unknown_recipient<wbr></wbr>_domain,<br />
permit_mynetworks,<br />
permit_sasl_authenticated,<br />
reject_unauth_destination<br />
check_sender_access<br />
hash:/etc/postfix/sender<wbr></wbr>_access,<br />
check_recipient_access<br />
hash:/etc/postfix/recipient<wbr></wbr>_access,<br />
check_helo_access<br />
hash:/etc/postfix/secondary_mx<wbr></wbr>_access,<br />
reject_rbl_client <a href="http://list.dsbl.org/" onclick="return top.js.OpenExtLink(window,event,this)" target="_blank">list.dsbl.org</a><br />
reject_rbl_client <a href="http://sbl-xbl.spamhaus.org/" onclick="return top.js.OpenExtLink(window,event,this)" target="_blank">sbl-xbl.spamhaus.org</a>,<br />
permit</p>
<p>The big stuff here is the reject_rbl_client lines. These line check<br />
the incoming server against relay databases. I used these lists because they<br />
seemed relatively fair (I don&#8217;t want valid email getting rejected) and<br />
people are able to get off of these lists since they don&#8217;t seem to be<br />
Nazi&#8217;s about it.</p>
<p>After adding these items, pretty much the only email getting to ClamAV<br />
and SpamAssassin are valid email messages. This brought the load of my<br />
sever back into a managable place (4-5% CPU load) and makes email<br />
delivery fast again.</p>
<p style="direction: ltr"><span class="sg"><br />
</span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.dallinjones.com/2007/07/fighting-spam/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
