Computer Science is no more about computers than astronomy is about telescopes (Edsger Dijkstra)

Las jornadas de los datos (SIG Libre 2013)

Posted: marzo 11th, 2013 | Author: | Filed under: Free Software, GIS, Spanish | 2 Comments »

“Al mal tiempo, buena cara”. Así empezaba la presentación de las Jornadas de SIG Libre de este año, y justo eso es lo que he visto y he vivido estos últimos días en Girona, la buena cara del mundo geo en nuestro país. Por mucho que hayan sido unas jornadas algo más austeras, con menos patrocinios y aunque nos hayan dado una libreta más pequeña que en los años anteriores, para mí estas jornadas han sido grandes.

Han sido unas jornadas mucho más reflexivas, con ponencias que hacían pensar, que invitaban a la reflexión y a dar un paso más hacia adelante. “Todo el software va a ser libre en unos años, eso ya lo tenemos ganado” decía Malcolm Bain. No estoy tan seguro de que vaya a ser tan fácil, pero es verdad que el software libre ya no es sólo algo de unos pocos frikis y que ahora que se está haciendo ya un hueco empezamos a ir más allá y a hablar de datos libres, el Open Data que se está empezando a poner tan de moda.

En estas jornadas se ha hablado mucho de datos, de que hay que liberarlos y de cómo hacerlo. Eso nos lo enseñó Alberto Ortiz del Gobierno Vasco, que nos contó como se estaba haciendo desde esa administración. Por desgracia es todavía una iniciativa bastante aislada en España y queda mucho camino aún por recorrer . Sin embargo da gusto ver a alguien desde la administración pública hablando de release early, release often sobre los datos, la importancia de liberarlos ya que otros podrán arreglarlos y sobre todo que es una indecencia querer volver a cobrar por datos que ya hemos pagado entre todos.

Se ha hablado mucho también de cómo visualizarlos, y de como el software libre es hoy en día la mejor forma de hacerlo, no por aspectos filosóficos sino simplemente porque es la tecnología más innovadora en este aspecto. Javier de la Torre, de Vizzuality, dio una gran charla sobre esto y sobre como estaba cambiando el paradigma del SIG en la web, con formas diferentes de mostrar la información. “Si un mapa necesita leyenda para entenderse es que está mal hecho” se dijo. A partir de esta ponencia hubo también bastante debate sobre si las IDE tenían sentido, los estándares OGC, INSPIRE… siendo este un debate muy enriquecedor y seguramente necesario. Sin embargo, en mi opinión, muchos de los argumentos que daba Javier eran bastante sesgados. Hay mapas que necesitan leyenda, y eso no significa que estén mal, y hay muchos casos en los que una IDE sí tiene sentido.

Al mismo tiempo se reflexionó también sobre los peligros de la sobrecarga de información. El último día, tras el título de SmallData vs BigData, Víctor Olaya esgrimía un alegato en favor del conocimiento, con una analogía de la batalla entre David y Goliat. David ganó la batalla porque era listo, sabía usar una honda y tenía puntería. No por tener una gran cantidad de datos o una tecnología espectacular vamos a hacer mejor las cosas. Hay que empezar por la base, que es tener el conocimiento necesario.

Respecto a lo que me tocaba más cerca, Fran Puga presentó el Curso de Introducción a los SIG para la Cooperación al Desarrollo y siguiendo el espíritu de las jornadas nos invitaba a reflexionar ante una diapositiva en blanco, que representaba lo que significa para muchos millones de personas el acceso a Internet.

Galicia volvió a estar ampliamente representada en las jornadas, con gente de empresas privadas, universidades y administración pública, síntoma de que el ecosistema geo sigue muy activo por estas tierras. Al igual que los distintos grupos de geoinquietos que se van consolidando en diferentes lugares y cuyas iniciativas pudimos presentar en una sesión desorganizada pero ilusionante al ver cuantas cosas se podían hacer simplemente con que un grupo de amigos se junten.

