[IDLE] Central Texas LabVIEW User Community

cancel
Showing results for 
Search instead for 
Did you mean: 

Possible Topic for next meeting: Code Repository

Mark.Randol wrote:

As an Engineer/programmer, not an engineer/Programmer some really basic questions that come to my mind.

Respects to Fabiola, but as a non-SCC , individual , occasional 'programmer', and maybe not the target audience of the Austin UG, what's a Repository, and why should I care? 

It seems obvious to me that 'hello world' doesn't qualify as benefiting from SCC (unless you're gonna thoroughly geek out on it with bells and whistles).  When does this become useful? (follow up to above)

What security is available?  Mostly I've seen repositories for FOSS development.  I'm assuming it's available, but I don't see it mentioned.  Is it by user permissions?  Encryption?  Shredded and burned every night?

Regards,

Mark

A repository is the physical storage location for a given source code control provider. I belive the post should have been labeled 1) Name of your favorite SCC provider instead of repository. Anybody who writes code at all anytime ever should care about source code control. We can certainly talk about this in detail at next week's meeting but I'll try to briefly highlight points here. Source code control allows you to easily revert back to previous version of code. This allows you the freedom to embark on more radical changes to the codes without fear of not being able to get back to where you were. As a single developer that uses their own code, there is less benefits but they are still there. If nothing else, use Tortoise SVN. It is extremely simple and can be easily setup in less than 30 minutes.

Regarding your comment on 'hello world'... What happens when you manager requests that you use proper case? Now you need to change the code to "Hello world". You have a change, now 2 years down the road you find a client that was case sensitive and they managed to miss the update, all of the sudden it breaks at you can't remember what version you are using, what changed, when it changed, etc.

The security varies greatly among the different SCC providers. Please keep in mind that a repository can reside on the local disk (though I DO NOT recommend that option), this allows you to maintain the exact same security of any file that resides on disk.

While I've never attempted this, I'm pretty sure I can download and install Tortoise SVN and have a new repository up and running on my laptop in under 5 minutes, would it be helpful for me to take on that challenge at the upcoming UGM?

Charles Chickering
Architecture is art with rules.

...and the rules are more like guidelines
Message 11 of 18
(2,903 Views)

And we will miss you Fabiola.

0 Kudos
Message 12 of 18
(2,903 Views)

Let's see if I understand 'repository' now.  The intended meaning is storage + SCC, but it's not necessarily always that.  Sometimes it's only a network storage location.

Continuing with the 'hello world' example, if the case is precisely that trival, as in EXACTLY the classic example, if your contention is such a trivial change (case change) is sufficiently enhanced by an automated SCC system to make it worthwhile, then I'd like to see that because I find it difficult to believe. 

In the trivial case proposed, in any of your scenarios it seems even rewriting code is simplier / more straight forward than SCC.  What seems to me a better solution is, the nemesis of all technical professionals, documentation.

Now I can easily see in more complex projects, SCC would become essential to help manage the project.  We have such projects in the office already, and they are under SCC, but none in LabView.  At some likely fuzzy point, SCC isn't essential but becomes a Good Idea.  That's what I'm looking to get a feeling for. 

I'm sure the way most people find 'that point' is they go past it, feel the pain, then implement SCC.  If it's not already obvious, I don't like pain.

0 Kudos
Message 13 of 18
(2,903 Views)

Rule of thumb I use is that if you don't care at all about using the program in the future, don't worry about SCC.  I wouldn't use it for your hello world example, but hello world is not something I would ever care about using in the future. However; if you have any reasonable chance of using the code in the future, particularly if it may grow to more than a very trivial single file or two, then it's probably worth the small investment of time to put it under SCC.  You don't always know ahead of time how quickly your code will grow. Getting started with SCC is the hardest part, and that isn't really very hard.  Once you've used SCC, it's very quick to put files under SCC.  The thing I've found particularly useful is diff tools, file reversion, and it's very easy to see which files have been touched since you last committed changes.

Of course if you've made up your mind not to use it, it's probably easy to justify to yourself and no argument on this board will matter much.  Comments from Charles above were good.  I'd recommend setting something up that's very basic (like your hello world example) to convince yourself how SCC works, and then decide for yourself if it's worth the small effort to protect your code.

Good luck,

Scott Larsen, PE, CLAD

0 Kudos
Message 14 of 18
(2,903 Views)

Hey all, I'll be in on this panel.

As a brief intro, I've used four SCC providers (one or more online SCC service providers and SCC clients per provider) with a few dozen projects from team sizes between 1 to about a dozen. I enjoying dorking out on growing your business by improving operations and software engineering practices.

We can talk about providers, client options available (CLI and GUI), repo topologies, historical and future trends of SCC providers, SCC as it relates to feature branching and merging (*branch merging, not file merging), team dynamics and how to resolve binary file merging, build environments, onboarding new dev members (and onboarding your "future self" to old projects), repo structure strategy, repositories for deployed distributables, security, SCC with virtual dev environments (local copy on host or guest machine?), subrepositories, cross-platform development, project dependencies (e.g., do I check in the Run Time Engine and Drivers? Spolier: you betcha), repo bloat -- but most importantly, questions like "what's the absolute bare minimum I need to know about SCC to deliver the absolute most value?" (<< I like to call this strategic laziness)

Looking forward to seeing you this upcoming Thurs!

0 Kudos
Message 15 of 18
(2,903 Views)

@Scott - Trying it with something trivial is exactly the way I'd try it.  It's just the feel of it being a 'nuclear fly swatter' keeping me from it.  I'm looking forward to seeing demos.  I'm not against the idea, but there are plenty of great ideas which aren't worth the implementation cost.  Where this one is, I don't know.  I'm asking.  I just know enough that ~"All the time for Everything" isn't a good answer. 

@Charles - I think I said before and I'll say again.  A demo would be excellent.

@Jack - Ditto.  My theory is that all engineers should be well acquainted with the concept of 'Strategic Lazines'.

Looking forward to it.  Being surprised (aka wrong) can be one of the fun parts of the job. 

Message 16 of 18
(2,903 Views)

Hi

Looks like we will be having our panel discussion on SCC / Code Repository.   There is also still room for another panel member.  Please reply to the thread or send an email to myself or Drew with your interests. 

Mark

Mark Ramsdale
Program Manager & CLA
Global Demo and Equipment at National Instruments
0 Kudos
Message 17 of 18
(2,903 Views)

Hey all, Sixclear's own Jassem Shahrani will be on the panel too. Looking forward to seeing you all on Thursday!

0 Kudos
Message 18 of 18
(2,903 Views)