SpamAssassin Failure

SpamAssassin is a free tool for mailservers to identify SPAM. It has a several parameters it checks (forged headers, HTML only content, blacklisted hosts, improper mail relays, etc) and assigns a score for every parameter. If the total score is greater than the threshold, it is marked as spam and either tagged, moved to a separate mailbox or deleted. I started using SpamAssassin in April of 2005 and it has caught thousands of messages. I know this isn’t large, but it made my inbox manageable.

Originally I set the threshold at 5 however this still lead to several messages a day. So I kept reducing the score, by 0.1 till I stopped at 4.5 and I only had 1 spam message every 3-4 days. I was completely satisified even though an occasional non-spam did get improperly marked (usually an SMS from a cell phone).

As of June 15, SpamAssassin has failed me. I am getting dozens of junk mail passing into my inbox daily. I am seeing scores of 3, 0 and even -0.7. Either the spammers got smart or the scores are not properly being assigned. I am using the latest version SpamAssassin 3.1.3 and I haven’t changed any options.

I may have to investigate further with my hosting provider. But I am curious if anyone else seen this?

Partitioning for 300GB

My new Seagate Barracuda 300GB hard drive just arrived. I’ll need some time to redo my entire computer (currently there are 4 operating systems). Whenever I purchase a new harddrive (about once ever 2 years) I always put some serious evaluation into how I will partition it.

Some points I consider

  • Windows is primary operating system
  • A second Windows should be possible
  • Windows should have at least seperate ‘applications’ and ‘work’ partitions
  • Multiple Linux distributions should be possible (2-3)
  • Swap partition can be shared in Linux
  • At least /home partition should be shared in Linux

In truth I only have about 3-4 GB of actual work and about 6-8 GB of media to save. I also do not play any games or do any major video editting which leaves for a great deal of flexibility.

The 300GB is misleading. Given 300x1000^3 bytes, you will actually have about 279GB since each KB is 1024 bytes and so forth.

My current scheme for 279GB:

  • NTFS - Primary - 16GBWindows 2000 (currently using)
  • NTFS - Primary - 16GBWindows XP (testing only)
  • NTFS - Primary - 16GBOpen (possibly Windows Vista?)
  • Extended – remaining
    • NTFS - 40GBApplications (shared all Windows)
    • NTFS - 40GBData/Work (including all saved materials + including Media)
    • EXT3 - 14GB – Linux 1 – Latest Fedora Core Release
    • EXT3 - 14GB – Linux 2 – Previous Fedora Core Release
    • EXT3 - 14GB – Linux 3 – Latest Fedora Core Test Release
    • EXT3 - 14GB – Linux 4 – Possible x86_64 (pending hardware purchase)
    • EXT3 - 14GB – Linux 5 – to be determined
    • EXT3 - 14GB – Linux 6 – to be determined
    • EXT3 - 32GB/home – shared
    • EXT3 - 32GB/data – shared
    • SWAP - 2GB

Some notes I would like to mention from experience and what I’ve researched.

  • Bootable Partitions – There are no /boot partitions required since the newer bootloaders (i.e. grub) and modern BIOS’s do not impose any limitations on booting from an Extended partition. However Windows has always been fussy, hence I leave them on a Primary partition regardless.
  • Multiple Distributions – I am not sure if I need space for 6 different distributions, although if I do purchase an AMD 64bit system in the near future, then this will be required as I may wish to test as many 64bit Linux distributions as 32bit.
  • Multiple Windows – Additionally I’m not sure if I wish to test 2 alternate Windows versions. Currently Windows 2000 suits my needs, but future hardware may force me to use XP or something else.
  • NTFS vs FAT32 – Currently FAT32 is read and write in Linux, however NTFS is read-only. There are some options for write to NTFS, but I don’t find them very reliable. Using FAT32 in the past has caused data loss multiple times, hence I no longer use it.
  • SWAP – I recall reading that you should have at least as much swap as you do have physical memory to support things like Software Suspend to Disk (S4 – “Hibernate”). I currently have 1GB memory, if I upgrade to 2GB, I may require more space.
  • LVM – Logical Volume Management – I lack experience in LVM but with my current configuration, every single operating system can at least read every other partition (e.g. EXT3 in Windows). I am unsure how I can achieve this using LVM.

There will probably be some reassigned space before I decide on the final layout, but I am sure the above will work well for me.

I am not recommending the above for anyone! This is only just some planned out reasoning so that I never really have to sacrifice any properly configured operating system so I can try or experiment with a new OS. For anyone who may comment about emulation or virtualization – I do not feel it is practical to truly test certain aspects of the OS.

To Deutschland

