planet.igalia.com

May 15, 2008

Alberto Garcia

Vagalume 0.6 released

Vagalume 0.6 is here!

Among the new features introduced in Vagalume 0.6, the coolest one is probably the brand new tray icon for desktop users written by Mario, similar to the one already available for Maemo:

Vagalume tray icon

Other highlights from this version include:

  • Update the status message of your IM client. Tell everyone what you’re listening to. Currently supported: Pidgin, Gajim, Gossip and Telepathy
  • Gettext support: Vagalume has been translated into Portuguese, German, Finnish, Spanish, Galician and Italian
  • New setting to disable the love/ban confirmation dialogs
  • New D-BUS methods and a script to control Vagalume from the command line (currently only for Maemo, more news soon)
  • Osso-backup support

I would like to thank all the contributors, in particular Tim Wegener for his work in the IM status support. And of course all the translators too!

Last but not least, I’d like to remind you again that, as I said in my previous post, I’ll be at LinuxTag 2008 in Berlin with other Maemo hackers. Hope to see you there!

And now, enjoy!

P.S.: I’m moving Vagalume to Maemo extras, so one of these days it should be available there. Stay tuned!

Update: Vagalume 0.6 is now available in Maemo Extras

by berto at May 15, 2008 01:22 AM under Planet Gnome

May 12, 2008

Javier Muñoz

My baby girl

My baby girl

This is my baby girl Carla. She was born one month ago in A Coruña (Spain). Our life have just changed :)

by jmunhoz at May 12, 2008 07:50 PM under planet.igalia.com

May 08, 2008

Javier Vázquez

III Día do Emprendedor: Google!

Onte mesmo confirmou a súa presencia no itinerario de software libre dentro do III Día do Emprendedor Eduardo Manchón, quen traballa actualmente nas oficinas en Zurich de Google .

Eduardo é un dos fundadores de Panoramio, empresa española  de xeolocalización de fotos que foi mercada por Google en 2007.  Podedes ler a entrevista que lle fixeron  a Eduardo e o seu socio Joaquín no País o ano pasado.

Con todo, o programa definitivo, penso que moi interesante :) , queda como segue:

09.30-10.15 “Gurús da Rede”

Juan Freire. Emprendemento, organizacións abertas, novos paradigmas…

Eduardo Manchón. Google, Panoramio, …

10.15-11.00 “Empresas preto de ti”

Igalia. Cooperativismo e software libre dende Galicia para o mundo.

Allenta. Roberto Moreda.

13.00-13.45 “Distintas fórmulas cara o éxito”

Ikusnet. Dani Armendáriz. Cooperación e horizontalidade en torno ao software libre.

e-Box. Nacho Correas. Na búsqueda de capital risco.

13.45-14.30 “100% software libre, pero _sen_ software”

Blobject. Alfredo Romeo.

Zemos98/Hapaxmedia. Felipe González e Rubén Díaz.

Non esperades para inscribiros a través da web do evento!.

by jvazquez at May 08, 2008 10:12 AM under AGASOL

May 06, 2008

Javier Vázquez

III Día Galego do Emprendedor 2008: Software Libre

O programa do III Día do Emprendedor xa está completo e pode ser consultado na propia web da xornada, da que extraio o texto de presentación seguinte:

O vindeiro 15 de Maio, Santiago de Compostela acollerá a celebración do III Día Galego do Emprendedor. No ámbito da iniciativa promovida dende o Ministerio de Industria, Turismo e Comercio para a realización destas xornadas sobre emprendemento en todas as Comunidades Autónomas, o Igape e BIC Galicia impulsan este evento co obxectivo fundamental de promover e alimentar o espírito emprendedor e, deste xeito, transmitir as claves que permitan emprender en Galicia nun ámbito de innovación e competitividade.

Baixo o paraugas de AGASOL e a través de Igalia, confeccionamos o itinerario adicado a Software Libre e modelos abertos de negocio, co programa seguinte:

09.30-10.15 “Gurús da Rede”

Juan Freire. Emprendemento, organizacións abertas, novos paradigmas…

10.15-11.00 “Empresas preto de ti”

Igalia. Cooperativismo e software libre dende Galicia para o mundo.

Allenta. Roberto Moreda.

13.00-13.45 “Distintas fórmulas cara o éxito”

Ikusnet. Dani Armendáriz. Cooperación e horizontalidade en torno ao software libre.

e-Box. Nacho Correas. Na búsqueda de capital risco.

13.45-14.30 “100% software libre, pero _sen_ software”

Blobject. Alfredo Romeo.

Zemos98/Hapaxmedia. Felipe González e Rubén Díaz.

Tendo en conta o elevadísimo número de persoas que acudirán as diferentes sesións paralelas, é recomendable rexistrarse a través da web do evento.

by jvazquez at May 06, 2008 10:58 AM under AGASOL

May 05, 2008

Javier Vázquez

Prácticas de empresa verán 2008 en Igalia

Igalia, empresa galega de Software Libre, ofrece por sétimo ano consecutivo a posibilidade de realizar prácticas na empresa durante este verán nas súas instalacións de A Coruña ou Pontevedra, a estudiantes de Enxeñería en Informática ou Enxeñería Técnica en Informática con máis do 50% dos créditos superados.

Por que o facemos?

  • A maioría de nós fixemos prácticas en empresa cando eramos estudiantes.
  • É unha boa forma de devolverlle algo a Universidade da que vimos.
  • Tamén é unha boa maneira de contratar xente. Case o 50% das persoas que fixeron prácticas connosco no pasado forman parte da empresa na actualidade.

Como son?

  • Un total de 350 horas cunha planificación flexible de 5 a 8 horas diarias durante os meses de xullo, agosto e setembro.
  • 325 horas traballando nun proxecto de Software Libre e 25 horas para redactar a memoria.
  • Axuda de 1,000 €.

Se estás interesado en optar ás prácticas, o período de recepción de solicitudes abrangue abrangue dende o 5 ata o 18 de maio.

Por favor, envíanos a túa carta de presentación, CV e copia do expediente académico a rrhh@igalia.com, indicando “[internship] Apelido, Nome” no subject.

Máis información: http://www.igalia.com/igalia/workwithus/internship/

by jvazquez at May 05, 2008 10:09 AM under Igalia

May 02, 2008

Alberto Garcia

Vagalume in your language

We’re about to release a new version of Vagalume and this one will be the first with gettext support. So if you want to help to see Vagalume in your language feel free to send me an e-mail, download the latest vagalume.pot file and send me the translation (you can also join the vagalume-devel mailing list).

Note that there are people already working on translations, so if you want to help please have a look at the translations that we already have and ask me before starting.

I’m also glad to announce that I’ll be talking about Vagalume in a couple of conferences:

Hope to see you there! :)

by berto at May 02, 2008 12:44 AM under Planet Gnome

May 01, 2008

Juan A. Suárez

Ubuntu and Scratchbox: singing duets

Recently Igalia gave me a new laptop, a Lenovo “The Beast & The Best” Thinkpad, for everyday work. I decided to install Ubuntu Hardy Heron 64bits, as I had never worked with such operating system, and I am eager to learn benefits and drawbacks of working on a 64bits OS.

Among other features, Hardy comes with PulseAudio, the new sound system which has a lot of features.

As I am playing with Maemo I have installed a scratchbox too. A workmate, Calvaris, wrote about how to install scratchbox in a Linux Amd64.

Now the problem: scratchbox comes with esound to manage the sounds. When I am working within the scratchbox, esound daemon blocks the /dev/dsp device, preventing other applications outside the scratchbox to be able to play. This disturbs me a lot, as I like listening music while working. Of course, we can kill esd daemon to free the dsp device, but in this case I can not play songs inside the scratchbox, which I need to do too.

So, what is the solution? The idea is to use the soundcard to play songs for our Ubuntu applications, while the scratchbox will use a virtual soundcard that will sent the music to another host using networking capabilities of esound. The trick is that the ‘another host’ will be our own host, which will receive the music stream and will play it. Cool, uh?

Lets do it!.

Configuring PulseAudio

The first step is configuring Pulseaudio to be able to receive streams through the network. Therefore, edit /etc/pulse/default.pa and add the following line:

load-module module-esound-protocol-tcp

It is likely that line already exists in the file but commented. In this case, uncomment it.

Now you must restart pulseaudio in order to load the new configuration.

Configuring a Dummy Soundcard

