Master on Libre Software Planet

May 19, 2013

Andrés Maneiro

Toyota Production System: beyond large-scale production

What is Toyota doing now? All we are doing is looking at the timeline, from the moment the customer gives us an order to the point when we collect the cash. And we are reducing that time line by removing the non-value-added wastes.

– Taiichi Ohno

timeline_waste

Simple y brillante. Detrás de este aforismo, hay una historiatps muy interesante asociada a un cambio de escala profundo en el mercado de automóviles (tanto a nivel productivo como de consumo), que favoreció el crecimiento del TPS. Aunque sus primeros pasos son anteriores a la crisis del petróleo de los 70, es en ella donde todas las miradas se dirigen a la compañía japonesa: ¿por qué en un período de recesión tan fuerte, Toyota resiste tan bien? La respuesta es que Toyota llevaba años preparándose para las vacas flacas:

In the periods of high growth before the oil crisis, the usual business cycle consisted of two or three years of prosperity with, at most, six months of recession. At times, prosperity lasted longer than three years.

Slow growth, however, reverses this cycle. An annual economic growth rate of 6 to 10 percent lasts at most six months to one year, with the next two or three years realizing little or no growth or even negative growth.

Generally, Japanese industry has been accustomed to an era of “if you make it, you can sell it”, and the automobile industry is no exception. I am afraid that, because of this, many business managers aim for quantity.

En ese contexto, mientras la mayoría de los productores reducían sus costes produciendo más unidades (la famosa curva de Maxcy-Silberston), Toyota reducía sus costes por mejoras en el proceso productivo. Para cuando el mercado de consumo cambia y ya no “puedes vender todo lo que fabricas”, Toyota había construido un sistema de producción más resilente que el de sus competidores, con raíces profundas en el centro mismo de su filosofía:

[The Ford production system was focus on] making many models in small numbers cheaply. The main goal of the Toyota Production System was to produce many models in small quantities.

Y ésa fue su principal ventaja competitiva: la adaptabilidad al nuevo entorno. Ésa idea central es la que Ohno desgrana en el libro paso a paso. Es posible que no sea una lectura muy amable para aquellos que no conozcan -aunque sea superficialmente- la dinámica de una fábrica. No soy el más objetivo para decirlo porque a mí se me hizo ligero de leer, aunque no sabría decir si fue derivado de una cierta empatía y conocimientos previos de mi formación académica.

Aunque se podría hablar bastante, no entraré en la comparativa de la dinámica industrial VS software por dos razones:

  1. Porque gente con más experiencia en el mundo industrial y del software ya lo han hecho. Incluso el maravilloso concepto del time to market, lo han tratado en profundidad en su libro: From concept to cash.
  2. Porque, a pesar de asignarle un poder emotivo e importante a las historias y metáforas, creo que en nuestra industria, la del software, se ha abusado de este recurso de un modo perjudicial (primero con respecto al mundo de la ingeniería civil y luego del automóvil). El software es otra cosa.

Me he limitado a disfrutar de la lectura, sin tratar de buscar comparativas punto por punto con el software, porque eso podría haberle quitado toda la gracia y disfrute. Aunque inevitablemente ciertas metáforas emergían sin querer. Emociones similares a las que, me imagino, tuvo Beck en ese vuelo a Cerdeña para la XP 2002.

by Andrés at May 19, 2013 06:17 PM

April 14, 2013

Andrés Maneiro

5 programadores interesantes

Bajan las persianas tarde y entra un sol mudo por las rendijas. Es domingo. RSS pendientes, que últimamente son muchos. También Carcassone. Acompañado todo por un chocolate del bueno, que fomenta esa sensación de relajación a la que uno se acostumbra rápidamente. Que favorece la lectura selectiva. Así que lo primero que hago es borrar los feeds que luego de un tiempo han perdido interés para mí y confiar en que algunos de los no leídos sean de los interesantes, de esos que regularmente aportan cosas. Y al hacerlo pienso que, listar a los buenos, no es sólo un buen homenaje sino también un conjuro, un modo de ahuyentar a lo pajarú que va asociado a nuestro gremio (ser la punta de lanza de una industria llamada a definir el siglo puede que sea la razón misma de nuestro bipolarismo). Ahí va.

Estos son mis 5 programadores interesantesRyan SingerHavoc PenningtonBruce MomjianTarek ZiadéTom McWrightEl orden es aleatorio.

by Andrés at April 14, 2013 10:35 PM

March 11, 2013

Pablo Sanxiao

Las jornadas de los datos (SIG Libre 2013)

“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.

by psanxiao at March 11, 2013 08:28 PM

January 17, 2013

Pablo Sanxiao

The humble programmer

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.

 

by psanxiao at January 17, 2013 08:50 PM

January 05, 2013

Andrés Maneiro

Bóvedas de acero

Estas navidades he leído mi primer libro de Asimov: Bóvedas de acero, la novela que inicia la Saga de los robots. Ha sido una lectura del tirón, de esas que te enganchan rápidamente. Me ahorraré el resumen, sólo decir que Asimov ha conseguido tejer una historia muy interesante, incluso para alguien del futuro, como yo. Pensad que es una novela escrita en 1954, en plena guerra fría, previa a la revolución de las computadores. Y más de 50 años después sigue teniendo cosas que decir.

Además de novela entretenida por policíaca, contiene varias ideas-fuerza que vale la pena resaltar:

  • El choque humano/robot:

Quizás por todo lo que rodea a las leyes de la robótica y Asimov, empecé la lectura con reservas, con pocas esperanzas de que me contaran nada nuevo. Y, sin embargo, me he encontrado un discurso muy elaborado, a la altura del mejor Ghost In The Shell: la introducción de robots en la Tierra como sustitutos de personas, está creando una gran masa social sin trabajo y, por supuesto, resentida, lo que crea un movimiento reaccionario. Éste es el núcleo de todo el desarrollo. Este conflicto no me pareció una situación muy lejana de la que se dió/está dando en el proceso de desindustrialización de nuestras sociedades hacia una informacional/de servicios: enormes bolsas de población que no consiguen reconvertirse (luego de años dedicados, por ejemplo, a los astilleros, la fabricación de coches o construcción) y ven cómo su nivel de vida se reduce, en algunos casos, hasta la mera subsistencia. O, en mucha menor medida y más directamente, por ejemplo, la sustitución de cajeros por máquinas de paga tú mismo en los supermercados.

  • Superpoblación y límites de crecimiento:

Las ciudades en la Tierra son grandes bóvedas de acero superpobladas y fuertemente dependientes de los recursos naturales. En este sentido, Asimov se adelanta un lustro al neo-malthusianismo del siglo XX planteando el problema en apenas unas líneas de diálogo entre el detective Elijah Baley y el Doctor Fastolfe:

En los tiempos primitivos, los centros individuales de población eran prácticamente autosostenibles, alimentándose del producto de las granjas adyacentes. Nada salvó un desastre inmediato, una inundación o una peste o una mala cosecha, podía dañarlos. Al crecer estos centros y mejorar la tecnología, los desastres localizados podian superarse acudiendo a la ayuda de centros distantes, pero al coste de hacer que áreas aún mayores fueran interdependientes. En tiempos medievales, las ciudades abiertas, incluso las mayores, podían subsistir con los depósitos de alimentos y con provisiones de emergencia de todo tipo durante al menos una semana. Cuando Nueva York se convirtió en Ciudad, podría haberse mantenido a sí misma durante un dia. Ahora no puede hacerlo ni durante una hora. Un desastre que podría ser incomodo hace diez mil años, meramente seguro hace mil, y grave hace cien, hoy sería mortal de necesidad.
Sin embargo, a diferencia de los neo-malthusianos, Asimov plantea una salida positiva, progresista: tecnología y nuevos enclaves de población más allá de lo conocido. Con ello, también aquí se adelanta (15 años!!) a lo que el antropólogo Marvin Harris llamaría luego materialismo cultural.
  • Colectivización y jerarquización:
Aunque no le di mucha importancia a lo largo de la novela, ahora me doy cuenta que la dicotomía Tierra/Mundos exteriores es también la dicotomía sociedades de escasez VS sociedades de abundancia. Y aunque, en esta novela, Asimov se queda en la crítica de la Tierra, también nos da unas pinceladas de la sociedad de la abundancia que plantea en los Mundos Exteriores: una sociedad redistributiva en términos de Harris. Por otro lado, la pintura de la Tierra como espacio de escasez que dibuja Asimov me parece brillante y descorazonadora (por realista): creación de núcleos de población hipereficientes en cuanto a consumo de recursos naturales (por concentrados); centralización de la sociedad (planificación, jerarquización y colectivización de las actividades económicas y culturales) con la pérdida de individualidad e iniciativa que eso conlleva: capa funcionarial dedicada a escalar en la jerarquía sin preocuparse por los problemas de la sociedad, ciudadanos pasivos, etc. Es tan brillante que, lo lees, y apenas te das cuenta de la enorme crítica que contiene. Quizás éste sea el aspecto donde más se puede observar la influencia de la época en que la novela fue escrita: 1954, en plena escalada de la guerra fría entre la propuesta capitalista de Estados Unidos y la comunista de los Estados Rusos.

