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