Scratchbox esound daemon requires to have a dsp device even when sending the music through network. So we are going to add a dummy sound card that will be used by the daemon.

Linux kernel provides a driver for a dummy soundcard. To load it, execute as root:

modprobe snd-dummy

A new dsp device, /dev/dsp1, will be created.

Configuring Scratchbox eSound

We must configure esound daemon in scratchbox to use the new dummy soundcard. To do this, enter in the scratchbox and edit /etc/esd.conf file. Search the options line and add at the end:

-d /dev/dsp1

In my case, the esd.conf file contains:

auto_spawn=1
#spawn_options=-promiscuous -nobeeps
spawn_options=-promiscuous -nobeeps -d /dev/dsp1
spawn_wait_ms=500
# default options are used in spawned and non-spawned mode
#default_options=-promiscuous -nobeeps
default_options=-promiscuous -nobeeps -d /dev/dsp1

Thus, scratchbox will use the dummy soundcard, while the real soundcard will remain free for Ubunutu. Of course, being a dummy sound card, don not expect to hear music playing in the scratchbox. To resolve this problem, the last step is send what is playing with esound daemon through the network to our own host to be played through pulseaudio.

Configuring eSound’s Network Transparent Sound

This is the last step. Network sound uses a authentication mechanism. So in order to use network transparency both sides must be authenticated between them. When pulseaudio is launched, an .esd_auth file is created in the home directory. Copying this file to the scratchbox home will allow esd to send music to pulseaudio daemon. After copying the file, restart esound daemon.

Now we can send the sound to the pulseudio daemon. From the scratchbox, execute this:

esdmon | esdcat -s 127.0.0.1 &

esdmon listens all data sent to esound daemon, sending it also to the standard output. On the other hand, esdcat reads all data from the standard input and sends it (in this case) to the localhost. As you can notice, working together means that all sound sent to the dummy sound card is also sent through localhost to the pulseaudio daemon, which in turn sends it to the real soundcard.

Now, you can play songs inside the scratchbox and you will hear them! Moreover, you can be playing at the same time music in the scratchbox and in the host, due to multiplexing capabilities of pulseaudio. So both systems, Ubuntu and scratchbox, will sing duet.

by jasuarez at May 01, 2008 11:01 PM under Igalia

April 30, 2008

Manuel Rego

FORMidable: Starting Collaboration

This week I’ve started my collaboration with FORMidable, a TYPO3 extension.

If you develop TYPO3 extensions, specially frontend forms, you should test the extension called Ameos FORMidable (ameos_formidable), with this extension you can develop TYPO3 extensions very fast. After more than one year developing TYPO3 applications, I think that FORMidable is an essential TYPO3 extension; I’ve fallen in love with it. ;-)

Furthermore FORMidable actually is a free software project, at project’s homepage there’re links to documentation, SVN, a lot of examples, and mailing list. In this list you can ask, suggest, send patches, etc. and somebody from FORMidable community is going to try to help you, besides FORMidable authors accept patches to improve FORMidable or fix some bugs; I’ve sent several patches and they’ve added my modifications to project.

This post has only the purpose to announce that I’ve published my first article at FORMidable web page.

Finally I’d like to thank to FORMidable development team, specially to Jerome Schneider, for give me the opportunity to collaborate in this great project and for accept my ideas and patches trying to improve FORMidable.

by Manuel Rego Casasnovas at April 30, 2008 03:14 PM under Planet

April 28, 2008

Manuel Rego

Testing Online Desktop on Hardy Heron: Quick Guide

I’ve been testing Online Desktop the last days on an Ubuntu distribution.

I’ve followed the instructions from OnlineDesktop/Jhbuild, but with these instructions you need to compile 101 modules, it’s quite slow, moreover you can find some problems in different modules that aren’t stables. I need to upgrade to Hardy Heron 8.04 to can finish my compilation.

However, thanks to Dape, I’ve found another solution to test Online Desktop faster only compiling 6 modules: hippo-canvas, local-export-daemon, desktop-data-model, online-desktop, bigboard and mugshot-client.
Maybe this isn’t the best way to test Online Desktop, but it’s very quickly for a simple test.

Next I’m going to relate instructions needed to test Online Desktop on an Ubuntu Hardy Heron distribution.

First at all I have to say you that you should use a new user to compile Online Desktop. I usually use sux when I’m compiling:

sux - newuser

Furthermore we should install dependencies before start to compile to avoid future problems. Dependencies from Ubuntu Jhbuild dependencies:

sudo apt-get install gnome-common build-essential doxygen subversion automake1.4 automake1.7 automake1.8 cvs git-core docbook docbook-utils docbook-xsl flex bison texinfo python2.5-dev lynx mono-gmcs libtiff4-dev libxtst-dev libgdbm-dev libxml-simple-perl libelfg0-dev libcupsys2-dev libldap2-dev libexchange-storage1.2-dev libxmu-dev libpam0g-dev libgpgme11-dev libfreetype6-dev libpng12-dev libxrender-dev libxi-dev libexpat1-dev libbz2-dev firefox-dev libxcursor-dev guile-1.8-dev libxdamage-dev libxcomposite-dev libmono-cairo2.0-cil xnest libxft-dev libloudmouth1-0 libloudmouth1-dev libxss-dev libxkbfile-dev libjasper-dev libnl-dev ppp-dev libdv4-dev uuid-dev libpcre3-dev libsqlite3-dev libpurple-dev libcurl4-gnutls-dev xulrunner-1.9-dev

And some new packages, because we’re going to compile a few modules and need some packages:

sudo apt-get install python-cairo-dev python-gtk2-dev libhippocanvas-dev python-hippocanvas libgtk2.0-dev python-gtk2-dev libpanelappletmm-2.6-dev libpanel-applet2-dev libsoup2.4-dev python-gnome2-dev libcroco3-dev

Firstly you need to install Jhbuild, I paste here instructions from OnlineDesktop/Jhbuild. First create a folder od and the structure needed:

mkdir ~/od
cd ~/od
mkdir checkout
mkdir install
mkdir -p install/var/lib/dbus
ln -s /var/lib/dbus/machine-id install/var/lib/dbus

Now get and install Jhbuild:

cd ~/od
svn co http://svn.gnome.org/svn/jhbuild/trunk jhbuild
cd jhbuild
./autogen.sh ; make ; make install

At this moment we need a file ~/.jhbuildrc with the next content:

# -*- mode: python -*-

# if you have a GNOME svn account, uncomment this line
#repos['svn.gnome.org'] = 'svn+ssh://user@svn.gnome.org/svn/'

moduleset = 'online-desktop'

modules = [ 'meta-online-desktop' ]

# This will take a long time, and conflicts with the jhbuild cairo
skip = ['mozilla']

# what directory should the source be checked out to?
checkoutroot = os.path.expanduser('~/od/checkout')

# the prefix to configure/install modules to (must have write access)
prefix = os.path.expanduser('~/od/install')

# Use system libraries for the builds
addpath('PKG_CONFIG_PATH', os.path.join(os.sep, 'usr', 'lib', 'pkgconfig'))
addpath('PKG_CONFIG_PATH', os.path.join(os.sep, 'usr', 'share', 'pkgconfig'))

# Look in /usr/share for icons, D-BUS service files, etc
addpath('XDG_DATA_DIRS', '/usr/share')
# Look in /etc/xdg for system-global autostart files
addpath('XDG_CONFIG_DIRS', '/etc/xdg')

# We need to add the gtk-2.0 directory explicitly to the Python path since '.pth'
# files (here pygtk.pth) only work properly in system directories
import re, sys
python_version = sys.version.split()[0]
python_version = re.sub(r"^(d+.d+).d+$", r"1", python_version)
lib_packages = os.path.join(prefix, 'lib', 'python' + python_version, 'site-packages')
lib64_packages = os.path.join(prefix, 'lib64', 'python' + python_version, 'site-packages')
if lib64_packages in sys.path:
    addpath('PYTHONPATH', os.path.join(lib64_packages, 'gtk-2.0'))
else:
    addpath('PYTHONPATH', os.path.join(lib_packages, 'gtk-2.0'))

# Rebuild faster
os.environ['INSTALL'] = os.path.expanduser('~/bin/install-check')

# Use the standard system bus
os.environ['DBUS_SYSTEM_BUS_ADDRESS'] = 'unix:path=/var/run/dbus/system_bus_socket'

os.environ['UNDER_JHBUILD'] = 'true'

