Introducing the “Welcome to Xojo” Bundle!

New to Xojo and looking for guidance? We've put together a terrific bundle to welcome you! Xojo Bundle

This bundle includes six back issues of the magazine -- all of year 21 in printed book and digital formats -- plus a one-year subscription (beginning with 22.1) so you'll be learning all about Xojo for the next year. It's the perfect way to get started programming with Xojo. And you save as much as $35 over the non-bundle price!

This offer is only available for a limited time as supplies are limited, so hurry today and order this special bundle before the offer goes away!

Article Preview

Buy Now

Issue 3.4


Building the Better Spam Killer

Cross Platform Development Success Using REALbasic

Issue: 3.4 (March/April 2005)
Author: Jeffrey K. Hendrickson
Author Bio: Jeff Hendrickson is the founder of Hendrickson Software Components (hsc), and the creator of Sp@mX. He has extensive experience developing software for Windows, Macintosh, and Linux environments.
Article Description: No description available.
Article Length (in bytes): 8,430
Starting Page Number: 11
Article Number: 3408
Related Link(s): None

Excerpt of article text...

When I set the requirements to do the port of my popular Windows spam tracing and reporting software, Sp@mX, I wanted to offer it for Windows, Macintosh (including OS X, OS 9, and OS 8) and Linux desktop environments. Sp@mX gives users the ability to easily and accurately trace and report spam. The theory behind tracing and reporting spam has multiple benefits. First, many Internet Service Providers (ISPs) will cut off a user for violation of their Acceptable Use Policy (AUP) for sending spam. This is one way Sp@mX reduces spam. Next, when spammers see that you are using an automated spam tracing and reporting tool to report their spamming activity, many of them will "list wash" your email address from their database. This is another way that Sp@mX reduces spam. When Sp@mX users report spam, the IP address in the SMTP header that gets the highest score for "spammyness" is added to the hsc honeypot database, which Sp@mX also uses as a source of information for subsequent users evaluating their spam email. The IP addresses in the honeypot are tracked by hsc, and unresponsive ISPs will also have abuse complaints sent to their parent provider.

Tracing and reporting spam sounds easy enough if you hear someone describe the process. Believe me, it's not. Just writing the SMTP header parser was a labor of love. You have to take into account the various differences between SMTP server implementations, and a lot of spammers have developed tricks that can really turn this into a chore. Getting a sampling of the different messages and examining their differences was very time consuming. It took me about eighteen months of research to figure out a reliable way to do this. My first few releases were not all that accurate in their tracing, and annoyed administrators working at abuse desks when they would receive false positives. With the help of a core group of loyal users (who I can't thank enough), I was able to work through the technical issues and come up with an algorithm that is very accurate and reliable.

Sp@mX enables everyone from end users to IT professionals working in complex networked environments to effectively reduce spam in their e-mail Inbox and on their network. Sp@mX works by automatically tracing the source of spam and reporting offenders to their respective Internet Service Providers. Sp@mX users typically see their spam levels drop to near zero within four weeks.

It was very rewarding to start receiving feedback from users. People who had been getting dozens to hundreds of spam messages a day wrote in saying their Inboxes had been liberated. Others were happy because they were taking the fight to the spammers because they were generating and sending complaints to the spammers' ISPs, and it was having real results.

When I set out to research cross-platform software development tools, I knew that I was looking for the unique combination of a powerful development environment that provided easy software deployment for Windows, Macintosh, and Linux. I wanted a software development tool that would address the subtle differences in file I/O, sockets, interfaces, and so on between these different deployment environments, and still allow me to develop the software from a single code base, and a single set of controls.

...End of Excerpt. Please purchase the magazine to read the full article.