En definitiva, una muy buena novela, que se deja leer fácilmente como novela policíaca y que plantea con sencillez temas complejos que nos afectan. Buena ciencia ficción para empezar el año!

by Andrés at January 05, 2013 11:43 AM

December 23, 2012

Pablo Sanxiao

Don’t let google code for you

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

by psanxiao at December 23, 2012 05:48 PM

December 03, 2012

Andrés Maneiro

Agile Spotify

paper (PDF) on how Spotify organizes the work of tens of engineers and designers in an agile manner.

by Andrés at December 03, 2012 08:56 PM

November 29, 2012

Nacho Varela

Migrando de Mapserver 5.6 a 6.2

Al pasar mi primer proyecto de UMN Mapserver 5.6 a mapserver 6.2 me encontré con los varios problemas. Lo mejor para estos casos es echar un vistazo a la guía de migración donde explican estas y otras cosas.

Ahí van los problemas que me surgieron:


Problemas con la definición de servicios OGC


msWMSDispatch(): WMS server error. WMS request not enabled. Check wms/ows_enable_request settings.

Para ello tuve que introducir lo siguiente en la sección MAP::WEB::METADATA:


"wms_enable_request" "*"

Driver JPEG

loadOutputFormat(): General error message. OUTPUTFORMAT clause references driver GD/JPEG, but this driver isn't configured.

Tuve que poner el DRIVER "AGG/JPEG" en el .map del siguiente modo:



OUTPUTFORMAT
NAME "jpeg"
MIMETYPE "image/jpeg"
DRIVER "AGG/JPEG" ###Antes DRIVER "GD/JPEG"
EXTENSION "jpg"
IMAGEMODE "RGB"
TRANSPARENT FALSE
FORMATOPTION "QUALITY=70"
END

Estilo de etiquetas

Como bien explican en la documentación BACKGROUNDCOLOR ha sido deprecated. El MAP arrojaba el siguiente error:

loadLabel(): Unknown identifier. Parsing error near (BACKGROUNDCOLOR):(line 182)

Fue necesario modificar el código:



NAME "my_capa"
LABEL
ANGLE 0.000000
ANTIALIAS TRUE
FONT "arial-bold"
MAXSIZE 256
MINSIZE 4
SIZE 8
TYPE TRUETYPE
BACKGROUNDCOLOR 245 245 245
BUFFER 0
COLOR 204 16 16
FORCE TRUE
MINDISTANCE -1
MINFEATURESIZE -1
OFFSET 0 0
PARTIALS TRUE
POSITION CC
END
STYLE
ANGLE 360
OUTLINECOLOR 255 0 0
SYMBOL 0
WIDTH 1
END
END

a algo tipo:



NAME "my_capa"
LABEL
ANGLE 0.000000
ANTIALIAS TRUE
FONT "arial-bold"
MAXSIZE 256
MINSIZE 4
SIZE 8
TYPE TRUETYPE
## BACKGROUNDCOLOR 245 245 245
BUFFER 0
COLOR 204 16 16
FORCE TRUE
MINDISTANCE -1
MINFEATURESIZE -1
OFFSET 0 0
PARTIALS TRUE
POSITION CC
END
STYLE
GEOMTRANSFORM 'labelpoly'
COLOR 245 245 245
END

END

Clonado en MapScript

Por un lado, tuve que añadir a "/etc/php5/cli/php.ini" las lineas:

extension_dir = "/usr/lib/php5/20090626/"
extension="php_mapscript.so"
Además ahora los métodos "clone()" han desaparecido por lo que tuve que adaptar mi código PHP de mapscript:


$orig_ms = new MapObj($INPUT_MAPFILE);
$ms = clone $orig_ms;

Problemas con Symbols

Ojo, porque parece que algunos estilos de símbolos han cambiado también y quizás es necesario cambiar el fichero symbols.sym

loadSymbol(): Unknown identifier. Parsing error near (STYLE):(line 491)
Por lo demás todo perfecto!!

by noreply@blogger.com (Nacho Uve) at November 29, 2012 04:49 PM

November 21, 2012

Nacho Varela

Máquina virtual en VirtualBox como servidor

Tengo un máquina virtual con Debian servida desde "Windows XP" con VirtualBox 3.2. Quiero tener accesibles servicios lanzados en la máquida huesped (el Debian) que sean sólo desde la máquina windows.

La solución es hacer Port Forwarding como explican aquí. En mi caso particular con jetty, para acceder a servicios en el puerto 8080 hice:

C:\...\Orable\VirtualBox> VBoxManage.exe setextradata "VM Name Here" \
"VBoxInternal/Devices/pcnet/0/LUN#0/Config/jetty/Protocol" TCP

C:\...\Orable\VirtualBox> VBoxManage.exe setextradata "VM Name Here" \
"VBoxInternal/Devices/pcnet/0/LUN#0/Config/jetty/GuestPort" 8080

C:\...\Orable\VirtualBox> VBoxManage.exe setextradata "VM Name Here” \
"VBoxInternal/Devices/pcnet/0/LUN#0/Config/jetty/HostPort" 9999


Todo esto con la máquina parada. Antes de iniciarla, en la configuración la red tuve que marcar "pcnet" porque sino daba un error relacionado con la obtención de la MAC.

by Nacho Uve (noreply@blogger.com) at November 21, 2012 06:14 AM

November 11, 2012

Andrés Maneiro

(Geo) Database evolution while developing

During last year, I followed with interest the different approaches on how to evolve the design of a database being discussed within the postgresql community. Following is my take on that one: how this year I developed a project with an intense evolving DB design using an agile approach.

The context

My requisites for this project were twofold:

  • An evolving DB design: at the beginning of the project I didn’t know how the DB design was to going to be. I had set to use some advanced techniques for data modeling which never had used in production (dynamic segmentation and linear referencing with PostgreSQL/PostGIS) and needed an approach which supported my evolving understanding of the domain.
  • Intense collaboration with analists: the project needed some intense work on data-processing to polish and create the data for the application. I knew this was to be an iterative process where both developers and analists would collaborate together to define and clarify the model we needed.

My approach

So, in the process of improving and automating my delivery pipeline, I set some rules for the project:

  • DB management through SQL and control versioning: the database was created from DDL scripts and data was stored as CSV (if alphanumeric) or SQL (generated from Shapefiles to store geographical information).
  • Application and database evolve together: so their code should too, which in practice means I put the app and DB directories/projects under the same git repo.
  • Test driven development: I needed to break the problem in small chunks I could deal with, while my understanding of the domain improved. Besides, when refactoring the DB (schemas, triggers, functions, etc) -which happened frequently- I needed to know all the pieces were working OK. I decided to use pgTap for that.

And how it turned out?

  • The pipeline worked smoothly: both the analists and developers were working in their confort zone with the proper tools; desktop GIS applications the formers, command-line and SQL the laters.
  • git provides an excelent mechanism for versioning text, so I had powerful tools at hand for versioning SQL structure and data (diff, cherry-pick, interative rebases, etc). Besides, see where the data was varying (name and type of fields, its values, etc) allowed us to early discovered some bugs and problems.
  • Database and application evolving to the same pace. By tagging the versions we can build in seconds the binaries needed for any version of the application with the proper DB.
  • Tests at DB level are a life-saver. pgTap allowed me to refactor the database whith no risk and a lot of confidence on what I was doing. I had all kind of tests: check if a trigger is launch if an UPDATE happens, a function is working, data integrity and model validation after the initial restore, etc.
  • Same process for deplying to developing, staging and production environments, which resulted in fewer errors and no panic-moments.
  • Having the data in the repo and regenerating BD from scracth was very comfy and quick (less than a minute in my laptop the whole DB: 100Mb of raw SQL) and similar numbers when deploying to stage through the wire. In a daily bases I only had to regenerate specific schemas of the DB, so waitings was an order of seconds.

Coda

We should consider the database as other deliverable to our clients and set the same quality, standards and methodology to develop it. In that sense, agile philosophy and practices match very well with the DB evolution.

At the tools level, I was reluctant to introduce new tools and steps I didn’t know very well in such a tight schedule, so I decided to stick to the basic and spartan (git repo, shell scripts, pgTap and SQL), then iterate and grow a solution for our specific case. Although I missed some refactoring tools, it turned out to be a good approach and now I´m in good position to know the tradeoffs of the process, which in next projects will help me to choose a specialized tool, if necessary.

by Andrés at November 11, 2012 07:10 PM

November 09, 2012

Pablo Sanxiao

Emblemas en las carpetas de Nautilus

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.

by psanxiao at November 09, 2012 08:41 AM

November 07, 2012

Pablo Sanxiao

Replicación en PostgreSQL con Bucardo

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á.

by psanxiao at November 07, 2012 09:26 PM

October 31, 2012

Pablo Sanxiao

Spotify nativo en Linux

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

by psanxiao at October 31, 2012 09:23 AM

October 28, 2012

Pablo Sanxiao

Sextante help in gvSIG 1.12

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.

by psanxiao at October 28, 2012 05:47 PM

October 22, 2012

Master Software Libre

