On Mon, Mar 14, 2016 at 12:06:20PM +0530, Deepankar Tyagi wrote:
Extended goals: #1 create a module which does anomaly detection(machine learning)
Unless you have a very specific plan, I would advise against this. Sound applications of machine learning are time-consuming, and Tor's setting is particularly difficult to tackle as a large fraction of a relay's information (e.g., nicknames, port numbers, bandwidth values) are controlled by an adversary.
#2 write behavioral and integration tests.
Sounds great. I would also really like exitmap to be Python 3-compatible.
#1 In bin/exitmap "#!/usr/bin/env python" is used instead of specifying python2 or python3, Can I assume that code currently contains nothing which makes it biased towards one python version or the other. If yes then should one keep python2 in mind when developing ?
For now, exitmap only supports Python 2 although there's probably not much that prevents it from being Python 3-compatible.
This assumption should be made explicit, so I replaced all "#!/usr/bin/env python" lines with "#!/usr/bin/env python2" in commit a4dccea. Thanks for pointing this out.
#2 As per the list subscribers' opinion, should the unit test be written after implementing core functionality only or is it better to write test alongside after each iteration of finishing parts of task? (in context of exitmap).
Personally, I don't feel strongly either way as long as they are written.
#3 Should one aspire for as much less dependency on external libraries (other than stem) or if no then should one follow a rubrik when selecting a library ?
I think we can decide case by case if we want to rely on a new library.
Cheers, Philipp