# Flags needed to 'pyorbit'
os.environ['CFLAGS'] = '-lz'

# Params for mugshot-client
module_autogenargs['mugshot-client'] = autogenargs + ' --with-gecko-sdk=/usr/lib/xulrunner/sdk/ --with-gecko-idl=/usr/lib/xulrunner/sdk/idl/'

You have to check which jhbuild you’re going to execute, you have to use ~/bin/jhbuild.

Before to compile the modules we need to do:

jhbuild -m bootstrap buildone waf

Then we are going to compile these few modules:

jhbuild buildone -a hippo-canvas local-export-daemon desktop-data-model online-desktop bigboard mugshot-client

To test an Online Desktop session we have to create a file /usr/local/bin/run-online-desktop with the next content:

if [ -x $HOME/bin/jhbuild ] ; then
   exec $HOME/bin/jhbuild run dbus-launch --exit-with-session od-session
else
   zenity --error --text="No JHBuild session found for user $USER"
   exit 1
fi

And make it executable:

chmod a+x /usr/local/bin/run-online-desktop

Now we have to create another file /usr/share/gdm/BuiltInSessions/online-desktop-jhbuild.desktop:

[Desktop Entry]
Encoding=UTF-8
Name=Online Desktop (JHBuild)
Comment=JHBuild of Online Desktop
Exec=/usr/local/bin/run-online-desktop
Icon=
Type=Application

Finally we can start a new session with the user that we’ve compiled Online Desktop and test it (maybe when you start an Online Desktop session at first time you have to close and restart the GNOME session to see that Big Board knows that you are logged in Online Desktop).

Screenshot Online Desktop

I hope these instructions are complete, but if you find any problem or error please tell me and I’ll update this post. Moreover you can find some solutions for your problems at Jhbuild Issues.

by Manuel Rego Casasnovas at April 28, 2008 04:09 PM under GNOME

April 25, 2008

Mario Sánchez

(freedesktop) Tray icon for Vagalume

As you might know, some time ago I developed a plugin for the maemo version of Vagalume which would allow the user to manage the most basic features from a tiny icon in the status bar.

After that, I thought it could be a good idea to implement a freedesktop tray icon as well, so you would be able to hide/show Vagalume with a tray icon in the notification area, in the same way you could do it with some other programs such as pidgin, xchat or rhythmbox, for instance. Moreover, some people told me that it would be very nice to have a tray icon in the desktop version of vagalume, so everything seemed to say that I was not mad after all and that it could be a good idea…

So, I’ve started working on its implementation (using a GtkStatusIcon) some weeks ago and now I finally managed to get the enough ’spare time’ to plug everything together and to finally finish the patch for being applied to one of the latest revisions of the SVN trunk (158). In fact, at this moment I’ve already sent it to vagalume-devel@maemo.org mailing list and I’m waiting for Berto to take a look into it to finally integrate it for (hopefully) the next release :-)

Update [2008/04/29]: After working a bit more on this new tray icon during the past weekend I’ve added libnotify support to allow the tray icon to show a notification each time Vagalume starts playing a new song. Of course, as I know there’re people who might dislike this feature, I’ve also added the possibility of disabling these notifications from the ‘Settings’ dialog in the GNOME version of the application. I’ve also added an screenshot of the notifications working at the end of this post.

To finish with this post, and knowing that sometimes an image is better than just a description, here you are a couple of screenshots of the new tray icon working in my GNOME environment:

Vagalume's tray icon: showing the menu

Vagalume’s tray icon: showing the menu

Vagalume's tray icon: showing the tooltip

Vagalume’s tray icon: showing the tooltip

Vagalume's tray icon: showing playback notifications

Update [2008/04/29]: Vagalume’s tray icon: showing playback notifications

And that’s all. I hope the patch is good enough to integrate it with the next release of Vagalume. Of course, suggestions and criticisms are always welcome, so don’t hesitate to leave your comments here.

I hope you like it ;-)

by msanchez at April 25, 2008 09:31 AM under Planet GPUL

Alejandro Piñeiro

i18n support for vagalume

There are here on Igalia a lot of people working on Vagalume, a last.fm client started by Berto, another Igalian.

So, I realize that one missing feature (not a real priority) was the i18n support. So I start to add this, and today, I have finished the support, as you can read on the vagalume developer lists.

I didn’t made a full translation, only the support (I let the translation for the translators ;) ) , but you can get something like that:

by API at April 25, 2008 07:30 AM under Gnome

April 24, 2008

Manuel Rego

O Galego en TYPO3 III

TYPO3 4.2 foi lanzado onte, o que implica que o galego xa está soportado no core de TYPO3.

Dende este momento calquera que se descargue a versión actual de TYPO3 poderá ter un sitio web funcionando en galego coma un idioma máis.

Se queremos ter o backend de TYPO3 en galego tan só temos que seguir os seguintes pasos:

  • Acceder ó módulo Ext Manager (Adm. de Extensións)
  • Seleccionar a opción Translation handling
  • Seleccionar o idioma Galician - [Galician]
  • Premer en Save selection
  • Premer en Update from repository

Como descargar a tradución do galego para o backend de TYPO3

Unha vez feito isto poderíamos escoller o galego como idioma de backend:

  • Ir ó módulo User settings (Configuración)
  • Seleccionar Galcian - [Galician] no campo Language (Lingua)
  • Premer en Save configuration (Gardar configuración)

Como establecer o galego como idioma de backend en TYPO3

Ademáis está dispoñible a extensión Static Info Tables (gl) - static_info_tables_gl, que proporciona a tradución ó galego das táboas estáticas de TYPO3.

Para rematar quero lembrar que, como xa sabedes, o galego ten unha conta no servidor de traducións de TYPO3, polo que calquera colaboración para seguir coa tradución de TYPO3 ó galego será benvida.

by Manuel Rego Casasnovas at April 24, 2008 06:40 PM under Planet

Galician in TYPO3 III

TYPO3 4.2 was released yesterday, it means that Galician is already supported inside TYPO3 core.

Since this moment everyone that download TYPO3 current version may have a website working in Galician as a language more.

If we want to have TYPO3 backend in Galician just have to follow next steps:

  • Access to Ext Manager module
  • Select option Translation handling
  • Select language Galician - [Galician]
  • Click on Save selection
  • Click on Update from repository

How to download Galician translation for TYPO3 backend

Then we may choose select Galician as backend language:

  • Go to User settings module
  • Select Galcian - [Galician] on field Language
  • Click on Save configuration

How to set Galician as TYPO3 backend language

Moreover it’s available the extension Static Info Tables (gl) - static_info_tables_gl, that provides Galician translation for TYPO3 static tables.

Finally I’d like to remerber that, as you know, Galician language has an account at TYPO3 translation server, so that any collaboration to follow with TYPO3 translation to Galician will be welcome.

by Manuel Rego Casasnovas at April 24, 2008 06:40 PM under Planet

Xabier Rodríguez Calvar

Compiling Epiphany+WebKit with jhbuild under debian amd64

The next challenge I faced with my debian amd64 was compiliing Epiphany with WebKit. As my system is ‘almost virgin’ I had to install many libraries deveplopment packages that you won’t need to install if you have played enough with your system.

First step if you have a dual core computer, activate it in .jhbuildrd with the line:

os.environ['MAKE'] = 'make -j2'

I guess it should work if you just define the environment variable in the .bashrc.

The first problem comes when compiling the bootstrap because gmp reminds you that you are under a 64 bits architecture. Configure stops because it can’t find a suitable compiler. I guess this should be fixed in jhbuild or just in gmp configure.in file because it doesn’t recognize the architecture correctly. To bypass this problem it is needed to specify the architecture to the package or for the whole jhbuild system. I preferred to avoid this problem for all packages and just added it in .jhbuild as:

autogenargs='--build x86_64-linux-gnu'

Actually the first problem you find is that gettext and autoconf stop compiling because of a wrong dependency in make process that causes it to try to compile something that wasn’t compiled yet. It is annoying but to bypass it just carry on compiling.

Next problem came with guile. I say ‘came’ instead of ‘comes’ because when doing this again to test the steps problem had dissapeared. Maybe they fixed it, but it couldn’t find the gmp library that he had just compiled before. With external help we realized that and bypassed it specifying the place where libraries are:

module_autogenargs['guile'] = autogenargs + ' --libdir /yourgnomebuildinstallationdirectory/lib64'

