Wednesday, 13 June 2007

Leadership and Management

I came across these two definitions which I thought distinguished the difference between leadership and management effectively.

Leadership without management

...sets a direction or vision that others follow, without considering too much how the new direction is going to be achieved. Other people then have to work hard in the trail that is left behind, picking up the pieces and making it work. Eg: in Lord of the Rings, at the council of Elrond, Frodo Baggins rescues the council from conflict by taking responsibility for the quest of destroying the ring - but most of the management of the group comes from others.

Management without leadership
...controls resources to maintain the status quo or ensure things happen according to already-established plans. Eg: a referee manages a sports game, but does not usually provide "leadership" because there is no new change, no new direction - the referee is controlling resources to ensure that the laws of the game are followed and status quo is maintained.

Leadership combined with management

...does both - it both sets a new direction and manages the resources to achieve it. Eg: a newly elected president or prime minister.

Read the source article

Monday, 11 June 2007

Facebook Rocks!

How cool is Facebook? Between Claire and I, we received a few invites and never bothered to sign up. I just thought it was another "thing" to sign up to and wont really be of any use. Now I'm hooked! It's very addictive.

Facebook is a social utility that connects people with friends and others who work, study and live around them. People use Facebook to keep up with friends, upload an unlimited number of photos, share links and videos, and learn more about the people they meet.

I signed up this weekend and I've already contacted several people that I'd not seen or heard from since school days! Very interesting to see who is doing what now.

For those that are interested, there is a video given by Mark Zuckerberg, the founder and CEO of Facebook. He talks about the impressive statistics of Facebook and the exciting world of the new Facebook Platform. There is section for developers which shows you how to integrate with Facebook and create your own Facebook applications

Go on, sign up, you know you want to and make sure you add me as a friend. For interest, there are currently 17,396 people in the New Zealand network. I'll be interested to look back at that statistic in a new weeks and see how it has changed.

Friday, 8 June 2007

2GB Free Online Backup with Mozy

If you're looking for a simple way to backup your files for free, then Mozy might be the answer. You get 2GB free when you sign up which you can upgrade to unlimited storage for $4.95/month. You can backup files from multiple computers and Mozy takes care of organising which files came from which computer.

You're stored files are accessible over the web and can be restored as a web restore for free and once your files are ready, you are sent an email. Mozy also includes a Windows Explorer context menu which makes restoring files easy. Right click on the file you want to restore and Mozy gives you a list of all previous versions of the file. There is also a virtual drive explorer in Windows that allows you to view all the files you've already back up online with out having to access the web.




Check out some of Mozy's features:

  • Open/locked file support
  • 448-bit Blowfish encryption
  • 128-bit SSL encryption
  • Automatic or scheduled backups
  • New and changed file detection
  • Block level incremental backups
  • Bandwidth throttling
  • File versioning
  • Public or private key encryption
The only caveat for me is that I use Windows 2003 server at work and Mozy (standard) doesn't run on server operating systems. However, MozyPro does accommodate server operating systems but it's not free.

It's well worth having a look - it's free after all! Sign up with Mozy here

Tuesday, 5 June 2007

Using Team Foundation Server Power Tools

There are lots of useful tools in the Microsoft Team Foundation Server Powertools, most of which should have been included in the the Visual Studio IDE. The tools that I find most useful are:

Annotate
The annotate command downloads all versions of the specified files and shows information about when and who changed each line in the file. To access the annotate command, right-click on the file you want to annotate in the solution explorer (or Source Control explorer) and select annotate. The annotate command is also accessible from the File, Source Control menu.

When working on a multiuser project, this is a very useful interrogation tool. Along the left hand side of the annotate window, is also displays a hyperlink to the change set which included the code change you are looking for. You can click on this hyperlink to see the other files that were included in the change set. The hyperlink also includes a tooltip which shows the check in comment - very useful. and treediff

Treediff



The treediff command displays a visual representation of the differences between files in two server folders, in a server folder and a local folder, or in two local folders. Treediff can be used from both the command line and inside Visual Studio. The command line version creates the same GUI representation as presented by Visual Studio. The command version is accessed using TFPT Treediff.
Treediff has 4 filtering options:

  • Items that exist exclusively on the server tree
  • Items that exist exclusively on the local tree
  • Items that exist in both trees that have different contents
  • Items that exist in both trees that have the same contents
Each of these options can be selected individually or combined to produce a comprehensive report on the differences between what you have on your local machine workspace vs what is on the server. From the output, you can compare, view, get latest version, add missing files and delete each of the files as necessary which makes this tools a good way of keeping your file system tidy. It can be particularly useful if you want to prune all the files in your local workspace that don't exist on the server.
Take care with the delete option - it changes between "Delete" and "Delete Local Files" depending on your selection. Fortunately, all the changes you make inside the treediff become part of your pending changes list and you have to check in for the changes to be accepted.

Process Template Editor



Team Foundation Server Power Tool installs Microsoft Visual Studio Team System Process Editor, which is a process template editor for editing Team Foundation Server process templates inside the Visual Studio IDE. The installation media includes separate documentation for the Microsoft Visual Studio Team System Process Editor, which includes a User Guide and a Readme file that includes known issues.

Although this tools is still pretty raw, it can save you a lot of XML editing and makes editing a process template a lot easier.


Undo Unchanged:
The undo unchanged command undoes redundant pending changes. This means that is the state of an item with a pending changes is the same as on the server, then the change is undone. This command is very useful if you have Visual Studio setup to check out files automatically. It helps prevent files being check in the have had no changes made to them and have been checked out unnecessarily. During the undo unchanged operation, any files that have not been checked out but are not up to date on your local workspace are retrieved from the server. This feature can be suppressed using the /noget command line options.

I'd like to see the undo unchanged command being run before every check in to freshen the pending changes and integrate your changes with the server before you start your check in procedure. This coupled with the tfpt review command which show a window of all your pending changes and allows you to go through each change doing a diff against the sever. As you diff each file, it is ticked on the review window which is a nice way of working though and validating each of your changes and helping you track where you are up to.

For a list of other command available on the team foundation server power tools, type TFPT at the command prompt. Note: depending on your path setup, you may need to change to the team foundation server power tools directory to get access to the TFPT command. I've added the default installation directory for this tools to my environmental path statement which makes more useful as it can be accessed more easily. The default installation directory is C:\Program Files\Microsoft Team Foundation Server Power Tools.

Download the Microsoft Team Foundation Server Power Tools

Friday, 1 June 2007

Project Startup Guidelines

There is such a diversity of projects that a developer can work on, it's very hard to know if you've started doing things the correct way. A startup checklist is a good place to start but they can be hard to come up with - then someone sent me a link to Patrick Cauldwell's blog which is an excellent account of items that should be considered when starting/working on any project. Well done Patrick - it's far too easy to steal this and adapt it for your needs but many of the disciplines in there excellent. It's well worth a read

One item that caught my eye whilst reading though was "only the public interface should be public". When using test driven development, you can end up making methods public purely for test purposes. This is not a good idea and as Patrick suggested, you should take advantage of the InternalsVisibleTo attributes which allows you to test private methods from test assemblies. Very useful and very easy to setup. I'll post on this technique later.