In episode 1, our rambunctious crew of physicists and nuclear engineers discuss a common problem in all of scientific computing: legacy code! We wax philosophic on issues in this space and provide suggestions for real-world solutions when you happen to inherit un-documented, un-tested, often-used programs that somehow constitute science.
Today’s lovely hosts include:
- Milad Fatenejad
- Katy Huff
- Jonathan Rocher
- Anthony Scopatz (moderator)
Intro/Outro Music: ‘Bulletproof’ -La Roux
Listen to the podcast
Show Links:
Posted in: Episode
Katy Huff
2011/02/22
This was a ton of fun.
Also, I’m so glad you used La Roux for the intro/outro music. 🙂
Thanks Anthony!
Anthony Scopatz
2011/02/22
Here’s looking at you, Tigerlily!
I have had La Roux stuck in my Tron-esque dreams since the THW:SCBC:2011. So really, I should be thanking you!
Gary Ruben
2011/02/23
Thanks for the interesting podcast. I identified quite strongly with this subject, as a Python and ex-C programmer having recently joined a small group with a bunch of legacy mixed F77/F90 code with obscure short variable names, virtually no documentation, and haphazard indentation. I found Doxygen to be pretty useless with fortran code and moreso with F77 code. I even struggled to find a pretty-printer/code reformatter for Fortran, and ended up hand-reindenting the few hundreds of lines of code that were the core of the software and that I needed to understand. I thought the most interesting part of your podcast was the discussion around result reproducibility where you mentioned things like seeding random number generators and keeping code snapshots around, and I think this subject of designing/writing code to make result reproducibility easy would be a great subject to devote a whole program to in the future.
katyhuff
2011/02/24
I’m disappointed to hear that Doxygen was pretty useless with Fortran code. I’ve never used it personally for fortran but always assumed (and have likely suggested to strangers) that it probably works as well on fortran as it does on C code. Bummer. Perhaps a good purpose built project is called for here …. http://rubyforge.org/projects/autodoc-fortran/ or https://code.launchpad.net/~david-huard/+junk/fortrandoc .
I’m glad you appreciated our commentary on reproducibility. Perhaps the people behind VisTrails will be willing to be special guests for a provenance-dedicated show!
Gary Ruben
2011/02/26
I should clarify that it seemed to me that Doxygen does support Fortran90 and later versions where the code is structured according to some rules that our legacy code evidently didn’t conform to. The result was that Doxygen generated hardly any output for our code. Perhaps 95% of the functions in our code simply didn’t appear in the autogenerated output. So Doxygen is probably OK for a new Fortran project that will be written using good practices, but for my case, it was not helpful.