Skip to main content


hurm .... trying hard to restart blogging .. been quite occupied recently and been procrastinating on blog for quite a long time ..

Anyway, here's some updates on what i've been working on and a rough summary on stuff i've discovered/learnt:


Inigo Consulting is growing slowly and steadily. We're getting better in our specialization stack : Plone, Zope3, Component Architecture. We're discovering lots of new ways to be efficient and modular in coding stuff in Python by utilizing the tools and libraries from the Zope Toolkit and stuff developed by the communities surrounding Zope. (eg: buildout, zope.component, zope.schema, grokcore.component ) by utilizing them for non-zope stuff. Learning new ways to package and maintain python eggs, unittest, by utilizing buildout and a number of buildout recipes out there.

Recently I've been helping out with Startifact / Martijn Faassen and learned quite a lot of stuff from the work I did for him, mainly in Grok, Javascript and JQuery. Which are fun too.

Inigo also just got our first office around last month, and we're doing some fun experiments in our local network. I started to poke on KVM Virtualization for serious deployment in our local office network and discovered some interesting stuff it can do - such as virtio, spice, and also some annoying limitations of it (eg: bad IO performance for non-Linux, non-Windows OSes, eg: FreeBSD). Also poked around with automatic DHCP DNS, selective DNS forwarding between our nameserver in datacenter and our nameserver in office, automatic DNS for VPN connected machines, a bit of LDAP, and also setting up a wireless router using a server using hostap. Those are the already implemented stuff, as for (near) future stuff, we're planning to deploy Kerberos internally, setup a buildbot infrastructure for testing python eggs, and probably a Selenium VM cluster for testing user interaction. Those gonna be fun too I believe.


Nothing much I've been doing in Fedora land recently however, just the typical desktop stuff, and not much ambassadorial work recently because I'm mainly on Python land nowadays. But anyway, with this new office Inigo have, we are now ready (and happy) to host event/sprints for the Fedora-My and local Python community ^.^ .

Considering Fedora 14 release is coming near. To all Fedora users who are reading this blog and located in Malaysia. I have an announcement to make.

A release party is going to happen NEXT WEEK at Inigo!!. I'll post more details in my next post ^.^
Post a Comment

Popular posts from this blog

Adding simple popup to Plone frontpage

Here is a little guide for those who want to add a simple popup to the Plone frontpage for some purpose (eg: announcements, advertisements, etc).

Create a basic html file containing the content you want to appear in the popup. Upload it into $PLONE_SITE/portal_skins/custom (as Page Template) and for the sake of this example, name it popup.html

Afterward, create a Javascript file with your Pop-Up loader script. For example , this script:

function popup(mylink, windowname)
if (! window.focus)return true;
var href;
if (typeof(mylink) == 'string')
href=mylink.href;, windowname, 'width=220,height=400,scrollbars=no');
return false;

popup('popup.html', 'My Popup');

Also upload this file into $PLONE_SITE/portal_skins/custom (as Page Template too). For this example, name it as popup.js

Afterward, in $PLONE_SITE/portal_javascripts , add popup.js as a new script into portal_javascripts…

Tee'ing Python subprocess.Popen output

A little hack for python coders out there who wanted to have a functionality similar to the unix's tee command for redirecting output to multiple places.

import sys
from subprocess import Popen,PIPE
p = Popen(['put','command','and','arguments','here'],stdout=PIPE)

while True:
o = p.stdout.readline()
if o == '' and p.poll() != None: break
# the 'o' variable stores a line from the command's stdout
# do anything u wish with the 'o' variable here
# this loop will break once theres a blank output
# from stdout and the subprocess have ended

HOWTO: Mirroring Yum repositories using Yum-Utils

As promised before in one of my previous post, a Howto on how to mirror and manage yum repositories using some of the utilities in yum-utils.

The first step is, well, of course, is to get yum-utils from fedora repository
yum install yum-utils

Reposync is a utility for mirroring and synchronizing local copy of a yum/rpmmetadata repository.

This utility is very useful if you wanted to make a yum repository mirror. Before this, I used "wget -R -np -N" but this method is a little bit tedious and it doesnt work with repos that didn't use directory listing. Plus, it also download together additional site stuff that I don't need/want and it doesn't verify checksum of the downloaded packages.

Mirroring a repo using this utility is easy, just execute this command
reposync -r <repoid> -a <arch> -n
and the repo will be mirrored in a folder with the same name of the repoid in the directory you executed the command. Eg: you executed the command in /mnt/storage/mi…