Until this moment, we were only compiling the bootstrap. Then you can begin with epiphany with jhbuild build epiphany. Next problem comes with gnome-doc-utils:

I/O error : Attempt to load network entity http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl
warning: failed to load external entity "http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl"
error
xsltParseStylesheetFile : cannot parse http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl
compilation error: file ./xml2po.1.xml line 17 element refentry
xsltParseStylesheetProcess : document is not a stylesheet

What was missing was the package docbook-xsl. Next problems come with cairo:

configure: error: flex is required to create the libIDL scanner
*** error during stage configure of libIDL: ########## Error running ./autogen.sh --prefix /home/calvaris/nocrypt/gnome/install --libdir '${exec_prefix}/lib64' --build x86_64-linux-gnu ***
configure: error: yacc is not usable as yacc - consider using bison
*** error during stage configure of libIDL: ########## Error running ./autogen.sh --prefix /home/calvaris/nocrypt/gnome/install --libdir '${exec_prefix}/lib64' --build x86_64-linux-gnu ***

Fixed if installing packages flex and bison. Other problem with cairo is libpng. You need to install libpng-dev package but this is not enough because jhbuild replaces PKG_CONFIG_PATH environment variable, which causes it not to find it. Just adding the a line solves the problem (and many others that may appear) because it will search in system’s pkg-config system. This a solution but also a drawback: if any package configuration is not well written, it could cause you to use the system configuration instead of the compiled with jhbuild, though this should be a very rare thing. Line is:

addpath('PKG_CONFIG_PATH', '/usr/lib/pkgconfig')

While compiling GTK, avahi,icon-naming-utils and startup-notification I got:

* configure: WARNING: *** TIFF loader will not be built (TIFF library not found) ***
configure: error:
*** Checks for TIFF loader failed. You can build without it by passing
*** --without-libtiff to configure but some programs using GTK+ may
*** not work properly
*** error during stage configure of gtk+: ########## Error running ./autogen.sh --prefix /home/calvaris/nocrypt/gnome/install --libdir '${exec_prefix}/lib64' --build x86_64-linux-gnu ***
configure: error:
*** Checks for JPEG2000 loader failed. You can build without it by passing
*** --without-libjasper to configure
*** error during stage configure of gtk+: ########## Error running ./autogen.sh --prefix /home/calvaris/nocrypt/gnome/install --libdir '${exec_prefix}/lib64' --build x86_64-linux-gnu ***
*** error during stage configure of avahi: ########## Error running ./configure --prefix /home/calvaris/nocrypt/gnome/install --libdir '${exec_prefix}/lib64' --disable-qt3 --disable-qt4 --disable-mono --disable-monodoc --disable-manpages --disable-python --enable-compat-howl --enable-compat-libdns_sd --build x86_64-linux-gnu ***
checking for XML::Simple... configure: error: XML::Simple perl module is required for icon-naming-utils
*** error during stage configure of icon-naming-utils: ########## Error running ./configure --prefix /home/calvaris/nocrypt/gnome/install --libdir '${exec_prefix}/lib64' --build x86_64-linux-gnu ***
configure: error: X11 development libraries/headers not found
*** error during stage configure of startup-notification: ########## Error running ./configure --prefix /home/calvaris/nocrypt/gnome/install --libdir '${exec_prefix}/lib64' --build x86_64-linux-gnu ***

You need these packages for that:

  • libtiff4-dev
  • libjasper-dev
  • libgdbm-dev
  • libxml-simple-perl
  • libxt-dev

And then comes a very funny thing: gnome-desktop stops because it doesn’t find the foundation-members.list files. If taking a look at the autogen.sh (thanks, garnacho) you see the following:

if test "`which gvfs-copy`" != ""; then
gvfs-copy http://api.gnome.org/gnome-about/foundation-members gnome-about/foundation-members.list
else
touch gnome-about/foundation-members.list
fi

In this case problem is that it finds gvfs-copy (it had been compiled before), but it couldn’t copy the file and you don’t get it eventually. A bug exists already about that but it was close as invalid, so I have to open a new one to upload a little patch I created. To bypass the problem immediately, you only need to type:
touch gnome-about/foundation-members.list

After continuing you can stop it at epiphany’s beginning, because you neither compiled nor installed webkit yet. I’ll carry on explaining how to compile webkit and epiphany in the next post. Enough for today.

by calvaris at April 24, 2008 03:03 PM under Planet GPUL

April 23, 2008

Xabier Rodríguez Calvar

Installing scratchbox under amd64

As Igalia bought a new laptop for me (actually this is done for every worker from the second year on), I installed Debian Amd64 on it as a challenge, because everybody was telling me about all the problems: flash, scratchbox and all the ghosts they could imagine. I thought: ‘this can’t be that difficult’ and somebody has to try at least to say why it is a bad idea. And maybe we could collaborate a bit with that architecture, this exactly what I am doing right now. Why did I choose amd64, already explained, but what about debian? It’s because of purity. I couldn’t give up on installing debian just because it is not that easy as Ubuntu… Let’s face it! And I did it! As far as I remember the biggest problems I faced where nvidia’s driver (I could make it work only with nvidia’s proprietary driver and thank Juan), the wireless driver (I had to install the firmware), fingerreader (you have to install the driver and configure pam) and flash (I just installed flashplayer-mozilla package and it worked at the very first moment). For the kernel I just borrowed berto’s configuration and changed the things I needed. There are some remaining things that don’t work yet (like hibernation), but I don’t care very much.

One of the most scaring things for me were the scratchbox because everybody was telling me that it couldn’t be installed under amd64 and I could get much problems because of that. Steps:

  1. apt-get install ia32
  2. dpkg -i --force-architecture scratchbox-*.deb

That’s it (uhuuu, I’m afraid of the 64 bits!).

by calvaris at April 23, 2008 04:58 PM under Planet Maemo

Me and Igalia

Me

This is going to be my first post at Igalia’s planet a I just wanted to talk about me and my company. First of all, my presentation. I am Xabier Rodríguez Calvar but everybody on computer’s world knows me as calvaris. I grew in Marín a village in Galiza. I studied ‘Computer Engineering’ in the ‘Universidade da Coruña’ where I met my girlfriend and some colleagues who founded Igalia, where I am currently working on GNOME Mobile technologies, specially Maemo and fighting with Epiphany and WebKit.

Why did I write my when talking about Igalia? Because it is my company. Actually it is not because I’m still a partner on trial but if everything goes as expected I shall become a partner in a couple of years. This is one of the things I love in this company. Others are good working environment, working with Free Software, specially with GNOME, company facilities and specially the feeling of working for my own company, where I have the right to say whatever I want and that my opinion is so important as all of them, because there is nobody over me. That’s all! Join Igalia!

by calvaris at April 23, 2008 03:54 PM under Personal

Iago Toral

Better late than never: we are ready to accept new build slaves

As some of you may already know we have been postponing for some time the addition of new slaves to build.gnome.org. The reason for this was that in order to allow other slaves to connect to our master we had to open a large range of ports in the firewall, fact that worried some people maintaining the server. So, I and my mate API invested some time (more than we would have liked to) trying to find a solution based on a single public port. Unfortunately, our lack of experience with the Twisted framework was a constant pain and made it a bit difficult to move forward. In the end, we managed to implement a solution which worked fine… for a while, until the TWisted beast bit us hard, yet again, with a random, low-level, indecipherable error…

So, at that moment we had to choose: either we continue working on that, maybe delaying work on the build brigade for some more weeks or months, or we find a temporary workaround to keep things moving forward. Of course, we chose to keep things moving forward ;) , so we moved the master back to Igalia with the help of Olav Vitters and enabled two slaves: the one we had in the old build.gnome.org and a new one running at Igalia. You can see the results in the gnome-buildbot web page. Of course, this means that now we can finally accept new slaves, so let us know at the build-brigade mailing list or IRC channel if you want to do so! We will be glad to guide and help you in the process.

Meanwhile, we will still try to find a solution to the ports issue, but now with a new approach, thanks to John Carr for working on this matter!

PD: Sorry to those who had offered slaves but have had to wait so long for us to get this done.

by itoral at April 23, 2008 11:10 AM under Uncategorized

April 19, 2008

Xavier Castaño

Back from London