Abierto plazo extraordinario de inscripción hasta el 27 de Octubre

Como os habíamos informado, el pasado día 19 de octubre, el Máster de Software Libre estuvo presente en la Libre Software World Conference en Santiago de Compostela.

Juan José Sánchez Penas, de Igalia, impartió la charla “Teaching Free Software” en la que presentó a los asistentes, la experiencia de Igalia organizando este Máster y contribuyendo a la formación de numerosos profesionales en el ámbito del software libre y que actualmente están desarrollando su actividad laboral en esta área.

Con motivo del alto interés despertado durante la misma, desde la organización del Máster hemos decidido abrir un período extraordinario de inscripción hasta el próximo día 27 de Octubre. Por lo tanto todos aquellos que estáis dudando aún estáis a tiempo de inscribiros en la próxima edición del Máster en Software Libre:

Si finalmente por falta de alumnos, resultara inviable realizarlo en una de las dos sedes, estudiaremos caso por caso la posibilidad de ofrecer ayudas para el desplazamiento.

No dejéis escapar la oportunidad de cursar el único Máster de estas características disponible en la actualidad en Galicia, que podrá ayudaros a abriros nuevas salidas en el mercado laboral tanto nacional como internacional.

Recordaros que esta formación tiene una vocación extremadamente técnica y práctica, dirigida tanto a recién titulados como a profesionales TIC que deseen mejorar sus capacidades para gestionar, analizar y colaborar en proyectos internacionales de software libre. Los contenidos se estructuran en torno a seis grandes módulos, todos ellos desde una perspectiva muy práctica:

  • Introducción al Software Libre (6 créditos ECTS)
  • Integración y administración de sistemas con software libre (6 créditos ECTS)
  • Desarrollo de software libre en entornos web y Desktop & mobile (9 créditos ECTS)
  • Calidad en desarrollo de software libre (4,5 créditos ECTS)
  • Estudios técnicos detallados de Proyectos Libres (6 créditos ECTS)
  • Dinámicas de las comunidades de Software Libre (6 créditos ECTS)

Podéis consultar el temario más detallado así como la metodología, las experiencias de ex-alumnos o la política de precios y descuentos.

También podéis contactar con nosotros en la cuenta de correo mswl @ igalia . com desde donde responderemos a todas vuestras dudas.

by mcastro at October 22, 2012 09:27 AM

October 16, 2012

Andrés Maneiro

Finding ADA

Hoxe celébrase o Finding Ada, un evento de homenaxe ás mulleres nas ciencias, enxeñerías, tecnoloxía ou matemáticas. Inspirado en Ada Lovelace, a primeira programadora da historia, o evento pretende visibilizar ás mulleres do mundo STEM. Unha divertida maneira de profundizar no mundo de Ada é este cómic online (pronto publicado en libro!), no que ten un rol detectivesco conxuntamente con Charles Babagge, e que xa recomendei pola súa rotunda actualidade: Lovelace and Babbage in Economic Model!

by Andrés at October 16, 2012 10:10 AM

October 10, 2012

Xavier Castaño

LSWC’12 opening soon!

One week to Libre Software World Conference 2012 or LSWC’12 and there are almost 400 people enrolled to the event. Next Friday, the 12th the enrollment period will close and there will be no more time to sign up for the conference. Hence, hurry up if you don’t want to want to be left out of the enrollment. 

Agenda is almost closed and it is publicly available in our website.

I would also like to say that Master On Free Software organized by Igalia and URJC in Galicia is sponsoring this event and it will keep the enrollment period until the conference is over. If you would like to listen about it we will be talking on Friday, the 19th at 10:30 as part of LSWC’12. Do no hesitate to get in touch with us to learn what this master can do for you. High percentage of ex-students are very happy with having studied our master thanks to our practical approach to all the subjects.

More information about the master in the website:

by xavier castano at October 10, 2012 06:16 AM

October 08, 2012

Master Software Libre

El Máster en Software Libre, a través de Igalia, participa y colabora con la Libre Software World Conference 2012

El próximo día 18 comenzará en Santiago de Compostela la III Libre Software World Conference (LSWC’12 ) que tendrá lugar en la Ciudad de la Cultura.

Se trata, sin duda alguna, de uno de los mayores encuentros de difusión de Software Libre con carácter empresarial y profesional celebrados en España. En él, profesionales del sector TIC, de la administración pública y ciudadanía en general, se darán cita para conocer experiencias, proyectos, avances, casos concretos, foros de discusión … relacionados con las tecnologías de software libre pero también con la componente social y colaborativa del mismo.

Máster e Igalia patrocinan la LSWC-12Teniendo en cuenta que uno de los principales objetivos de este Máster es suplir la elevada demanda de profesionales especializados en software libre dentro del sector TIC, desde la organización hemos considerado que no sólo debíamos estar allí, sino que también debíamos contribuir al desarrollo del mismo sumándonos a la lista de patrocinadores.

AGASOL, quien está organizando directamente la LSWC con el apoyo de ASOLIF, ha conseguido reunir a importantes referentes internacionales del ámbito del software libre como:

  • Bruce Perens: Creador de la definición de Open Source Definition y cofundador junto con Eric S. Reymond de la Open Source Initiative (OSI).
  • Chris DiBona: Chris DiBona es el Director de Open Source para Google, Mountain View, Que. Sus equipos supervisan el cumplimiento de las licencias y apoyan a la comunidad de desenvolvedores en código abierto a través de programas como el Google Summer of Code y por medio de la publicación de proyectos de código abierto de software y parches.
  • Christian Felber: Especialista en economía sustentable y alternativas a los mercados financieros. Ha desarrollado un nuevo modelo internacional: “La economía del bien común”.
  • Corinto Meffe: Director de integración de sistemas en el Ministério del Planejamento, Orçamento y Gestãlo.
  • Fernando Botelho: Fundador de F123, grupo que diseña proyectos con el objetivo de reducir la pobreza y mejorar el acceso a la tecnología.
  • John Sullivan: activista de la libertad del software, hacker, y escritor. Actualmente es director ejecutivo de la Frene Software Foundation, donde está trabajando desde comienzos del año 2003. Además es ponente y webmaster del proyecto GNU.

Y nosotros tendremos el honor de compartir espacio con todos ellos durante estos dos días. Así el viernes 19 de octubre, Juan José Sánchez Penas, de Igalia, estará en la LSWC impartiendo la charla “Teaching Free Software” en la que hablará sobre la experiencia de Igalia organizando este Máster y contribuyendo a la formación de numerosos profesionales en el ámbito del software libre y que actualmente están desarrollando su actividad laboral en esta área. Será una excelente oportunidad para que todos aquellos que todavía estáis dudando si realizar nuestro Máster, podáis resolver vuestras dudas y convenceros de que formarse en Software Libre es invertir en vuestro futuro laboral.

Además el jueves 18 de octubre estará también Javier Morán, de Igalia, presentando LibrePlan Open Web Planning, que os resultará familiar a los que habéis podido asistir a las pasadas jornadas abiertas del Máster.

Por supuesto, el programa completo incluye una gran variedad de charlas y mesas redondas sobre otros temas y proyectos. Además este año también se ha creado el Espacio Comunidad, en el que será posible conocer lo que hacen y como se puede colaborar y participar en las Comunidades de Desarrolladores de las aplicaciones liberadas por la Administración Pública en España. Estarán dinamizadores y managers de las comunidades de @firma, OpenDNIe, XBRL, PALS, Linex, Proyecto AMA de migración a Bases de Datos Libres, …

No perdáis la oportunidad de inscribiros para asistir a este interesante evento, más de 300 personas ya lo han hecho. Aún estáis a tiempo puesto que la organización ha ampliado el plazo hasta este viernes 12 de octubre. La asistencia es gratuita, sólo es preciso inscribirse a través de la web habilitada.

by mcastro at October 08, 2012 10:34 AM

October 07, 2012

Andrés Maneiro

Redución de escala e poder

Últimamente, non se nos fai extraño ver procesos de reducción de escala -adelgazamento- tanto no ámbito público como no privado, ben sexa en forma de recortes de servizos ou redución de plantilla. E aínda que a crise actual empañe todo, temos que recoñecernos que xa o sabíamos: este proceso non é derivado da crise, aínda que ésta o acelere.

O que me chama a atención son as medidas que se toman dependendo da distribución do poder:

  • El País anuncia o peche das edicións galega, vasca, andaluza e valenciana, botando ó redor de 140 periodistas dos 440 que dispón o xornal. Chama a atención que o xornal dispoña de case 500 directivos (tantos como traballadores!) e que os recortes se centren nos que traballan.
  • O goberno central avanza nun recorte sen precedentes do estado do benestar a costa dos cidadáns, pero non dos seus dirixentes. Somos nós cos nosos impostos os que mantemos a estructura estatal, porén, son eles os que a dirixen: “hay una legislación que favorece claramente la participación en política de los funcionarios públicos. Si se mira este Gobierno y todos los anteriores se ve una presencia de funcionarios muy superior a lo que representan en la sociedad. Eso genera un sesgo: quienes dirigen el país no son una imagen representativa de lo que es el país.”