Para finalizar, sólo queda agradecer, un año más, la hospitalidad y el buen hacer de la organización y la camaradería de todos los participantes. Todo ello hace que te sientas como en casa durante los días que dura el evento y que tu calendario tenga todos los años marcada una “G” de Girona en marzo.

El año que viene más.


The humble programmer

Posted: enero 17th, 2013 | Author: | Filed under: Computer Science | No Comments »

The title of this post is the same that the famous article of Dijkstra, which I recommend you to read.

I know Dijkstra, or to be exact, his algorithms at the university. A little later I started to be interested on him as leading figure, as one of the most influential members of computing science’s founding generation. I started to read something about his life, his theories…

The humble programmer represents for me, all his essence. It was written in 1972 but many of the concepts are current. Let me to show you a short paragraph:

Another two years later, in 1957, I married and Dutch marriage rites require you to state your profession and I stated that I was a programmer. But the municipal authorities of the town of Amsterdam did not accept it on the grounds that there was no such profession. And, believe it or not, but under the heading “profession” my marriage act show the ridiculous entry “theoretical physicist”!

I know many very good programmers that if they have married at that time, by Dutch marriage rites, its marriage act would have shown something, maybe not ridiculous as Dijkstra said, but for sure something that it does not define them.

 


Don’t let google code for you

Posted: diciembre 23rd, 2012 | Author: | Filed under: Computer Science | No Comments »

After reading this entry it come into my mind a simple question: Why the first thing that developers do is searching in google when we have to face up to a new problem?

I mean, usually it is a good idea to read code, to see how other people faced up the same problem in order to learn, but, why do not we try to think in a way to resolve the problem before seing other solutions?

Computer Science is older than google, you know ;-)


Emblemas en las carpetas de Nautilus

Posted: noviembre 9th, 2012 | Author: | Filed under: General, Spanish | 1 Comment »

La versión 12.04 de Ubuntu trajo alguna que otra sorpresa, y no todas agradables. Por lo menos en mi casa se vivió un momento de pánico tras la actualización, y no no fue por quedarse sin las X al reiniciar, sino porque no se podían poner emblemas a las carpetas en nautilus.

En casa no tenemos windows, todos los ordenadores tienen GNU/Linux. Mi pareja se ha acostumbrado bastante bien a esto, la verdad. Desde que su viejo portátil con windows murió, las opciones pasaban por comprar otro o usar alguno de los míos que sólo tienen Ubuntu, así que la necesidad se encargó de hacer la transición hacia el software libre algo más dulce. Para mi sorpresa el período de adaptación  fue muy corto y ahora sencillamente se encuentra muy cómoda usando GNU/Linux y más cuando descubrió que a las carpetas de nautilus se le pueden poner emblemas!

Yo llevo usando GNU/Linux desde hace bastante años, y ni de broma se me hubiese ocurrido destacar esta característica, sin embargo está claro que tiene su público. El drama empezó cuando, como digo, tras actualizar a Ubuntu 12.04, esta funcionalidad no estaba.

Por suerte, y tras el susto inicial, hay forma de recuperarla, y sólo hacen falta un par de comandos:

sudo add-apt-repository ppa:nae-team/daily
sudo apt-get update
sudo apt-get install nautilus-actions-extra

Ahora, al hacer click con el botón derecho sobre una carpeta de nautilus tenemos, además de otras nuevas opciones, un apartado llamado Avanzado y dentro encontraremos la opción de Emblema.

La moraleja de esta historia es: Desarrolladores del mundo en general y de Ubuntu en particular, cuando vayan a eliminar una funcionalidad, pregúntenle antes a sus parejas.


Replicación en PostgreSQL con Bucardo

Posted: noviembre 7th, 2012 | Author: | Filed under: Spanish | No Comments »

Siempre me ha llamado la atención la relación del software libre con los animales. Multitud de programas los utilizan como icono o en algunos casos, como el que nos ocupa cogen directamente el nombre de uno. Quizás esto daría para un post entero, pero de momento vamos a centrarnos en Bucardo, que además de ser una subespecie de cabra montesa, ya extinguida por cierto, es una herramienta para sincronizar y replicar bases de datos.