I’m back and working. I had several concerns about my trip but now I can talk about it without worry because everything was fine.
First of all, I want to talk about the accommodation and the English language school that I had to book from Galicia, only recommended by generic comments at different forums.

  • Accommodation: It was fine because the apartment was as I expected. Although the general cleaning seemed good I needed to roll the rug because of the dust. The apartments location is very good because they are near Hyde park and close to two tube stations (Bayswater and Queensway).

My apartment

  • King Street College: It isn’t a big school and the courses are thought for longer periods (3 months for example), so I couldn’t find a specific course for me. However, I’m happy about the results because I could meet people from different countries and cultures (Korea, Japan, Poland, Germany, The Czech Republic, Venezuela, Colombia, Turkey), therefore I could attend class in a completely English language environment with people who doesn’t have the same mistakes than I have. I was in different classes during the first week and the second week, you can see a photo taken during the my last class.

My classmates
After school I always tried to visit the most important tourist places. I went to the museums, The Tower of London, The Tower Bridge, etc. And then, during the evenings I wanted to do different things that are difficult to do in small towns :) :

  • I went to a classical music concert. I listened the Royal Philharmonic Orchestra playing Rossini, Beethoven and Mendelsohn. I like the classical music so I enjoyed a lot the concert because I could attend this concert.
  • I went to the musical show “We will rock you!”: Incredible! I recommend it to everybody who likes Queen music.
  • I attended a Jazz concert at 606Club. Although it isn’t easy to arrive at and the entrance can frighten a bit, once inside, the club is lovely and I felt very well in the club. The dinner was the best I had in London and they are very interested on having the best Jazz players performing in the club.  The day I went, Paul Booth performed and I was very satisfied with the concert.

Finally, I need to comment the “pure chance” of my holidays… I was able to see the controversial Olympic torch before a girl were to walk along the Tower Bridge with the torch. I approached to the group of polices that surrounded the girl and I could take a photo :) … But I didn’t know the attempt of boycott and I didn’t realize that the police was alert and I could have been moved apart from them .. but finally nothing happened and they only said to me that I should keep away (you can see the police warning me…).

The controversial olympic torch
To sum up, I’m very happy with my trip and I think I’ll repeat when I can…

by xcastanho at April 19, 2008 05:33 PM under Free Software

April 17, 2008

Enrique Ocaña

Shishen Sho Mahjongg for Gtk and Maemo

Shishen Sho Mahjongg is a board game similar to Mahjongg. The goal is to remove all the tile pairs. Two tiles can be removed if a line with a maximum of three segments can be drawn between them.

Both the idea and the tile images were taken from kshishen (Shishen Sho 1.5.1), from the package kdegames, which is (C) 1997, Mario Weilguni and distributed under GPL license.

My girlfriend and me are fans of kshishen, so I needed to make a Maemo version to let her play on the N810 internet tablet, free my laptop and let me work on it. O:-)

The game is written in Vala and licensed under the GPL. Vala is a programming language that produces C/GObject source code which can also be compiled independently without the need of the original Vala compiler. Currently, two platforms are supported for the game: i386 (a desktop distribution, eg: Ubuntu Feisty), and also Maemo platform (armel).

21/04/2008 UPDATE: New version 0.1.1 available. Features improved compilation scripts, improved debian package structure and proper installation support from Maemo application manager.

Feel free to send me your comments, suggestions or patches over the original Vala sources. I hope you enjoy the game as much as I enjoyed writing it. :-D



by eocanha at April 17, 2008 08:14 PM under Hacking (english)

Iago Toral

Autobuilding gnome mobile moduleset

I’ve checking out the gnome mobile moduleset created by Ross Burton some days ago. My idea is to setup a gnome-mobile-buildbot that provides continuous integration of gnome-mobile software stack in several architectures.

First attempt (Debian, i686) quite successful:

Gnome Mobile Beta

by itoral at April 17, 2008 05:29 PM under Uncategorized

Mario Sánchez

Installing a VNC server on a maemo Internet Tablet

Today, I’m going to give a talk about Vagalume in the VIII Jornadas de Software Libre de GPUL 2008, since Berto finally won’t be able to be there, as it was initially planned, so I’ll be charged with the responsibility of telling the people how cool Vagalume, Maemo and GNOME are in only 30 minutes… quite a big challenge for me, since I seldom can speak in a concise, short and effective way without going on and on.

So, yesterday I spent some time looking for an easy and effective way for showing people attending to the talk how cool this cute device (my N810) is… and thinking about the past I remembered when Andres gave a talk/workshop about the Maemo development platform, where he used an VNC server installed in the device to show the N810 “screen” to everyone in the room, just using an VNC client in the laptop connected to the proyector.

IIRC, Andrés compiled the VNC server for the device to get it working, but yesterday I found a much easier way to get it working, so here you are the receipt (I use too much this word in my blog, perhaps I should consider to become a cook… ):

  • Download the pre-compiled .deb package for your device from this web.
  • Copy the .deb file to your device and install it following one of the following methods:
    • Install it with the Application installer from the Control Panel (N770).
    • Install it with the Application Manager from the ‘Settings’ Menu (N800 / N810). It’s required to have the red-pill mode enabled. To know how to enable this “peculiar” mode, check this out.
    • Open a root terminal in the device with a remote ssh connection and install it this way:
    • dpkg -i x11vnc_0.9.3-1_armel.deb

  • Configure it to use a password with the default username available in the device (’user‘):
    • Make sure you are running the terminal as ‘user’, by executing the command:
    • su user

    • Create a VNC password (recommended):
    • x11vnc -storepasswd

      • This will store your password (encrypted) under /home/user/.vnc/passwd
  • Start the server:
    • Not using the password: from Menu -> Extras, click on x11vnc.
    • Using the password (recommended):
      • Open a terminal for ‘user’
      • Execute the command:
      • x11vnc –usepw

  • Connect to server (already running on the device, at port 5900):
    • Using any VNC client connect to your device’s IP, using the following credentials if you started the server with –usepw:
      • Username: user
      • Password: (whatever you’ve set with –storepasswd)

Of course, there are lots of options you can pass to x11vnc (see x11vnc –help) but these ones worked fine for me: I have an easy VNC server working with password authentication :-)

And to finish this post, just a last advice: If you think you’re going to use always (like me) the VNC server with password authentication, it could be more nice for you to edit the /usr/bin/x11vnc.sh script so it also includes the –usepw. This way, you can always start the VNC server from Menu -> Extras, withouth having to open a terminal for it… although, to be honest, I still prefer a remote terminal for most of the times, because of the output I continously get through it… but hey! that’s just a very personal opinion! :-)

by msanchez at April 17, 2008 09:14 AM under Planet GPUL

April 16, 2008

Javier Vázquez

Patrocinamos Interinformáticas!

Desde Igalia, hemos anunciado el patrocinio de la 8ª edición de Interinformáticas.

Tal y como se cita en la noticia de nuestra web, Interinformáticas es una competición deportiva anual que reúne a estudiantes de informática de facultades y escuelas de toda España. Este año 2008 se celebra en Ourense, gracias a la Escuela de Informática de la Universidad de Vigo.

Como antiguo participante de las 3 primeras ediciones -Valencia, Barcelona y Murcia-, creo que este tipo de eventos, además de muy divertidos :) , contribuyen enormemente a la consolidación del sentimiento de “profesión” dentro de la Ingeniería en Informática, a través del establecimiento de relaciones informales suprraregionales entre estudiantes, futuros profesionales.

Desde aquí, desearle mucha suerte a los cientos de participantes de los diversos campeonatos. Veréis entre el material entregado por la organización una referencia a Igalia, para que nos vayáis conociendo, no vaya a ser que algún día queráis trabajar con nosotros ;)

by jvazquez at April 16, 2008 10:18 AM under Igalia

April 07, 2008

Chema Casanova

Esta Semana: Alberto Abella y Marcelo Branco

El fin de semana pasado en el Máster en Software Libre de Caixanova cruzamos el ecuador del curso académico. Esta semana para celebrarlo contaremos con invitados de la talla de Alberto Abella y Marcelo D’Elia Branco, que impartirán un seminario en las instalaciones de Caixanova para los alumnos.

