Thursday, August 26, 2010

Google voice in Gmail

Last night when checking my Gmail, I noticed a big "click Me" popup inviting me to try Google Voice through Gmail. Everything I had read previously indicated that Google Voice was not available in Canada however, I gave it a try and it worked. The official Google Voice site still indicates that the service is only available in the US but for now, it seems to be working (through Gmail anyway).

More here.

Friday, August 20, 2010

Don't throw away all that work

I recently read an "old" article related to common mistakes made by software developers and development managers. One of the biggest ones is to throw out the old code to allow for a fresh start on a product. As the author explains, you are not only tossing a code base that may be ugly and difficult to read. You are also tossing out hours (days, years) of bug fix efforts and field testing not to mention code that has proven to work in multiple unique environments for (possibly) years. As always, the one solution (or idea) fits all mentality never works. Keeping the culture of the company, the history of the project and the vision of the product for the future in mind will ultimately help to determine the best course of action for you.

Wednesday, August 18, 2010

Git: You have not concluded your merge (MERGE_HEAD exists).

Recently when attempting to do a 'git pull' on a remote repository, I encountered a CONFLICT which required resolution. After addressing this conflict, I added my changes via 'git add' and attempted to pull from the remote repository again. The following message was seen:

You have not concluded your merge (MERGE_HEAD exists).
Please, commit your changes before you can merge.


I found a solution here which simply stated to revert the merge 'git reset --merge ORIG_HEAD' and try again. The step I missed was the 'git commit' after the 'git add' before retrying the pull.

The commit should have been obvious except that I had just run through a series of conflict resolutions while doing a 'git rebase' against the master branch. During a rebase, it is expected for you to resolve the conflicts, 'git add', and then continue with 'git rebase --continue'. There is no commit step when resolving conflicts during a rebase.

A classic case of wrong frame of mind.

Linux disk usage analysis tools

Recently I found myself unable to access my workstation and confused as to why I was unable to even get past the screen locking. I quickly discovered some process was rapidly filling my hard drive to the point where it was at 100%. This, for obvious reasons, rendered my system inoperable.

Two tools I used to help discover where my disk space was going was:

du - A command line tool that helps to determine disk usage
and
Disk Usage Analyzer (baobab) - a graphical tool that provides similar information to that seen with du

The issue ended up being a problem with a 3 way file comparison that went rogue while in screen lock mode. I'm not sure why this happened but the above tools helped immensely in determining the culprit.