Por motivos de trabajo, llevo varios días haciendo algunas pruebas con ella, y de momento es bastante prometedor. Según la vaya conociendo más trataré de ir haciendo algún post más explicativo de como usarla, pero de momento daré unas pinceladas como introducción.

Como decía, Bucardo es una herramienta que sirve para sincronizar y replicar bases de datos PostgreSQL, permitiendo que dicha sincronización se haga en formato Master-Slave, es decir una base de datos donde se actualiza la información y una o varias de sólo lectura que se sincronizan con la primera, o en formato Multi-Master, con dos bases de datos sobre las que se actualiza información y que se sincronizan entre sí. En la propia wiki de PostgreSQL podéis ver una tabla resumen con las distintas herramientas que hay para sincronización y replicación y los tipos que soportan cada una.

Si miramos un poco dentro de Bucardo, vemos que en esencia no es más que un conjunto de scripts en Perl junto con un demonio que se encarga de monitorizar las distintas bases de datos. Se instala en un único punto, es decir, no hace falta que lo instalemos en todos los servidores de bases de datos que tengamos. Simplemente necesitaremos un clúster de PostgreSQL donde Bucardo creará su propia base de datos. En ella, iremos añadiendo la información que necesita para llevar a cabo la sincronización, rellenando las diferentes tablas con los datos de las diferentes instancias de PostgreSQL que queremos replicar.

La sincronización de la información se hace de forma asíncrona, es decir, una vez que hay un cambio en la base de datos maestra, este se envía a los esclavos o a otro maestro, pero sin preocuparse de si la información llega al destino o no. Esto puede suponer un problema, ya que en caso de que el servidor o servidores de destino no estén conectados y en funcionamiento en ese momento, la información se perderá.


Spotify nativo en Linux

Posted: octubre 31st, 2012 | Author: | Filed under: Hows To, Spanish | No Comments »

Si usas spotify en GNU/Linux, seguramente lo haces a través de Wine, ejecutando la versión para windows. A pesar de que esta opción funcionan bastante bien, a veces suele dar algún que otro problemilla, y además no se integra completamente en el sistema.

Hace algún tiempo, en el blog oficial de spotify se anunció una versión para GNU/Linux, que según dicen, es la que usan internamente los propios desarrolladores de la plataforma. Es una versión preliminar sobre la que no se ofrece soporte oficial y además no está disponible para las cuentas gratuitas, ya que según comentan no han encontrado la forma de mostrar publicidad en ella.

Pues bien, recientemente esto ha cambiado y ahora sí soporta las cuentas gratuitas. Llevo usándola unos días en una Ubuntu 12.04 y la verdad es que funciona muy bien, además de integrarse perfectamente con el sistema.

Si quieres probarla sólo tienes que añadir el siguiente repositorio en /etc/apt/sources.list

deb http://repository.spotify.com stable non-free

añadir la clave pública si quieres comprobar los paquetes:

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 94558F59

actualizar e instalar el cliente:

sudo apt-get update
sudo apt-get install spotify-client

			 

Sextante help in gvSIG 1.12

Posted: octubre 28th, 2012 | Author: | Filed under: gvSIG | No Comments »

As you probably know, gvSIG 1.12 is already out.

This new version includes a great bunch of new features and many changes have been made to improve it.

Unfortunaly some times, errors are committed. In this case there is an error about Sextante help. The name of the help directory is wrong, it should be “help” but in the gvSIG 1.12 version is “sextante_help”. Besides all help files should be inside another directory called “en” since Sextante finds the help depending on the system locale.

This problem will be fixed in next release, but in the mean time you can fix it by your own. What you have to do is just rename the folder “sextante_help” that is into gvSIG_instalation_dir/gvSIG/extensions/es.unex.sextante/ to “help”. Then you have to create a folder named “en” inside and move all the folders that contains the algorithms help into it.


Sextante in gvSIG 1.12

Posted: abril 9th, 2012 | Author: | Filed under: gvSIG | 1 Comment »

