Actual usage of software is the best way to find bugs - especially ones you hadn't thought to look for. BottomFeeder has a syndication library that it uses for creating feed and item objects, and that library is now being used by Smalltalk-Central. Recently, I extended the way feed filters work - they had been used solely to filter items out (i.e., a match against a filter kicked the item). Mark Roberts wanted a positive filter, so I extended the library a bit while I was in Cincinnati.
However, the filtering had a flaw - the filters run sequentially, and while filter1 might keep an item, filter2 might knock it out. That's not really the behavior Mark was looking for, and since he was the person requesting the feature, it really should have worked the way he wanted it to. So this morning, while he explained the problem on the IRC channel, I fixed the code - it was a simple matter of having items remember whether they had been positively filtered during the filter loop. That's all done, Mark's happy with the code, and it's published.
Turns out that talking to the customer for a feature is usually the best way to understand the request.
Technorati Tags:
smalltalk