Most Popular Posts

Dec 7, 2010

Free Google Apps Mail Notifier (version 0.1)

If you have a Google Apps mail account, you may need a desktop tool that periodically checks your mailbox and notifies you when there are new messages. Keeping a browser window open at all times and manually refreshing it is really annoying.

Google has a such a tool, Gmail Notifier, but unfortunately it only works for regular Gmail accounts (@gmail.com) and not for Google Apps accounts (@yourdomain.com). Search engines find several independent implementations of such tools, but I have two main problems with all the tools I have seen:

  • None of those tools is free. (I don’t pay for the mail service itself. It’s ridiculous to have to pay for the notifications.)
  • None of those tools has its source code available, i.e. I cannot be sure what the tool does with my credentials

Therefore, I decided to write a Google Apps mail notification tool that is free of any charge and that is distributed as source code, so you can see what it does before you start using it. Feel free to adjust the source code (within the limits of the BSD license) to suit your needs better. Here is how to build the tool:

  1. Make sure you have .NET 4 installed.
  2. Download the source file. Review the code to make sure it doesn’t do something you don’t like.
  3. The tool needs two icon (.ico) files – your_alarm_icon.ico and your_quiet_icon.ico. The former icon is shown when you have unread messages and the latter one is shown when there are no unread messages. You have to provide these two files yourself. That is not as scary as it sounds – just search your system drive for ‘.ico’ and you’ll find plenty. Copy the two you like best and name them as required above. You will be able to replace them later if you want to without having to recompile the .exe, because they are loaded dynamically. Note: These two .ico files must reside in the same folder with the .exe. 
  4. To compile the source code, run the following command in a plain cmd window from the same directory where you saved the source file. (The entire command and arguments must be on one line):

%windir%\microsoft.net\framework\v4.0.30319\csc /t:winexe /o
/r:mscorlib.dll /r:System.dll /r:System.Drawing.dll /r:System.Windows.Forms.dll /r:System.Xml.dll 
FreeGoogleAppsMailNotifier-0.1.cs

Now you may run FreeGoogleAppsMailNotifier-0.1.exe. If you decide to copy it somewhere, remember either to copy the two .ico files along with it or to supply alternative ones.

Since this is the very first version of the tool, it is possible that there are some bugs. If you find one, please report it here as a comment. Thanks.

Dec 3, 2010

Everybody Is a Programmer

When I was a young developer, I used to treat my programs as kids. Now that I am an old developer, I treat my kids as programs.

Oftentimes we don’t realize we are programming our kids by how we act, how we speak, how we interact with other people, or even by not being with our kids. Kids compile the code they receive from us and (God forbid) from other sources, and start executing it.

As it is with computers, we don’t really know what we’ve programmed them to do until we let them run. Also as it is with computers, finding and fixing bugs is a long and painful process that is not always successful. Unlike it is with computers, you cannot scrap the project and start over.

Therefore, remember that you are a programmer. And be a good one.