Picolé
- Posted by acidx on May 3rd, 2010 filed in geek
- 3 Comments »
While working with WebKit at ProFUSION, this famous XKCD strip couldn’t be more descriptive:

There are various ways to get a monster like WebKit to compile faster, such as using ccache or icecream.
CCache is nice because I’m working with the build system, so I have to rebuild the whole thing often, even if I didn’t change a single line of code: ccache saves the object files somewhere in your home and only copies them instead of compiling it again, if there were no changes to the source code.
Icecream is also nice. Forked from distcc, icecream allows to distribute the compilation to other computers: add more nodes and the compilation goes faster. Compiling the kernel was never this fun before I’ve used this thing. There are some Gentoo users at ProFUSION that probably enjoys this thing as well.
And even though Icecream offers a nice program called Icemon with some nice visualization options, it is written for Qt3 — it works with Qt4 using the compatibility libraries — and crashes often. Since I was too lazy to debug this program, I’ve decided to write my own.
Called Picolé, it is an web-based monitor program. It felt natural to do a web-based program because I was working with WebKit; also, it can be installed on a server and there is no need for specialized client applications anymore. And since I’ve been longing to create something using AJAX for some time, this was the perfect opportunity.
The user interface is pretty simple. It offers two views: Hosts and Jobs.

Picolé’s main interface (click to enlarge)
The hosts view can display all the Icecream nodes in the network either in a table, or by using a star view, similar to the Icemon one.
The jobs view displays all the jobs being processed right now, and tells the language, file name, node that asked the compilation and node where the compilation is being performed.
The server is written in Python (using webpy) and it communicates through pipes with a program, written in C++, which communicates with the Icecream’s scheduler. The reason I’m not using a single programming language is that I didn’t want to rewrite the C++ part in Python, because I am using the same classes used by the Icemon program.
I got permission to distribute Picolé’s source code, but I need to clean it up and fix some stability problems. I’ll let you know whenever this happens.












May 4th, 2010 at 6:44 am
Olha essa foto aqui e mostre pro Barbieri:
http://www.flickr.com/photos/osantana/4578446534/
May 4th, 2010 at 3:13 pm
[...] This post was mentioned on Twitter by Leandro Pereira. Leandro Pereira said: No blog, Picolé: http://labs.hardinfo.org/mindcrisis/2010/05/03/picole/ [...]
May 5th, 2010 at 3:09 am
Ivanka?! Ivanka Trump?