2010-04-05 19:15 Programming Problems in Disguise


Picture from the referred article

Jukke found a nice article about Programming Problems in Disguise. We faced this issue with AbuseHelper. While configuring AbuseHelper to production use for 2 CERT-teams, the configuration was very much of a programming problem. So we decided to scrap the .ini files and started using python for configuration. First experiences: very neat from programmers perspective.

The first argument against using .py vs .ini is often 'easy of use (configure)'. In my not-so-huble opinion the claim that .inis and .cfgs are simpler than .py is not valid. What I do agree however, is that with .py it is easy to come up with configuration file that is not understood by a regular maintainer, now that we have the power beyond regular configuration file.

At the moment I believe that the question is more about the required flexibility than the syntax of the configuration file.

Configuration is a thing that would be nice to make simpler and simpler, up to the point that there is no configuration. :) (For example you don't need to configure Clarified Analyzer at all.) With AbuseHelper, we will probably never get completely rid of configuration - it is a toolkit after all. We have now reached the level of flexibility we thought was needed - it should facilitate the varying needs of different CERTs. And the simplicity side is now handled with a confgen script, which will get the users started without a need to understand Python. But if you want to unleash the full power of AbuseHelper, you should understand a little bit of our beloved snake.

I'll promise to write another blog entry when we discover how to make configuration both, ultra easy and ultra flexible. :)

-- jani 2010-04-05 16:45:24

return to the blog ...