I do plumbing

Matts on 2007-07-26T02:39:02

I feel like I really accomplished something today. I actually re-implemented some of the core features of SpamAssassin and made it about 8 times faster. BUT that's not what I'm proud of.

I plumbed.

I managed to accidentally wrench off a tap in my garage a couple of weeks ago, and so I had to re-plumb it back on. But being right up against a drywall it was a bit more complex - a case of cut the pipe, clean the pipe, put on new tap, solder it on, solder on half a joint on the other end, and finally solder the two pieces of pipe back together at the joint end.

Yes it leaked first time. But I realised my screw up - I had soldered it back together with the tap closed, so the air/steam pressure build-up blew the solder out of the join. It doesn't tell you not to do that in any of the instructions, but at least I felt like I learned something. And with plumbing, you learn FAST or you get wet.

So now I can add "basic plumbing" to my resumé. Sweet.


SpamAssassin Speedups

Herkemer on 2007-07-26T04:59:15

So, what did you do?

Re:SpamAssassin Speedups

jmason on 2007-07-26T10:05:00

seconded ;)

Re:SpamAssassin Speedups

Matts on 2007-07-26T13:14:14

Hahah, somehow I knew that might solicit responses.

In our mail environment the mail is already pre-parsed, and so rather than call the entire SA I just parsed the rules out (for now ignoring eval: rules) and run them over my pre-parsed email. Saves going into the SA engine. By making it all a LOT simpler (i.e. about 8 methods in total rather than the hundreds in SA) it's an awful lot faster. There's a lot of overhead in SA to support some freaky weird setups, and honestly just too much bloat.

I'm working on figuring out how I can make some of the important eval: rules work now.

This way I can also work towards porting some of it to C.