Acerca de 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!

La ley de transparencia según la embajada española en Finlandia

Hace unos minutos me han reenviado un correo electronico original de la embajada de España en Finlandia. En él se informa a los inscritos como residentes permanentes en Finlandia en dicha embajada de la posibilidad de colaborar aportando sugerencias al actual Anteproyecto de ley de «Transparencia, Acceso a la Información Pública y Buen Gobierno». Muy de agradecer que tengan, por una vez, en cuenta las opiniones de la ciudadanía 🙂

El problema es que han debido de pensar que la transparencia y acceso a la información debía de empezar con los propios ciudadanos y, así, han añadido en el campo «Para» del correo todas las direcciones de los ciudadanos inscritos en la embajada. La parte buena es que ahora ya puedo saber, directamente, quienes son los españoles residentes en Finlandia.

Por el bien de la embajada, esperemos que la Agencia de Protección de Datos no ande cerca …

PD: Si os fijáis, entre todas las direcciones en rojo aparecen algunas excepciones en negro. Estas son direcciones que mi programa de correo ni siquiera acepta como direcciones válidas. Ay, ay, ay …

PPD: Por si les sirve de algo a los trabajadores de la embajada, aquí les dejo un enlace a una entrada anterior mía sobre netiquette.

Actualización: Hoy me han reenviado otro correo procedente de la embajada en el que piden disculpas por el incidente. La copia, al final de esta entrada.

Emb Finlandia 1 - 6
Emb Finlandia 2 - 6
Emb Finlandia 3 - 6
Emb Finlandia 4 - 6
Emb Finlandia 5 - 6
Emb Finlandia 6 - 6

Disculpas Emb Finlandia

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.

Retomando las antiguas barras de desplazamiento en Ubuntu

Hoy no me pude aguantar más y tuve que hacerlo …

Como propietario de un Thinkpad Lenovo X61s en el que no uso, ni hecho de menos un ratón, gracias al fantástico TrackPoint que incorpora, las nuevas barras de desplazamiento de Ubuntu son, simplemente, inusables.

Así que, yendo rápidamente al «turrón«, para deshabilitarlas sólo hay que abrir una consola y escribir 🙂 :

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

y reiniciar.

No digo que las nuevas barras no sean una mejora. Permiten una utilización mejor del espacio en pantalla pero, desde el punto de vista funcional, sólo valen como indicadores de tu posición. El progreso en el desplazamiento de la ventana. Forzosamente necesitas una rueda en tu ratón o una manera de emular este comportamiento. Si tienes que desplazar la barra manualmente, desde el punto de vista funcional, son un fracaso.

Francamente, en Ubuntu se echa de menos una manera de seleccionar des/habilitar su utilización sin tener que acudir a este tipo de «hacks«.

Por supuesto, otra alternativa habría sido «emular» la rueda del ratón mediante el uso del botón central, pero la última vez que lo usé decidí que prefería tener una mejor experiencia de «seleccionar y pegar» con este botón, antes que usarlo como modificador para el desplazamiento vertical/horizontal.

En todo caso, si lo que se quiere es usar este botón de esa manera, antes había que añadir una seríe de modificaciones al archivo de configuración del servidor «XOrg«. Ahora, sólo tenemos que instalar el paquete «gpointing-device-settings«:

$ sudo aptitude install gpointing-device-settings

y seleccionar las debidas opciones tras lanzarlo desde «Sistema -> Preferencias -> Pointing devices«.

Esta y muchas otras recetas se pueden encontrar en ThinkWiki.

Quién sabe, quizá, en un tiempo, cambie de opinión y retome esta funcionalidad (y las nuevas barras de desplazamiento de Ubuntu) …

Spam en el móvil

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.