sunnuntai 24. tammikuuta 2010

SCM

The migration from CVS to SVN (Subversion) and Git wasn't that hard. Git is the way for me to go on. Working with Git in parallel with SVN is not a big problem, but I wish to find better UI-applications for Git, something like TortoiseSVN. And better Git integration into Eclipse & Netbeans is needed.

Git, as distributed version control, have a cool branch / merge functionality to the level, where the writer is encouraged to do branches on the fly voluntarily and often. Especially private local branches are handy just in case of testing different variations e.g. of the source code.

One of the great findings was GitHub, where a lot of OpenSource projects are hosted with Git. It's easy to start up your own project there by commands push/pull/fork and clone. The only thing to remember is, that _free_ GitHub is a public repository like Google Code (http://code.google.com/hosting/).
Anyway, it is as easy to manage GitHub repository and fetch projects down as it is to manage local repositories on your own drive. Eric Berry's GitHub presentation.

And the most interesting function in GitHub is to find out the most popular Open Source projects by number of forks and how many people are watching the status of each projects. Awesome tool :)

The most challenging step will stay just the same: merge. If there are lot of changes into same files made by several distributed team members to merge at once, problems are the same. Git only can help in this case by making frequent merges to HEAD-branch easy.
Making frequent merges a standard approach the release management can be much straightforward. At the same time it will be a standard procedure to communicate division of work and architecture frequently to avoid overlapping changes. One way is to divide merge in lower level to be done in stages like in Linux-kernel project. Git supports agile way to work. Let's see, how much companies can utilize Git.

tiistai 19. tammikuuta 2010

Hubs, Switches, Bridges and Routers

What a confusing old network there is at my my wife's workplace! She asked me to connect their intra into public net in order to allow e-invoices sent to the customers. It took long hours to illustrate and figure out cabling, DHCP/IP-settings and network component configuration options and methods.
I felt myself quite stupid because I couldn't get neither D-Link router nor various other boxes laying around to work. So I resolved the problem by installing a Linux box with two network adapters as a router. The old unused workstation easily run IP masquerading (NAT) and firewall. It might be shooting a fly with a cannon, but this is a way I have solved these problems for years. Thanks to Harri A., my former Nokia colleague, who once taught me to manage firewalls with Redhat5.

maanantai 11. tammikuuta 2010

Software version control update

Few days ago I delivered some software and realized the urgent need to update my Linux-boxes, again. One of the systems I needed to upgrade and learn more was SCM (Source code management).

I ended up to copying project folders all over again and give them names after the backup date or to make some zip-files trying to remember which one was the latest working version. Anyway, I work with several computers all the time. One motivation to learn SCM-systems is the open source world, where the essential skill is to checkout and download software from CVS or SVN quite often. Also, I have been asked in job interviews, if I have ever used these tools.

In these private projects I have used CVS, but I decided to migrate to SVN (Subversion). Installation and configuration was not the problem. Subversion works now fine in Linux and Windows, both by command line and GUI and with Apache and Svnserve.
The main work is to gather together all CVS projects and go through dozens of CD's in order to be sure all potentially important projects and documentation is there. And of course the current project and various web-pages in the first place.

One of the Open Source version control is offered by Google (http://code.google.com/hosting/), but hosted projects needs to meet the Open source licensing options. I have one real candidate into that category in my mind.

Just, when I got everything working, I ran into Linus Torwald's presentation about Git (http://git-scm.com/), a quite new distributed version control.
It looks like I have to go further and give Git a try. Especially in case we get more developers around those Midlets.
Well, the installation continues ;-)

perjantai 8. tammikuuta 2010

Test drive of the new Google sites page

Occasionally I get excited to publish some homepages without any particular reason, like I have done all the way bask to Redhat 5.0 times - I guess from year -95.
Since I now have a quick draft visible again (raimoj.com), I opened couple of Google sites pages, too. And once again, I got trapped to go further in this blog-hosting service, tough I swore once not to start any blogging :)