Mentres tanto, nas cooperativas Mondragón, cando pintan bastos o adelgazamento de unha das cooperativas nos se fai a costa dos traballadores senón con eles: redución de soldos global, mobilidade inter-cooperativa, etc. E si ben é necesaria a reducción de escala por cambios no contorno, faise inevitable pensar na brutal diferencia que hai en facela dun modo ou outro.

E vénseme á cabeza o famoso discurso Tommy Douglas, Mouseland:

«The cats passed good laws–that is, laws that were good for cats. But the laws that were good for cats weren’t very good for mice.»

by Andrés at October 07, 2012 03:10 PM

October 06, 2012

Andrés Maneiro

El signo de la vitalidad

«El signo de la vitalidad no es durar, sino renacer y adaptarse»

– José María Arizmendarrieta, fundador de la actual Corporación Cooperativa Mondragón. Recomendable El milagro Mondragón, documental sobre la región, nuestro valle de cooperativas.

by Andrés at October 06, 2012 01:37 PM

October 02, 2012

Nacho Varela

Programando tareas automáticas usando CRON

Para automatizar tareas de un modo rápido, cron es un método genial que viene incluido en la todos los sistemas operativos GNU/Linux. Para programar tareas hay que usar el comando:
crontab -e
Ahi se describe la sintaxis de la programación de tareas de forma muy sencilla. Lo que no explican es cómo hacer que una tarea se repita, por ejemplo, cada 15 minutos. Es decir, ¿cómo establezco rangos temporales?. Habría que escribir algo así:
*/15 * * * * mi_tarea
¿Y si sólo quiero que se ejecute los días de semana laborales en horario de 9h a 14h y de 16h a 20h?. Vixie Cron admite listas de parámetros, por lo que puedo hacer esto:
*/15 9-14,16-20 * * 1-5 mi_tarea
Más información útil aquí. NOTA: Ojo con la fecha/hora y la zona horaria de la máquina.

by Nacho Uve (noreply@blogger.com) at October 02, 2012 02:15 AM

October 01, 2012

José Dapena

WebKitGTK+ accelerated composition on Wayland

As part of my work at Igalia browsers team, I am working on making WebKitGTK+ and Epiphany work on Wayland.

Just running non 3D websites on Wayland did not involve too much work. But running the OpenGL accelerated code in WebKit was a bit more complicated. Though, I’ve got a first working version.

Video: Epiphany on Wayland running WebGL and CSS-3D

On WebKitGTK+, we enable the use of hardware acceleration with OpenGL for:

  • WebGL: web pages with a canvas using WebGL are run using the 3D hardware available.
  • Accelerated composition of layers. With stuff like CSS-3D transformations, 3D hardware acceleration is handy to composite the layers of a webpage.
You can read more about accelerated compositing on these posts from Martin Robinson: WebKitGTK+ hackfest wrapup, and Accelerated compositing update.

On X11, we use XComposite, sharing a Window among the GTK+ widget (WebKitWebView) and the GL contexts for WebGL and accelerated composition. We have a tree of layers, each one rendering to a texture. Then these textures are composited rendering directly to the X11 window.

On Wayland, things are a bit different. Wayland protocol does not define a way to share a buffer among clients, nor a way to “insert” a window inside another window. My solution is just making the accelerated compositor render the layers to another texture. When the time comes for the WebKitWebView to be drawn (using Cairo), we render this texture too. If we build GTK+ for using EGL, then this process happens completely on GPU.

Next step will be adding support for accelerated composition in WebKit2GTK+. The main challenge here is that the WebKitWebView widget is on UI process and the WebGL contexts and layers rendering are in Web Process. So, if we want to avoid buffers going to/from GPU, we need to share them between the two processes. DRM authentication through EGL_mesa_drm extension could help here.

by José Dapena Paz at October 01, 2012 04:42 PM

September 27, 2012

Master Software Libre

Distribuciones GNU/Linux “Made in Galicia” este sábado

Distribuciones GNU/Linux “Made in Galicia”

Según lo previsto en el programa de las jornadas abiertas, este fin de semana tendremos la oportunidad de conocer las distintas opciones de adaptación o creación de distribuciones GNU/Linux que se están haciendo o promoviendo desde Galicia con diferentes enfoques para cubrir distintas necesidades.

Debido a imprevistos de última hora con uno de los ponentes hemos concentrado todas las charlas el Sábado 29 de septiembre de 10:00 a 14:00 horas.

Así tendremos ocasión de conocer de primera mano, cual era problema que pretendían solucionar estos proyectos, cual ha sido el enfoque que han seguido para realizar el proyecto, porque han escogido esa solución, cuales han sido los principales escollos que han tenido que solucionar, cuales son las ventajas que ofrece su solución … todo ello desde un punto de vista técnico.

  • Proyecto MiniNo. Miguel Bouzada, uno de los promotores del proyecto y miembro  de GALPon .
  • Distribución e infraestructura del proyecto ABALAR. Carlos Rodríguez, gerente de  Tegnix, director técnico en el desarrollo de la maqueta basada en Linux de los 31.500 netbooks del proyecto Abalar para el curso 2011 – 2012 de la Consellería de Educación e Ordenación Universitaria – Xunta de Galicia y en el proyecto de desarrollo de la maqueta basada en Linux de los 1.098 ordenadores de la red CeMIT dependiente de la AMTEGA y compuesta por 100 aulas repartidas por Galicia para el curso 2012 – 2013.
  • Trisquel. Rubén Rodríguez, director del proyecto Trisquel y colaborador de GNU y de SugarLabs. Actualmente trabaja como director técnico de Activity Central, una empresa que desarrolla el sistema Dextrose, una distribución para los equipos de OLPC (One Laptop per Child) basada en el software educativo libre Sugar.

Aún estáis a tiempo de inscribiros y asistir a esta interesante jornada, así como por supuesto inscribiros en nuestro Máster en SwL tanto para la edición de Vigo como para la edición de Coruña.

by mcastro at September 27, 2012 07:00 PM

September 21, 2012

Master Software Libre

Segundo fin de semana de las Jornadas Abiertas

Un fin de semana más continuamos con las jornadas abiertas del Máster en Software Libre.

Después de la sesión dedicada a la presentación de modelos de negocio y oportunidades laborales y profesionales en torno al software libre, esta semana la dedicamos a dos seminarios técnicos sobre tecnologías de actualidad.

Viernes 21 de septiembre, 16:00 a 20:00 horas

Esta tarde a partir de las 16:00 horas, los igalos Javier Fernández y Diego Pino nos acercarán a las Tecnologías Big Data.

Javier Fernández, realizará una introducción al Big Data y el Open Source. Claramente el Open Source es una pieza clave en el campo del Big Data, aunque la mayoría de las soluciones empleadas por la grandes compañías suelen ser privativas, la mayor parte de los grandes actores están empezando a cambiar de aproximación y apuestan por soluciones Open Source. En la segunda parte de su presentación, entrará a explicar la relación entre el Big Data y los Social Media a través de un ejemplo de dominio y aplicación Big Data, centrado en la agregación y análisis de medios sociales. Hablará de la arquitectura distribuída y de las tecnologías involucradas (Redis, cassandra, Node.js, …)

Diego Pino presentará la “Pila tecnológica Hadoop” :  Hará una introducción a Hadoop y el conjunto de tecnologías que orbitan alrededor de ella. Inicialmente se hace un repaso de Hadoop, qué es y para qué sirve. Posteriormente se revisan otras tecnologías construidas alrededor de este framework de computación distribuida, fundamentalmente HBase, Pig, Hive, ZooKeeper, Avro y Mahout.

Sábado 22 de Septiembre, 10:00 a 14:00 horas

Mañana, sábado 22 de Septiembre, a partir de las 10:00 horas, será el turno para otros dos igalos, Eduardo Lima y Joaquim Rocha, quienes nos acercarán a las Tecnologías de interactividad, realidad aumentada e interacción hombre-máquina.

Eduardo Lima y Joaquim Rocha, forman parte del área de Interactividad, realidad aumentada e interacción hombre-máquina de Igalia, especializados en el desarrollo de formas innovadoras de interactuar con la tecnología. Los miembros de esta área son capaces de crear experiencias inmersivas y atractivas mediante la combinación de las interfaces sin contacto, gestuales y multiusuario con efectos visuales avanzados y audio. Se ofrecen soluciones como instalaciones de arte / multimedia, salas de estimulación multisensorial y aplicaciones de realidad aumentada.

Podéis ver algunos vídeos de los proyectos en los que están trabajando.

Si no os habéis inscrito, aún estáis a tiempo de hacerlo, así como para las sesiones de los próximos días 28 y 29 de septiembre, en las que se presentarán distintas distribuciones GNU/Linux desarrolladas en Galicia. Más información en el programa completo de las jornadas.

Inscripción en la VI edición del Máster en Software Libre

Recordad también que sigue abierto todavía el plazo de inscripción en el Máster en SwL de este año tanto para la edición de Vigo como para la edición de Coruña, y que si tenéis cualquier duda podéis contactar con nosotros en estas jornadas o a través de la cuenta de e-mail mswl @ igalia . com

Esperamos veros!

by mcastro at September 21, 2012 10:51 AM

