Good bye LiveJournal, Hello Blogger

 I started using LiveJournal in 2004.  It was a great blogging platform back in 2004. But now a days I am finding it very difficult to use.  So I am changing my main blog from LiveJournal to Blogger.  My new blog URL is I have migrated all my old posts to the new blog.  I have send mail to Planet-Python & Planet-India editors to update my blog feed URL.  If anybody else subscribed to my feed, please use my new feed URL: (This will bring any Python related blog posts to your reader)

Web browser automation testing using Selenium and Python

 Recently Selenium 2 has released with it's new WebDriver technology.  Selenium WebDriver supports multiple web browsers like Firefox, Chrome and IE.  Selenium WebDriver communicate with browser through its native API. Selenium Python bindings provide a convenient API to access functionalities of Selenium. 

Recently I started writing some documentation for Selenium Python bindings.  It still need lots of work, but now it would be good enough to start with Selenium.  I am looking forward to your feedback!

PyCON Day 2 & 3

On second day I attended two tutorials specific to Python 3.  I am realizing more and more that Python 3 is really a simple & cool language.  I want to start at least one project in Python 3.  After announcing the site, the site started getting more feedback.

On third day (First day conference) I attended the keynote by Hilary Mason. Later we moved to the expo hall, ZeOmega has one booth. I was there in the booth for some time.  I also attended two talks: Pylons project talk and Flask talk.  During lunch time I got a chance to speak to Matthias Klose

In the evening we went for a dinner organized by PSF for sponsors and core developers. During dinner Brad introduced me to Barry Warsaw and Guido.  We also talked to some other folks there.  The dinner was arranged a in hotel near by georgia aquarium and CNN.  The night looked very nice and it as very cool.

Today I woke up early morning as I had registered for a lightning talk about site.  I hope it went well.

Now listening to Guido's special Keynote.

PyCON 2011 Day 1

I reached here in Atlanta with my ZeOmega colleagues on March 8th
evening. ZeOmega is a Gold sponsor this time ! (from 2003 onwards
ZeOmega was a silver sponsor).

On the first tutorial day, I attended the Advanced Python tutorial, both
part 1 and part 2. It was a great tutorial, Raymond Hettinger explained
many advanced topics in Python. I really liked the explanation about Descriptors.

In the evening I volunteered for placing flyer and goodies in the bag
for participants. There was two teams standing around a table, picking
one piece and passing around, finally a bag will be ready with all

I went for dinner with a crew of 10 somewhere in Downtown. It was
lengthy dinner, I got some nice fish with green beans and rice,
but forgot the name of fish :) The street was very beautiful in night.

I met Noufal & Anand C at the restuarant (unexpected!), so we have
3 BangPypers here now, any other BangPypers here ?

Today I am going to attend two tutorials: Mastering Python 3 I/O and
Cooking with Python 3

Trove categories for Buildout recipes and extensions

Currently there are 270+ distributions with "Framework :: Buildout" trove category in PyPI. Now it's becoming bit inconvenient to identify whether a distribution contains a Buildout recipe or extension.  ( Recipes and extensions are two types of plugin mechanisms supported by Buildout).  Now there is a solution -- two sub-categories are added

If you publish Buildout recipes or extensions to PyPI, please use the new trove classifiers in addition to the existing "Framework :: Buildout".

If you are developing a recipe, use this classifier:

"Framework :: Buildout",
"Framework :: Buildout :: Recipe",
If you are developing an extension, use this classifier:

"Framework :: Buildout",
"Framework :: Buildout :: Extension",
If the distribution contains both extension and recipe, use:
"Framework :: Buildout",
"Framework :: Buildout :: Extension",
"Framework :: Buildout :: Recipe",

I hope recipe/extension authors will add these sub-categories to their in the upcoming releases.

Python training at Rajalakshmi Engineering College, Chennai

Last Friday (13th August) I conducted a Python training at Rajalakshmi Engineering College, Chennai (REC). I got the invitation few weeks back from Jayakumari, a faculty member of computer applications department. Initially we planned for 2 day workshop with hands on sessions. But later it changed to 1 day training program.

I started my journey from Bangalore on Thursday afternoon in a KSRTC bus. I reached in Poonamallee, Chennai around 9 pm. Two students - Gurubaran & his friend Rajaram was waiting for me. They got me into a bus going to Thandalam where the college is located. The campus looked very nice and it was very calm and quiet. They had arranged my stay in their hostel guest room. It was a very nice stay and the Tamil style dinner was very good. This was the second time I going to Chennai. Previously I came for US Visa interview at US consulate.

The training session started around 9.30 am. There was around 60 participants including some faculty members. The computer applications department head of department (HOD) Prof. T. Srinivasan also attended entire session. He told me afterwards that he will be coming to PyCON India which is going to happen in Bangalore next month. I also invited all the participants to PyCON India. I hope some of them will come to Bangalore for PyCON India. The program ended afternoon at 3 pm. The students asked many questions mainly comparing with C++. "How to do polymorphism ?", "Is there any virtual function?", "Does Python support multiple-inheritance?", "Is there any access specifiers like private,protected etc. ?" When they saw the simplicity of Python they were really surprised. I mentioned where and all Python is being used, different implementation of Python, how to continue studying Python. I tried to make comparison with C++ or Java whenever possible. I got many good feedback during and after the program.

After the training around 3.45 pm I went to Koyembedu to catch my bus. The bus was at 8.15 pm, so I had enough time. Another student, Arun accompanied me to help to get into bus. I told them that I can manage, but their hospitality nature didn't allowed to go alone. I did small shopping for my wife, son & his cousin at Skywalk mall near Koyembedu. It was a mistake that I started at 8.15, I reached in Bangalore very early morning around 3 am. I should have started around 11 pm so that I can reach comfortably in morning 6 or 7.

I was waiting for photos to write this blog, today I got it. I am adding few photos here:

Building a healthy community around FOSS project

Dear Lazyweb, I am looking for suggestions for building a healthy community around one of my FOSS project.  Recently I initiated re-launching of  Zope 3 project with a new name: BlueBream. You may know from my old posts that I am very interested in Zope 3 and Zope Component Architecture (ZCA).  I have written an entire book about  ZCA in 2006. You can read more about the new project in the BlueBream project blog.  I am looking for your suggestions.  You can send mail to me: baiju.m.mail AT or add comment here.

Well, I will continue with my past experience with FOSS. This is my second largest FOSS project, the first project which I started in 2001 (SMC) is still very active.  However, for the past few years, I am not active in that project. I still watch that project growing (of course, I help them whenever possible). There are more than 500 members in the group itself.  The developers regulary meet at various events.  They organize lots of workshops, camps etc. SMC might be the most active FOSS project from India. However, there are so many differences between SMC and BlueBream.  The scope of these projects is very different. SMC is an i18n,l10n and more over a "local language computing" project.  BlueBream is a Python web framework.

These days, I am thinking more about this project and its success.  I know, a FOSS project is not just some source code released. There should be active contributors, regular community activities, good documentation, presence in various events etc.  So, how to attract contributors to this project.  How to build a healthy successful community around this project.  At this point, I have taken the role of "self-assigned release manager".  I think that's a good way to lead this project. I am looking for your thoughts :)