Side tabs in Empathy

Going quickly to the interesting part.

If you happen to use Ubuntu Saucy 13.10 and would like to have side tabs in Empathy, just write the following commands:


$ sudo add-apt-repository ppa:tanty/ppa

If, in addition to be using Ubuntu Saucy 13.10 you are using also GNOME3 Team’s PPA, you will need to run the following command:


$ sudo add-apt-repository ppa:tanty/gnome3

Finally, update your repositories, upgrade empathy and set the proper configuration:


$ sudo apt-get update && sudo apt-get install empathy
...
$ gsettings set org.gnome.Empathy.conversation tab-position 'left'

After this, you can just open the chat window in a new Empathy running instance and you should see something like this:

Side tabs in Empathy by ::Tanty::
Side tabs in Empathy, a screenshot by ::Tanty:: on Flickr.

Motivation

I’m a long time user of Jabber and Empathy. I use it for every day’s communications and, in Igalia, we have several internal rooms in which we coordinate ourselves. Because of the amount of rooms in which I am as a regular basis, Empathy’s chat window is unable to display the tabs of each of them in the top bar of the conversations.

This forces me either to split in different windows or just to navigate among them every now and then to check if there is any interesting update. Quite annoying 🙂 .

Some time ago, #586145 was filed requesting the possibility of having the chat room tabs not only displayed on top but also in other positions, specially in the side.

Hence, I decided to take the existing patch and perform some small changes to the work done by Neil Roberts in order to be able to have these side tabs.

With this new feature, you can change the position of the tabs just by changing a setting, as the position property is bond to it. If you want to set the tabs at ‘top’, ‘left’, ‘bottom’ or ‘right’, you should run, respectively:


$ gsettings set org.gnome.Empathy.conversation tab-position 'top'
$ gsettings set org.gnome.Empathy.conversation tab-position 'left'
$ gsettings set org.gnome.Empathy.conversation tab-position 'bottom'
$ gsettings set org.gnome.Empathy.conversation tab-position 'right'

Now, I’ve uploaded a new version of the patch and I’m waiting to pass the review process and land it.

This is a tiny enhancement on top of the great work that several GNOME developers have done in Empathy over the years. However, it is really making a difference to me so I’ve decided to share it quickly in case someone else would find it useful since it will take a while to come into the main distributions. Hence, I’ve ported it to the Empathy version I’m using in the Ubuntu Saucy 13.10 running on my desktop.

If you want to give it a try, just follow the instructions I’ve written at the beginning of this post.

Final notes

In addition to Empathy, you will be able to find in my PPAs:

  • A working (and custom) version of the faulty official icecc package with patches fixing LP#1182491.
  • A custom version of webkitgtk with patches fixing WK#115650 which will speed up opening new tabs in Web.

Enjoy!

Update: I’ve added recently empathy patched versions also for Ubuntu Trusty 14.04.

Update 2: I’ve added recently empathy patched versions also for Ubuntu Utopic 14.10.

Quickly publishing in your Ubuntu PPA

This is more a note pad for myself with quick instructions about how to upload a (usually patched) package to my own PPAs.

Patching an existing package

First thing is downloading the sources of the package from the repository that is providing the buggy binary package installed in my system.

For example, when patching webkitgtk, if my installed package is from a vanilla Ubuntu release, I only have to check that I have the source from the official Ubuntu repositories. However, if my installed package is from another PPA, I will have to check that I have the source from it or, if not, I would have to download the needed packages manually. Let’s assume my installed package is coming from the GNOME3 Team Ubuntu PPA:

$ cd ~/ppa/ && mkdir -p webkitgtk/gnome3 && cd webkitgtk/gnome3
$ apt-get source webkitgtk
Reading package lists... Done
Building dependency tree
Reading state information... Done
NOTICE: 'webkitgtk' packaging is maintained in the 'Git' version control system at:
git://git.debian.org/git/pkg-webkit/webkit.git
Need to get 9,440 kB of source archives.
Get:1 http://ppa.launchpad.net/gnome3-team/gnome3/ubuntu/ saucy/main webkitgtk 2.3.2-1ubuntu6~saucy1 (tar) [9,353 kB]
Get:2 http://ppa.launchpad.net/gnome3-team/gnome3/ubuntu/ saucy/main webkitgtk 2.3.2-1ubuntu6~saucy1 (diff) [82.2 kB]
Get:3 http://ppa.launchpad.net/gnome3-team/gnome3/ubuntu/ saucy/main webkitgtk 2.3.2-1ubuntu6~saucy1 (dsc) [4,577 B]
Fetched 9,440 kB in 3s (2,769 kB/s)
gpgv: Signature made Sun 22 Dec 2013 01:34:25 AM EET using RSA key ID 153ACABA
gpgv: Can't check signature: public key not found
dpkg-source: warning: failed to verify signature on ./webkitgtk_2.3.2-1ubuntu6~saucy1.dsc
dpkg-source: info: extracting webkitgtk in webkitgtk-2.3.2
dpkg-source: info: unpacking webkitgtk_2.3.2.orig.tar.xz
dpkg-source: info: unpacking webkitgtk_2.3.2-1ubuntu6~saucy1.debian.tar.gz
dpkg-source: info: applying 02_notebook_scroll.patch
dpkg-source: info: applying aarch64.patch
dpkg-source: info: applying fix-ppc.diff
dpkg-source: info: applying fix-aarch64.patch
dpkg-source: info: applying remove-use-lockfree-threadsaferefcounted.patch
dpkg-source: info: applying no-jit-build-failure.patch
dpkg-source: info: applying 0001-GTK-Fails-to-build-with-freetype-2.5.1.patch
dpkg-source: info: applying disable-jit-harder.patch
dpkg-source: info: applying fix-llint-c-loop.patch
dpkg-source: info: applying fix-armv7.patch
dpkg-source: info: applying bugzilla_clear_surface.patch
dpkg-source: info: applying ppc64el.patch
$ cd webkitgtk-2.3.2

Just in case, something I like to do is to add the code from the downloaded package to a local git:

$ git init
$ git add *
$ git commit -m "Initial commit"
...

Then, it is time to apply the needed changes to the source code. This is the reason why git comes handy, in case these changes are not trivial and they need actually some more work. When we are done with the changes, we have to add them to the debian package as an additional patch to the original source. We use dpkg-source for this:

$ dpkg-source --commit
dpkg-source: info: local changes detected, the modified files are:
 webkitgtk-2.3.2/Source/WebKit2/GNUmakefile.am
 webkitgtk-2.3.2/Source/WebKit2/GNUmakefile.list.am
 webkitgtk-2.3.2/Source/WebKit2/Shared/Plugins/Netscape/NetscapePluginModule.h
 webkitgtk-2.3.2/Source/WebKit2/Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp
 webkitgtk-2.3.2/Source/WebKit2/UIProcess/Plugins/gtk/PluginInfoCache.cpp
 webkitgtk-2.3.2/Source/WebKit2/UIProcess/Plugins/gtk/PluginInfoCache.h
 webkitgtk-2.3.2/Source/WebKit2/UIProcess/Plugins/unix/PluginInfoStoreUnix.cpp
Enter the desired patch name: 0001-GTK-WK2-Blocks-when-fetching-plugins-information.patch
...

We enter the patch name and the description of the changes:

