I'm just throwing this out there, because we could all share our source(for those who want to) as well as keeping backups and shareing knowledge.
Since the source code is usually smaller than most images that are posted, it wouldn't add that much space ot the current load that the servers have. This would also be great for collaboration efforts for a lot of the folks here.
Change Control The potential for developing a change control system for a large library of "parts" is brilliant. People could "check out" a piece of code and if they modif it, check it back in again.
yehhhs Liking this idea better already. Software parts (snippets) that would be improved upon each time someone implemented one in his project (or her). The next person to check out the part would receive all the improvements people checked in.
i forsee some problems with the picaxe code-parts if we don’t adhere to some standard for using variables. You dont want someone to mess up your symbol assignments because they’ve changed them before checking the code back in.
I definitly agree with you here, I do see various issues which would be why we would want to instill some sort of coding policy or practices that people should follow.
I know this may be a lot to ask, but at the same time, access to certain code sections could be restricted to certain members for checking in code, but checking out code would be allowed.
Im writing something in processing that i hope other people will use, im writing it as a class so that people can use it easily and extend on it. Could be a way round a few problems.
The point of the source code managment is that it allows for multple iterations with the same name. if somebody decides to comepletely hose it, we could go back to a good version prior to the last update(s).
The file repo has so many great features to it, you can compare versions, see what the developer noted and all sorts of other things without having to bring the source to your machine and scoure it for changes…
Linux is an example of the biggest problem with everyone posting their own versions. In its extreme, you’ll end up with one version which supports a colour display but not USB and another which support USB but only some colours. That’s bad enough, but then someone takes the version which only supports some colours and adds support for two displays because he really wanted teh USB…
What would be your suggestion on how we could handle this? As myc said, we could always restrict it to the original person who created the file to modify it as they see fit through suggestions on the forums…or we could leave it to the person who grabs the source and let them modify but not check in any changes without approval.
I’m not saying give everyone access though, we should have a core group that have access for projects that sevaral people are working on and for a possible core library.
Could you use the LMR "Compnents" system? These are after all "software components". If you TAG the components as "Snippet->PicAxe->Servo" or "Snippet->Arduino->Navigation" then people could navigate the TAGs in some kind of tree structure, similar to CodeProject.
Linux versions now only suffer this problem when new hardware types are released and the manufacturers are a PITA about it. When I started using Linux around 15 years ago, this was a problem I encountered. Certain falvours only supported given hardware.
Hardware is much more generic these days, though and source code control has become much more commonplace.
I see two major ideas emerging in this thread. Classes and Snippets. These are very different from each other. And therefore (diversity people!) must be complementary to each other.
I mean: they are both useful. When we tried to get a serial port to operate, we downloaded and installed the right class (or library or module). And then we learned (from the documentation!) how to use it.
When we tried to figure out how to forge the last two bits from eight different bytes into a new binary word in Picaxe Basic, we posted a snippet. The snippet was later retrieved to be used again. There is no point in writing a class for that. Even if that language would support it.
Both ideas promote reusable code. And nobody suggests that code be copied verbatim without first understanding what it does. Classes need to be heavily documented, snippets need to be heavily commented.
So you’re suggesting just using the forums vs an actual scm or just the hierarchy?
I agree with heirarchy, where we do something like rascalrobot suggested, but keeping this in the forum…not sure I think that idea would be good. We lose a lost of the functionality of an scm, like diffing, merging, among other such features…