Archive for the ‘Software’ Category

Windows is not particularly friendly with resources and there are many programs that don’t release them. Files get stuck with programs and when you want to delete them Windows throws up an ugly message which looks something like this.

unlockererror

“Cannot Delete XYZ-File: The files are being used by the following program: Program Name. You must close the file before proceeding”

You know that you don’t have the file open, but according to Windows, you do. That’s where this handy little utility called unlocker comes in. It isn’t guaranteed to work all the time, but most of the time it will get you out of the jam, or at the least tell you what it is that’s holding Windows back from operating on the file/folder.

When such an error message pops up, Unlocker brings up this dialog which allows you to do a couple of things. You could take no action, copy the file, delete the file or unlock the file. You could also kill the process that currently is holding the file.

unlocker

I’ve run in to problems many times myself and have had this utility save me. One more good tool to add to the tool chest.

Debut is more than a web cam video capture utility. It is a software that allows you to capture video from most any source. For my purpose however, I needed to find a good, free software that would allow me to capture videos via my web cam.

Other features include encoding into various formats (.avi, .wmv, .asf .mpg and more), capture from external devices and the screen, and quite a few other nifty features.

For a more detailed description check out the website of Debut, including for the download.

I’ve been looking around for a small application that would sit in my taskbar and update me whenever new mail comes in. I don’t know how I missed it, but Google themselves have a tiny application (which seems like a portion out of gtalk) called Gmail Notifier. Small useful application.

Gmail Notifier: Download

The IE Developer Toolbar is similar to Firebug for Firefox. It provides you with a set of tools for troubleshooting pages efficiently (helps a whole lot with those positioning/css issues).

Downloading and installing the toolbar is straightforward and works without a hitch. However, when I tried to use it, It would never work. I tried installing/uninstalling a couple of times with no luck. Clicking on the IE Developer toolbar icon does nothing and if you reach it via the menu Tools-Toolbars-Explorer Bar->IE Developer toolbar, it brings up the toolbar which does not help you in any manner.

IE Developer Toolbar

After a little hunting around I found that the reason it does not work is because 3rd party extensions are not enabled.

This can be enabled via ‘Tools->Internet Options->Advanced->Browsing->Enable third-party browser extensions’. Check that, apply your changes and restart IE. The toolbar should now show up with the DOM elements and their corresponding styles and attributes.

Its a good tool to have at your disposal.

Link to download: Microsoft IE Developer Toolbar

After recently purchasing a laptop, I mistakingly removed the webcam software that came with it. After hunting for a software that would help me capture pictures, I came across Yawcam. It is a simple software that lets you capture pictures to a file, stream it, motion detection etc.

Its a nice replacement for the stock software that comes with your computer (might not have all the same functionality).

You can reach the Yawcam website via this link: Yawcam

In the past few weeks I’ve been curious as to whether it is possible to run an Asp.Net Web Application under Linux or not. Although the feature was available in Mono, there was never a well rounded IDE to work with. With MonoDevelop that has changed, the latest version (downloaded from svn) allows you to edit pages in design view as well. It also allows you to open existing Web Application Projects created in Visual Studio 2005.

Installing it on a fresh install of Ubuntu Gutsy Gibbon however isn’t as straightforward. I’ve put together a tutorial that describes the steps necessary to do so (the biggest problem being installing packages that are necessary to compile MonoDevelop, but are not installed on a fresh install of Ubuntu).

As per the MonoDevelop website, in order to install MonoDevelop from source you need to install the following packages:

  • Gtk# 2.8.4
  • Gtksourceview#-2.0 0.10
  • Monodoc 1.0
  • Gecko#-2.0 0.10
  • MonoDevelop Source

Unfortunately a fresh install of Ubuntu doesn’t allow you to compile any of these packages and/or install them. When I first tried it out I came across a lot of errors. I finally figured out which packages once installed would aid in an easy installation of MonoDevelop from source.

First go to MonoDevelop’s website and download the following packages from there to a local folder on your disk:

  • Gtk# 2.8.4
  • Gtksourceview#-2.0 0.10
  • Monodoc 1.0
  • Gecko#-2.0 0.10

You can extract them by right clicking on the package and choosing extract.