September 20, 2012

Nacho Varela

Resetear sesiones de usuarios conectados a Postgresql

Muchas veces hay usuarios que han dejado su conexión abierta y están bloqueando la base de datos impidiendo hacer algunas tareas de administración, vacuums, renames, etc.

Para localizarlos se puede usar:

select datname, usename, procpid from pg_stat_activity;

Luego simplemente para eliminar todos:

select pg_terminate_backend(procpid) from pg_stat_activity where datname='whatever';

UPDATE: Algunos datos temporales interesantes sobre las conexiones:

select datname, usename, procpid, xact_start, backend_start, query_start from pg_stat_activity;
http://www.postgresonline.com/journal/archives/134-Terminating-Annoying-Back-Ends.html

by Nacho Uve (noreply@blogger.com) at September 20, 2012 07:21 AM

September 13, 2012

Master Software Libre

Comienzan las Jornadas abiertas del Máster

Aún quedan algunas plazas libres para asistir a las interesantes sesiones que hemos organizado para los próximos fines de semana de septiembre, así que si estáis dudando, animaos, aún estáis a tiempo: Inscripción para las jornadas abiertas

Este viernes a partir de las 16:00 horas 4 empresas gallegas nos expondrán sus modelos de negocio en torno al software libre, así como sus proyectos destacados. Concretamente las empresas que participarán mañana son:

  • 16:00 horas – Sixtema de la mano de Alejandro Lamas quien nos hablará en detalle del proyecto ikimap.
  • 17:00 horas - Cidadanía de la mano de Ana Lorenzo y Óscar Carballal, quienes nos hablarán del proyecto e-cidadanía.
  • 18:00 horas – Icarto de la mano de Pablo Sanxiao que nos hablará de su modelo de negocio y proyectos en torno a gvSIG.
  • 19:00 horas – Igalia de la mano de Javier Morán quien nos presentará el proyecto Libreplan.

El sábado 15 a partir de las 10:00 horas será el turno de los ex-alumnos del Máster con los que debatiremos sobre su experiencia en el Máster y las perspectivas laborales del Software Libre.

Podéis consultar en el Programa completo el contenido de las siguientes sesiones así como conocer a los ponentes de todas ellas.

Esperamos veros por allí y que disfrutéis con las variadas e interesantes sesiones.

Inscripción en la VI edición Máster

Recordaros que sigue abierto el plazo de inscripción en la próxima edición del Máster en Software Libre tanto para la edición de Vigo como para la edición de Coruña.

Estas jornadas son una excelente oportunidad para que todos aquellos interesados en realizar el Máster en Software Libre podáis conocernos de cerca, compartir vuestras dudas con nosotros así como con alumnos de las 5 ediciones del Máster.

No dejéis escapar la oportunidad de cursar el único Máster de estas características disponible en la actualidad en Galicia, que como nos contarán en estas jornadas, podrá ayudaros a abriros nuevas salidas en el mercado laboral tanto nacional como internacional.

Podéis consultar el temario, la metodología, las experiencias de ex-alumnos o la política de precios y descuentos. También podéis contactar con nosotros en la cuenta de correo mswl @ igalia . com

by mcastro at September 13, 2012 09:55 AM

September 07, 2012

Andrés Maneiro

Learn esperonto first

Y si nos estamos equivocando con la enseñanza de idiomas? Y si, lo que necesitamos es empezar por una tecnología sencilla, un idioma sencillo que nos empondere para aprender los demás? Como cuando empezamos a aprender música por la flauta dulce…

by Andrés at September 07, 2012 08:29 PM

September 05, 2012

Nacho Varela

Escapar espacios en blanco en variables en Bash

Hoy me he sentido un poco estúpido... la típica chorrada que no te acuerdas ni se te ocurre como solucionar. Lo pongo aquí etiquetado como "humor". :D En un script para la línea de comandos, tenía que entrar en un directorio con espacios en su nombre.

Pues no era capaz...
> foo="/tmp/foo bar/" 
> cd $foo 
bash: cd: /tmp/foo: No such file or directory 

Intenté todas las combinaciones posible para escapar el espacio y mil trucos.

Solución:
> foo="/tmp/foo bar/" 
> cd "$foo" 


Las comillas!!!!

by Nacho Uve (noreply@blogger.com) at September 05, 2012 09:26 AM

VirtualBox como máquina servidora


Hace tiempo que utilizo pequeñas máquinas virtuales para hacer pruebas de servicios con VirtualBox que tienen la verdad muchísimas ventajas, sobre todo en entornos corporativos donde no es fácil que autoricen la instalación de software continuamente.

Ahora con la versión VirtualBox 4.1.6 en máquinas Windows, me resulta esta útil esta secuencia de comandos para habilitar el acceso por red a la máquina invitada a los puertos más comunes en mis proyectos.

Cambiar "midebian" por el nombre de la máquina que corresponda.
cd "C:\Archivos de programa"\Oracle\VirtualBox"
VBoxManage modifyvm "midebian" --natpf1 "guestssh,tcp,,2222,,22"
VBoxManage modifyvm "midebian" --natpf1 "guest80,tcp,,80,,80"
VBoxManage modifyvm "midebian" --natpf1 "guest8080,tcp,,8080,,8080"
VBoxManage modifyvm "midebian" --natpf1 "guest5432,tcp,,5432,,5432"
Para ver la configuración actual incluídos estos parámetros.
VBoxManage showvminfo "midebian"
Recordatorio: Configuraciones de Postgresql
Para poder conectarse desde el host a postgresql, ahí van una configuración rápida: Editar el fichero "/etc/postgresql/8.4/main/pg_hba.conf"
# IPv4 local connections: host all all 0.0.0.0/0 md5 
Editar el fichero "/etc/postgresql/8.4/main/postgresql.conf"
listen_addresses = '*'
Reiniciar el servidor postgresql:
/etc/init.d/postgresql restart

by Nacho Uve (noreply@blogger.com) at September 05, 2012 09:22 AM

September 02, 2012

Andrés Maneiro

August 14, 2012

Master Software Libre

Jornadas abiertas de Septiembre del Máster en Desarrollo y Gestión de proyectos en Software Libre

Como colofón a la V edición y como antesala de la VI edición del Máster en desarrollo y gestión de proyectos de Software Libre, cuyo plazo de inscripción continúa abierto, y continuando la senda iniciada en años anteriores, organizamos una vez más las jornadas abiertas sobre diferentes temas relacionados con el software libre, que tendrán lugar en Septiembre en la ciudad de Vigo.

Estas jornadas divulgativas son totalmente gratuitas y están abiertas al público en general. El objetivo no es otro que servir de punto de encuentro de antiguos y nuevos alumnos, como foro de intercambio para profesionales del sector y simpatizantes del mundo del software libre, en resumen, como foro de divulgación técnica sobre Software Libre, tendencias y negocio.

Se celebrarán los 3 últimos fines de semana del mes de Septiembre en el aula de nuevas tecnologías nº2 del Centro Social Novacaixagalicia, en la calle Policarpo Sanz número 24-26 de Vigo. Al igual que las clases del Máster, para facilitar la asistencia al público profesional con obligaciones laborales, las sesiones tendrán lugar los viernes por la tarde de 16:00 a 20:00 horas y los sábados por la mañana, de 10:00 a 14:00 horas siendo posible inscribirse a las jornadas completas o a sesiones individuales.

El programa en esta ocasión cuenta con la participación de importantes actores del software libre en Galicia, tratando de acercarnos a este ámbito desde distintas perspectivas:

  • Modelos de negocio y perspectivas laborales en torno al Software Libre en Galicia, y desde Galicia para el mundo.
  • Seminarios técnicos sobre temas y tecnologías de actualidad como Big Data y Interactivity, Augmented Reality and Human-computer interaction, impartidos por profesores del Máster.
  • Distribuciones GNU/Linux “Made in Galicia”. Diferentes aproximaciones para diferentes necesidades.

Programa completo

Modelos de negocio y perspectivas laborales. 14 y 15 de Septiembre

Viernes 14 de septiembre.

Sesión dedicada a la presentación por parte de empresas gallegas de distintos proyectos de software libre y sus modelos de negocio, como una muestra de la buena salud del Software Libre en Galicia.

Contamos con la colaboración de empresas de la talla de Cidadanía, quien ha conseguido que su proyecto e-cidadanía participase en el Google Summer of Code; de Icarto quien ha definido un exitoso modelo de negocio en torno a gvSIG; de Sixtema, quien ha sido capaz de llevar los Sistemas de Información Geográfica a las redes sociales, cubriendo un importante vacío, con su proyecto ikimap y finalmente Igalia, que en esta ocasión presentará su proyecto Libreplan.

Sábado 15 de septiembre.

En esta sesión, será el turno de los antiguos alumnos del Máster quienes nos contarán de primera mano, cual ha sido su experiencia después de haber cursado estos estudios, cuales son las perspectivas laborales que en su opinión les ha brindado el Software Libre …

Para comenzar, desde la asociación Ghandalf, fundada por varios ex-alumnos, nos presentarán el libro Máster Software Libre en Galicia, Ano I, para después dar paso a la mesa debate de Experiencias y perspectivas laborales con la participación de ex-alumnos del Máster.

