Friday, December 23, 2005

ZCML is good for Zope3!

I am still feeling dfficulty to unerstand what's happening
behind ZCML (Zope Configuration Markup Language).
But still I like it, because it is not Python :)
Python is my favourite language, so I cann't say what else
I won't be doing in my configuration.

Jeff Shell's suggestions in this long mail is great!

He also warns Rails-ish frameworks in this mail and his recent blogs:

Sunday, October 23, 2005

My Zope3 Pages

Today is another Sunday, I spend with Zope3 again.
First I thought to experiment with Zissue Tracker,
but only few renaming done so far. But I wandered
through many blog entries related to Zope3.
Also, I created a page to aggregate my Zope3 works.

Saturday, October 15, 2005

Zope3 articles collection by philipp von

Philipp von Weitershausen, the author of
"Web Component Development with Zope 3" has given a list of
entry level articles here:

My article is too listed.

Monday, October 10, 2005

Koha and Perl again!

Two year back I was a Koha ( consultant,
may be the first Koha consultant from India.
I did two successful installations, but later
when I got a job I stopped my consultancy works.
Actually I got many offers from all over India
to install Koha. But I found it will be very difficult to
support many clients alone. Though two of my customers was happy.

Yesterday (Sunday), I visited one of customer.
They required few changes in OPAC. In five
hours somehow I completed that work.
I was constantly referring perlintro, perlretut etc.

I think it will be very difficult for a Python
programmer to do Perl programming.

I have written a document and scripts for
ISIS to Koha migrators:

(ISIS versions are distributed by UNESCO since late 60s.
and there lots of installation world wide.)

Hmm.. now I will get back to office works,
I got lots responses for my Zope3 article,
so I will improve it.

Saturday, October 8, 2005

Zope3 In 30 Minutes

I just started writing a small tutorial for Zope3:

Actually, this is just to summarise, what I have already learn.

So don't hesitate to write your feed backs to :
baiju.m.mail at

Last week I send a mail to: webmaster at
to subscribe my blog feed to
any other contacts?

Saturday, September 24, 2005

Zissue (Zope3 product) report (I)

I created few views and wrote some unit and functional
tests, though learning very slow still...

I was very excited when my first functional test got run.
Now I am catching up with Test Driven Development,
but documention is still poor.

Subversion repository is here:

I am also planning few simple Zope3 apps, so that I can easily
make my first stable release.

Day after to morrow is our election to 'Panchayath'

Friday, September 16, 2005

Zissue My experimental Zope3 product.

Yesterday was Thiruvonam (

And I didn't made any progress in Zope3 learning,
Also I was wondering about this problem:

Today only I got a solution:

Just to track my development, I created a project at BerliOS:

I have committed the source to Subversion, to check out:

svn checkout svn://

So far only few interfaces, today I will create one view for Comments,
and I have to figure out how to handle attachments (implement IFile, how?).

Monday, September 12, 2005

Zope3 study part-1

Today I started experiments with Zope 3, Last few weeks I
took print outs of Zope3 book's most of the pages in DotMatrix :)

I think the learning curve is too steep, but it was very interesting.

When I started learning PyGTK, I created a usable app in one week.
My motivation to learn PyGTK was redhat-config-* tools, there was
nothing interesting in those apps, but it amazed me that it was very cool.

This is first time I am learing a framework (hmm.. there is PyUnit,
but its not that much difficult). May be for developing huge apps,
big frameworks will be required, anyway I will look into other
alternatives after Zope3 becomes comfortable.

First I created an instance of zope at /var/tmp/tzope/

then created a package at /var/tmp/tzope/lib/python

and It is 'Zissue Tracker' (an experimental zissue/bug tracking
system for learing Zope 3)

So the package reside in : /var/tmp/tzope/lib/python/zissuetracker

Today (Sunday) I came to my office just to work on it.
Now I only finished few interfaces.

I just tried to publish it, but failed will try tomorrow.

Update (I have uploaded it here) :

Friday, September 2, 2005

getdefault method for python dictionary

In this blog:

Blogger says that Python's dictionary method, 'setdefault' without explicit default
is confusing and useless. Now I think there should be a 'getdefault' method
which also requires two explicit arguments, it will return explicit default
if no key exists.

Here is an example:

>>> d = {1: None}
>>> print d.getdefault(1, 'Hi')
>>> print d.getdefault(2, 'Hi')

Hmm.. there is already a 'get' method. If we have 'getdefault'
then 'get' can be deprecated, Here is the reason:

>>> d = {1: None}
>>> print d.get(1)
>>> print d.get(2)

See, here I didn't thought about any use cases.

Monday, June 20, 2005

Singleton pattern for a database connection

I think I understood Singleton pattern, any suggestion?

from pyPgSQL import PgSQL

class Database(object):
_sigletons = {}
def __new__(cls):
if cls not in cls._sigletons:
cls._connection = PgSQL.connect(database='dbname',
cls._sigletons[cls] = object.__new__(cls)
return cls._sigletons[cls]

def __init__(self):
self.connection = Database._connection

def cursor(self):
return self.connection.cursor()

#other methods follows here

#just to test logjam

Thursday, April 28, 2005

Moving from Python to Java :(

For last 9 months my company was developing an
enterprise application. Our main language was Python.
Its going to implement all over India by next few months.

Next month we will start our new project, Java will be our main
language. Now I started refreshing my Java. And this is one thought
came to me today, when I looked into Strings in Java.

One of Python's primary design principle is that:
"Special cases aren't special enough to break the rules."
That is, the language should avoid having privileged features
that you can't reuse for other purposes. The consequence of this
principle is, more generalisation of syntax and semantics
of a language.

In Python : (of course, there are better ways)

age = 9
print "He is " + str(age) + " years old."

In Java:

int age = 9;
String s = "He is " + age + " years old.";

Concatenating string and integer like this is possible in Java,
because it is a "special case".

So, I should be very much bothered about Java's special cases.
Otherwise I will code something like :

String s = "four: " + 2 + 2;

See, here I should have been written :

String s = "four: " + (2 + 2);

Brackets (()), plus (+) and quotes ("") put together in different
ways makes lots of special cases.

Now I dream that I am writing Python code as did in the last 9 months.

Monday, March 28, 2005

Zope3 first look

Just now I downloaded Debian packages of Zope X3 from:

First I tried to install zope3-lib_3.0.0-4_i386.deb
but it shows dependency for python2.3-zopeinterface,
then I installed python2.3-zopeinterface_3.0.0-4_i386.deb
after that zope3-lib_3.0.0-4_i386.deb

(I had already installed Zope 2.7 )

To work Zope 3 for me, I did following things too:

1. Edited /usr/lib/zopex3/bin/mkzopeinstance
replced python2.4 with python2.3

2. #cd /usr/lib/zopex3/zopeskel (I don't know, this is necessary or not)
#python ../bin/mkzopeinstance -u baiju:password -d /tmp/zope3

3. Edited /tmp/zope3/etc/zope.conf (Changed ports to 70XX)

type HTTP
address 7080

type FTP
address 7021

4. #/tmp/zope3/bin/runzope

Now I opened http://localhost:7080 in Fire Fox , I can see Zope 3 running :)

Sunday, March 27, 2005

A dry sunday

To I came to my office very early to do some urgent
works, but I completed within two hours. And then started going trough lots
blogs found in and some mailing lists.

Now I am leaving..

Wednesday, March 23, 2005

Culebra, my working copy

I am plannig to put my working copy of Culebra here :

Monday, March 21, 2005

Mumbai journey

I was in Mumbai last week, I went there as part of my
company's work.

Sunday, March 6, 2005

Culebra IDE

This project originally called grad (started by fernado), then
I renamed to grade and hosted at, now it is moved
to with a new name 'Culebra' which is a spanish word
with meaning snake (I don't know which snake). Actually
Python has nothing to do with reptiles, but I think many pythonistas
like snake names. I am a member of BangPypers (,
they are planning a project called 'Uraga' which are reptiles with super
powers in indian classics. But I don't like reptiles, but the name 'Culebra'
sounds very good. Hope it will become a very successful project.

Friday, March 4, 2005

Today morning

As I said yesterday, today I went to 'Chaliyar'...

I wanted to make it a daily routine.

Thursday, March 3, 2005

A note about my daily journey

Usually I wake up at around 7.00 am, In my child hood
I used to take my bath at Chaliyar river. I don't know
how many months back I went to 'puzha'. Hmm.. tomorrow
I will go there.

Around 8.00 am I will reach our bus stop. Most of the time
I will catch the bus at 8.04, the other choices are at 8.16,
then 8.37. After 25 to 30 minutes, bus will reach at
'Mukkam' town (This is the small town I pass in most of my journy).

From Mukkam to REC (now NIT) it will take about 15 to 20 minutes.

Sunday, February 20, 2005

Grade Project CVS

Yesterday, I imported Fernando's source as such to Sarovar CVS.
And I made two commits to Grade (
Hope I will be able to improve it.

I set up two mailing lists,
and, but not yet made any post.

To run grade first check out it from cvs,
then install gnome-python-extras
$export PYTHONPATH=$HOME/garnome/lib/python2.3/site-packages/:$PYTHONPATH

GRADE Project

I think I will be able to spend some time for
GRADE Project.

Saturday, February 19, 2005

Its looks like days are going very fast

May be because I am doing a lot of works these days.
I wanted to involve in some free software projects,
Hope I will be able to start 'Velicham' (A frontend
for GNU Arch) project very soon.

Emacs PlannerMode

Today I started using Emacs PlannerMode
Hope it will help me in long run.

Monday, January 31, 2005

Python workshop at NIT, by Swaroop and Pradeep

Day before yesterday (saturday) I attended a workshop by Swaroop
and Pradeep ( at NIT Campus.

Saturday, January 29, 2005

Debian Installation succeded

I installed Debian sarge in two machines in our client site.
It was really cool.

Friday, January 28, 2005

Todays work, debian installation at our client's office

Sometimes today I will go to city (Calicut) to install GNU/Linux
in our clients office, this is the first time I am installing Debian
outside my office, I hope it will be a success.

My last sunday program

I live in a small village called Pathanapuram, its
located at Malappuram disctrict in Kerala (India).

I am the joint secratary of Kiranam Library, Arts and Sports Club.
We arranged a medical camp with Malabar Eye hospital (Calicut).
At 6.30 am I got up from bed, and reached the spot at 7.15,
My first tesion was the talk I have to give at end of inauguration session,
hhmm.. I got to complete it in few words. There were total 273 patients for
testing their eyes.

For the time being, this is enough.

Thursday, January 27, 2005

I was not blogging for more than two months now

I was working day and night from august to november, I don't know
whether it is just because of that I felt ill for few weeks,
I am still not fully recovered, but this not why I am not blogging,
In fact I never thought about blogging seriously.

Ok, today I will write about my last saturday's program in my village.