Next we have to get the latest version of the source from mono’s svn. Open up a terminal (Applications->Accessories->Terminal) and navigate to your directory where you have these packages installed.

Type in:

$ svn co svn://anonsvn.mono-project.com/source/trunk/monodevelop

If this is a fresh install of Ubuntu you will end up with the error message:

The program ’svn’ is currently not installed. You can install it by typing:
sudo apt-get install subversion

So go ahead and install it with “sudo apt-get install subversion”. It will request to install additional packages so go ahead and accept it. Once that is done, go ahead and get the latest version of mono from svn.

Going by the list, we would have to first install Gtk#. So we bring up a terminal and in that directory type:

ramesh@Xanadu:~/Desktop/mono/gtk-sharp-2.8.4$ ./configure

Unfortunately we are stopped short and get the following output:

checking build system type… i686-pc-linuxlibc1
checking host system type… i686-pc-linuxlibc1
checking target system type… i686-pc-linuxlibc1
checking for a BSD-compatible install… /usr/bin/install -c
checking whether build environment is sane… yes
checking for gawk… no
checking for mawk… mawk
checking whether make sets $(MAKE)… yes
checking whether to enable maintainer-specific portions of Makefiles… no
checking for gcc… gcc
checking for gcc… (cached) gcc
checking for C compiler default output file name… configure: error: C compiler cannot create executables
See `config.log’ for more details.

This basically tells us that our C compiler cannot create executables and the reason is because a fresh install of Ubuntu doesn’t come with build essentials.

Now in order to get most of the packages installed without problems we need to add a few repositories. Start ‘System->Administration->Synaptic Package Manager’ and then ‘Settings->Repositories’. Select all the repositories for now.

Ubuntu repositories

Search for a package called ‘build-essential’, select it and install it by clicking ‘Apply’.

This will allow the C compiler to create executables.

synaptic

Attempting to configure again will result in another error

checking for al… no
configure: error: No al tool found. You need to install either the mono or .Net SDK.

After digging around and some trial and error (and figuring out missing packages) these are the list of packages I’ve found are required for a comfortable install of monodevelop. (Note: Some of these came up as dependencies of other packages. Some of these may not even be necessary, however since they had the mono name in them I have included them.)

The next step is to install a set of packages from the repositories, so fire up Synaptic Package Manager (System->Administration->Synaptic) and install the following packages:

autoconf (2.61-4)
automake (1:1.10+nogfdl-1)
intltool (0.36.2-0ubuntu1)

libgdiplus (1.2.4-2ubuntu1)
libungif4g (4.1.4-5)

libmono-dev (1.2.4-6ubuntu6)
libmono-microsoft-build2.0-cil (1.2.4-6ubuntu6)
libmono-microsoft7.0-cil (1.2.4-6ubuntu6)
libmono-microsoft8.0-cil (1.2.4-6ubuntu6)
libmono-system-data1.0-cil (1.2.4-6ubuntu6)
libmono-system-messaging1.0-cil (1.2.4-6ubuntu6)
libmono-system-messaging2.0-cil (1.2.4-6ubuntu6)
libmono-system-runtime1.0-cil (1.2.4-6ubuntu6)
libmono-system-runtime2.0-cil (1.2.4-6ubuntu6)
libmono0-dbg (1.2.4-6ubuntu6)
libmono1.0-cil (1.2.4-6ubuntu6)
mono (1.2.4-6ubuntu6)
mono-dbg (1.2.4-6ubuntu6)
mono-devel (1.2.4-6ubuntu6)
mono-gmcs (1.2.4-6ubuntu6)
mono-jit-dbg (1.2.4-6ubuntu6)
mono-mcs (1.2.4-6ubuntu6)
mono-xsp (1.2.4-1.1ubuntu1)
mono-xsp-base (1.2.4-1.1ubuntu1)
mono-xsp2 (1.2.4-1.1ubuntu1)
mono-xsp2-base (1.2.4-1.1ubuntu1)
monodoc (1.2.4-1ubuntu1) <--- This needed to be compiled, but not any more

libgtk2.0-dev (2.12.0-1ubuntu3)
libgtksourceview-dev (1.8.5-1)
libgtksourceview2.0-cil (0.10-3.1)
libgtksourceview2.0-dev (2.0.0-0ubuntu1)

gnome-sharp2 (2.16.0-7ubuntu1)
gtk-sharp (1:1.0.10-5build3)
gtk-sharp2 (2.10.2-1ubuntu2) <-- This needed to be compiled but not any more

Selecting these above packages will most likely cause the below dependencies to automatically get installed.
If not, then select them.

autotools-dev (20070306.1)
gettext (0.16.1-2ubuntu3)
m4 (1.4.10-0ubuntu2)

libgecko2.0-cil (0.11-3ubuntu3)
libglib2.0-dev (2.14.1-1ubuntu1)
libmono-accessibility1.0-cil (1.2.4-6ubuntu6)
libmono-accessibility2.0-cil (1.2.4-6ubuntu6)
libmono-cairo2.0-cil (1.2.4-6ubuntu6)
libmono-cecil0.5-cil (0.5-2)
libmono-data-tds1.0-cil (1.2.4-6ubuntu6)
libmono-peapi1.0-cil (1.2.4-6ubuntu6)
libmono-peapi2.0-cil (1.2.4-6ubuntu6)
libmono-relaxng1.0-cil (1.2.4-6ubuntu6)
libmono-security1.0-cil (1.2.4-6ubuntu6)
libmono-sharpzip0.84-cil (1.2.4-6ubuntu6)
libmono-system-web1.0-cil (1.2.4-6ubuntu6)
libmono-winforms1.0-cil (1.2.4-6ubuntu6)
libmono-winforms2.0-cil (1.2.4-6ubuntu6)
lynx (2.8.6-2ubuntu1)
mono-debugger (0.50-1)
mono-jay (1.2.4-6ubuntu6)
mono-utils (1.2.4-6ubuntu6)
monodoc-base (1.2.4-1ubuntu1)
monodoc-browser (1.2.4-1ubuntu1)
monodoc-manual (1.2.4-1ubuntu1)

libart-2.0-dev (2.3.19-3)
libatk1.0-dev (1.20.0-0ubuntu1)
libcairo2-dev (1.4.10-1ubuntu4)
libexpat1-dev (1.95.8-4ubuntu1)
libfontconfig1-dev (2.4.2-1.2ubuntu4)
libfreetype6-dev (2.3.5-1ubuntu4)
libgnomeprint2.2-dev (2.18.2-0ubuntu1)
libice-dev (2:1.0.3-3)
libpango1.0-dev (1.18.2-0ubuntu1)
libpng12-dev (1.2.15~beta5-2build1)
libsm-dev (2:1.0.3-1)
libx11-dev (2:1.1.1-1ubuntu4)
libxau-dev (1:1.0.3-2)
libxcomposite-dev (1:0.4.0-0ubuntu1)
libxcursor-dev (1:1.1.8-2)
libxdamage-dev (1:1.1.1-3)
libxdmcp-dev (1:1.0.2-2)
libxext-dev (2:1.0.3-2build1)
libxfixes-dev (1:4.0.3-2)
libxft-dev (2.1.12-2ubuntu4)
libxi-dev (2:1.1.2-1)
libxinerama-dev (2:1.0.2-1build1)
libxml2-dev (2.6.30.dfsg-2ubuntu1)
libxrandr-dev (2:1.2.1-1)
libxrender-dev (1:0.9.2-1)
x11proto-composite-dev (1:0.4-0ubuntu1)
x11proto-core-dev (7.0.10-2)
x11proto-damage-dev (1:1.1.0-2build1)
x11proto-fixes-dev (1:4.0-2ubuntu1)
x11proto-input-dev (1.4.2-1)
x11proto-kb-dev (1.0.3-2ubuntu1)
x11proto-randr-dev (1.2.1-2)
x11proto-render-dev (2:0.9.2-4ubuntu1)
x11proto-xext-dev (7.0.2-5ubuntu1)
x11proto-xinerama-dev (1.1.2-4ubuntu1)
xtrans-dev (1.0.3-2)
zlib1g-dev (1:1.2.3.3.dfsg-5ubuntu2)

gnome-sharp2-examples (2.16.0-7ubuntu1)
gtk-sharp-examples (1:1.0.10-5build3)
gtk-sharp-gapi (1:1.0.10-5build3)
gtk-sharp2-examples (2.10.2-1ubuntu2)
gtk-sharp2-gapi (2.10.2-1ubuntu2)
libgconf-cil (1:1.0.10-5build3)
libgda2-3 (1.2.4-0ubuntu1)
libgda2-common (1.2.4-0ubuntu1)
libglade-cil (1:1.0.10-5build3)
libglib-cil (1:1.0.10-5build3)
libgnome-cil (1:1.0.10-5build3)
libgtk-cil (1:1.0.10-5build3)
libvte-cil (1:1.0.10-5build3)
libvte2.0-cil (2.16.0-7ubuntu1)
libxml-libxml-common-perl (0.13-5build1)
libxml-libxml-perl (1.63-1)
libxml-namespacesupport-perl (1.09-3)
libxml-sax-perl (0.14-0.1)
monodoc-gtk2.0-manual (2.10.2-1ubuntu2)

Now that we have our packages installed, we need to install Gecko # and gtksourceview#

So go to the Gecko# folder and type in:
sudo ./configure
sudo make
sudo make install

Now go to the gtksourceview# folder and type in:
sudo ./configure
sudo make
sudo make install

Now go to the monodevelop folder and type in:
sudo ./autogen.sh

This will generate the default config file and run the default configuration. However to enable Asp.Net Web Application projects and editing Asp.Net files using the GUI, we need to reconfigure using the option:

sudo ./configure --enable-aspnet --enable-aspnetedit

Once its done do the normal:

sudo make
sudo make install

You should now have a menu item under Applicaions->Programming->MonoDevelop

That should do it.

This is more of a generic setting than a setting for Gmail, however, since I started using IMAP only after Gmail offered it I’ve realized it only now. If you use the Archive+Label combo in Gmail to replicate the feeling of folders then you might have noticed after you’ve set up IMAP in Thunderbird that all the mails that come to your inbox show up with a nice count (n) in brackets. On the other hand, none of the mails which get automatically archived and assigned to labels get displayed.

Its only when you click on a particular label does it tell you if any new mail has arrived. This gets annoying when you have quite a few labels. So as an update to my previous post, I found this setting and thought I would mention it here if anyone else wanted to know.

In order to get the unread message counts on all your labels go to “Tools->Options->Advanced->Config Editor” and type in “imap” into the filter box.

The first setting you see is “mail.check_all_imap_folders_for_new” and it is set to false. Double click it to set it to true. Restart Thunderbird and do a “Get Mail->Get All New Messages”. Now if there are any unread mails in any of the labels, it will display them as well (since it has now checked all the IMAP folders you are subscribed to.

Thunderbird IMAP Settings

I’ve been trying to get my hands on a good ruby editor for a while and somehow every time I take a look at the one’s that exist, I am not at all impressed. These are a few of the editors that I have taken a look at and my impressions of them. As a beginner to Ruby, my only requirements initially are that I have syntax highlighting, code completion and it should just work without me having to do a whole lot. I am yet to test it them out with Rails (although I’m assuming that if they work good with ruby, they will work good with Rails)

1. SciTE - This comes installed by default if you are a windows user using the Ruby ‘One click installer’ available here. Of the 3 editors I looked at, this has the fewest features. One thing that is good about this though is that it is extremely quick to load. Unfortunately it lacks code completion which is a major requirement of mine. The reason why I believe code completion is useful while learning a language is you can actually look through all the methods for the various built-in objects rather than having to go back to the documentation each time. Consider this your bare bones editor with syntax highlighting. I wasn’t very happy with the indentation support as well, for example, it indents it when you start a function, but typing in ‘end’ does not reset the indentation. Its a small annoyance but an annoyance no less.

2. Aptana - I thought that this would be the most promising editor now that they have taken up the RadRails project as well and are integrating it into their existing system. Aptana is based off of Eclipse and provides a well rounded development environment. As of this writing however, Aptana’s code completion for ruby is broken (and has been for quite a while). All the other features seem to work well, syntax highlighting, debug support, etc. but it throws a Null Pointer Exception when you try to do a ctrl-space for code completion.

3. Netbeans - Of all the editors, I found this the simplest to install and start using right out of the box (with the exception of changing one setting, that is if you want to use the native ruby compiler). Other than that I had no hiccups in getting up to speed with the Netbeans editor and I would recommend it to anyone starting out with Ruby. Netbeans themselves have a nice site to show you how to get going with it.

Netbeans Ruby

A more in dept review of some editors is available here, and it very nicely outlines the advantages of Netbeans

I recently made a post on how to configure Windows Live Mail Beta (client) for Gmail’s new IMAP offering. I wasn’t very comfortable with the application and wanted to give Thunderbird a try (again). Although Foxmail has been my primary e-mail client, it does not support IMAP.

The first step is to follow the instructions at the Gmail Help Center for setting up Thunderbird as you IMAP client. Once that is done you still have to configure your folders to map accordingly Gmail.

When you follow the steps at the Gmail Help Center, you end up with a folder list like the following:

Gmail Folders

The [Gmail] folder has sub folders containing the your actual primary set of folders of your Gmail account (Inbox, Starred, Sent Mail, Drafts, All Mail, Spam & Trash). All your labels are shown as folders outside of this. There is an easy method to map your primary folders correctly to Gmail’s, but doing so will deprive you of access to your labels (which show up as folders in Thunderbird).

So the cleanest way to map the folders is to do the following:

1. In Thunderbird select Tools->Account Settings and select the account that you are using for Gmail IMAP.

2. Select Copies & Folders under that.

3. Sent Mail: Choose ‘Other’ for the “When sending messages, automatically: ” and from the drop down select “AccountName”->[Gmail]->Sent Mail

4. Drafts: For drafts as well, choose “Other” and from the drop down select “AccountName”->[Gmail]->Drafts

5. Spam: Select “Junk Settings”, check the “Move junk messages to”, select “Other” and from the drop down select “AccountName”->[Gmail]->Spam

Copies and Folders

This fixes most of your folders. The only remaining one is “Trash” and fixing this folder is a bit cumbersome, but it is worth it. By default Deleting a message does not send it to your Gmails “Trash” folder, instead it sends it to Thunderbirds Trash folder. The way IMAP is set up is that Thunderbirds Trash folder is mapped to [IMAP]/Trash on Gmail. So here are your options

1. Let it remain as is and you will have an extra label called [IMAP]/Trash in Gmail, under which all your deleted mails will reside.

2. If you want your deleted mails to be removed from your inbox, but still exist (in your ‘All Mails’ section) then map your trash to ‘[Gmail]/All Mails’

3. If you want your deleted mails to be removed from your inbox, and actually be trashed then map your trash to ‘[Gmail]/Trash’

(1) requires no further action on your part, but (2) & (3) are essentially the same thing, only differing in folder names.

So here’s how you go about fixing your trash folder:

1. Close Thunderbird

2. Go to C:\Documents and Settings\<windows_username>\Application Data\Thunderbird\Profiles\<profile_name>, where <windows_username> is your windows logon and <profile_name> is the current Thunderbird profile you are using.

3. Open prefs.js in your favorite text editor and search for a line that says user_pref(”mail.server.server#.directory-rel”, “[ProfD]ImapMail/imap.gmail.com”);

Here server# refers to your server number. Basically we have to find out which server number is being used for our Gmail IMAP

4. Just below that line, add an additional line that says user_pref(”mail.server.server#.trash_folder_name”, “[Gmail]/Trash”);

5. Startup Thunderbird again and your Trash folder below the Inbox should no longer be there. Instead it will use [Gmail]/Trash. If it does show up, then restart Thunderbird a couple of times until the Trash folder below the Inbox goes away. I have no clue why this happens, but this is a quirk I’ve noticed.

Now anything you delete would go to the actual Trash. If you wanted it archived instead of trashing it, specify [Gmail]/All Mail as the trash_folder_name.

Thunderbird should now be configured to properly work with Gmail’s IMAP.

Ever wanted to take screenshots of a web page in its entirety? Ever wanted to crop out a portion of it, highlight a portion of it, blur out specific details? There are times when I’d wished I have a tool to do that and now it exists. I’ve been using Screengrab! up until now, but after seeing Fireshot I don’t think I’ll be going back. Here’s a screenshot of it in action

Fireshot

It has a lot of features for grabbing the whole page, a part of it, annotating it, blurring it out, etc. Definitely worth being in your palette of Firefox Add-ons.

Download the Fireshot Addon.