When I started this blog it was a “fork of thoughts” from my main blog with a focus on software and linux. So how does a trip to Germany fit it? I decided I would try to take note of the basic differences I observed in computing. Granted Windows is used in far more public places that people realize (i.e. flight status monitors), but people don’t realize that Linux is used in just as many in on different scales.

Curious experience with in flight movie service.

When I flew to India in 2004 the airline carrier I flew provided a service similar to television. There were several “channels” which one could browse through and select, so that everyone viewing that same channel would be watching the same thing. However on this trip, the airline carrier had entertainment on demand service. There were several options: Movies, Music, Information and Games. Using your hand control you could watch any movie (fast forward, pause, stop) or select through hundred of songs or a few games. So the network in place had to provide 250 or more(?) unique feeds to passengers. How was this accomplished? Linux of course.

Sadly, I wish I did not know that. Why? The only reason I was able to determine this, was because the in-seat displays would reboot. Often! For a breif moment you could see the Linux penguin on the kernel boot information and then if you knew what you were seeing, there was a flash of the “X” cursor (which is part of the X-server) before the navigation system launched. Once running it was very nice but stabilty is just as nice. My system as well as the person next to me, infront of me and 2 of the 3 main public screens rebooted at least once.

Of course, this is all really irrelevant. A poorly configured system really has nothing to do with its components, but for a multi-million dollar (possibly global) deployment, the bugs should be out of the system! Glad to see Linux out there, but people might get a bad impression. That is … if they knew.

Pocket Linux Server

About 2 years ago I purchased a Linux based PDA: the Sharp Zaurus SL-5500. The PDA was intended to be used on Windows and (later) Linux. The initial driver for Windows setup the device as a USB network device, however the latest driver set it up as a normal USB PDA. I found that using the older driver, I can assign an IP address to the device and configure it as a mini server. Although I no longer use it as a PDA, I have set up an Apache Web Server, MySQL database and PHP interpretter on it – all managed by setting up the SSH server. I sometimes plug it on various machines and do some web development or toy around with it.

I only recently heard of the Black Dog pocket Linux server. When plugged into ANY computer it will create a basic X-server and run a few basic (Linux) applications from the device within the host OS (Windows, Linux, etc.). It works similar to the Zaurus’ network capability over USB. Hence it can access anything the host computer can access. Even better it has an intelligent resume feature which can pretty much preserve your working desktop and resume it in place later on a different machine.

It ships with a 400Mhz process, 64MB RAM and base 256MB flash-based storage. My Zaurus, to compare, has 206Mhz, 32MB RAM and 64MB storage. Better yet it comes with a biometric scanner, is only 3.5 by about 2 inches in size, and already comes with Apache, SSH and several other programs ready to run. For about $250 you can get the 512MB model and if you plug in another SD card you can increase your storage easily.

Looks like I just found my Christmas present for myself.

Using Alternate Compilers

Users of Fedora Core 4, SuSE 10.0 and other distributions with GCC v4 may have found some open source softwares may not compile properly. Using alternate compilers may resolve the problem. FC4 also ships with GCC v3.2. There are many ways to specify alternate compilers during the build process, below are some ways.

Environment Variables
Most softwares support the CC and CXX environment variables. First assign them, then run configure or make. Example:

# export CC=gcc32
# export CXX=g++32
# ./configure

A good example can be found on the Redhat Mailing List.

Configure Support
If the software is using the standard GNU automake and configure, then there is a chance it supports other compilers by passing in a setting to the configure script. First run configure --help to see if it mentions anything. The following example is from MPlayer:

# ./configure --help
# ./configure --cc=gcc32

Makefile Support
Sometimes the software may just come with a Makefile. Open the Makefile and look inside to see if there are variables that specify the compiler. You can either edit those variables or set them at compile time. For example:

(in Makefile)

C_COMPILER = cc
CPLUSPLUS_COMPILER = c++

Then using the makefile, you can run:

# make CPLUSPLUS_COMPILER=g++32

Although the above examples are not exhaustive they should provide some ideas for using alternate compilers in Fedora Core and other Linux distributions.

I am also providing some notes from my FC4 Guide on GCC and GCC Compatability Libraries.

Another Linux User Blog

I think I’m finally ready to launch a Linux only technical Blog. I have no major goals other than to document some issues that I may wish to examine at a later date. Other than that I would hope that my notes regarding my experiences or observations may be useful to the general linux user community.

If you’ve visited my site before you know that I have a high preference to Redhat and Fedora. Also keep in mind that I still dual boot with Windows. And a quick note about my current title. Although I am very pleased with many offerings from Linux and Open Source software, I still feel there are many shortcomings and problems. I want to be realistic in my assessments. Hopefully something noteworthy will end up in these pages.