Advice for freshmen entering college
JimmyL: Version control - use it for everythingEven things not software-related. If it's done on a computer, it should be in VCS. Ideally on a repo hosted by your school, if that's not possible, then one on a third-party machine that's run by as large a company as you can find. If you roll with DVCS, then make sure you also publish it to somewhere third-party. This is not only for the versioning, but for the dating of those versions. Having all your work under a VCS means you can say the following things:"Sorry Prof, I was a day late submitting this assignment because my flight had to pull an emergency landing in Reykjavik when this guy had a hart attack, and then we were locked in for a day by the fog. But here's a commit dated before the deadline, can you accept that?""No, I didn't plagarize that paper - you can see it develop over the past thirteen versions here, time-stamped over three weeks.""I had my circuit designed, but when I opened it to print OrCAD crashed and mangled my data - here's a version that's time-stamped to yesterday I can use instead."The third-party large-company aspect is good so that when they say (for all of those statements) "How do I know you didn't change the times on your server to make up that history of work?" you can respond with "The company that's hosting this had revenues of three million dollars last year, they're not gonna screw with their systems because I ask nicely." and then they drop the issue.