Pero como entre los objetivos iniciales del máster estaba la realización de charlas abiertas al público, desde Caixanova se ha facilitado la presencia esta semana de Alberto Abella y Macelo D’Elia Branco como una colaboración en las VIII Jornadas de Software Libre organizadas por GPUL que celebra este año su décimo aniversario.
Así que os invito a todos a conocer en persona a dos actores relevantes que nos contarán de primera mano sus experiencias y reflexiones este jueves y viernes en el Aula de Grados de la Facultade de Informática dentro de las Jornadas de Software Libre de GPUL, así como del resto de las jornadas que continúan la próxima semana.

  • Alberto Abella, “El futuro de las tecnologías abiertas”, jueves 10 de abril 2008, 19:30 Aula de Grados.
  • Marcelo D’Elia Branco, “Sociedad en red: desafíos para la construcción de un modelo social democrático”,viernes 11 de abril 2008, 19:00 Aula de Grados.

Alberto Abella, CC-BY-SA-NC by wichoMarcelo D'Elia Branco

Por cierto, ya se puede consultar el Planeta que agrega los blogs de los alumnos del máster y poder seguir su trabajo y reflexiones personales. Más info en http://planet.mswl.igalia.com

by txenoo at April 07, 2008 11:13 PM under Master SWL

Javier Vázquez

III Día do Emprendedor: programa v0.9

A pouco máis dun mes para o III Día do Emprendedor promovido polo IGAPE, dende AGASOL temos practicamente definido o programa. A versión 0.9 do mesmo sería a seguinte:

10.00-10.45 “Gurús da Rede”

Juan Freire. Emprendemento, organizacións abertas, novos paradigmas…

10.45-11.30 “Empresas preto de ti”

Igalia. Cooperativismo e software libre dende Galicia para o mundo.

Allenta. Roberto Moreda.

13.00-13.45 “Distintas fórmulas cara o éxito”

Ikusnet. Dani Armendáriz. Cooperación e horizontalidade en torno ao software libre.

e-Box. Nacho Correas. Na búsqueda de capital risco.

13.45-14.30 “100% software libre, pero _sen_ software”

Blobject. Alfredo Romeo.

Zemos98/Hapaxmedia. Felipe González e Rubén Díaz.

Nunhas semanas confirmaremos o horario definitivo e, tal vez, engadiremos algún invitado/a a maiores.

Modestia a parte ;) , penso que o programa vale a pena, xa que conseguimos xuntar a morea de persoeiros con interesantes e amenas historias que compartir. Espero que vos guste.

Recordade, xoves 15 de maio en Santiago de Compostela, no Palacio de Congresos. Vémonos!

by jvazquez at April 07, 2008 01:54 PM under AGASOL

April 01, 2008

Manuel Rego

TYPO3 Extensions Configuration

This post try to explain how to develop TYPO3 extensions as flexible as possible, TYPO3 provides us with several mechanism to do it. Furthermore I’m going to show a very useful function to read every possible configuration variable on a TYPO3 extension.

There is different ways to configure a TYPO3 extension (from more general to more concrete), and I’m going to explain how to use them:

  • 1. Generic Variables (ext_conf_template.txt)
  • 2. TYPO3_CONF_VARS
  • 3. Plugin Configuration

    • a) TypoScript
    • b) FlexForms

1. Generic Variables (ext_conf_template.txt)

For extension configuration variables we can use the file ext_conf_template.txt file, variables stored here are common to whole extension. Plugins, modules and classes can read these configuration variables.

For example, if in one extension you have a database table we usually use an extension configuration variable to save PID for the records of this table. The file ext_conf_template.txt would be (see more):

# cat=basic/int; type=int; label=Parent page uid (PID) for records of myTable
myTablePID = 0

And you can read this information in your source code with:

$confArray = unserialize($GLOBALS[‘TYPO3_CONF_VARS’][‘EXT’][‘extConf’][your-extension-key]);

echo $confArray[‘myTablePID’];

2. TYPO3_CONF_VARS

We can use TYPO3_CONF_VARS array to store extension configuration variables too. We set these variables directly at file ext_localconf.php:

$TYPO3_CONF_VARS[‘EXTCONF’][$_EXTKEY][‘myVariable’] = ‘myValue’;

And we’d can read these variables where we want. Moreover these variables could be modified from ext_localconf.php files of other extensions loaded later than our extension.

3. Plugins Configuration

TYPO3 has two more ways to configure plugins (frontend applications developed in a extension):

a) TypoScript

We can use directly TypoScript inside a template Setup on module Template. With a simple TypoScript code:

plugin.tx_myextension_pi1.myVar = value

We can set a value for the variable myVar that we are going to receive in our plugin as the second parameter of main method.

b) FlexForms

In addition we use FlexForms in order to add specific configuration to frontend plugins. And we usually defines a sheet to override extension configuration. The basic FlexForm for our plugins are something like this (see more):

<T3DataStructure>
   <meta>
      <langDisable>1</langDisable>

   </meta>
   <sheets>
      <sOverride>
         <ROOT>
            <TCEforms>
               <sheetTitle>Override Extension Configuration</sheetTitle>

            </TCEforms>
            <type>array</type>
            <el>
               <myTablePID>
                  <TCEforms>

                     <label>PID for myTable records</label>
                     <config>
                        <type>group</type>
                        <internal_type>db</internal_type>

                        <allowed>pages</allowed>
                        <size>1</size>
                        <maxitems>1</maxitems>
                        <minitems>0</minitems>

                        <show_thumbs>1</show_thumbs>
                     </config>
                  </TCEforms>
               </myTablePID>
            </el>

         </ROOT>
      </sOverride>
   </sheets>
</T3DataStructure>

And to read this variables we use:

$this->pi_initPIflexForm();
$this->pi_getFFvalue($this->cObj->data[‘pi_flexform’], ‘myTablePID’);

Init function

Finally we’ve developed a function init to use in every plugin that we develop, this function reads all configuration variables and stores its in an array $this->conf. Next the source code of this function:

   /**
    * Init Function: here all the needed configuration values are stored in class variables

    *
    * @param    array   $conf: configuration array from TS
    * @return   void

    */
   function init($conf) {
      $this->conf = $conf; // Store configuration

      $this->pi_setPiVarDefaults(); // Set default piVars from TS
      $this->pi_initPIflexForm(); // Init FlexForm configuration for plugin

      // Read extension configuration
      $extConf = unserialize($GLOBALS[‘TYPO3_CONF_VARS’][‘EXT’][‘extConf’][$this->extKey]);

      if (is_array($extConf)) {
         $conf = t3lib_div::array_merge($extConf, $conf);

      }

      // Read TYPO3_CONF_VARS configuration
      $varsConf = $GLOBALS[‘TYPO3_CONF_VARS’][‘EXTCONF’][$this->extKey];

      if (is_array($varsConf)) {

         $conf = t3lib_div::array_merge($varsConf, $conf);

      }

      // Read FlexForm configuration
      if ($this->cObj->data[‘pi_flexform’][‘data’]) {

         foreach ($this->cObj->data[‘pi_flexform’][‘data’] as $sheetName => $sheet) {

            foreach ($sheet as $langName => $lang) {
               foreach(array_keys($lang) as $key) {

                  $flexFormConf[$key] = $this->pi_getFFvalue($this->cObj->data[‘pi_flexform’], 
                                                             $key, $sheetName, $langName);

                  if (!$flexFormConf[$key]) {
                     unset($flexFormConf[$key]);

                  }
               }
            }
         }
      }

      if (is_array($flexFormConf)) {

         $conf = t3lib_div::array_merge($conf, $flexFormConf);
      }

      $this->conf = $conf;

   }

I think that this function can be very useful when you develop a TYPO3 extension.

by Manuel Rego Casasnovas at April 01, 2008 03:58 PM under Planet

March 27, 2008

Mario Sánchez

Back from California

As my mate Berto has already commented on his blog, we’re back from California after attending to the Mobile Rules! ‘08 awards ceremony, and I’d like to say that we had a great time there, even though we didn’t win the prize… but being a finalist was already a very nice kind of price, don’t you think?

Mario at the San Jose City Hall Rotunda

Moreover, maybe we didn’t get the acknowledgement of being the “Mobile Ruler ‘08″ under the Multimedia category, but we met a lot of people indeed, and we enjoyed a lot of the event, which was nicely arranged to allow all the participants to meet each other and to have a good dinner at the San Jose City Hall Rotunda (look at the picture to see me in front of the beautiful San Jose City Hall).

So, maybe the next time we could have more luck with Vagalume, but now it’s the present and, as Berto said in his last post, it’s time to get back to work and keep on getting Vagalume even better with some nice improvements we already have in mind and others that I’m sure are still to come.

PS: This was the first time I’ve been to the US West Coast, and I have to say that I loved California… such a lovely place, such a lovely place. I hope I could go back soon :-)

