lockwasher design

Paul Loughridge is one of those people who does amazing things with other people’s junk, turning it into drool-inducing sculpture. From pieces of scrap and parts from all kinds of every day items he creates robots, animals, vehicles, bugs, and all sorts of other cool stuff. If you’ve never head of him, check out Lockwasher Design and his photostream for examples of his work.

Love it, love it, love it.

dspam 3.8.0 as content filter with postfix breaks quarantine re-training

Ugh. No matter how much I try and cover all the bases, some little thing always turns what should be a 2-3 hour transition period into a 12 hour ordeal. Everything went pretty smoothly until final testing on re-training false positives with dspam. I had tested it with the existing quarantine, which was created under dspam 3.6.x, and everything worked fine.

So I flipped the switch, and as mail started to filter in after the switchover I tested the training app and, well… telling dspam that a mail it had flagged as spam wasn’t actually spam didn’t work. It’s a long, sordid story, so I’ll cut right to the chase.

This problem only appears if you are using postfix as the MTA, and running dspam in daemon mode via LMTP using the configuration outlined in ./doc/postfix.txt

Here’s the symptoms:

  • Attempting to retrain false positives in the quarantine fails. You can select the message for retraining, but when you submit the form the page simply reloads with the message still in quarantine.
  • Attempting to retrain false postives from the history page are reported as successful (message is marked as retrained in the history), but the message remains in the quarantine list and is not delivered to the mailbox.
  • Attempting to view the message in quarantine results in a blank screen
  • ^M characters are in the user’s .mbox file (this is the root cause of the problem)

The problem with 3.8.0 is that it adds <CR><LF> as an EOL to the user’s .mbox file instead of just <CR>. This breaks how dspam.cgi parses things. John Peacock came up with a fix for dspam.cgi that enables it to parse the messages properly, but that addresses the symptom, not the root cause, which is dspam itself. If you’ve had any messages delivered to your users without the dspam fix, you’ll probably want to modify dspam.cgi with the John’s patch until it’s reasonable to think the users have dumped their quarantines (or care about the messages in them).

There is a patch for dspam that corrects the problem, but it is unfortunately not in CVS, nor in the release tarball. The patch was only posted to the dspam dev list, and was a little hard to find until John sent it to me. For reference, this information is available at the mail-archive for dspam-dev under “Patch for ^M in Quarantine / Blank Quarantines”. The patch file is also at the bottom of this post, and you’ll need to patch dspam.c in your source and recompile. This will correct the linefeeds being inserted into the quarantine, and everything will play nice moving forward.

Huge, huge thanks to John Peacock for providing the trail, and for answering mail on a holiday pointing me at the fix. I was kind of banging my head over this from 2am through 8am. Good times.

Patch after the jump:
Read more

not-quite-ghetto light box

Here’s a great idea for e-bay and other lightbox photography: use that cooler sitting in the basement or garage as your light box/tent. Of course, said cooler should be dirt/mold free, or the results won’t be as good as they could be.

The link goes to Strobist, which is one of the coolest photography blogs out there. The post itself was from back in April, but appeared in this quarter’s Make: Magazine. Make: is quite possibly the best serial publication (offline and online) I’ve ever subscribed to.

impala red-o

I seem to be getting out and actually taking the odd picture again; it’s been sorely needed. I’m frustrated with the long time it’s taken to get where I am with the knee (which is at a point where I can _finally_ consider treatments that may actually help things), and getting out and snapping is surprisingly therapeutic.

A few of us from work decided a MFBT field trip was required, so we schlepped our gear through the market and ended up at Chez Lucien for burgers and beers. It was gross outside, with the heat and humidity threatening to melt us all, but we persevered (and the cold pops at CL were so much the better that way).

This was one of the last caps of the night; a gorgeous Chevrolet Impala parked out on Laurier E. I mucked with the photo a little to fade the colors and leave the reds strong. This was the result, I like it. If you want to see what it looks like on a black background, click here.

ie + flash + overlay divs = blecchy z-index css fun

See that video window? It is supposed to be covered by the links page. Obviously, it’s not.

Apparently this is a fairly common problem with IE. Embedded flash applets that like to peek through CSS divs that should be resting nicely over top of the flash app, obscuring the content in the overlay (the links page, in this case).

I’m reasonably sure it has something to do with MS’s DirectX video overlay, but that is pure speculation and I’m way too lazy to find out for sure.

