Saturday, February 26, 2011

Area51 Embedded Systems Design and Development

StackOverflow Q&A website has a site in their staging area Area51 for embedded system design and development. If you have any interests in embedded systems, get over there right now and follow up.



Wednesday, February 16, 2011

what does mean to be on trunk?

I like working with a version control system. It keeps my work in a pretty straight order, even using a really bad version control system such as VSS, it still something. Imagine the bad old days of software development without a version control system. Every time, a release is to be made, the whole source directory would be zipped up and copied to another directory before a build is made and deployed.

Using a version control system by itself is part of the way there, but it needs to be supplemented by a set of rules or procedures. At end of the day, the version control system is a tool and without a well defined set of rules or procedures, things can get rather bad.

To be on trunk means that the source code will always build for all the targets. If the trunk fails to build for any of the target, it is consider a broken and it is a show stopper.

To be on trunk means that it is a evolution of the latest stable release. If this is not the case, it means that experimental features are being trailed on the trunk rather than on a branch. I think that the only exception of this is a team of one, even this is potentially dangerous.

To be on trunk means that all the commits and changes on the trunk have a comment associated with it. The trunk contains the latest code set in it and all changes must be traceable. Not being able to trace changes on the trunk is just as bad as breaking the build on trunk.

The bottom line is that trunk is the most sacred of code sets and must be treated with care.
 

Sunday, February 13, 2011

Giving git a go

Do we give git a go? I have only use a centralise version control system such as CVS or SVN, or god forbid, VSS. With the new project getting started, I thought I give git a shot.

Looking for the easiest way to get start, I did not want to start with a local git server. I don't have a spare computer laying about, nor do I have a computer that running Linux. 

So headed on over to github.com and signed up for an account. For all the experimentation that I am going to be early on, I will be making it open sourced. There is nothing that I need to hide as it is mostly just prototype code anyway.

The next thing I need to do is to install a git client. git started in the Linux domain and the majority of the tools are in the Linux domain. The Windows tools are available but are over a msys environment, meaning that the git tool is used in a Linux simulated environment. 

I am excited to find out how git can help me produce a better result as oppose to using SVN.