$ cat debian/patches/0001-GTK-WK2-Blocks-when-fetching-plugins-information.patch
Description: [GTK][WK2] Blocks when fetching plugins information
 https://bugs.webkit.org/show_bug.cgi?id=115650
 .
 Patch by Carlos Garcia Campos.
 Reviewed by Gustavo Noronha Silva.
 .
 Use a persistent cache to store the plugins metadata to avoid
 having to load all the plugins everytime a plugin is used for the
 first time.
 .
 * GNUmakefile.am:
 * GNUmakefile.list.am:
 * Shared/Plugins/Netscape/NetscapePluginModule.h:
 * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
 (WebKit::NetscapePluginModule::parseMIMEDescription): Make this
 method public.
 (WebKit::NetscapePluginModule::buildMIMEDescription): Added this
 helper to build the MIME description string.
 * UIProcess/Plugins/gtk/PluginInfoCache.cpp: Added.
 (WebKit::PluginInfoCache::shared):
 (WebKit::PluginInfoCache::PluginInfoCache):
 (WebKit::PluginInfoCache::~PluginInfoCache):
 (WebKit::PluginInfoCache::saveToFileIdleCallback):
 (WebKit::PluginInfoCache::saveToFile):
 (WebKit::PluginInfoCache::getPluginInfo):
 (WebKit::PluginInfoCache::updatePluginInfo):
 * UIProcess/Plugins/gtk/PluginInfoCache.h: Added.
 * UIProcess/Plugins/unix/PluginInfoStoreUnix.cpp:
 (WebKit::PluginInfoStore::getPluginInfo): Check first if we have
 metadata of the plugin in the cache and update the cache if we
 loaded the plugin to get its metadata.
...

Finally, we modify the release information adding or increasing the non-maintainer digit. For example, in this case the downloaded source version was 2.3.2-1ubuntu6~saucy1, so I’m setting 2.3.2-1ubuntu6~saucy1.1. Also, remember to provide the proper distribution name or to modify it when writing down the log of the changes. In this case, we are using saucy. Check also that you are using the proper email for the log. In my PPAs I use my personal one:

$ DEBEMAIL="my@personal.email" dch -n -D saucy
$ cat debian/changelog
webkitgtk (2.3.2-1ubuntu6~saucy1.1) saucy; urgency=low

  * Fixes #115650:
    - debian/patches/0001-GTK-WK2-Blocks-when-fetching-plugins-information.patch

 -- Andres Gomez   Wed, 19 Mar 2014 14:26:19 +0200
...

With this, we are done modifying the source of the package.

Importing patch alternative

Maybe this is a cleaner and quicker way of patching the downloaded sources. Instead of modifying the sources and running dpkg-source –commit, we can just import an existent patch that would apply on the source code.

To do this, we just have to run:

$ quilt import //my_patch.patch

This will also work in Debian packages for which version dpkg-source –commit won’t work. In addition, is the quickest way to reuse a patch from a package in a previous Ubuntu distribution into a newer one, for example.

From here we will retake the same steps than above to add the release information.

Building the source package

We just have to take into account that, when you have more than one GPG key available, the signature of the package will fail during the process, as in:

$ debuild -S -rfakeroot
...
Finished running lintian.
Now signing changes and any dsc files...
 signfile webkitgtk_2.3.2-1ubuntu6~saucy1.1.dsc Andres Gomez 
gpg: skipped "Andres Gomez ": secret key not available
gpg: /tmp/debsign.vhpVY32w/webkitgtk_2.3.2-1ubuntu6~saucy1.1.dsc: clearsign failed: secret key not available
debsign: gpg error occurred!  Aborting....
debuild: fatal error at line 1280:
running debsign failed

Hence, you have to provide the key id to use in the -k parameter.

In addition, if the sources used for the package are not coming from one of the official Ubuntu repositories you will need to provide also the sources when uploading to the PPA. For this, you have to pass the -sa parameter. For the used example, as we are taking the source from the GNOME3 Team Ubuntu PPA, we will pass this parameter as in:

$ debuild -S -sa -rfakeroot -k3FEA1034

While for other packages which we modify directly from the sources of the official packages provided by Ubuntu, we just use:

$ debuild -S -rfakeroot -k3FEA1034

Optional local build

A local build is not really necessary but it will tell you if your applied changes are breaking or not the compilation of the package.

The best way of doing a trustful local build is using pbuilder.

When using pbuilder we have to be sure that we are using the proper packages not only from Ubuntu’s official repositories but also from the PPAs our target PPA depends on and also our own PPA itself.

I’ve already created the tarballs with the chroot distributions for my own PPAs. However, in order to show an example, we would be using a line like the following one for creating a new tarball for my gnome3 PPA which depends in my ppa PPA and also in GNOME3 Team’s gnome3 PPA:

