Reuse! Recycle!

I was burned recently by the temptation to create anew rather than use someone else’s code. Now I’ve lost valuable time and I’m busy adapting the open source modules anyway. (I’m using the Python modules: pyevolve and networkx.)

Let this be a lesson to others. If the code already exists, use it. It makes your work more reproducible (just point readers to the module) and you won’t spend ages worrying that the results are due to buggy code (usually). The assumption there being that the open source code is better than what I could roll on my own. It almost certainly is.

Even if the desired functionality doesn’t exactly exist you’re probably still better off adapting the code than writing your own.

For example, pyevolve doesn’t explicitly support island model GA’s. Doesn’t matter, use your ability to mix and match populations in order to implement it.

Some of networkx’s graph generators randomize the number of edges? Too bad, do more test runs and average the results.

I hope my mistakes can be a lesson to others!

Neal Holtshulte

Neal Holtschulte began graduate studies at the University of New Mexico in 2010. Neal graduated with a BA in Mathematics from Williams College. He works with an amiable and talented group of people including his advisor Professor Melanie Moses. Neal is currently working on automated software diversity with network security applications. Neal makes time to run and occasionally race in the 5k to 1/2 marathon range. He enjoys video games and maintains that while any bachelor can boil noodles, sauteing vegetables officially classifies as cooking.
This entry was posted in Life in General, Research. Bookmark the permalink.