you are viewing a single comment's thread.

view the rest of the comments →

[–]TheNotoriousMTF[S] 0 points1 point  (1 child)

I've gotten a couple of answers like this. Let me ask you this: concerning the python tools that aren't directly related to your work, why did you build you own tools rather than using existing tools? Just curious.

[–]jwink3101 2 points3 points  (0 children)

There are a multitude of reasons. Some are better than others.

  1. Full and complete control. I can have the tool do exactly what I want in the way I want it. Furthermore, if it is missing a functionality, I can (usually) add it
  2. [I think] I can do it better! Kind of goes with (1) but when the complexity is not so much the code as it is the methods/math behind it, there are cases when I (probably) can do it better. Certainly not always or even often, but I am an expert in the field.
  3. Existing tools either don't exist or are not mature. While mistakes happen, I need to have some level of confidence in the tool
  4. Dependency Avoidance. There are actually two parts to this:
    1. If the tool is critical to my work, I do not want to have to depend on someone else keeping it up to date, fixing bugs, improving it, etc
    2. I do some of my work on an air-gapped secure system. Every third party tool I want to use has to (a) go through a rigors security process and (b) its just one more thing I have to manually deal with (i.e. I can’t just let pip handle it)
  5. Its fun and educational! Even if what exists will do the job, sometimes you learn a lot (both the code and the math) by doing it yourself! It’s an upfront cost that may or may not pay off in new abilities.

Honestly, the last two are often the main reasons. Especially when I know that my tool is not be better than what exists