$ sudo pbuilder --create --distribution saucy --mirror "http://fi.archive.ubuntu.com/ubuntu/" --othermirror "deb http://fi.archive.ubuntu.com/ubuntu/ saucy restricted universe multiverse|deb http://fi.archive.ubuntu.com/ubuntu/ saucy-updates main restricted universe multiverse|deb http://fi.archive.ubuntu.com/ubuntu/ saucy-proposed main restricted universe multiverse|deb http://fi.archive.ubuntu.com/ubuntu/ saucy-security main restricted universe multiverse|deb http://archive.canonical.com/ubuntu saucy partner|deb http://ppa.launchpad.net/gnome3-team/gnome3/ubuntu trusty main|deb http://ppa.launchpad.net/tanty/ppa/ubuntu saucy main|deb http://ppa.launchpad.net/tanty/gnome3/ubuntu saucy main" --basetgz //saucy-gnome3.tgz --buildplace //build --aptcache  "//aptcache/"

I make use of the <path_to_base_pbuilder> because by default it is all done at /var and I do not always have enough space there.

Once created, and following our example, we would be building our package for the target gnome3 PPA as follows:

$ sudo pbuilder --build --mirror "http://fi.archive.ubuntu.com/ubuntu/" --othermirror "deb http://fi.archive.ubuntu.com/ubuntu/ saucy main restricted universe multiverse|deb http://fi.archive.ubuntu.com/ubuntu/ saucy-updates main restricted universe multiverse|deb http://fi.archive.ubuntu.com/ubuntu/ saucy-proposed main restricted universe multiverse|deb http://fi.archive.ubuntu.com/ubuntu/ saucy-security main restricted universe multiverse|deb http://archive.canonical.com/ubuntu saucy partner|deb http://ppa.launchpad.net/gnome3-team/gnome3/ubuntu trusty main|deb http://ppa.launchpad.net/tanty/ppa/ubuntu saucy main|deb http://ppa.launchpad.net/tanty/gnome3/ubuntu saucy main" --basetgz //saucy-gnome3.tgz --buildplace //build --aptcache  "//aptcache/" ../webkitgtk_2.3.2-1ubuntu6~saucy1.1.dsc

Now, it is just a matter of waiting and checking the results.

Uploading to your PPA

The final step is uploading the package with the new changes to your PPA.

I actually have one sandbox PPA per each stable PPA. These PPAs are not intended for the general users but for being able to play with the changes until I feel they are stable enough to be published in the stable PPAs. Hence, I have 4 PPAs:

  • ppa: Where I keep changes from official Ubuntu packages that are useful to me.
  • ppa-next: Not intended for general users. Where I keep unstable packages with the changes that I will move to the ppa one once I feel they are stable enough.
  • gnome3: Where I keep changes on packages which source has been obtained from the GNOME3 Team PPA.
  • gnome3-next: Not intended for general users. Where I keep unstable packages with the changes that I will move to the gnome3 one once I feel they are stable enough.

With this, during the first cycles of development I will be uploading the changes to my unstable PPAs before uploading them to the stables. For this example, I would be uploading first to the gnome3-next one:

$ dput ppa:tanty/gnome3-next ../webkitgtk_2.3.2-1ubuntu6~saucy1.1_source.changes

Once I’m happy enough I would be uploading the changes to the stable PPA:

$ dput -f ppa:tanty/gnome3 ../webkitgtk_2.3.2-1ubuntu6~saucy1.1_source.changes

The -f flag is avoid the error that is triggered when there is already a “log” file from a previous upload with dput of a certain “.changes” package.

With this, you only have to wait for the package to be built on the PPA bots, upload your repositories and upgrade:

$ sudo apt-get update && sudo apt-get upgrade

Enjoy your newly patched package!

¿Tendra alumnos la FIC para el curso 2012/2013?

Cualquiera podría pensar que no o, al menos, que no es lo que está buscando la mismisima plantilla educativa que trabaja en la facultad.

Y es que es difícil no pensar en esta posibilidad a la vista de esta oferta de contratación, Ref. 2012/CP/062, dónde el requisito formativo, nuevamente, no llega más allá de estar en posesión del título de bachillerato, aparte de la posible experiencia profesional.

