About tanty

I'm a computing engineer from León. I've always loved free software so I joined Igalia in June 2003 and nowadays is in Coruña where I live and work. Usually, I'm busy with Debian GNU/Linux administration, Fisterra and Gnome programming and some more free software related projects.

GUADEC is at home … and I’m abroad

Or kind of … because unlike you may guess from the title, I’m actually attending mighty GUADEC 2012

Attending GUADEC 2012 badge

I’ve attended GUADEC 2006 in Vilanova i la Geltru, GUADEC 2007 in Birmingham, GUADEC 2008 in Istanbul and the Desktop Summit in Gran Canaria as a guest in all of them.

Finally, this year the event comes home but, funnily enough, I moved to Helsinki some months ago so I’m again a visitor. Now in A Coruña 🙂

Honestly, I can’t wait to attend some of the talks and meet again the GNOME folks. Also, my mates Igalians are featuring quite some talks in the program meanwhile Igalia itself has been doing quite an effort to host some of the hackfests and meetings that are happening during these days.

And not only that!. As I was saying, I’m a visitor again so I only have pending to thank Igalia again for sponsoring my trip!

Igalia

Extending the life of your N8x0: Second update for Automatic Skype Launcher

Back again with a new release, the 0.0.3, of Applications Fullscreener and Automatic Skype Launcher.

Just download and install them in your N8x0 for making it become a good 24/7 Skype phone. For more information about the goals and features of this project you can check the previous post Extending the life of your N8x0: Automatic Skype Launcher.

Skype Tango Icon

I took the chance to update also the artwork used in these two applications. First thing, I created a Tango-ized version of the Skype logo.

Then, I used the previous magnificent art works from Andreas Nilsson and Jakub Steiner to create the new icons, and these are the result:

Applications Fullscreener Icon Applications Fullscreener Debian Package Icon Applications Fullscreener Icon Applications Fullscreener Settings Icon

Anyway, going to the actual changes.

The most important change for Applications Fullscreener is:

  • There was a second bash helper to launch a certain application and send the fullscreen key event some time afterwards. It was not fully featured but now it is.

You can, also, check the complete ChangeLog for Applications Fullscreener.

The most important changes for Automatic Skype Launcher are:

  • The Automatic Skype Launcher service was not stopping when uninstalled. Now this is corrected.
  • The init service was not starting correctly in some scenarios due to some uninitialized variables. This has been corrected.
  • In the previous version, I added an alarm triggered by the alarmd daemon to restart Skype (and the service). This was not working always. Now, killing Skype is forced.

You can, also, check the complete ChangeLog for Automatic Skype Launcher.

That’s it. Comments and patches are welcomed!

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

Extending the life of your N8x0: Update for Automatic Skype Launcher

I’ve just released the 0.0.2 version of Applications Fullscreener and Automatic Skype Launcher.

As I was already commenting in my previous post Extending the life of your N8x0: Automatic Skype Launcher, just download them and install them in your N8x0 for making it become a good 24/7 Skype phone.

The most important change for Applications Fullscreener is:

  • I’ve added a helper to launch a certain application and send the fullscreen key event some time afterwards.
    This is specially useful for launching an application through the DSME watchdog daemon in Maemo4.x. Using this helper as a wrapper, the application will receive the fullscreen event some time after being launched while the watchdog keeps track of the helper. In this case, if either the helper or the application dies, both die and, hence, the DSME will relaunch them both.

You can, also, check the complete ChangeLog for Applications Fullscreener.

The most important changes for Automatic Skype Launcher are:

  • I’ve added a Control Panel plugin for setting several behaviors of the application: starting an init service, using a watchdog for keeping it alive, trying to fullscreen Skype after launching it as a service and the time at which the service will be restarted, if so.

Automatic Skype Launcher Control Panel plugin snapshot

  • I’ve added a Home Desktop applet for making it easier to launch manually Skype, not having to get into the applications menu.

Automatic Skype Launcher Home Desktop applet snapshot

  • The Automatic Skype Launcher service was not stopping when the N8x0 was turned off while charging. Now this is corrected.
  • In the previous version, I added a cron.daily script to restart Skype (and the service). Actually, the N8x0 doesn’t have a cron daemon, by default. This is now corrected through the usage of an alarm triggered by the alarmd daemon.

You can, also, check the complete ChangeLog for Automatic Skype Launcher.

That’s it. Comments and patches are welcomed!

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 (??)

 

Extending the life of your N8x0: Automatic Skype Launcher

Leading quickly to the “ham”, just install Applications Fullscreener and Automatic Skype Launcher in your N8x0 and turn it into a Skype phone. Now, the long explanation 🙂

After working in Maemo and MeeGo for the last 5 years I’ve become the proud owner of a N810, a N900, a N950 (by now) and a N9. Obviosly, my old and beloved first maemo device, the N810, has been pushed into the background.

Thinking about how to still keep doing a good use of it, came to my mind the idea of turning it into a Skype phone. Nokia’s hardware is superb and the sound quality of the N810 makes it a good choice for this.

