spacer

Source Control

For any team based development, not using any form of source control is a recipe for disaster. Individual developers each with their own un-synchronised copies of the code will sooner or later result in the loss of work as one developer unknowingly overwrites anothers recent changes. Then you have the situation of a recent change causing major knock on effects to the system, yet nobody can remember exactly what it was that was changed (or who did it).

That’s just two of many many reasons to use a source control system for collaborative work and yet there are still many projects that don’t take advantage of it. Source control isn’t just for team projects either, solo developers can benefit in a number of way. For many years I’ve been running cvs (and now subversion) locally for any project I develop. Once you get used to the extra steps of setting up your repository and commiting your work you’ll soon begin to reap the rewards.

Having the ability to test out new ideas then rolling back to your previous version if it doesn’t work, or jump back to a previously stable version of code when you’ve really made a mess of things is a real time saver.

Another benefit comes after releasing a build version of your code. Simply tag the source code as version1.0 and continue on developing on your main trunk of the code. Then when the inevitable bug reports start to come in, you can check out a copy of version1.0, fix the bug and issue an updated build without worrying about the version2.0 features breaking anything or been included in the build. With merge support you can also easily integrate those bug fixes into version2.0 as well.

I could go on and on about the ways source control can save time and make your life that much easier, but I’ll spare you the details and instead direct everyone to the subversion online book.

KDevelop users will find using subversion a breeze considering it has built in support. If your a Gentoo user, add “subversion” to your USES flag in make.conf and emerge subversion and then kdevelop. You should then be able to select subversion as the versioning system in your project->options.

One gotcha is that KDevelop will complain that “svn+http” is not a registered protocol when you try to use any of the subversion options if you don’t have the appropriate kde services registered. This is simple to fix (although it took a while to find out what the error actually meant) , you just need to “emerge kdesdk-kioslaves”.

If you don’t already use subversion (or another versioning system) for your projects, you really should consider doing so, especially if you plan on collaborating with other developers.

Subversion is not only incredibly straight forward to install/setup (for most configurations), stable and feature rich, it is also free. So there really is no excuse for not using at least some form of source control. Spend a little time learning how to use the tools available to you and you’ll save yourself a great deal of time and effort in the future.

 

LastFM Update

Last.fm have updated their profile radio service today with a change I’ve wanted to see since I first started using the site. If you’re anything like me, you’ll find yourself playing tracks that you like but are too heavy for your current mood, you want to listen to the more chilled tracks you’ve got in your profile. You can now tag your tracks with keywords such as “heavy” and “chillout” allowing you to later play back just a subset of your original profile. It may be nothing more than having multiple playlists, but it was long overdue.

The new website has also involved a switch over to a custom LastFM player rather than been able to stream .m3u files. Initially this was a bit worrying, until you see that the player has been released under the BSD License, so any nifty features that are missing will be added by someone before long :)

If you’re a Gentoo user, theres an ebuild up in the bugs section

Put the ebuild in your portage overlay directory /usr/local/portage/media-sound/lastfm-player/ and the launcher in a files/ sub directory. Now just run

ebuild /usr/local/portage/media-sound/lastfm-player/lastfm-player-1.0.ebuild digest
echo “=media-sound/lastfm-player-1.0″ >> /etc/portage/package.keywords
emerge lastfm-player

Run “lastfm” and you should be all set.

Way back in I think my first blog post I mentioned the EarthCore podcast novel. The finale part two has just made its way onto my machine and I’m quite looking forward to hearing it, although I’m not even half way through the story, but from the chapters I’ve listened to so far, I really recommend this podcast. As for general podcasts, I think I’m finally getting it under control with only 8 feeds I regularly listen to.

 
 
© 2005-2007 Gary Preston
Figment Games is hosted by DreamHost
Entries (RSS) and Comments (RSS).