Seminarios técnicos. 21 y 22 de Septiembre

El segundo fin de semana estará íntegramente dedicado a seminarios técnicos impartidos por profesores del Máster.

Así el viernes 21 de septiembre Javier Fernández y Diego Pino hablarán sobre tecnologías distribuidas “Big Data” y el sábado 22 de septiembre será el turno de Eduardo Lima y Joaquim Rocha quienes nos presentarán nuevas tecnologías aplicadas a la interacción hombre-máquina como realidad aumentada e interactividad .

Distribuciones GNU/Linux “Made in Galicia”. 28 y 29 de Septiembre.

Finalmente el último fin de semana estará dedicado a presentar distintas opciones de adaptación de distribuciones GNU/Linux que se están haciendo o promoviendo desde Galicia con diferentes enfoques para cubrir distintas necesidades. Cada uno de los ponentes expondrá el problema que pretendían solucionar, cual ha sido el enfoque que han seguido para realizar el proyecto, porque han escogido esa solución, cuales han sido los principales escollos que han tenido que solucionar, cuales son las ventajas que ofrece su solución … todo ello desde un punto de vista técnico.

El viernes 28 de septiembre, contamos con la participación de Carlos Rodríguez de Tegnix quien nos acercará desde un punto de vista técnico cual ha sido la solución implantada para la infraestructura de instalación y actualización de la distribución empleada en el proyecto ABALAR. A continuación, Miguel Bouzada de GALPon nos contará la historia del proyecto MiniNo, distribución elaborada para ser empleada en equipos antiguos con pocos recursos, y como ha ido evolucionando con el paso del tiempo.

Para finalizar, el sábado 29 de septiembre , Fran Diéguez, actualmente en la empresa OpenHost, nos contará como fue el desarrollo de la adaptación Ubuntu-USC para su uso en las aulas de informática de la USC iniciada en el año 2009; y por último Rubén Rodríguez, nos hablará de Trisquel, la única distribución gallega avalada por la FSF como 100% libre.

Inscripción

Desde Igalia y en nombre de los que hacemos el máster, tanto aquí como en la Universidad Rey Juan Carlos, queremos invitaros a asistir y esperemos que os guste.

La entrada es totalmente libre, pero es necesario inscribirse debido al aforo limitado. Las plazas disponibles se cubrirán en estricto orden de inscripción, por lo que os recomendamos anotaros cuanto antes. Podéis hacerlo a través del formulario de inscripción habilitado al efecto o enviando un e-mail a mswl @ igalia . com indicando qué días os gustaría asistir.

Inscripción VI edición Máster

Recordad que todavía estáis a tiempo de inscribiros en la próxima edición del Máster en Software Libre. A pesar de que el plazo ordinario de inscripción ha terminado el pasado 31 de Julio, el día 1 de Agosto se abrió el plazo extraordinario de inscripciones tanto para la edición de Vigo como para la edición de Coruña. No dejéis pasar esta oportunidad de realizar estos estudios que como nos contarán en las jornadas de Septiembre pueden abriros diversas puertas en el mercado laboral.

by mcastro at August 14, 2012 12:42 PM

August 04, 2012

Manuel Rego

PhoneGap at Master on Free Software

Like in the past 3 years, this year I’ve been teaching some lessons of the web module inside the Master on Free Software organized organized by Igalia and URJC.

Apart from some classes about Java, this time I’ve given a workshop about PhoneGap (now renamed to Apache Cordova). If you don’t know it yet, maybe you want to take a look if you’re interested in web development (HTML + CSS + JavaScript) for mobile platforms.

The workshop tried to give an overview of this framework and during the class we developed a simple feed reader as example app. The main technologies used (apart from PhoneGap) were: jQuery (to manipulate the DOM), jQuery Mobile (for the UI) and jFeed (to read the RSS/Atom feed). You can find the slides of my presentation below and if you follow them you should be able to develop the example too ;-)

Finally, maybe you don’t know it yet, but some months ago I developed a small mobile application using PhoneGap. The app is called SergasApp and it allows request medical appointments for the Galician Healthcare Service. As usual, it’s free software and you can find the source code in GitHub if you’re interested in review another example app developed with PhoneGap.

by manuel rego casasnovas at August 04, 2012 07:06 AM

August 02, 2012

Andrés Estévez

July 29, 2012

Andrés Maneiro

Sight

Seguindo coa onda de BlackMirror: neste corto (8 minutos), onde unha parella queda para coñecerse e tomar unhas copas a tecnoloxía é algo máis que un accesorio. Recoméndovos paralo de vez en cando para ver as “aplicacións” que están usando.

by Andrés at July 29, 2012 07:39 PM

July 25, 2012

Pedro González

Acerca de la "Neutralidad Tecnológica"

 En los últimos días se viene hablando en los foros de Internet (especialmente en [1] y [2]) acerca del problema de la "Neutralidad Tecnológica" a la hora de contratar software libre desde las administraciones públicas.

Dicho problema consiste, en pocas palabras, en que la legislación española sobre contratación pública obliga a que los Pliegos de Prescripciones no fuercen a la contratación de una determinada tecnología frente a otras que pudieran ser igualmente válidas para prestar el servicio requerido. En el caso de contratos de obras o de suministros de bienes, ésto se traduce en que no se pueden indicar marcas o modelos, salvo a modo de ejemplo. Hasta ahí, ningún problema. Ahora bien, cuando se trata de adquirir software, la práctica habitual consiste en considerar que indicar que la aplicación a suministrar o desarrollar ha de ser "software libre" vulnera dicho principio, ya que impide que se presenten ofertas por empresas suministradoras de software privativo. Esta interpretación está fomentada, claro, por las grandes multinacionales del software.

Cuando se hace esa afirmación, no se tiene en cuenta que el hecho de que el software sea libre no afecta en nada a aspectos tecnológicos, y sí a las condiciones en que dicho software es entregado a la administración contratante, así como a las que afectan al modo como ésta puede hacer uso de ese software. No se tiene en cuenta, por tanto, que cuando se adquiere software privativo en realidad lo que se está "comprando" es el derecho a hacer uso de una pieza de software en unas condiciones determinadas (generalmente MUY restrictivas) y muy poco favorables para la administración, mientras que cuando se adquiere software libre se está comprando el código (o una copia del mismo) en condiciones bajo las que la administración adquirente puede hacer uso ilimitado del mismo, en tantos puestos de trabajo como desee, personalizarlo, modificarlo e, incluso, redistribuirlo bajo las mismas condiciones. Parece absurdo, por tanto, que la solución adoptada por defecto por las administraciones públicas no sólo no sea, precisamente, la de adquirir software libre, si no que se deje en manos de los ofertantes el establecimiento de las reglas del juego.

Generalmente, el problema surge en cuanto las empresas de software privativo presentan alegaciones contra un pliego en el que se exige la entrega de software libre (o "de fuentes abiertas", aunque a mí esta expresión me parece muy restrictiva y peligrosa). En este momento, entran en acción los asesores jurídicos de las administraciones afectadas, quienes tienden a dar la razón a los demandantes basándose precisamente en que "se les imposibilita a presentar ofertas".

La solución debería pasar pues por formar a los asesores jurídicos en los contenidos de las licencias libres frente a los de las privativas, y "obligarles" a leerse estas últimas de principio a fin antes de dar por sentado que ambas licencias han de gozar de igualdad de oportunidades. Este sistema, aunque necesario y conveniente, es también lento de desarrollar y desgraciadamente de resultados inciertos, ya que no es fácil hacer que un jurista cambie radicalmente de opinión acerca de un tema, no importa cuán claro sea el resultado de ese cambio.

Otra solución pasaría por cambiar la legislación al respecto, de tal modo que se fomente la contratación en los términos más favorables para la administración. Pero en los tiempos que corren no parece que este cambio sea viable.

¿En consecuencia, debemos resignarnos y aceptar el principio de Neutralidad Tecnológica como un mal inevitable? ¡En absoluto! Creo que existe una tercera vía que permitiría esquivar este escollo: consiste en redactar los pliegos de prescripciones de tal manera que no se haga en ellos mención alguna a los términos "Software Libre" o "Software de Fuentes Abiertas"; pero que, por contra, en ellos se establezca claramente cuáles han de ser las condiciones bajo las que el software ha de ser suministrado a la administración. Y para ello nada hay más fácil que, simplemente, transcribir el texto descriptivo de las famosas "cuatro libertades del software", con la correspondiente adaptación para que haga mención, en lugar de a un usuario genérico, a la propia administración contratante y a los intereses de ésta.  Por ejemplo, como sigue:

0.- La Administración contratante tendrá libertad para utilizar el software para cualquier propósito relacionado con el ejercicio de sus competencias
1.-  La Administración contratante tendrá libertad para estudiar cómo funciona el programa y modificarlo, adaptándolo a sus necesidades
2.-  La Administración contratante tendrá libertad para utilizar el programa en tantos puestos de trabajo como le resulte necesario y para distribuir copias del programa a otras administraciones públicas, entidades colaboradoras, suministradores o prestadores de servicios y a la sociedad en general.
3.- La Administración contratante tendrá libertad para mejorar el programa y hacer públicas esas mejoras, de modo que toda la sociedad se beneficie.

