LabVIEW User Group Meeting February 18 2014 Cole Van Vlack
Who Am I?
Goals Improve Connect Have Fun
Initial Topics Version Control Provenance Testing Configuration Files
Scenario
Scenario
But Wait...
Initial Topics Version Control Provenance Testing Configuration Files Keep everyone working on the same code. Keep track of differences. Roll Back Provenance Data was generated by code version X Data was generated with parameters y Testing Always have to verify code Make it automatic Configuration Files
Version Control
Version Control
http://www.phdcomics.com/comics/archive.php?comicid=1531
Provenence Input-File: 2010-10-29 / Hornings Mills / 143 Input-File: 2010-10-28 / Danbury / 31 XY-Data: 0 1243 1 1157 2 1161 3 1104 4 1092 http://software-carpentry.org/v4/essays/provenance.html One of the capstone ideas of this course is automatically tracking the provenance of scientific data. In art, the "provenance" of a work is the history of who owned it, when, and where. In science, it's the record of how a particular result came to be: what raw data was processed by what version of what program to create which intermediate files, what was used to turn those files into Figure 6 of which paper, and so on. It's only one line, but it's a big change: the output file now has a record of its provenance. And we can feed this forward using the same trick. For example, if we're averaging results of lots of experiments, we could arrange things so that our final output file—the one we hand over to IDL or MATLAB to generate the graph we need for our paper—would look like: Input-File: 2010-10-29 / Hornings Mills / 143 Input-File: 2010-10-28 / Hornings Mills / 127 Input-File: 2010-10-28 / Danbury / 31 XY-Data: 0 1243 1 1157 2 1161 3 1104 4 1092i.e., it knows its own provenance too. No more hunting around in a panic the night before the paper is due trying to figure out which data files we need to re-generate Figure 6 because the journal wants it as an SVG instead of as a PNG; no more nightmares about someone accusing us of faking our results because we can't... quite... reproduce that crucial table from three years ago.
Setting Up Subversion Slik Subversion TortoiseSVN Setting Up Subversion on Windows Backing up your Subversion Repository Running Subversion as a Windows Service Software Carpentry - Subversion
Integrating Subversion With LabVIEW Source Code Control: Using TortoiseSVN (Subversion) with LabVIEW for Diff and Merge Operations How Do I configure TortoiseSVN to use LabVIEW Compare for Diff Viewing? Viewpoint TSVN Toolkit via VIPM JKI TortoiseSVN Tool via VIPM
Accessing the Project
Example Checkout, Commit, Merge Explain the concept of a repository and a server Repository contains ALL the versions. Local copy does not TortoiseSVN Checkout
References and Links Software Carpentry Joel on Software - The Joel Test: 12 Steps to Better Code Check In Early, Check In Often Best Practices in Scientific Computing