Colaboration Tools – SVN
The other night I was listening on Teamspeak as Bill – KD5TFD and Tony - were discussing oscillator and receiver performance of the SoftRock40 V5. Bill had posted a link to about 40 scope traces on his website that were the focus of the discussion. I had no part in it, but felt that I was privileged to be hearing and viewing a live magazine article in QEX. Since it’s inception about 1.5 years ago this type of conversation has occurred many times over on many different projects. Although I provided Teamspeak so Gerald, and sdr-1000 owners might just have a discussion forum for presenting ideas and updates, it has been used far more as a collaboration tool. Had it not been for Teamspeak, the SoftRock40, UCB and many other offshoots, currently including the FPGA, collaboration might not have happened at all. If they did happen they would have evolved, MUCH more slowly. Teamspeak happened to be the right groupware tool at the right time.
My point here is a tool very effectively being used for a needed purpose – springboard rapid active collaboration and project delivery.
The fpga offshoot interest group known as Xylo came together almost overnight with Dale WA8SRA and Don – AE5K providing almost instant and abundant resources for the group. One resource Dale provided was an SVN server. SVN and CVS are client/server collaborative document versioning tools. We have all heard them mentioned before, but I suspect few are using them or understand how they work. Some of the FPGA folks put some files up on the server but no one has jumped on the value of the usage. I think part of the reason is that everyone thinks there is a huge learning curve to overcome. That they are very complex and not worth the effort to learn. This past week I decided to look into it a little further and have been PM ing Dale to get some idea how they work.
Frankly I found it to be much easier than I imagined, and to my way of thinking almost a necessity to accelerate programming projects. Actually any project where more than one person is working on a document or group of related documents (like a User Manual?). It even is helpful for ONE person to use it in a local project!
It is easier than Teamspeak to install and begin using. The learning curve is not that bad, if this dummy (me) can do a couple of hours of reading and experimenting and use it effectively.
The SDR-1000 open source development path to date has been one of individuals working on the released source code, making modifications, e-mailing the modifications to Eric1. Eric1 evaluates the snippit of code or whole project and includes changes in the next beta release or does not use it. This is not bad, and it accomplishes the purpose of always having a stable release version and a beta which is offered back to the users from FlexRadio. It HAS worked very well and we DO have a stable, documented release. It is also a very dangerous method since it really IS NOT VERSIONED. The result of which has happened to Bob – N4HY a number of times working with Eric1. He e-mails a big file with his improvements only to find out that the file he sent is an old one with bugs in it, that he has already corrected once in a later revision of the file. NOT GOOD! The adage is that AOL AIM is not a versioning tool.
Occasionally users like Bill – KD5TFD make modified versions of their project on their websites. Bill’s code is good until the next Beta version is released, and then Bill’s version is no longer the current version with his mods. We as users download Bill’s code and like the mods, then we lose them to the next beta release, unless Bill does extra effort to include his mods in the new release.
John – K2OX is the most recent of the fantastic contributing programming folks doing this. We may or may not see the audio recording mods he has made to the code which sound VERY interesting and some of us would like to play with it. John also mentioned another development he is working on. A standard user specific include file which can be compiled into the latest release from Flex Radio. That WOULD be very nice and approximates a ‘user modal approach’.
All of these efforts lack two important things, collaboration and some method of versioning. The same thing is happening to contributors in the FPGA group! There is NO reason that open source contributors to PowerSDR source can’t have a ‘branch’ as it is called in SVN. Eric1 has just as much access as anyone else and can incorporate anything he wants into the FlexRadio official supported versions.
Enter Dale – WA8SRA and Tortise SVN on the client side. Dale and I have been collaborating for a while on this and have an assignment for you. Also Dale will be around this Friday night on the Teamspeak Forum to answer questions, he also has put together a “Getting Started Guide”. However, in just one message to me, after I had installed Tortoise he had given me a 5 line ‘how to’ and it worked!
I am running a contest on the FPGA reflector to name the project_name/group_name. Everyone is welcome. There is a doc file in SVN which will be the ‘official’ submissions file for the contest ending this Sunday night (US). The prize is a slightly used ATX power supply shipped to the winner by me. I am the contest dictator. All that is required is that you download and install Tortise SVN program in Linux or Windows. In Windows Tortise installs itself as an explorer shell and points to a directory where you have created a copy of the current server side version. It has neat little green checkmarks on all files which are in sync with the current server files. If you open the local directory and do an update and see a red exclamation point you do not have the current version.
Here is where you get Tortoise SVN:
Here is where you enter the SVN – FPGA contest. Just add your entries into the groupnames.doc file and commit the changes.
Paste this link into the URL box in the the repo browser presents. If it is your first time put the file into the directory you create.
If you have problems or questions read the help file first. If you have further questions be around on the FRF forum Friday night. If you have suggestions of how we can use this tool a group collaborating on either PowerSDR or FPGA project, be there Friday night. If you have ANY INTEREST IN PROGRAMMING in either group be there Friday night.
C U on Teamspeak!
Eric2 – AA4SW