¡Total, ¿para qué vas a querer estudiar una carrera en la FIC cuando la propia facultad no exige la titulación que imparte para realizar contrataciones?!

Dejo aquí el PDF de la oferta, por si acaso desapareciera en un tiempo.

Esta es una convocatoria que en realidad ya es vieja. El contrato era de 3 meses y la fecha estimada de inicio era mediados de junio de 2012, así que a estas alturas es posible hasta que el contrato ya se haya extinguido.

Uno no dispone de mucho tiempo para sentarse y escribir con todo el cuidado necesario este tipo de entradas. Aún así, no quería dejar de comentar esta oferta de contratación. Como ya decía anteriormente en No estudies Ing. Informática, no le interesa ni a tu facultad, aquel caso era sólo “un ejemplo más de una práctica bien generalizada” y a eso mismo suena también esta oferta de contratación.

Esta vez, además de la titulación de bachillerato se requiere “Traballo previo en investigación para tarefas de I+D, al menos 6 meses en puesto similar. Experiencia de 2 años entorno .NET C#, Hibernate, Spring, Javascript, Servicios Web WCF, SOAP.”. Vamos, que si el CV no es técnicamente tan explícito como en la anterior, tampoco es que se queden muy cortos en cuanto a detallar lo que necesitan. Sobre todo por el hecho de pedir haber trabajado 6 meses en un puesto similar. Como es I+D, ya sabemos cuantas posibilidades hay de que haya alguien investigando algo similar en otro sitio: prácticamente ninguna.

“¡Oye, que si no has trabajado con nosotros ya 6 meses antes, te puedes volver por donde has venido!”.

En todo caso, si se necesita un perfil tan especializado, lo mínimo sería pedir la titulación de Ing. Informática, ¿no?. Y con más razón cuando es un puesto para un laboratorio de la Universidad que imparte dichas titulaciones … Vamos, que estamos asistiendo de nuevo a un caso de enchufe. Esa práctica que ya incluso se está haciendo tristemente famosa como “typical Spanish” y lacra de nuestro propio desarrollo con artículos hasta en The Guardian.

Lo que no entiendo de estas convocatorias es por qué no ponen ya el nombre y apellido en los requisitos. Así nos enteraríamos mucho antes de quién es el agraciado.

El puesto es para participar en el proyecto “Axudas para a consolidación e estruturación de unidades de investigación competitivas do sistema universitario de Galicia”.

El nombre es de un abstracto que da la risa pero, resumiendo, es un puesto de trabajo financiado con fondos públicos, por si no quedaba todavía totalmente claro al ser una convocatoria de la UDC (Universidade da Coruña).

La persona admitida para estas ayudas, que es el investigador principal del proyecto y quien firma la convocatoria de contratación es Alejandro Pazos Sierra. Como vemos en su linkedin (aquí una captura), es profesor en la UDC y participa en el equipo de investigación SABIA (Sistemas Adaptativos y Bioinspirados en Inteligencia Artificial), que está integrado en el grupo de excelencia RNASA (Redes de Neuronas Artificiales y Sistemas Adaptativos), a quien pertenece el laboratorio para donde se ofertaba este contrato.

Como decía, en realidad no sé a quién estaba dirigida esta oferta de contratación. Ya dije en su momento que yo no estoy buscando perjudicar particularmente a los implicados en este tipo de convocatorias. Más al contrario, para mi está claro que son cosas como estas las que están perjudicando al común de los ingenieros al no hacer las cosas de una forma justa.

Es simplemente triste ver como las cosas en España y la Universidad no cambian y los ecos de estos comportamientos ya llegan hasta a medios internacionales.

¿Seguirá la FIC desprestigiando a su propia titulación con convocatorias como esta? Lo veremos en el futuro …

The transparency law by the Spanish embassy in Finland

I’ve just received a forwarded mail, coming originally from the Spanish embassy in Finland. Its aim is to inform the Spanish citizens registered in the embassy as living permanently in Finland about the possibility of helping with comments to the draft of the law for “Transparency, Access to the Public Information and Good Government”. Glad to know that they are having the opinion of the Spanish citizens into account, for once 🙂