Creo que ningún asesor jurídico podría poner peros a estos términos, salvo que se arriesgue a ser tratado de "enemigo manifiesto de la cosa pública".

Propongo, por tanto, que desde todas las administraciones públicas se incorporen estos términos en los pliegos de prescripciones, empezando por incorporarlo a la "Guía ALIAL de Buenas Prácticas para el Desarrollo de Software Libre por las Administraciones Locales".



[1]: Software Libre y Cooperación
[2]: Asociación Iniciativa Focus

by Pedro A. González (noreply@blogger.com) at July 25, 2012 06:12 AM

July 20, 2012

Andrés Maneiro

Chain of command

«Give ten minutes to transform it into an emergency» – O paper filosófico definitivo para entender as xerarquías e as cadeas de mando (via rvieito).

by Andrés at July 20, 2012 12:14 PM

July 11, 2012

Andrés Maneiro

Designing for growth

«Code should grow by addition rather than mutation.»

The best example of that axiom I ever found is the one in Beck’s Implementation patterns. What goes next is almost an exact reproduction of the book. After reading this post, if you liked, I’d strongly recommend you to buy a copy.

Imagine a graphic editor where one of the main metaphors is the Figure. It has methods like display(). So, if you want to support several figures in the editor, you can start by writing just a simple conditional:

public void display() {
    switch (getType()) {
        case RECTANGLE :
            //...
            break;
        case OVAL :
            //...
            break;
        case TEXT :
            //...
            break;
        default :
            break;
        }
}

This naïve example, shows early its cons: if you want to add a new kind of figure, you will need to modify the GraphicEditor class adding a new case statement in every switch you have written along the class. Not only it is tedious and error-prone, but it also requires modify a working functionality, putting it at risk. Besides, you should coordinate the changes with other developers using that class. At this point, likely you have thought on better ways to manage change: make the code growth by addition rather than mutation. How is that? Well, two of the tools you have available are inheritance (using classes) and delegation (using interfaces):

If you should choose one of another is a matter of context. It depends. For example, if you would want to rewrite the display method using delegation you would write:

public void display() {
    getType().display();
}

while let the rectangle and other figures to implement the logic of displaying themselves.

This change will allow us to add new kind of figures dinamically. We will only need to implement the Figure interface and use the mechanisms of GraphicEditor to select our new figure. No needs to change the existent code neither coordination costs or try to understand the whole picture before making any change. Just need to focus on implementing our tool. That’s the power of designing for growth: managing complexity.

by Andrés at July 11, 2012 10:39 PM

July 10, 2012

Nacho Varela

FLOSS, administración y soberanía

Hace unos día leí "Stallman: "El Estado debe usar software libre para mantener su soberanía informática" y leyendo comentarios de personas haciendo "apología" de MS-Office y de Apple no alcanzo a comprender muy bien esas posturas.

Nunca entenderé como hay personas/ciudadanos a favor de que empresas extranjeras de software privativo (que cierran el conocimiento y realizan una inversión cercana a cero en nuestro entorno) sean beneficiarias de sumas multimillonarias año tras año, de todas las administraciones públicas, empresas y particulares en prácticamente el 100% de todos los ordenadores del mundo... (imaginaos la cifra). Se aprovechan de la división interna existente en los organismos, generan dependencias, en muchos casos ejercen prácticas abusivas, hacen cautiva la información no siguiendo estándares o "ampliándolos" (rompiendo compatibilidad), hacen competencia desleal, impiden la creación de tejido tecnológico local o si lo hay lo hacen débil y supeditado a ellos, manipulan las tendencias de consumo, etc.

Siguiendo el ejemplo de los comentarios MS-Office y Windows  están muy bien, pero OJO, es así porque se les está pagando cantidades de dinero impresionantes desde hace muchos años. Además no es que estén ofreciendo cosas extraordinarias, los usuarios estamos haciendo de testers de versión en versión, hacemos sugerencias y les damos ideas innovadoras que ellos aprovechan para luego re-vendernoslas en siguientes versiones.

Es increible que con ese escenario tan sumamente manipulado surja software libre (FLOSS) de tanta calidad como el que tenemos, en muchos casos, altamente superior al privativo. Lo que me gustaría que la gente comprendiese es que si existiese un poco de cooperación inter-administrativa y se coordinasen fondos entre ayuntamientos, comunidades autónomas, países, etc. y dijesen que todo el software de la administración DEBE ser LIBRE, el ahorro sería de CIENTOS DE MILLONES DE EUROS año tras año, la tecnología avanzaría de forma mucho más rápida, y la riqueza derivada del desarrollo sería repartida de manera más equitativa. Con un pequeño porcentaje de la inversión que se hace actualmente en software privativo, se podrían hacer productos equivalentes en FLOSS de igual o mayor calidad y disponibles libremente para toda la sociedad.


Que un software sea privado no es garantía de nada, más bien al contrario: nadie puede auditar internamente lo que hace ese software, los intereses de todos los usuarios están supeditados a decisiones de márketing de unos pocos, etc. Hay que recordar una cosa, el que un software tenga licencia privativa sólo tiene ventajas negativas para la sociedad, son restricciones, impedimentos, medidas de presión, etc. A menos que seas el propietario de una compañía de software privativo, no puedo comprender el interés en seguir con esta injusticia.



by Nacho Uve (noreply@blogger.com) at July 10, 2012 05:28 AM

July 05, 2012

Andrés Maneiro

Why we rock

«While money can help produce good software, clear communication channels between developers and users and a unified team can easily outperform more rigid development environments.»

I feel sorry for closed-source developers, by Bruce Momjian.

by Andrés at July 05, 2012 08:19 PM

July 01, 2012

Master Software Libre

Abierto plazo de inscripción para la VI Edición del Máster en Software Libre 2012 – 2013

Un año más, abrimos el plazo ordinario de inscripción para la VI edición del Máster en Desarrollo y Gestión de Proyectos de Software Libre que Igalia y el grupo GSyC/LibreSoft de la Universidad Rey Juan Carlos, organizan en Galicia.

El plazo de solicitud en este período ordinario será hasta el 31 de Julio. No dejas escapar esta oportunidad de obtener un 10% de descuento sobre el precio final.

El máster es un título propio de la Universidad Rey Juan Carlos y está organizado alrededor de un ecosistema basado en los estudiantes y orientado a la participación en comunidad, con una gran dedicación a la práctica y siguiendo la filosofía del aprender haciendo. El formato es de fin de semana, viernes por la tarde y sábados por la mañana, buscando que sea compatible con el horario laboral y además, incluye un periodo de prácticas en empresa que procuramos que se pueda adaptar de la mejor manera a los alumnos que ya estén trabajando y que puede resultar una buena oportunidad para alumnos que estén buscando trabajo.

El principal objetivo del Máster es continuar formando profesionales especializados en Software Libre, supliendo la elevada demanda dentro del sector TIC. Se orienta a recién titulados y profesionales que deseen mejorar sus capacidades para gestionar, analizar y colaborar en proyectos internacionales de Software Libre.

En el siguiente vídeo, Xavier Castaño, coordinador del área Web de Igalia, hace una presentación más detallada del máster incluyendo: filosofía y metodología, formato, asignaturas, contenidos y actividades complementarias.

Este año, al igual que el anterior, Igalia ofrece el Máster en dos sedes, Vigo y Coruña. En función de la demanda final, si la organización encuentra inviable realizarlo en una de las dos sedes por falta de alumnos, se estudiará la posibilidad de ofertar descuentos por desplazamiento, extremo que sería evaluado caso por caso.

El máster dará comienzo en noviembre. La fecha exacta se determinará próximamente.

Si estás interesado, echa un vistazo a la política de precios y descuentos y a los formularios de inscripción para Vigo y Coruña. Recuerda que el periodo de inscripción ordinario estará abierto hasta el 31 de Julio.

La información detallada está disponible en las páginas del menú a la derecha de este texto y para cualquier consulta, no dudes en ponerte en contacto con nosotros a través del formulario de contacto.

 

by mcastro at July 01, 2012 06:17 AM

June 13, 2012

Andrés Maneiro

Big transitions in small steps

Software G Forces: the effects of acceleration was one of my favorite talks this year, which together with the book Continuous delivery bring to life again the big theme of agile movement: how to better build software.

Today I ran into a video by Kent Beck, where he talks about the strategies to take into account when evolving big data structures, growing code or carrying architectural changes out: big transitions in small steps. This is complementary to the first in the sense that Beck drills down here and talks about specific practices on how to accelerate your development and deployment processes. Highly recommended:

 

by Andrés at June 13, 2012 10:05 PM

June 07, 2012

Andrés Maneiro

Mapas comparativos de buses urbanos

Enlazo el estudio comparativo de mapas de buses urbanos, para ciudades medias españolas (~250.000 hab): Coruña, Vigo, Granada, Vitoria. Pone sobre la mesa, no sólo el mejorable diseño del que sufrimos en A Coruña, sino también la invisibilidad de la única y escasa línea nocturna que existe:

