Teaching basic lab skills
for research computing

Interview with The Hackers Within

Today's interview is with Nicholas Preston, Katy Huff, and Milad Fatenejad of the The Hacker Within at the University of Wisconsin-Madison.

Tell us a bit about your organization and its goals.

The Hacker Within is a student-run, skill-sharing, interest group dedicated to scientific software development at the University of Wisconsin-Madison. We typically meet every week or two discuss programming and computation. The meetings are also a good place to ask questions, share ideas, and meet others who use computation in their research.

Tell us a bit about the software your group uses.

The software our group uses includes:

Languages
Fortran
IDL
Python
Perl
C/C++
R
XML (SVG)
SQL
Editing
Vim
Emacs
Kate
Writing
LaTeX
Sphinx
Rest
Web
Django
Web2Py
Trac
Version Control
Subversion
Mercurial
e-Science
scipy
numpy
MatLab
Mathematica
R
Specialized
Agricultural modelling software (e.g., Agro IBIS, Pegasus)
Natural Language (Processing) Toolkit
Mesh tools (MOAB, MOOSE, etc.)
EES (Engineering Equation Solver)
Bayesian statistical tools (e.g., WinBUGS)

Tell us a bit about what software your group develops.

We primarily develop software for use in-house (e.g., our departments and lab groups), but this varies among our members. Some are involved in open source projects as hobbyists and some of the research tools are being spun into the public domain. Our members develop tools for wide-range of disciplines, including nuclear engineering, physics, medical imaging, geographic information systems, epidemiology, ecology, data visualization, and statistics.

Who are you hoping Software Carpentry will help?

Software Carpentry would help both our group members and colleagues. Our group members often have discipline specific knowledge, but may not have exposure to computational tools which would improve their research efficiency. For example, some are physicists in large research groups without experience using version control and some are Scipy/Numpy wizards who lack experience with data driven web design (for data sharing) or statistics (e.g. R). Everyone would benefit from exposure to new tools, tips, hacks, and languages.

As for our colleagues, the course would be useful for attracting new members to our organization; many of whom have basic scripting (hacking) experience with a specific research tool but have limited general programming literacy. Often potential members express an interest in contributing to open source projects, but they are unsure where to begin and are not familiar with the tools for collaborative code development.

How do you hope the course will help them?

The fundamentals of being a good programmer. Our colleagues are increasingly expected to program for their research, but most don't have formal computer science training. Rather than taking a general course, there is tremendous interest in learning specific and applied skills, such as how to use a text editor, how to do version control, or how to debug. It would be ideal if we could also communicate general "best practices" and concepts that are language agnostic.

How will you tell what impact the course has had?

We have been individually monitoring the development of the course materials, but have not yet used the materials for teaching. When classes, and our Hacker Within meetings, resume this fall (2010) we plan to work through some of the modules in our meetings and do some test teaching with our colleagues.

INTERVIEWS · UNIVERSITY OF WISCONSIN - MADISON

Dialogue & Discussion

You can review our commenting policy here.