But there is a problem. It seems that they have thought the transparency should start with the citizens themselves so, this way, they have written all the addresses of the Spanish citizens registered in the embassy in the mail’s “To” field. The good side is that I know now who are all the Spanish citizens in Finland.

For the sake of the embassy, let’s hope that the Spanish Agency for the Personal Data Protection would not be around …

PS: If you check carefully, you will see, among all the addreses in red, some exceptions in black. Those are the addresses not even acknowledged as “valid” by my mail application. Ouch!

PPS: Just in case this is helpful for the workers at the embassy, I will leave here a link from a former post that I wrote about netiquette.

Update: Today I’ve received another forwarded mail from the embassy in which they apologize for this incident. The copy, at the bottom of the post.

Spanish Emb in Finland 1 - 6
Spanish Emb in Finland 2 - 6
Spanish Emb in Finland 3 - 6
Spanish Emb in Finland 4 - 6
Spanish Emb in Finland 5 - 6
Spanish Emb in Finland 6 - 6

Apologize Spanish Emb in Finland

2 puntos para ilustrar a Esperanza Aguirre sobre la educación en inglés

La presidenta de la comunidad de Madrid dice que le ponen “trabas sindicales” que  le obligan “a tener un profesor español que quizá no sabe inglés” y que le “impiden contratar profesores nativos irlandeses o ingleses. ¿No dicen que estamos en la Unión Europea?”:

  1. Que una persona sea nativa no la cualifica para dar clase de su idioma. Es fácil de entender. Que yo sea nativo en español no me hace un buen profesor de español para extranjeros o de lenguaje en un colegio o instituto español.
  2. Que en la UE haya libre tráfico de trabajadores no hace que los trabajadores de UK o Irlanda no tengan que someterse a los mismos procesos de selección que cualquier otro trabajador español. Las oposiciones son el proceso de entrada que intenta garantizar la igualdad de oportunidades para un puesto de trabajo pagado con dinero de los impuestos de todos los contribuyentes en España. Incluidos aquellos que se presentan a estas mismas oposiciones. En otras palabras, nadie limita a los trabajadores de UK o Irlanda a trabajar como profesores o auxiliares de conversación en España. Simplemente deben homologar su titulación/cualificación y presentarse a las oposiciones.

No entiendo como esto se le puede haber pasado a alguien como la presidenta de la comunidad de Madrid, habiendo sido ministra de educación (??)

 

No estudies Ing. Informática, no le interesa ni a tu facultad

O eso es lo que se puede extraer de esta oferta de contratación, Ref.2011/CP/249, dónde el requisito, más allá de la experiencia profesional, es simplemente tener el título de bachillerato.

Sí, queridos amigos, parece de risa, pero no lo es. Más bien dan ganas de llorar.

Dejo aquí el PDF de la oferta, por si acaso desapareciera en un tiempo.

¿Cómo puede algo tan estrambótico estar ocurriendo? La razón de fondo es que la Ing. Informática no tiene atribuciones profesionales, a diferencia de la gran mayoría de ingenierías. Lo que significa que para hacer labores de Ing. Informática no hay, realmente, ninguna limitación legal en cuanto a la formación demandada. Normalmente, las administraciones públicas se limitan a requerir una titulación superior o bachillerato, con algunos años de experiencia.

Aunque no es obvio, desde mi punto de vista, que las atribuciones profesionales sean la solución, es algo por lo que los Colegios Profesionales de Ingeniería en Informática, como el de Galicia, llevan tiempo luchando. De hecho, en 2008 nos manifestábamos, yo incluído, pidiendo esta regulación. Es por esto que llama aún más la atención que un grupo de investigación de la FIC (Facultade de Informática da Coruña) presente esta convocatoria de empleo sin siquiera pedir ninguna de las titulaciones que esta facultad imparte.

En todo caso, y a pesar del título de esta entrada, las atribuciones no es el tema de la misma, así que volvamos a analizar más detenidamente la oferta en cuestión y entendamos la razón principal de que no se solicite un Ing. en Informática para esta oferta de empleo.