by Andrés at June 07, 2012 06:14 AM

June 04, 2012

Nacho Varela

Problemas de memoria... :)

Para los que están familiarizados con el mensaje  "java.lang.OutOfMemoryError: Java heap space"... Por si sirve de consuelo en los SIG privativos te puedes encontrar con este otro:


Pagar por licencias y por el soporte no te libra de que productos ESRI  den errores de "Out of memory" y  te quedes sin poder manejar tu información... :-]
Con otro riesgo, si usas sus formatos privativos recomendados, no los podrás recuperar con ningún otro software...



ACTUALIZACIÓN:
Y también tienen el equivalente a "Error grave de la aplicación", en este caso, "ArcGIS Desktop jas encountered a serious application error":


by noreply@blogger.com (Nacho Uve) at June 04, 2012 07:48 AM

May 22, 2012

Nacho Varela

Problemas al visualizar un WMS de mapserver en monitores grandes

Tras crear un servicio con "UMN Mapserver" todo parecía funcionar bien, pero en determinados ordenadores (concretamente en pantallas grandes) no se veían las capas del servicio.

Analizando lo que devolvía el servicio en esos casos resultó que:
 
msWMSLoadGetMapParams(): WMS server error. Image size out of range, WIDTH and HEIGHT must be between 1 and 2048 pixels.

Y la solución la encontré rápidamente en las listas de correo del proyecto y en la documentación de MAP.

Simplemente sobreescribir la variable MAXSIZE en el .map ya que por defecto está fijada en 2048.

ACTUALIZACIÓN: Ojo, porque el parametro MAXSIZE es ignorado si se utiliza mapscript para generar el fichero ".map" al menos en la versión 5.4.x. Esto obliga a volver a introducirlo a mano o actualizar a versiones superiores.

by noreply@blogger.com (Nacho Uve) at May 22, 2012 07:13 PM

May 14, 2012

José Dapena

IwkMail, mixing WebKit Gtk+, Camel and JQuery Mobile

In the last few weeks, as part of my work here at Igalia, I’ve been playing a bit with the concept of hybrid applications. In this case, I’ve created a basic prototype of a mail application, with its user interface completely written using JQuery Mobile, and with backend code in C and GObject. The result is iwkmail.

Screencast of iwkmail in action

Though it’s a simple experiment, I’ve added some mail basic functionality, so I could try to catch as much as possible of real requirements for how  we could improve the developers WebKit+GNOME experience creating hybrid applications.

My first conclusion is that it’s surprisingly easy and fast to develop such applications. Second, I could reuse tons of source code and modules from my old projects. This approach surely provides a way to create cool GNOME applications, using the most fashionable web client technologies.

So, you’ll get:

  • Browsing messages
  • Read/unread flags
  • Deleting messages
  • Creating and deleting mail accounts.
  • Storage protocols supported: IMAP and POP.
  • For sending mails, we support SMTP. There’s support for an outbox holding the messages to be sent.
  • A plain text composer, allowing to add attachments.

The UI is completely written in Javascript + HTML, using JQuery Mobile.

The backend side is done using Camel library inside Evolution Data Server, so we rely on a library well tested for more than 10 years.  All the code related to this is implemented in C+GObject, and I reused a good set of code from Modest, the default mail client for Nokia N810 and N900. I’ve got involved on its development for 3 years, so that’s a bunch of code I know well enough.

For communication, I use the AJAX-like JSONP protocol, and custom SoupRequest URI scheme handlers. Basically I expose some methods as iwk:addAcccount, iwk:getMessage, etc, and arguments are passed as usual in a web request. The result I obtain from this calls is a JSON object with the results of the call. Simple, and works very well.

I’ve pushed the work on github: https://github.com/jdapena/iwkmail. Feel free to try it!

Oh, I guess it’s very obvious that I did not spend too much time thinking on the project name… So, anyone proposing something that matches the IM acronym (I don’t want to rewrite the class names!) would deserve a beer.

Last, lots of thanks to Igalia for giving me the opportunity to do this experiment. As usual, fun stuff to work with.

by José Dapena Paz at May 14, 2012 03:28 PM

May 09, 2012

Master Software Libre

Abierta la inscripción al Módulo de Desarrollo en entornos web 2012

Como cada año, para aquellos que por motivos diversos no pueden cursar el Máster en Desarrollo y Gestión de Proyectos de Software Libre al completo, Igalia ofrece la posibilidad de inscribirse a uno o varios de sus bloques temáticos por separado.

Cada uno de estos bloques temáticos se implementa a través de un módulo formativo independiente de 80 horas de duración que se imparte en las mismas condiciones, instalaciones y horario que las sesiones del máster.

Ya está abierta la inscripción, hasta el 31 de Mayo, para el Módulo de Desarrollo para entornos web que dará comienzo el día 8 de Junio y finalizará el día 4 de Agosto. Los alumnos que se inscriban en los módulos, acompañarán a los alumnos del máster en las sesiones y prácticas los viernes de 16.00 a 21.00 y sábados de 9.00 a 14.00 en el edificio para la Obra Social de Novacaixagalicia, en la calle Policarpo Sanz número 24-26 de Vigo. No habrá clase del módulo de web el fin de semana del 27-28 de Julio al coincidir con la Guadec 2012 que se celebrará en A Coruña.

El módulo Web 2012 persigue los siguientes objetivos:

  • Desarrollar aplicaciones web con software libre utilizando herramientas libres de desarrollo.
  • Conocer y utilizar conceptos básicos de la integración de aplicaciones utilizando de modo práctico tanto entornos LAMP como Java.
  • Arquitectura de aplicaciones en la plataforma Java.
  • Conocer y utilizar los frameworks de persistencia a través del conocimiento de uno concreto (Hibernate).
  • Conocer y utilizar los frameworks de desarrollo de interfaces web en Java a través del conocimiento de ZKoss
  • Desarrollar proyectos web aplicando conceptos importantes en el desarrollo de software: documentación, accesibilidad, internacionalización, empaquetado, testing e integración contínua.
  • Charlas complementarias de empresas relevantes del sector (Telefónica, Trabe soluciones).
  • Sesiones prácticas en las que se aplicarán los conceptos explicados en las clases teóricas utilizando las herramientas y metodologías de trabajo que existen en las empresas de comunidades de software libre.

Más información: temario y calendariover precioinscripción.

 

by xcastanho at May 09, 2012 10:10 AM

April 28, 2012

Andrés Maneiro

Valve handbook on failure

«Screwing up is a great way to find out that your assumptions were wrong or that your model of the world was a little bit off. As long as you update your model and move forward with a better picture, you’re doing it right. [...] There are still some bad ways to fail. Repeating the same mistake over and over is one. Not listening to customers or peers before or after a failure is another. Never ignore the evidence; particularly when it says you’re wrong.»

Valve Handbook for new employess. A tour through Valve, a world-class video-game and distribution company with a flat structure.

by Andrés at April 28, 2012 09:00 AM

April 18, 2012

Andrés Maneiro

Software never lies

«When you run a business, if your software has a bug, your customers don’t care if it is your fault or Linus’ or some random Rails developer’s. They care that your software is bugged. Everyone’s software becomes my software because all of their bugs are my bugs. When something goes wrong, you need to seek out what is broken, and you need to fix it.»

Why you should read the source if your shop sells custom apps on top of a framework. HN original post. Related: The costs of going it alone & Working with upstream: an interview with Lazslo Peter.

by Andrés at April 18, 2012 08:14 PM

April 16, 2012

Nacho Varela

Drivers en PDO de PHP

¿Cómo saber que driver tengo disponibles para acceder a bases de datos con PHP::PDO?
Ejecuta esto en un terminal:

echo "PDO avalable drivers: \n";
foreach(PDO::getAvailableDrivers() as $driver) {
echo '* '.$driver."\n";
}

Y obtendo como salida el siguiente resultado:

PDO avalable drivers:
* mysql
* pgsql
* sqlite
* sqlite2

UPDATE:

Más facil todavia php -m | grep pdo

by Nacho Uve (noreply@blogger.com) at April 16, 2012 11:10 AM

April 15, 2012

Israel Herraiz

The impact of bias in bug-fix datasets for defects prediction

Last week I gave a talk at UC Davis about the research work I will be doing during these months. It contains some preliminary results about the impact of bias in bug-fix datasets.

In projects with bug tracking systems and version control repositories, when a commit corresponds to a bug fix, it is usually marked accordingly (for instance, with a message like "Fixes bug #123"). This information can be used to recover the relation between commits and bugs, which is useful for defects prediction. The preliminary results I have obtained so far, show that the impact of bias is negligible for defects prediction if the model is based on a binary classifier (that is, only predicts whether an entity will contain or not defects, not how many defects it will contain). However, it is true that a non-biased dataset can provide a better accuracy, but just because, by definition, non-biased datasets contain more data. If we reduce the size of a non-biased dataset, by extracting a random sub-sample, it is as good as a biased dataset of the same size. Well, at least for the two cases I have studied so far.

More details in the slides. You can also see the slides at Slideshare.net, and get a PDF copy.

April 15, 2012 07:00 AM