Skip to main content


Showing posts from November, 2011

Obviel.js: Object, View, Element Javascript lib

I just saw the posts by Martijn Faassen related to Obviel, I was quite busy this past month that I did not notice them, and due to my mail filters I also didn't notice I was added into the obviel googlegroup. (Sorry Martijn >.<)

Anyway, a year ago until a few months back, I was working with Martijn for his client project. It was a pleasure working with him and I learnt quite a lot from him. In the project, we utilize a pattern to allow us to write dynamic site using javascript for the frontend, and JSON at the backend. The server controls what would be displayed in the frontend by returning JSON objects with a specific iface (short for interface). Obviel was then born out from it.

For example, a simple hello world app.

$(document).ready(function(){ $('#main').render('http://path/to/app.json') })
Where app.json is :

{ iface: 'print', message: 'Hello world' }
And the obviel view defined as :

obviel.view({ iface: 'print', r…

[HOWTO] Using Diazo as a standalone server.

Just a little quick note.

Diazo, the super cool theming system used by Plone, have 2 WSGI middlewares which will turn it into some sort of theming proxy for any existing sites. However, that feature and the steps to use it is not quite documented anywhere.

Then I saw dv.xdvserver in PyPi. Using the sample paster config file from there, here is a little guide on how to use it.


I have uploaded my buildout to github kagesenshi/diazoserver. To deploy, just follow these steps:

got clone git:// cd diazoserver python2.6 ./bin/buildout -vv
The steps above will pull and install diazo and its dependencies into the buildout.


Copy diazo.ini-sample as diazo.ini. Change the address to address of your app. Take note that the Paster proxy might not work if the backend site is compressed.

Edit the static/rules.xml file and static/index.html file as you wish. For full documentation on how to utilize them, vis…

diazotheme.bootstrap : Twitter Bootstrap based Diazo theme for Plone4.1+

I was introduced to twitter's bootstrap css toolkit quite a while ago, and loving it.

Naturally, I want to use this in Plone, so I went ahead and build a Diazo theme and transformation rules which utilizes it. The end product can be seen in  Inigo's updated website, and also Fedora Malaysia's site.

I've uploaded the code into github repository at, so feel free to fork it and use in your projects.

Some notes:
To enable the dropdown menu navigation, you'll need to have webcouturier.dropdownmenu installed.The theme support 3 belowcontent portlet columnsThe theme support 6 footer portlet columns, where the 6th column, is a bit smaller Some future plans (if I find free time to add them):
Use bootstrap's tab system for the edit bar Use html5slideshow for the presentation modeNicer folder_contents view Nicer edit viewUpdate: rename to diazotheme.bootstrap, because I just realized that plonetheme.bootstrap name is al…

[hackpatch] Single workspace Alt+Tab / Alt+~ in Gnome3

The default alt+tab functionality in GNOME3 displays all apps and windows from all workspace. This probably is cool for non-power user who just use workspace to keep their current view uncluttered.

However for people like me who launch tens of windows and apps, and work with multiple project at once, and rely on the workspace to keep us in context with the project, the all workspace alt+tab is one heck of a confusing feature. This is especially true when I have multiple reference documents, and several browser windows opened, where some are meant for ProjectA, and some are meant for ProjectB. Any mistakes in alt+tab will cause me to get lost trying to go back to the right workspace, and the automatic reordering of alt+tab app icons based on last focus added the confusion even more, forcing me to stop for a while to find my bearing.

Anyway created a patch to make alt+tab showing only windows of current workspace.  Its quite rough, but good enough to keep my sanity.

WARNING: Things m…

CampusCamp : Building communities in educational institutions

So I created yet-another-barcamp-spinoff. :-)

What is CampusCamp

In general , CampusCamp is a BarCamp for educational institutions, targeting specifically the people inside the educational institution itself, such as undergraduates, postgraduates, staff, and lecturers. The goal is to get these people to start sharing whatever they know, love, or doing.

Whats the difference compared to normal BarCamps?

Not much. The only major difference is the target audience. CampusCamp target only members inside the educational institution itself. External audience are allowed to attend, however, only if the college allows it, and CampusCamp will limit the number of sessions available for talks given by external people. 
The reason of the limit is so that we could give way for more talks by the members of the educational institutions itself. It is also to make it easier for the students who are organizing CampusCamp to handle the audience.

Goals of CampusCamp

CampusCamp primary goal is to nurture t…

FUDCon Pune 2011

I arrived in Pune around 3AM Friday together with Harish Pilllay (harish), Eugene Teo (eugeneteo) and Heherson Pagcaliwagan (azneita) after a long 5 hours flight from Kuala Lumpur + 6 hours taxi from Mumbai - because the taxi driver were lost several times. Had a short sleep and the day started at around 7AM as we need to catch the bus to the FUDCon venue, which was at College Of Engineering Pune.

At COEP, it was great to be able to finally attach faces to those nicks and names which I've known for quite some time in IRC and mailing lists. We also manage to meet up with Jared Smith, the Fedora Project Leader, and it was great sharing ideas and chatting about Fedora with him.

The way FUDCon Pune was ran - especially the first and second day - reminds me a lot of FOSS.My - the general FOSS conference we once had for 2 times, which no longer around to give way for more specialized conferences. The format, the audience, gave me a lot of dejavu throughout the day, with one differenc…