by msanchez at March 27, 2008 05:27 PM under Planet GPUL

March 26, 2008

Alberto Garcia

Back from Mobile Rules

Mario and me have just arrived from our trip to San Jose (California) for the Mobile Rules! awards ceremony. Unfortunately we had no luck this time and we didn’t get the award.

We had a great time nonetheless and I’d like to congratulate Nokia for having organized the event and all the other participants (namely the winners, specially the people from MyStrands who beat our Vagalume in the Multimedia category). The trip was great, we enjoyed it a lot and we met some cool people.

A thing I’m more sure about now is that Vagalume still needs lots of improvements. I’ll continue working on it very soon (but it’ll take me some days because I’m starting teaching this weekend in our Master of Free Software). So it is time to get back to work!

Oh, no, we didn't get the award!
Oh, no, we didn’t get the award!

by berto at March 26, 2008 01:37 AM under Planet Gnome

March 24, 2008

Javier Muñoz

On PHPReport 1.5

Today we uploaded the latest documentation for PHPReport 1.5. As you know, hackers released this version some months ago which shipped out with new features such as internationalization, new management/reporting pages or data charts improved.

Installation, administration and user guides are available at community now.

by jmunhoz at March 24, 2008 11:01 AM under planet.igalia.com

March 19, 2008

Alberto Garcia

Alea jacta est

Greetings from California!

The Mobile Rules award ceremony will begin in a few hours. Me and Mario from the Vagalume team are already here in San Jose ready to talk about our program and tell everyone how cool Maemo and Gnome are for developing software for mobile devices.

Let’s cross our fingers and see what happens!

San Jose City Hall

by berto at March 19, 2008 04:31 AM under Planet Gnome

March 17, 2008

Xavier Castaño

Preparing my trip to London

As part of the benefits we have because of working in Igalia, I’m going to London next month in order to improve my English level. Igalia pays part of my travel because I’ll attend an English course during two weeks.
I’ve never been in London before, so I’ve been very stressed during two weeks, searching schools, accommodation and reading all kind of information related to London.

I’m going to write some urls that can be very useful for you :) if you want to manage your travel to London. I don’t know if all my information will be good :) , but when I come back I’ll write about it.

First, I was very busy searching by apartments because I have allergic asthma and I wanted to find a room with wood laminate flooring, but all the budget hotels had fitted carpet. The problem is that it’s difficult to find studios only for two weeks, however there are a lot of apartments for more than one month.

If you want to go more than several months you can find letting agents using several national associations:

You can use the following url to check information about a company if you don’t feel very confident about it:

The main problem is going to London only two or three weeks. You’ll have to search apartments using specific sites for short letting apartments. Some examples:

The problem is the difficulty to know if you can be confident with this companies… I’m going with the first… So, when I come back I’ll tell you my opinion about it. This company works as middleman between you and the owner of the apartments.

After I could close my accommodation, I could know that there is a site that works with young hostels, where you can get good offers (even better if you don’t mind to share rooms):

I decided to use that site because I found a FAQ about London very useful:

There, you can find information about London transport, restaurants, pubs, accommodation, places you should visit…

Then, if you want to find some English courses you can use British Council where you cand find several schools and the kind of courses they offer. I’ve decided attend a course in King Street College near to Shepherd’s Bush tube station (that is currently closed :( ).

I hope I will come back from London very happy with my selection and I expect I can give you more detailed information about ShortStay and King School.

Xavi.

by xcastanho at March 17, 2008 04:33 PM under Igalia

March 14, 2008

Javier Vázquez

III Día do Emprendedor

A petición do IGAPE, baixo o paraugas de AGASOL e a través de Igalia, estamos a preparar o itinerario de novos modelos de negocio para o III Día do Emprendedor, o 15 de maio en Santiago de Compostela.

A programación estámola a preparar entre o xerente de AGASOL -Luis Alberto-, eu mesmo e a inestimable axuda de Juan Freire, a quen invitamos a participar e nos está a dar un montón de boas suxerencias sobre posibles persoas/experiencias a invitar.

A idea xeral é formular unha xornada ao redor do Software Libre e as novas fórmulas de organización abertas e en rede, orientada o xoven e numeroso público, ofrecendo experiencias emprendedoras en primeira persoa, de maneira informal e cercana.

Nas 3-4 horas das que disporemos, optamos por unha división de 4 bloques ou slots, coa orientación seguinte:

—————————————————-
“Novos modelos de negocio: Emprendemento 100% Software Libre”
—————————————————-

1. “Gurús da rede”: Juan Freire, ¿invitado sorpresa?

Emprendemento, organizacións abertas, novos paradigmas… Aos bos xogadores, tipo Robinho, Messi e similares, lles deixamos liberdade e a ver que pasa :)

2. “Empresas preto de ti”: 2-3 empresas socias de AGASOL

15′ por empresa para explicar o seu caso particular: por que emprender, como o fixeron, por que en torno ao software libre, etc. Realidades cercanas e sinxelas, 100% dieta galega, sen aditivos.

3. “Distintas fórmulas cara o éxito”: Ikusnet, e-Box, ¿outra sorpresa?
Emprendemento social, capital risco, vender a empresa a… :)

Dani Armendáriz, de Ikusnet, explicaranos como é iso dunha SLL (Sociedade Limitada Laboral) formada por pequenas empresas ao longo de todo o Estado, son case tan raros coma Igalia ;)

Nacho Correas, de Warp/e-Box, o cal collín onte facendo as maletas para San Franciso (de novo :) ), poderá contarnos a súa viaxe na búsqueda de capital risco.

E, ao mellor, incluimos unha sorpresa bomba a maiores…

4. “100% software libre, pero _sen_ software”: ¿?, ¿?, ¿?

Estamos a contactar con proxectos construídos ao redor da tecnoloxía, relacionamos tamén co mundo do SwL, pero non dirixidos ou creadas por enxeñeiros, para complementar a visión dos capítulos anteriores. Irémosvos actualizando ao respecto…

—————————————————-

Co obxectivo de recibir o voso feedback, a modo de construción colaborativa do programa, e tamén por ir acrecentando o interese neste III Día do Emprendedor, confío en que comentedes a vosa opinión a través do propio blog o no meu email -jvazquezATigaliaDOTcom-.

Vémonos o 15 de maio en Compostela!

by jvazquez at March 14, 2008 09:57 AM under AGASOL

March 08, 2008

Mario Sánchez

Automatically mounting LUKS encrypted partitions with pam_mount

Yesterday I’ve got my new Thinkpad T61 laptop and I had to spend some time installing a GNU/Linux distribution on it, so doing all those related tasks that are a must: partitioning, installing linux, installing emacs… and besides to all those tasks a very important one: encrypting some disk partitions.

To do that, I just followed the instructions that Berto had posted some months ago in his blog, either for encrypting full regular partitions with LUKS as for encrypting temporary filesystems, say, /tmp and swap partitions.

So, once I got those tasks done (quite easy if you follow the steps Berto’s explained in his posts), only one more task was still left: to make those LUKS encrypted partitions to be automatically mounted when logging into the system with my username.

The idea behind this is just that you use the same password both for logging into the system with your username as for decrypting those LUKS partitions before mounting them. To do this, I’ve just used the pam_mount module so it took care of using the user password to automatically mount those partitions right after the user gets identified in the system. And of course, that pam module also takes care of unmounting those partitions right after you log out and no open sessions with your username remains active.