Last weeks I have been working a bit in Sextante to integrate it in the next estable version of gvSIG (1.12).

In addition to many new features, last Sextante version allows to make any action from the Toolbox, not only execute algorithms but also create new models or scripts. For gvSIG users it is possible as well to execute its geoprocess like Sextante algorithms. Changes were needed in both sides so if you want to check it you will need to make checkout of trunk in both projects.

All this work will be available in the intermediate builds and release candidate of gvSIG 1.12 so that you can give your feedback. Stay tuned!

Very special thanks to Víctor Olaya for his help.


Migrando el blog a la Red Odiseus

Posted: diciembre 27th, 2011 | Author: | Filed under: General | 1 Comment »

Desde hoy mismo este blog se encuentra alojado en la Red Odiseus, y de paso con nuevo diseño. La Red Odiseus es una iniciativa creada por Fran y Andrés, y a la que después me uní yo mismo, para además de tener un hosting propio, alojar los blogs de los amigos y echarles una mano para montar la infraestructura y con los problemillas que les surjan.

Ahora mismo tenemos 9 blogs en la red y con previsiones de que se nos una alguno más en breve. Además alojamos las páginas de alguna que otra asociación a la que estamos vinculados de alguna forma, y alguna que otra lista de correo.

Para finalizar el post rescato algo que me dijo Andrés cuando me contaba esta iniciativa y me metía el gusanillo: “Para que van a tener nuestros colegas el blog en blogger si nosotros les vamos a cobrar lo mismo y aún encima les damos cariño”.


Onion Model

Posted: octubre 19th, 2011 | Author: | Filed under: Free Software, Spanish | No Comments »

En GHANDALF, la asociación para la difusión del software libre de la que soy cofundador, estamos estos días preparando un nuevo proyecto. Después de la estupenda acogida que tuvo la traducción al Gallego y posterior edición del libro Produccing Open Source Software en formato impreso, hemos decidio darnos esta vez un poco de autobombo y editar  un libro que recoja nuestros trabajos de la primera edición de Máster en Software Libre.

Recuperando esto días, aquellos maravaillosos escritos olvidados, llenos de ilusión, esfuerzo y falta de horas de sueño para entregar a tiempo, me he dado cuenta que en mi caso me vienen que ni pintados.

En gvSIG llevamos una temporada dándole vueltas a como integrar más a la comunidad en el proceso de desarrollo. Si bien mis trabajos no tienen la solución mágica a este problema, sí que daban algunas pinceladas que pueden ayudar a entender mejor como funcionan las comunidades de software libre. De uno de ellos rescato un breve párrafo que intentaba explicar brevemente como funciona el Onion Model. Si lo miras en la wikipedia probablemente lo entenderás mejor y hasta te vendrá un dibujo, pero yo pego aquí el intento que hacía para explicarlo:

“El Onion Model es un modelo característico de los proyectos de software libre y se cumple dentro de GNOME. De manera general, este modelo asume que el primer contacto con un proyecto de software libre se realiza a través de su página web, o como usuario del programa. A partir de aquí se puede utilizar la lista de correo del proyecto para consultar dudas e interactuar con otros miembros de la comunidad. Cuando se usa el programa se detectan errores, el siguiente paso es ayudar a la comunidad a resolverlos mediante el envio de informes de fallo. Para esto la mayoría de proyectos suelen usar una herramienta de seguimiento de errores, en el caso de GNOME se emplea Bugzilla. Cuando se tienen habilidades de programación se puede usar esta misma herramienta para enviar parches con soluciones para esos errores y así ganar méritos para ser incluido entre los desarrolladores del proyecto. Esto permite tener acceso directamente al sistema de control de versiones para subir las modificaciones directamente en lugar de enviar los parches.”

Esto es un modelo ideal, cada comunidad es un mundo y probablemente haya muchas formas distinas de hacercarse a ella. Conocer como funciona, como la gente se aproxima a tu proyecto, es fundamental para poder llevar a cabo una buena gestión de la comunidad y lograr esas preciadas colaboraciones que harán crecer tu proyecto.