El puesto es para participar en el proyecto europeo OptiBand en el que participa la FIC a través del MADS Group. Es decir, es un puesto de trabajo financiado con fondos públicos, por si no quedaba todavía totalmente claro al ser una convocatoria de la UDC (Universidade da Coruña).

Además, en los requisitos, junto a la titulación de bachillerato se requiere, como experiencia previa “Coñecementos de redes IP, sistemas funcionales distribuidos, verificación formal en entornos funcionais distribuidos, coñecemento de sistemas de distribución de video dixital, dominio de linguaxe de programación ERLANG/JAVA. Experiencia demostrable máis de 6 anos no sector público e privado.”. Esto ya se parece más a un CV concreto. Vamos, que si nos ponemos a afinar, se podría añadir también “que toque el trombón”, no vayamos a pillarnos los dedos y que haya dos posibles candidatos …

En todo caso, con semejante experiencia profesional, sigue llamando la atención que sólo se pida bachillerato, ¿no? Vamos a resolver el entuerto.

La persona que firma la convocatoria de contratación es Víctor M. Gulías Fernández. Por su linkedin podemos saber que es Profesor en la UDC y fundador y ex-propietario de la compañía LambdaStream.

¡A la rica captura, para que quede bien congelada en el tiempo!

Mientras, podemos ver, como ex-miembro del anterior MADS Grupo a Miguel Barreiro Paz. Por su linkedin también podemos saber que actualmente no tiene ocupación y que ocupó el cargo de CTO también en la compañía LambdaStream, de la que era propietario Víctor Gulías. Además, no se lee que tenga ninguna titulación de grado superior o, lo que es lo mismo, su formación completada no pasa del nivel de bachillerato.

¡Que me las quitan de las manos, oiga!

Para finalizar, vemos que el órgano de selección de la convocatoria es “O investigador principal do proxecto”, es decir, Víctor M. Gulías Fernández.

Yo, en estos momentos, podría apostar con bastante confianza a que sé quién se va a llevar el puesto de trabajo ofertado. La fecha de presentación de solicitudes termina el 12 de noviembre de 2011 así que ya actualizaré con los resultados, si es que se hacen públicos, y me disculparé si es que estoy equivocado 🙂 .

Estoy bastante seguro de que muchos amigos y conocidos se estarán echando las manos a la cabeza al leer esto. No por el enchufe que, más que insinuarse, pega calambrazos. No por esa endogamia bien conocida en la Universidad Española que imposibilita tener una convocatoria verdaderamente limpia a la que pueda acudir cualquier Ingeniero en informática. No, claro que no. Ahora mismo se están echando las manos a la cabeza por lo que supone, en una ciudad pequeña, como A Coruña, y en un país como España, decir en voz alta lo que todo el mundo calla. Y no les falta razón. Bastante tiempo he necesitado para, finalmente, decidirme por publicar esta entrada.

Me voy a ir adelantando a las conclusiones. No, yo no conozco personalmente ni al profesor Víctor Gulías ni a Miguel Barreiro. Yo soy de León y estudié en la Universidad de la misma ciudad. No tengo nada personal contra ellos, les deseo lo mejor. Tampoco tengo ningún interés profesional contra ellos. Por supuesto, como decía, en el mundillo TIC y en una región tan pequeña como Galicia todos nos conocemos, aunque sólo sea de oídas, pero esa es toda nuestra relación.

De hecho, mi intención en esta entrada ni siquiera es, explícitamente, poner el dedo en el ojo de estas dos personas. Este sólo es uno más de los muchos casos manifiestos de endogamia que se dan en los grupos de investigación de la FIC, pero no sólo en la FIC, si no en toda la UDC, pero no sólo en la UDC, sino en todas las Universidades españolas. Profesores y grupos de investigación que hacen del puesto y responsabilidad que la sociedad les ha dado para formar en estudios superiores a las futuras generaciones de jovenes, e impulsar la investigación y el desarrollo, sus reinos de taifas. Y, en ellos, los reyezuelos imponen su ley y, en muchos casos, se dedican a buscar el lucro personal y la acumulación de poder e influencia mediante prácticas de ética dudosa, aunque legales.

