SpamAssassin, spam_buttons, Squirrelmail, and CentOS 3

After more than 6 years, I’m finally starting to get spam on my primary email address. It has certainly helped that the address has not been published: my fans need to use my contact page first.

The QVCS Guide has clear instructions on configuring SpamAssassin to filter out spam. Once I had this configured I tracked down the spam_buttons plugin for SquirrelMail.

Theoretically, spam_buttons should have been an easy way to mark email as spam or ham (non-spam) from SquirrelMail. Alas, I had to fight a little to get this working. The missing piece was sudo -H in config.php.

  1. Follow the spam_buttons INSTALL instructions.
  2. In /etc/sudoers:

    apache ALL=(ALL) NOPASSWD: /usr/bin/sa-learn
  3. In spam_buttons/config.php:

    $is_spam_shell_command = 'sudo -H -u ###USERNAME### /usr/bin/sa-learn --spam';
    $is_not_spam_shell_command = 'sudo -H -u ###USERNAME### /usr/bin/sa-learn --ham';

Shaw SOHO Xtreme-I With Two Static IPs

Ten days ago I upgraded our Shaw residential internet to a business account: SOHO Xtreme-I with a pair of static IP addresses.

We’d been having frequent internet outages, probably because we had an old Motorola CyberSURFR Wave cablemodem. The symptoms: I would be unable to ping the gateway address, I’d check the modem and the ‘cable’ light would be flashing. I’d call Shaw’s residential tech support and they’d begin asking really stupid questions.

“Do you have a router?”

“What kind of operating system do you use?”

“How many computers are connected?”

Trying to explain that the flashing ‘cable’ light meant there was a problem between the modem and Shaw’s infrastructure was an exercise in futility.

After a few minutes or a few hours of interruption, the CyberSURFR would once again begin talking to the internet at large.

So I did two things:

  1. Went to Shaw’s retail outlet and exchanged the CyberSURFR with a Motorola DOCSIS SURFBoard (SB5101);
  2. Upgraded to a business account.

The former put us on a newer network — I suspect the CyberSURFR network is old and crufty, and likely that’s the reason for the frequent outages. The latter allows us to talk to semi-intelligent tech support people.

By upgrading from the base SOHO to Xtreme-I we get a theoretical 1 Mbps upload speed, which is good for Personal Thyme.

Last week I phoned Shaw’s business tech support and asked them to update the reverse DNS for my static IP so it pointed back at The tech actually understood what I was saying — don’t try that with the residential techs.

After 10 days we’ve had no downtime at all. I’m pretty happy with this so far.

First Appointment With the Dentist

When we brush Alice’s teeth she makes it difficult to reach the ones on the upper right. We asked her why and she told us they are sore.

We made an appointment and met with the dentist yesterday. I left work and met my girls just after they arrived.

Alice had brought one of her blankets with her, and took that in when it was her turn. She seemed to like sitting in the dentist’s chair and watching Treehouse on the big LCD TV while we waited for the dentist.

When the dentist arrived he reclined the chair. Alice was a little unsettled by this, but didn’t get upset. It might have helped that Corinna and I were both there with her.

When he turned on the light, Alice wanted her blanket to cover her eyes. Once she was well shielded from the bright light she willingly opened her mouth really wide.

The dentist had a good look and said that Alice’s teeth looked fine. The cause of her discomfort: late erupting molars at the back of her jaw. There was no reason for concern, and he even said Alice’s teeth are nicely spaced.

Because Alice was so good for her first dentist’s appointment, she got to pick out a toy from the toy box. Alice selected a nicely coloured skipping rope. We went for lunch at Subway, and Alice ran around the restaurant pretending to jump rope. It was pretty cute.

More Coffee

“When I get big like you I can make coffee. That will be yummy for me.”

Trail Appliances Fixing our Amana Fridge Today?

Trail Appliances ordered some parts for our Amana fridge when it froze up three weeks ago. We were waiting for them to call us and arrange an appointment.

Yesterday when I woke up I noticed that the fridge was warm — it was frozen up again.

Frozen Heat Exchanger

Too warm for comfort

We emptied the fridge and began defrosting it aggressively. We’re kind of sick of this, but this is the fourth time so we’ve got a procedure we follow. It involves throwing out lots of food, and buying bags of ice.

We called Trail Appliances again, and in the afternoon I got a call from their parts department. The parts had arrived and they wanted to schedule an appointment. It would have been nice if they’d installed the parts before we had to throw out our food.

For some time now we’ve considered buying a second fridge. We occasionally need a little more space than we have in the Amana. Yesterday seemed like a good time to go shopping. We bought an 18 cubic foot Kenmore from Sears. No, we won’t be buying any more fridges from Trail Appliances.

Today the service tech is going to arrange a time to install some replacement parts. Hopefully our Amana will become a safe place to store perishable food.