Still, I didn’t need another Skype phone myself but my parents, who have a lot of troubles for making use of Skype’s software in the computer, were the perfect candidates. Also, placing the N810 24/7 online side by side to their land line phone would let them receive and check at any moment for the availability of their regular Skype contacts. That’s it, my oldest’s brother family, who lives in Germany, and myself, who have already spent the last year and half in Finland and will be there, at least, for another six months.

Therefore, I copied all the remaining data out of the N810, cleaned the internal MMC and re-flashed the device with the latest available image and the needed flasher. Afterwards, and for having an easy way for maintaining the device, I upgraded to the OS2008 Feature upgrade and installed Skype, openssh and x11vnc packages. Also, I set the “Red Pill” mode in the Application Manager and added the following repositories:

~# cat /etc/apt/sources.list.d/hildon-application-manager.list
deb http://repository.maemo.org/extras-devel/ diablo free non-free
deb http://repository.maemo.org/ diablo/tools free
deb http://catalogue.tableteer.nokia.com/certified/ diablo user
deb http://catalogue.tableteer.nokia.com/non-certified/ diablo user
deb http://catalogue.tableteer.nokia.com/updates/diablo-2/ ./

In addition, after being able to ssh into the device, I installed the screen package.

Then, I set the connection manager to be connected to my parents WiFi automatically, without energy saving, with the smallest searching intervals, in case it would lose connection, and with unlimited inactivity time.

I modified the display settings for having the bright level, the bright timeout and the timeout for turning it off to the maximum, unchecked the option for blocking the display and keyboard on turning the display off, and set the display to not being permanently on ever. In the LEDs settings I left everything checked but when the device is on.

Because of the possibility of connecting with a bluetooth headset, I also set the bluetooth to be always on and visible.

Finally, I launched Skype and configured a new account for my parents.

The only thing left was to be able to launch Skype automatically at boot time and in fullscreen mode. As I said before, my parents are not really skilled on technology or gadgets use so the simplest approach would be to have a fully working Skype client just after booting and with no more distractions that the contacts list and the button for calling.

Automatic Skype Launcher Icon

I’ve developed the package skype-autolauncher for this task. This package would launch Skype automatically on boot time through a init script. Yes, I know it is not the cleanest way but it just works™ and other strategies are not much cleaner. The init script makes use of dsmetool to monitor the Skype instance so, if it crashes, or is closed by mistake, the application is relaunched. Also, this package adds a cron.daily task which will restart the service so it will also shut down and re-launch Skype for having fresh memory and a healthier running environment.

Automatic Skype Launcher’s code is kept in gitorious. For downloading the code, just type in a terminal:

$ git clone https://git.gitorious.org/skype-autolauncher/skype-autolauncher.git

Applications Fullscreener Icon

For the matter of automatically turning the launched Skype instance into fullscreen mode, I’ve also developed the package apps-fullscreener. This package sends a fake fullscreen hard key event to a XWindow by its process name.

Applications Fullscreener’s code is also kept in gitorious. For downloading the code, just type in a terminal:

$ git clone https://git.gitorious.org/apps-fullscreener/apps-fullscreener.git

That’s it. Comments and patches are welcomed!

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) …

Spam in your mobile

Web maligna www.visacarta.com

Esta no es la típica entrada alertando de cualquier chorrada en cadena, tal y como aconsejaba no propagar en “Netiquette en tu mail“. Esta es una entrada por un aviso real.

Tampoco es la primera vez que me llega un mensaje de este tipo, pero si es la primera vez que me decido a escribir sobre ello.

Hace un par de días me llegó un SMS a mi móvil español (Vodafone).

El remitente aparecía como “Importante”. No sé como lo hicieron, pero ocultaron el número y aparecía como si ese fuera mi contacto en la libreta de direcciones.

El texto del mensaje era:

Estimado cliente, su tarjeta visa ha sido bloqueada por su seguridad. Para desbloquear su tarjeta visite porfavor www.visacarta.com y complete los pasos.”

Es bastante obvio que era spam. De hecho, si visitas esa web, FireFox ya te avisa de que es una web maligna.

En resumen, si os llega un SMS de este tipo, ya sabéis que tenéis que borrarlo directamente y no hacerle caso.

QUrl (mis)usage: appendix, avoid automatic cast from QString

As I was introducing in the former entry QUrl (mis)usage, the direct creation of a QUrl from a QString should be avoided in any software that is not trying to smartly guess what a user input should lead to.

So, going directly to the ham, to avoid mistakes due to automatic conversions from QString to QUrl, I encourage the usage of the QT_NO_URL_CAST_FROM_STRING macro. The only thing you have to do is adding a line to your qmake project file like this:

# Avoid automatic casts from QString to QUrl. Dangerous!!!
DEFINES += QT_NO_URL_CAST_FROM_STRING

Or add it directly to the compilation line, like this

g++ ... -DQT_NO_URL_CAST_FROM_STRING ...

As I was pointing in my previous post, the usage of QUrl::fromLocalFile(QString) and QUrl::fromEncoded(QByteArray, QUrl::StrictMode) is recommended when dealing with QString and QUrl, but committing mistakes is a human condition so it is pretty easy to end passing a QString as a parameter to some API expecting a QUrl, or assigning a QString to a QUrl with the “=” operator through the C++ automatic cast mechanism which is implemented in the QUrl class. That’s why forbidding these automatic casts in our code is of such importantance.