Friday, September 19, 2008

A Time Tracking Tool, IronPython Learnings & Google Authentication

Joseph Jude has been learning IronPython. He's created a time tracking tool, which tracks how long you use different applications on your PC. He's also posted a blog entry about learning IronPython.

This entry covers the tools he uses and some of the problems (with solutions) that he encountered:
He has also made his 'time tracking tool' available for download:
While I was waiting for Django 1.0 to be released, I wanted to quickly learn to develop desktop applications. I preferred it to be on Python so that I can continue to learn the language. I did an evaluation of different options and settled on IronPython.

As a consultant, there is always a need to submit timesheets. By the end of the day/week, it is difficult to remember the tasks done during that time-span (day/week). If somehow a tool can capture applications that were worked on, then it will help.

This application polls the active window at an interval of 5 seconds and captures the application details (application name and the application title) and the time spent on each of these tasks. It can be minimized into systray so that it can continue to capture details without any disturbance (first icon). One can download the details on the grid as a csv file too.

In his very latest blog entry Joseph has been exploring doing google account authentication for desktop applications. He uses the Google AppEngine to do the authentication and shows code for communicate with the web app (a Django app) from both 'normal Python' and IronPython (using the .NET web libraries):

IronPython Desktop Application will pass userid, password to AppEngine Application, which in turn will validate with Google Accounts Authentication service. If authenticated, AppEngine application will proceed; else it will pass the error back to the desktop application.

1 comment:

  1. Hey: Thanks for a detailed post on my learning on IronPython. Appreciate it.


Note: only a member of this blog may post a comment.