Bogofilter 0.10.1.5

Nick Simicich njs at scifi.squawk.com
Sun Feb 2 11:36:45 CET 2003


Compiles cleanly, make check runs cleanly.

I noted that the release notes give a high level overview of the bug 
changes between .1 and .5, pretty much lumping everything together.  I 
decided to see for myself what the actual differences were, so I did a diff 
between the versions and I saw a lot of changes.  Some, of course, were 
lame little format changes when someone with different curly brace styles 
worked on a module.  Others were real changes (although I agree that they 
were minor).

Changing the diff parameters to "-i -w -b -B -u -P" (reduces noise caused 
by space differences, and accounts for new files) and filtering the output 
through | grep '^\+[^+]' | wc -l gives "105" on the system I usually run 
bogofilter on.  That is a lot of lines of code change, no, for something 
almost stable?  (it is 107 when you grep -v '0\.10\.1').  If you just untar 
the tar files, and you remove the limitations that hold you to *.c or *.h 
files, it is about 107/264 lines.  Then again, that is going down - 1606 
lines from 3 to 4 (including new test case data, like valgrind.  174 when 
you just consider *.c and *.h files. 185 lines difference from 2 to 3, with 
139 of those lines in the *.c and *.h files.

My question, is about the comment that changes are slowing down.
139/174/107 does not seem to me to be that significant of a slowdown. 
(185/1606/264 is likely to be bogus because of all of the non-programming 
changes that are included.)

When I was working for a living, I spent about a year as a tester.  We did 
nothing but look at things like this, and generate reports, as well as 
writing test cases and the like, and helping the occasional programmer 
understand why the problems we reported to them were actual bugs, sometimes 
with a club.  Sometimes we were able to point out important things that 
otherwise would have been missed and which supported the business, and 
which also got a lot of people irritated at us.  I made no real in-depth 
effort to judge the type of change or such, so I guess I am wondering:  Do 
you feel like your call, that changes are slowing down and this is a good 
time for a stable release, is a good, solid subjective call?

It may well be that the overall stability of the code at this level is 
higher than it was, one way or the other.

4 to 5:

[njs at parrot bogofilter]$ (for a in $( cd bogofilter-0.10.1.5 && find . -type f
); do diff -i -w -b -B -P -u bogofilter-0.10.1.4/$a bogofilter-0.10.1.5/$a; 
done
) | grep -v '0\.10\.1'| grep '^\+[^+]' | wc -l
     264
[njs at parrot bogofilter]$ (for a in $( cd bogofilter-0.10.1.5 && find . -type f
\( -name '*.c' -o -name '*.h' \) ); do diff -i -w -b -B -P -u 
bogofilter-0.10.1.
4/$a bogofilter-0.10.1.5/$a; done) | grep -v '0\.10\.1'| grep '^\+[^+]' | wc -l
     107

3 to 4:

[njs at parrot bogofilter]$ (for a in $( cd bogofilter-0.10.1.4 && find . -type f
); do diff -i -w -b -B -P -u bogofilter-0.10.1.3/$a bogofilter-0.10.1.4/$a; 
done
) | grep -v '0\.10\.1'| grep '^\+[^+]' | wc -l
    1606
[njs at parrot bogofilter]$ (for a in $( cd bogofilter-0.10.1.4 && find . -type f
\( -name '*.c' -o -name '*.h' \) ); do diff -i -w -b -B -P -u 
bogofilter-0.10.1.
3/$a bogofilter-0.10.1.4/$a; done) | grep -v '0\.10\.1'| grep '^\+[^+]' | wc -l
     174

2 to 3:

[njs at parrot bogofilter]$ (for a in $( cd bogofilter-0.10.1.3 && find . -type f
  \(  -name '*.c' -o -name '*.h' \) ); do diff -i -w -b -B -P -u 
bogofilter-0.10.
1.2/$a bogofilter-0.10.1.3/$a; done) | grep -v '0\.10\.1'| grep '^\+[^+]' | 
wc -
l
     139
[njs at parrot bogofilter]$ (for a in $( cd bogofilter-0.10.1.3 && find . -type f
); do diff -i -w -b -B -P -u bogofilter-0.10.1.2/$a bogofilter-0.10.1.3/$a; 
done
) | grep -v '0\.10\.1'| grep '^\+[^+]' | wc -l
     185

2 to 5:
[njs at parrot bogofilter]$ (for a in $( cd bogofilter-0.10.1.5 && find . -type f
  \(  -name '*.c' -o -name '*.h' \) ); do diff -i -w -b -B -P -u 
bogofilter-0.10.
1.2/$a bogofilter-0.10.1.5/$a; done) | grep -v '0\.10\.1'| grep '^\+[^+]' | 
wc -l
     381
[njs at parrot bogofilter]$ (for a in $( cd bogofilter-0.10.1.5 && find . -type f
); do diff -i -w -b -B -P -u bogofilter-0.10.1.2/$a bogofilter-0.10.1.5/$a; 
done
) | grep -v '0\.10\.1'| grep '^\+[^+]' | wc -l
    2002
[njs at parrot bogofilter]$

--
SPAM: Trademark for spiced, chopped ham manufactured by Hormel.
spam: Unsolicited, Bulk E-mail, where e-mail can be interpreted generally 
to mean electronic messages designed to be read by an individual, and it 
can include Usenet, SMS, AIM, etc.  But if it is not all three of 
Unsolicited, Bulk, and E-mail, it simply is not spam. Misusing the term 
plays into the hands of the spammers, since it causes confusion, and 
spammers thrive on  confusion. Spam is not speech, it is an action, like 
theft, or vandalism. If you were not confused, would you patronize a spammer?
Nick Simicich - njs at scifi.squawk.com - http://scifi.squawk.com/njs.html
Stop by and light up the world!



More information about the Bogofilter mailing list