So, I’d like to share with you a recipe to get all this stuff easily working:

  1. Follow the steps in Berto’s post to encrypt a full partition with LUKS.
  2. When you add a LUKS password for that encrypted partition, use the same password you use to log into your system with your username. LUKS allows you to add more than one password for your partitions, so at least one of them should be the same than your user password.
  3. Install the pam_mount module:
  4. sudo apt-get install libpam-mount

  5. Edit your /etc/security/pam_mount.conf file and append there a line like the following one (one for each encrypted partition you’d like to automatically mount):
  6. volume USERNAME crypt - DEV_FILE MOUNTPOINT - - -

    For example, to mount a encripted partition present in /dev/sda6 under a /encrypted folder whenever the user ‘mario’ logs into the system, you should append the following line:

    volume mario crypt - /dev/sda6 /encrypted - - -

  7. Edit /etc/pam.d/login so it looks as follows at the end of the file
  8. […]
    # Standard Un*x account and session
    @include common-account
    @include common-session
    @include common-pammount
    @include common-password

  9. And, if you use GDM (as me), you should also edit /etc/pam.d/gdm in a similar way:
  10. […]
    @include common-account
    session required pam_limits.so
    @include common-session
    @include common-pammount
    session optional pam_gnome_keyring.so auto_start
    @include common-password

  11. At last make sure that you have removed (or commented) some lines in /etc/fstab and /etc/crypttab, in order to avoid both asking for the LUKS password at startup (because the crypttab file) as trying to mount a not decrypted partition (because of fstab). For instance, this is how those files would look for the example given:
      • /etc/crypttab:

        #encrypted /dev/sda6 none luks,check=ext2
        cswap /dev/sda8 /dev/urandom swap
        ctmp /dev/sda9 /dev/urandom tmp

      • /etc/fstab:

        […]
        #/dev/mapper/encrypted /encrypted ext3 defaults 0 2
        […]

    Once you have followed all those steps, you should be able to reboot and see how the encrypted partition gets mounted right after you login in your system, either by using GDM as by using a text-mode terminal.

    And that’s all. I hope you find it useful.

by msanchez at March 08, 2008 10:43 AM under Planet GPUL

March 06, 2008

Javier Fernández

New feature for GtkUIManager class

I’ve been working for several months in the development of the Modest email client. It was a very interesting work, using gtk deeply trying to improve some internal features of the Gtk UI Manager system.

Modest has lots of strict rules about dimming toolbar icons, menu options, action widgets, …. Most applications don’t have a well designed system to manage this kind of events and that behaviour is shared between several files and classes; sometimes these dimming rules are implemented several times, which causes many runtime errors as well as some problems to extend classes and use cases logic.

During my work in Modest I designed a system to manage dimming logic in Gtk applications. This design is based on GtkUIManager system and tries to solve the same problem: centralize and simplify UI events on a GtkWindow. The following UML diagram shows an example of this system:

UIDimmingManager class diagram

Implementation details

The next step should be adding this logic to the Gtk core in order to be part of the GtkUIManager system. It will not be very hard to add this behaviour to that class, because UIDimmingManager pattern has the same structure than the Gtk UIManager.

The classes involved in this design and responsibilities are described as follow:

  • UIDimmingManager
    • This class stores and handles UI Dimming Rules Groups . Each rules group has a string name, which will be used inside the manager to execute a specific group. This rules group is stored internally in a hash map; however, a different data structure could be used for that purpose.
    • The API of this class exports two different methods to execute rules:
      • ui_dimming_manager_process_dimming_rules: execute all rules groups.
      • ui_dimming_manager_process_dimming_rules_group: execute a specific rules group.
  • DimmingRulesGroup
    • Stores and handles a dimming rules group.
    • It could also manage two different types of dimming rules:
      • Common dimming rules: This kind of rules are defined for GtkUIManager items, so they have to be defined previously inside the UIManager structure.
      • Widget dimming rules: These rules can be applied to any widget.
    • Each dimming rule could have a notification dialog in order to inform the user why some item is dimmed. This notification system is enabled or disabled for all rules defined in a single group.
  • DimingRule
    • This class actually implements dimming rules behaviour.
    • It should receive three parameters at creation time:
      • Window: a GtkWindow or CustomWindow instance to apply dimming rule.
      • Callback: callback function for checking dimming behaviour.
      • Action path: the path to locate UIAction element, registered in UIManager.
        • This parameter is optional, because for widget dimming rules is not required.
  • UIDimmingRules
    • This element was defined as a plain file, with a list of operations to be used as dimming rules callback.
    • Its similar to the common file used in UIManager stock items implementation for defining actions for each item.

Once you have defined your UIManager structure, with your xml file for defining stock items and UI actions, you only have to define your dimming data structure, very similar to UIManager
structure:

/* Menu Dimming rules entries */
static const DimmingEntry menu_dimming_entries [] = {

/* Email Menu */
{ "/MenuBar/Menu1/Menu1Submenu1/Menu1Submenu1Item1", G_CALLBACK(ui_dimming_rules_on_rule1) },
{ "/MenuBar/Menu1/Menu1Submenu1/Menu1Submenu1Item2", G_CALLBACK(ui_dimming_rules_on_rule1) },
{ "/MenuBar/Menu1/Menu1Item3", G_CALLBACK(ui_dimming_rules_on_rule1) },
{ "/MenuBar/Menu1/Menu1Item4", G_CALLBACK(ui_dimming_rules_on_rule1) },
{ "/MenuBar/Menu1/Menu1Item5", G_CALLBACK(ui_dimming_rules_on_rule1) },
{ "/MenuBar/Menu1/Menu1Item6", G_CALLBACK(ui_dimming_rules_on_rule1) },

{ "/MenuBar/Menu2/Menu2Submenu1/Menu2Submenu1Item1", G_CALLBACK(ui_dimming_rules_on_rule1) },
{ "/MenuBar/Menu2/Menu2Submenu1/Menu2Submenu1Item2", G_CALLBACK(ui_dimming_rules_on_rule1) },
{ "/MenuBar/Menu2/Menu2Item3", G_CALLBACK(ui_dimming_rules_on_rule1) },
{ "/MenuBar/Menu2/Menu2Item4", G_CALLBACK(ui_dimming_rules_on_rule1) },
{ "/MenuBar/Menu2/Menu2Item5", G_CALLBACK(ui_dimming_rules_on_rule1) },
{ "/MenuBar/Menu2/Menu2Item6", G_CALLBACK(ui_dimming_rules_on_rule1) },

{ "/MenuBar/Menu3/Menu3Submenu1/Menu3Submenu1Item1", G_CALLBACK(ui_dimming_rules_on_rule1) },
{ "/MenuBar/Menu3/Menu3Submenu1/Menu3Submenu1Item2", G_CALLBACK(ui_dimming_rules_on_rule1) },
{ "/MenuBar/Menu3/Menu3Item3", G_CALLBACK(ui_dimming_rules_on_rule1) },
{ "/MenuBar/Menu3/Menu3Item4", G_CALLBACK(ui_dimming_rules_on_rule1) },
{ "/MenuBar/Menu3/Menu3Item5", G_CALLBACK(ui_dimming_rules_on_rule1) },
{ "/MenuBar/Menu3/Menu3Item6", G_CALLBACK(ui_dimming_rules_on_rule1) }
};

by jfernandez at March 06, 2008 05:28 PM under Mobile

Javier Vázquez

Programas electorales

En la lista de Hispalinux se han estado recopilando las propuestas de los diferentes partidos en torno a temas relevantes para la sociedad de la información.

Incluyo a continuación la muy interesante nota de prensa al respecto:

———————————————————————-
La Sociedad del Conocimiento de todos y para todos en los programas electorales
http://www.hispalinux.es/node/664
———————————————————————-

Al realizar una lectura objetiva de los compromisos expresados por los principales partidos políticos de ámbito estatal en sus programas electorales, todo indica que todos, en mayor o menor medida, tienen propuestas importantes o, al menos, personas con capacidad para liderar las acciones que son necesarias para lograr el impulso y extensión de las tecnologías y conocimiento libres y a así lograr una sociedad del conocimiento de todos y para todos.

Es llamativo y de destacar el amplio paquete de medidas que proponen Los Verdes, entre las que se encuentran la neutralidad en la red (”net neutrality”), Internet como servicio público, el conocimiento público como patrimonio del Estado, el uso de estándares abiertos y software libre en las entidades públicas, y el rechazo absoluto a las patentes de software. Estas propuestas las defiende de forma especial D. Jose María Lancho, candidato al
Senado por Madrid.

IU por su parte hace un especial énfasis en que “La actual dependencia tecnológica de sistemas de software privativo en manos de grandes multinacionales y basados en código cerrado usados por nuestra Administración
es una carga para las arcas públicas, impide a la ciudadanía el acceso pleno a datos de carácter público y hace peligrar la privacidad de las informaciones que afecten a su intimidad. “. IU propone superar esos vicios usando Software Libre de forma preferente, así como compartiendo y reutilizando el software que haya sido creado con dinero público. IU también rechaza en su programa la patentabilidad del software.

PSOE se compromete a potenciar “el desarrollo del software de código abierto, especialmente en los ámbitos de la educación, la sanidad, y las administraciones” y tienen previsto desarrollar “los instrumentos legales que
garanticen la neutralidad de l