Por supuesto, no todo es responsabilidad del personal universitario. Esto es posible porque la regulación actual permite que el director de un grupo de investigación pueda decidir unilateralmente a qué se dedica el dinero. Qué se compra y a quién se contrata. Pero, además, también es posible porque los servicios de contratación y de intervención de las distintas universidades dan su visto bueno. Finalmente, y para remachar lo absurdo de la situación, el actual modelo de financiación para la investigación y desarrollo está tan mal diseñado que hace que se gaste gran parte de los fondos en proyectos que, aunque obtienen resultados prometedores, nunca se convierten en productos de mercado o de uso final. Y todos “contentos”: la administración justifica el gasto en i+d y los investigadores justifican la inversión hecha con publicaciones. Y cuantas más publicaciones, mejor, que hay que justificar de alguna manera que nos vuelvan a financiar el grupo de investigación en la siguiente convocatoria.

Como decía, no es que este caso sea un escándalo en sí. Este es un ejemplo más de una práctica bien generalizada, pero algún ejemplo tenía que utilizar. Resultó que, siendo informático, ver esta oferta, con sólo el requisito de bachillerato, fue como tener que aguantar que se me rieran a la cara. Así que, cansado de escuchar como se habla de los escándalos que ocurren en cosas tan “distantes” como que la consejera de educación de la Comunidad de Madrid burle a la bolsa pública de empleo, pero se guarda silencio en las cosas más cercanas, no me quedó más remedio que afrontar la hoja en blanco y escribir lo que casi todo el mundo sabe y piensa. Al final, cuando los escándalos ocurren en la puerta de al lado, cuando es alguien “cercano” que puede intentar represalias para perjudicarte, la mayoría callamos. El caso es que no es mi culpa. No soy yo quién ha redactado esta convocatoria surrealista ni soy yo quien quiere perjudicar particularmente a los implicados. Son ellos los que están perjudicando al común de los ingenieros al no hacer las cosas de una forma justa y realmente transparente.

Y eso que estoy bastante seguro de que Miguel Barreiro está de sobra capacitado y, por su experiencia, parte con ventaja para cubrir un puesto como ese, pero que la UDC pueda contratar en la Facultad de Informática a una persona que únicamente tiene el título de bachillerato para un puesto de investigación clama al cielo.

Lo siento, pero para algo los demás sí nos sacamos el título.

Taking back the old scrollbars in Ubuntu

Today I couldn’t take it any more and I had to do it …

I’m a Thinkpad Lenovo X61s owner with which I don’t use nor miss a mouse thanks to the awesome TrackPoint included. Because of that, the new Ubuntu’s scrollbars are, from the user interactivity point of view, just not usable.

Leading quickly to the “ham” 🙂 , disabling them is just a matter of writing in a console:

$ sudo echo "export LIBOVERLAY_SCROLLBAR=0" > /etc/X11/Xsession.d/80overlayscrollbars

and reboot.

I’m not saying that the new scrollbars aren’t an enhancement. They allow a better usage of the display but, from the functional point of view, they only work as positioning indicator. They will tell you the progress in the scrollable window but, necessarily, you will need a wheel in your mouse or a way to emulate it. If you often have to grab the scrollbar, from a functional point of view, they are just a failure.

Hence, you will miss in Ubuntu a way to tune on or off its usage without having to use these kind of “hacks“.

Of course, another alternative would have been “to emulate” the mouse wheel through the middle button. I my case, this is not an option since last time I walked this path I decided to have a better “select and paste” experience with this button rather than use it as modifier for the vertical/horizontal scrolling.

Anyway, if you want to use the middle button this way, you had to do some changes to the “XOrg” config file before. Now, you just have to install the “gpointing-device-settings” package:

$ sudo aptitude install gpointing-device-settings

and select the proper options after launching its UI from “System -> Preferences -> Pointing devices“.

This and many other tricks can be found at ThinkWiki.

Who knows, maybe, in some time, I will change my mind and retake this functionality (and the new Ubuntu scrollbars) …