In any event, if you run into this, here’s some more info along with fixes:

Flash content and z-index

and

Experimenting with Flash content and z-index

Good to know!

Also, Firefox doesn’t have this problem, and you really should use that, anyways. Yes, it’s a shameless plug. Deal. 🙂

Also, also, the site pictured is amalah.com (pronounced AIM-a-lah (bitches)). If you haven’t heard of her or read her stuff, you should. She’s wickedly funny, sarcastic, and cool. Go read. Now!

les trottas sont ici

The Trottas – Jake, Zoe, Walt, and Lee – made their way to Ottawa for what’s become an annual weekend of fun. They made the journey in their suburban cruiser for the first time, which gave Lee the opportunity to pack everything they needed for the weekend. Everything included a pool, and pretty much all the food the kids ate the four days they were here. Preparation or mania, you decide!

We had a great time, despite ultra-humid and ultra-hot conditions for the first couple of days that threatened to kill my air conditioner. They arrived Thursday night and were met by both James and I. Food was required immediately, so it was off to Patty’s with the entire crew for sammiches, burgers, fries, and beer. We finished the eve with some wine, some conversation and a half-hearted attempt to watch Serenity for the bazillionth time (I think we lasted 10 minutes).

Friday was disgustingly warm, and we needed to take the kids somewhere to entertain them and give Walt and Lee a chance to play with their new toy; so, to the Museum of Civilization (specifically, the Children’s Museum) we went. We stayed for a few hours watching the kids be entertained, as well as Jake testing the motion sensors on one of the exhibits and subsequently using his best “who, me?” look with security.

The afternoon involved proving what responsible adults we were by blowing up a pool on the balcony, filling it with six inches of water, and letting the kids go nuts. Very, very entertaining. We finished off with more beer and wine, Indian food from Nagina, and making it through all of Serenity (this time).

Saturday was the annual BBQ a hold to get all the friends together, and for the first time the number of rugrats present threatened to outnumber the adults. There was around 35 souls all told, and we feasted on a ridiculous amount of meat, veggies, starch, salt, wine beer, trifle (thanks, Barb!) and chips. We finished the event with 150-odd sparklers for the kids, the start of which is pictured above.

Thanks to Lee for all her help in prepping, Walt for fearlessly watching the kids, Kev for BBQ-ing one-handed, and to everyone who showed and shared the day with us. To those of you who couldn’t make it, you were missed. Also – to all of you who had a chocolate-chip cookie: those were MINE, dammit! 🙂

Sunday was a slow morning, a trip to the playground, coffee, and general laziness until we headed up to Wakefield to visit the Heginbottoms. Mr. and Mrs. H treated us to roast lamb and chicken with sausages and maple, a wide variety of salads, and s great selection of deserts. We finished the day with a few glasses of wine and good conversation ’til midnight, and we called it a night knowing The Boy would probably be up at 6-ish.

On Monday the suburban explorer was repacked, and the Trottas returned from whence they came (New Jersey… but they’re still cool).

An awesome time was had by all, and I’m still recovering from Zoe and Jake withdrawl. Thanks for coming, guys, it was a great time!

Brewer Pavillion #5

Ian David Blüm is definitely one of my flickr faves. His picture of the Brewer Beach Pavillion brought back some long-forgotten memories.

Brewer Park is across the street from Carleton University here in Ottawa. It is on the banks of the Rideau River and, at one time, had a sandy beach on the pond where people would actually swim. When I was 5 or 6 I attended a camp in Brewer that was run by one of my parent’s friends, Mr. Joly.

I remember very little of that camp, but I remember the beach.

The beach itself was man-made, and surrounded Brewer Pond. The sand was trucked in and dumped every year, and was a pretty good example of what was a really bad idea. In the early seventies the pollution standards in Ontario changed, and the beach was closed and left to go fallow. Today it’s a collection of weeds and grass, with all of the sand collected and sent downstream by momma Gaia (or city workers).

The pavillion, which housed change rooms, a canteen, and equipment for city-run programs, remains. It’s the only reminder of what was once one of the cooler inner-city swimming holes Ottawa once had, and now is used as a spot for local artists to leave their mark, and for local football teams to store their stuff.

I sure don’t wanna see it back, but I remember it.

dear senators:

there’s already a solution to your problem. it’s called a parent. how about focusing on making them understand and account for what their kids are doing? if they can’t, the “think of the children” scope is probably bigger than just the intarweeb… I’m just sayin’…