Master on Libre Software Planet

August 16, 2014

Andrés Maneiro

La creatividad, según Pixar

Ed Catmull, es uno de los programadores y pioneros de la computación gráfica, inventor de técnicas como el texture mapping o algoritmos para la subdivisión de superficies. Como presidente de Pixar es, además, uno de los responsables de haber introducido en nuestras vidas a personajes como Buzz Lightyear, Nemo, Wall-e o Remi.

pixar

La historia de Ed Catmull empieza en la Universidad de Utah, donde estudia y trabaja bajo la batuta de Ivan Sutherland, en una comunidad de estudiantes entre los que se encontraban muchos de los pioneros de la informática, como Alan Kay. Catmull crece como un hacker a la manera de Pekka Himanen:

«Leaders of my lab understood that to create a fertile laboratory they had to assemble different kind of thinkers and encourage their autonomy. Feedback when needed and stand back and give room too.»

De esa experiencia, se modela su manera de entender el liderazgo y la comprensión de la comunidad en la actividad creativa. Es famosa la pregunta con que durante un tiempo iniciaba sus conferencias: “¿qué es más importante, tener buenas ideas o tener buenas personas?” Sólo para descubrir que la respuesta del público era 50%/50%, a lo que él siempre respondía:

«Give a good idea to a mediocre team, and they will screw it up. Give a mediocre idea to a great team, and they will either fix it or come up with something better. If you get the team right, chances are that they’ll get the ideas right.»

Nos sugiere que un producto contiene cientos de ideas, no una sóla: es la conjunción de todas ellas lo que hace el producto atractivo. Por ejemplo: la idea básica de Ratatouille -una rata que quiere convertirse en chef- no cambió a lo largo de todo el ciclo de producción de la película; sin embargo, a mitad de camino tuvieron que cambiar el director y parte del equipo, porque los anteriores no conseguían hacerla funcionar.

Keep your crisis small

Una de las lecciones aprendidas de Pixar, es que la conjunción de gente brillante y emponderamiento personal no evita las crisis y los errores en el diseño de un producto. Esto es inevitable. Lo importante, es el tiempo que tienes para recuperarte del error. En palabras del propio Catmull, el poder de la iteración continua reside en que:

«Overplanners just take longer to realize they’re wrong.»

Este concepto del tiempo es clave por varios motivos.

El tiempo es importante en la definición del producto: la idea inicial irá cambiando a medida que se trabaje y se encajen los otros cientos de ideas necesarias para hacerla funcionar. Es un proceso de refinamiento gradual. En las fases iniciales, la película tiende a cambiar mucho en todos sus aspectos (definición de la historia, diseño artístico, diseño de personajes, etc), pero es relativamente barato hacer cambios comparado con las fases finales de producción. Una vez la película tiene asignada fecha de salida, los márgenes para el cambio son muchísimo menores.

El tiempo es también clave a nivel emocional y creativo: recibir feedback continuo sobre sketches e ideas inacabadas, favorece que el equipo esté menos atado emocionalmente a lo que propone y se sienta con más libertad para cambiarlo, empezar de nuevo si hace falta. No tener que hacerlo perfecto a la primera, también reduce la presión.

Pixar ha institucionalizado esos ciclos, con sesiones de feedback continuo a lo largo del desarrollo de la película. De todos ellos, hay tres mecanismos que sobresalen:

  • Dailies: diariamente, el director y los animadores de la película, se muestran los avances unos a otros. Este es el mecanismo de feedback más inmediato y continuo.
  • Braintrust: bimensualmente, se muestra el avance en forma de prototipos en una reunión donde están presenten otros directores, artistas y, en general, cualquiera que desee participar. En esos momentos se disecciona la película y se ofrecen comentarios sobre puntos donde está fallando o, a veces, posibles soluciones.
  • Post-mortems: al finalizar la película, se realiza una reunión donde se habla de los problemas que se han tenido, lecciones aprendidas, etc.

Las fuerzas que se interponen a la creatividad

Sin embargo, el feedback y la franqueza extrema necesaria para que esto funcione, no es algo para lo que estemos diseñados por defecto:

«In general, people are hesitant to say things that might rock the boat. Braintrust meetings, dailies, postmortems, and Notes Day are all efforts to reinforce the idea that it is okay to express yourself. All are mechanisms of self-assessment that seek to uncover what’s real.»

Dar y recibir feedback requiere una predisposición emocional y cierta química en el grupo de trabajo, que no es automática ni fácil de conseguir. Una de las características que Catmull resalta de un grupo funcional, es su capacidad para tener una comunicación franca, una honestidad brutal. Catmull usa la palabra «candid feedback», que tiene connotaciones también de decir la verdad ingenuamente, de no esconderse nada ni tener segundas intenciones. Tiene un punto de espolear al disidente que los creativos llevan dentro.

Y si no fuese ya de por sí difícil generar una cultura de franqueza extrema y mejora continua, Catmull recalca que existen muchas fuerzas más que impiden la emergencia de una cultura creativa. El éxito es una de las principales: “¿Por qué cambiar si hemos hecho algo que funciona?” Curiosamente, el conservadurismo tiene el mismo efecto que la mediocridad. La urgencia de las fuerzas económicas que ansían retornos rápidos chocan con el tiempo y paciencia necesarios para la maduración de un producto. La moral del equipo decae si internamente un equipo está haciendo un producto B, mientras otro se centra en el producto bandera. Los diferentes estándares de calidad y exigencia personal entran en conflicto. Etc.

Incluso pequeñas decisiones sobre si hacer secuelas o nuevas películas tienen sus efectos en el mantenimiento del entorno creativo y han sido analizadas en Pixar:

«For example, around the time of the merger [with Disney], we were evaluating how to strike a balance between original films and sequels. We knew that audiences who loved our films were eager to see more stories set in those worlds (and, of course, the marketing and consumer products people want films that are easier to sell, which sequels always are). However, if we only made sequels, Pixar would wither and die. I thought of sequels as a sort of creative bankruptcy. We needed a constant churn of new ideas, even though we knew that original films are riskier. We recognized that making sequels, which were likely to do well at the box office, gave us more leeway to take those risks. Therefore, we came to the conclusion that a blend—one original film each year and a sequel every other year, or three films every two years—seemed a reasonable way to keep us both financially and creatively healthy.»

Cada empresa tiene sus propias fuerzas. Descubrirlas y poner mecanismos para evitarlas require de un esfuerzo continuado.

Makers VS Managers

En la experiencia de Pixar,  las ideas no sólo son ejecutadas por los creativos, sino también ideadas por ellos. No contratan equipos externos para “buscar ideas” ni tienen equipos dedicados a ellos, como otros estudios de animación. Son los propios creativos los que las proponen y las desarrollan.

La función de los managers en Pixar, no es la que, todavía hoy en día, se considera común de un directivo en muchas empresas: poner la idea sobre la mesa para que otros la ejecuten, dirigir, ordenar a los subordinados en la cadena de mando. Lejos de eso, y también de proclamar la necesidad de que desaparezca ese rol, en una cultura como la de Pixar, los managers se reinventan como observadores y guardianes del proceso creativo:

«Our job as managers in creative environments is to protect new ideas from those who don’t understand that in order for greatness to emerge, there must be phases of not-so-greatness. Protect the future, not the past.»

Lo nuevo necesita amigos. A nivel práctico, esto se traslada en varias acciones concretas: desde favorecer que los Braintrust se desarrollen adecuadamente (detectar cuando un equipo es disfuncional y proponer cambios de personas para mejorar la quimica, etc), gestionar los post-mortems cambiando las técnicas usadas para que los equipos no se acomoden y traten de hackear las reglas o apoyar durante el proceso de maduración de una idea (sesiones de coaching para mejorar la presentación de la idea a los que deciden si se invierte o no en esa película, etc).

Coda

Durante los últimos 20 años, Pixar ha creado películas que han sido a la vez éxitos de taquilla y obras de una calidad artística elevadísima. Catmull dice que la razón más importante de este éxito, no sólo ha sido tener a su disposición a gente brillante, sino facilitar que trabajen bien juntos, porque la creatividad surge de un proceso colectivo de iteración, con la franqueza extrema, el feedback y la autonomía personal como mecanismos principales para la depuración de las ideas.

by Andrés at August 16, 2014 04:19 PM

August 11, 2014

Pablo Sanxiao

GeocampES 2014: Y ya van dos!

Después de la experiencia del año pasado y tras el relativo éxito que tuvo, este año volvimos a la carga con la segunda edición del evento.

Organizado nuevamente por un grupo de xeoinquedos y apoyados una vez por la estructura de la Asociación Ghandalf, esta vez nos desplazamos hasta A Coruña. A Casa Tomada nos acogió con los brazos abiertos, para celebrar entre sus rehabilitados muros esta geodesconferencia, en la que compartir conocimiento alrededor del mundo de las tecnologías de información geográfica libres.

Como siempre, el protagonismo fue de los propios participantes, que plantearon diversas charlas sobre temas muy diferentes, desde tecnologías para crear mapas en web, en dispositivos móviles, etc… hasta cómo montar un dispositivo de toma de imágenes aéreas con un globo de helio, pasando por la gestión de montes en mancomún o estándares OGC. Teniendo cabida incluso una ponencia de ESRI España sobre las iniciativas open source que está llevando a cabo esta compañía de software propietario.

También hubo momentos distendidos, al lado de una buena empanada gallega y las delicias ecológicas de las chicas de Leiralonga y por supuesto un buen fin de fiesta con su correspondiente queimada.

Y como ya empieza a ser una tradición, al día siguiente se preparó una pequeña actividad de ocio para los participantes venidos de fuera y que aprovecharon para pasar el fin de semana por nuestras tierras. En esta ocasión se organizó un pequeño recorrido en bicicleta guiado y con pequeñas paradas para descubrir algo de historia de la ciudad.

Dicen que no hay dos sin tres, así que ya estamos pensando cosas para la geocampES del año que viene, te la vas a perder?.

by psanxiao at August 11, 2014 10:32 PM

August 09, 2014

Andrés Maneiro

Ratatouille, o la gestión de la creatividad

RatatouillePosterRemi, es una rata idealista que ha desarrollado un interés por la cocina. A diferencia de su camada, tiene el olfato y el gusto hiperdesarrollado, no puede comer basura y por eso empieza a cocinar a escondidas en las casas donde viven. En un momento dado, llega a uno de los mejores restaurantes de París, de capa caída desde la muerte de su fundador, Auguste Gusteau, famoso por el bestseller de cocina Anyone can cook.

En el mundo de Ratatouille, las ratas siguen siendo ratas y provocan asco a los humanos. Como podéis imaginar, la conversión de Remi a chef de alta cocina en el Gusteau’s no era tan fácil como entrar por la puerta y pedir un mandilón. Toma tiempo y necesita protección. Por suerte para Remi, ha empezado a trabajar como limpiador en el restaurante, Linguini, un chico despistado que también quiere ser chef, pero no tiene las dotes necesarias. Mientras Linguini actúa como si fuese él quien cocinase, Remi es quien desarrolla las recetas y maneja los mandos en la sombra.

Pero el restaurante ya no es el antiguo Gusteau’s y el entorno no invita a la creación: Skiner, el jefe de cocina, se empeña en repetir las antiguas recetas siguiendo el manual al pie de la letra y en sacar líneas de comida rápida con ellas, lo que no hace más que hundir la reputación del Gusteau’s y convertirlo en un restaurante más del montón. Reflotarlo y devorverle su fama es una tarea ardua que sólo la unión de Remi y Linguini pueden lograr. Esta unión, provoca no sólo el ascenso de Linguini como uno de los mejores chefs de Francia, sino también los celos de Remi: sabe que su condición de rata le impide llegar a ser un chef apreciado por el público.

En el fondo, Remi es un ser creativo al que no le basta con cocinar, necesita reconocimiento. Es en ese punto de su relación cuando se produce la visita de Anton Ego al restaurante, el crítico más influyente de la ciudad y el que inicia la caída del Gusteau’s hace años con una mala crítica. A diferencia de Auguste Gusteau, Ego nunca se creyó eso de que Anyone can cook. Por eso, tumbar el restaurante de Auguste le produjo una satisfacción especial. Y se convierte en la prueba definitiva para Remi.

El desenlace, es una de las escenas con más significado de la historia del cine:

Ese discurso final de Ego, condensa uno de los mensajes principales de la película: el Anyone can cook de Gusteau, no significa que cualquiera pueda convertirse en un gran artista, sino que un gran artista puede venir de cualquier lugar. De esa predisposición a encontrar lo nuevo en lo inesperado, surge también una responsabilidad: protegerlo. Lo nuevo, la innovación, necesita tiempo y paciencia.  Remi nunca hubiese llegado a ser un chef sin la complicidad de todos los que la ayudan y protegen. De haberse descubierto su tapadera cuando todavía el mundo no estaba preparado para ello, habríamos perdido un gran cocinero.

Al igual que el Gusteau’s, las empresas contienen fuerzas internas que impiden que aflore la creatividad: las nuevas ideas son feas al principio y necesitan cariño, la repetición de lo que ha funcionado una vez como la negación del aprendizaje continuo en la actividad creativa, la presión por llegar a fin de mes con ingresos rápidos que cohartan la maduración de las ideas, etc. Todo eso, y más, podéis disfrutarlo en Ratatouille, uno de los mejores manuales de gestión de la creatividad que existen.

by Andrés at August 09, 2014 03:52 PM

August 07, 2014

Andrés Maneiro

Una semana sin visitar medios AEDE

El miércoles pasado inicié una huelga de lectura contra los medios pertenecientes a AEDE, en protesta contra el #canonAEDE. Mi objetivo era usar mis superpoderes de ciudadano y poner mi dinero (publicidad por visitas) allí donde están mis valores.

Gracias a esta extensión de chrome, que me censuraba cuando quería visitar esos medios, he podido controlar el acceso a esos medios. Aunque me imagino que la reducción de mis visitas no ha tenido un gran impacto directo en la facturación de estos gigantes, me ha valido para ser consciente del nivel de uso que les doy. A grosso modo, los resultados son:

  • al menos 3 veces, he tratado de visitar un par de medios generalistas españoles. Todas ellas por enlaces de otros.
  • al menos de 5 veces, he tratado de visitar un medio de noticias locales (galicia). Mayoritariamente por enlaces.
  • al menos 10 veces, he tratado de visitar medios de deporte generalistas españoles.

Autoreflexionando sobre mis hábitos, puedo decir que mi dieta de información a día de hoy se centra poco en los temas que son comidilla nacional, abuso de ciertos ingredientes y es frugal (más ligera que la mayoría de personas que conozco). Los temas que me interesan suelo estar muy informado y busco activamente información en varios lugares para entenderlo mejor, puedo estar varios días haciendo seguimiento del tema. Otros temas, simplemente no están en mi agenda y no me preocupo hasta que me lo cuentan. Esto es una tendencia que inicié hace varios años y últimamente me parece que se ha consolidado.

Ahora que he dejado de estar en huelga, aunque continuaré minimizando mis visitas a medios AEDE, lo que verdaderamente me importa es continuar con mi diversificación de la dieta y reducirla en aquellos puntos donde me excedo.

by Andrés at August 07, 2014 01:52 PM

July 06, 2014

Pablo Sanxiao

Openstreetmap en la UDC

Tenía pendiente esta entrada desde hace tiempo. El pasado mes de marzo tuve la oportunidad de colaborar en la asignatura Cooperación para el Desarrollo en la Ingeniería Civil, que se imparte en la Escuela de Caminos de la Universidad de A Coruña.

Dentro de esta asignatura se exploran diferentes herramientas que permitan mejorar la calidad de vida humana en los países en vías de desarrollo, siempre desde el punto de vista de la ingeniería civil y los campos en los que esta puede ayudar.

Este año, de la mano de Alberto Varela, uno de los profesores de la asignatura y director del Laboratorio de Ingeniería Cartográfica de la misma universidad (CartoLab) se diseñó una práctica para mostrar a los alumnos la importancia de los sistemas de información geográfica dentro del mundo de la cooperación. Dicha práctica consistía en tratar de visibilizar una barriada de la ciudad de A Coruña, “O Campanario”, donde viven familias en riesgo de exclusión social. Gracias al uso de las tecnologías de información geográfica, se pretendía cartografiar toda esta zona en Openstreetmap de modo que al menos en este sentido se sacase el barrio de ese estado de invisibilidad urbana.

Tuve la oportunidad de darles a los alumnos una charla introductoria a Openstreetmap, acompañada de un pequeño taller de digitalización en el que pudieron ver como incorporar datos a esta plataforma, y como ya me había pasado en otras experiencias, resulta muy motivante tratar de transmitir los conocimientos sobre esta plataforma y las oportunidades que ofrece la información geográfica.

by psanxiao at July 06, 2014 06:02 PM

June 27, 2014

Pablo Sanxiao

Cómo trabajan?

Siempre es curioso saber como otras personas hacen cosas a las que tú te enfrentas cada día. Desde hace tiempo tengo en mi rss el blog comotrabajan.com, en donde van publicando entrevistas con emprendedores. Son entrevistas sencillas que se centran en lo que hacen habitualmente para trabajar, cómo organizan el día, que herramientas utilizan, sin que aplicaciones no podrían vivir…

La idea original viene de otro blog, Lifehacker, que tiene una sección dedicada a este tipo de entrevistas o casi memes. Lo cierto es que resultan muy interesantes y siempre se puede sacar alguna idea, descubrir alguna aplicación útil, etc..

by psanxiao at June 27, 2014 07:40 PM

June 07, 2014

Andrés Maneiro

La disidencia de Richard Feynman

Whatever the reason, there seems a clear correlation between intelligence and willingness to consider shocking ideas. — Paul Graham, What you can’t say

richard_feynman

Richard Feynman es uno de los grandes científicos del siglo XX, popularmente conocido por el premio nóbel derivado de sus trabajos sobre la Electrodinámica Cuántica y la invención de la nanotecnología con su paper There’s plenty of room at the bottom.

Fue, además, considerado un gran divulgador -entre otras cosas, por su aproximación a la enseñanza basada en el entendimiento y no la memorización- que nos dejó alguna joya como sus lecciones introductorias a la física.

The pleasure of finding things out

Pero lo que verdaderamente define a Richard Feynman es su curiosidad infinita, una pasión intensa por el conocimiento. Él mismo se define como un explorador. No hay palabras que expresen mejor su pasión que este video donde habla sobre la belleza de una flor:

Como científico junior, participa en el Proyecto Manhattan a cargo del grupo que se encarga de la computación de problemas, donde ingenian una manera de paralelizar el cálculo de las rutinas en los mainframes. Es entonces cuando desarrolla también su pasión por tocar los bongos que no abandonará en toda su vida y que, unida a su participación en los grupos de samba durante su estancia en Brasil, consolidará su fama de científico iconoclasta para siempre. De esa época en Los Álamos, es también famosa la anécdota que relata cómo Niels Bohr -en aquel momento una de las máximas autoridades científicas del mundo- lo llamaba a sesiones privadas antes de las reuniones para discutir con él sus teorías, ya que era el único científico que se atrevía a llevarle la contraria.

Posteriormente rechaza ofertas suculentas para trabajar en el Instituto de Estudios Avanzados en Princeton, con Einsten, Von Neumann y Gödel en favor de dar clase de física en una universidad menor y, posteriormente, por una oferta del ahora mítico CalTech, donde inició el camino de lo que ahora conocemos como nanotecnología y consolidó los estudios que lo llevaron a conseguir el premio nóbel de física.

What do you care what other people think?

Tras ese personaje público, se esconde un disidente con gran apego por su autonomía, la integridad personal, la honestidad intelectual y un cierto disrespect for respectable.

Es su disposición a considerar cualquier idea y testear su validez contra las reglas de la naturaleza lo que lo convierte en un gran científico.

«The first principle is that you must not fool yourself–and you are the easiest person to fool. So you have to be very careful about that. After you’ve not fooled yourself, it’s easy not to fool other scientists. You just have to be honest in a conventional way after that.»

– Cargo Cult Science, Richard Feynman

Pero también en un gran investigador: no en vano es famosa su participación en la comisión sobre el accidente del transbordador espacial Challenger, donde acaba descubriendo no sólo fallos técnicos en el lanzamiento sino también fallos burocráticos. En su informe personal sobre el accidente que conseguirá incluir como adjunto al informe final de la comisión, dice que:

«Reality must take precedence over public relations, for nature cannot be fooled.»

El disidente libertario

Feynman es un hacker, tal y como los define Himanen. Un ejemplo inspirador que recomiendo descubrir a través de Surely, you’re joking Mr. Feynman? primero y completar con What do you care what other people think?. Es en esas transcripciones de anécdotas sobre su vida donde se puede conocer y disfrutar del verdadero Feynman. Un disidente que, por encima de todo, nos deseó un legado libertario:

So I have just one wish for you — the good luck to be somewhere where you are free to maintain the kind of integrity I have described, and where you do not feel forced by a need to maintain your position in the organization, or financial support, or so on, to lose your integrity. May you have that freedom.

by Andrés at June 07, 2014 05:24 PM

May 10, 2014

Pablo Sanxiao

46:05

Hace tiempo que me aficioné al running y a participar en carreras populares los fines de semana. La verdad es que desde el principio fui bastante inconstante, solía entrenar habitualmente cuando tenía en mente participar en alguna carrera determinada, pero el resto del tiempo me costaba mantener la rutina de entrenar todas las semanas.

Gran parte de esto seguramente era por la sensación de salir a correr solo. No es que no me guste, al contrario, salir a correr uno sólo te permite tener tiempo para pensar, reflexionar, etc… incluso para los que somos desarrolladores de software hasta nos permite desarrollar o pensar en soluciones mientras corremos.

Sin embargo hay muchos días en los uno está cansado, hace mal tiempo o simplemente da pereza cambiarse y salir a correr. Esos días si al único que tienes que convencer es a ti mismo, pues es muy fácil quedarse en casa o hacer otras cosas. Desde principios de año, un poco para tratar de ser más constante, me apunté a NoSportLimit, un club deportivo de mi ciudad donde hay grupos de entrenamiento de natación, ciclismo y running, ya que es un club creado por triatletas.

Las sensaciones desde entonces son muy buenas, correr en grupo es diferente, más motivante, te permite llegar más allá en tus propios límites, haces cosas diferentes, como series y esas cosas que te hacen sufrir más que cuando sales tú solo a trotar un rato, pero que luego se notan y mucho cuando compites.

Además de eso como en cualquier otro grupo de personas con una pasión común, te permite hacer nuevos amigos, conocer otras rutinas y en definitiva pasártelo bien. Eso no quita que no tengas momentos también para salir a correr  y pensar en tus cosas. Si empiezas en esto del running y te gusta, yo sin duda te recomendaría apuntarte a un club o buscar un grupo de gente que entrene junta.

La cifra que da título a este post, 46:05, es mi marca en los 10 kms. No es que sea una gran marca, todo es relativo, para mí sí lo es teniendo en cuenta que antes de apuntarme al club el mejor tiempo que había hecho con esos entrenos más inconstantes era de 53:10. Aunque mejorar tu marca siempre es motivante, lo es más compartir risas y buenos ratos con gente a la que le apasiona lo mismo que a ti todas las semanas.

by psanxiao at May 10, 2014 03:49 PM

April 11, 2014

Nacho Varela

Ejecutar scripts con sqlplus de Oracle

Este es un recordatorio de cómo ejecutar y poder ver el progreso de un script SQL para Oracle usando sqlplus.
Para conectar
sqlplus user/pass@connect
Y una vez dentro del terminal SQL
set timing on
set echo on
set serveroutput on
@nombrescript.sql
Con esto se verá cada sentencia ejecutada, el tiempo empleado para cada una y los dbms_output.put_line('').

by Nacho Uve (noreply@blogger.com) at April 11, 2014 03:30 AM

March 30, 2014

Andrés Maneiro

La autonomía como base de una vida interesante

¿Qué aporta más, ser el líder de proyecto en una PYME o jefe de producto en una multinacional? Eso es lo que nos ayuda a responder Malcolm Gladwell en esta charla de 20 minutos.

Recuerdo el video estos días, mientras aún proceso las últimas ideas de The year without pants. Berkun, comentaba una idea similar que reproduzco a continuación:

«They [Automattic and Valve] hire T-Shape programmers and designers – people who are masters at one craft but skilled at many. Valve also also bets heavily on employee autonomy, going further than Automattic with its complete absence of formalized teams of hierarchy. [...] When you’re confronted with the choice, a job offering great power is polarizing. Some people find the sound of it liberating, while others find it scary. Most people who work for someone else don’t really want this much responsibility. If they did, they’d start their own companies or be self-employed. The fact they’re working for someone else represents a trade they’re willing to make, sacrificing autonomy for security (as Kafka wrote, “Its often safer to be in chains than to be free”). The trade-off that companies like Valve and Automattic offer is different. In some ways, the power they offer individual contributors is greater than what middle managers at large Fortune 500 company have. However grand their executive jobs appear from the outside at these companies, their theoretical power is diminished by the bureaucracies their decisions must navigate through to have any impact at all.»

Y pienso que el camino hacia una vida interesante empieza por la autonomía.

by Andrés at March 30, 2014 05:19 PM

atFAB

atFAB lleva la promesa de personalización de IKEA a otro nivel: no sólo montas tú los muebles, sino que puedes también diseñarlos y hacerlos a medida. Creada por 2 arquitectos (Filson & Rohrbacher) distribuyen sus propios diseños de muebles de manera abierta, por lo que puedes comprarlos con ellos o hacerlos tú mismo. Participan además en Open Desk, un mercado global de manufactura que pone en contacto a diseñadores, fabricantes y clientes.

mbot-05Es una pena que lo haya descubierto después de decidirme a hacer mi propia mesa de trabajo. Me hubiese venido de perlas!

by Andrés at March 30, 2014 04:51 PM

March 22, 2014

Andrés Maneiro

The year without pants

year-without-pantsAutomattic, es la empresa detrás de wordpress {.com.org}, web por la que pasa casi el 20% de todo el tráfico de internet. No tienen oficinas, practican la autogestión en su día a día, contratan mediante audiciones y no usan correo electrónico sino blogs para la comunicación interna. The year without pants, es un libro de Scott Berkun que habla sobre todo eso.

En agosto de 2010, Berkun inicia su trabajo como líder de uno de los 10 grupos recientemente creados en Automattic. Con esa iniciativa, Matt Mullenweg y Toni Schneider pretendían gestionar el crecicimiento de una empresa en la que ya trabajaban 50 personas y había tenido una estructura completamente plana hasta el momento. El libro es el relato de esa transformación y las experiencias de Berkun hasta mayo de 2012, cuando abandona Automattic para escribir sobre ello. Durante ese tiempo, su equipo había gestionado -entre otras cosas- la creación y publicación de JetPack, uno de los desarrollos más ambiciosos y exitosos de la historia de la empresa.

El resultado, esta experiencia de «embedded journalism», es una manera muy honesta de contar el día a día en Automattic, a la vez entretenida e instructiva. Tiene además un morbo especial por la propia historia de Scott Berkun: escritor y consultor de management que decide volver a las trincheras; project manager que crece dentro de la cultura de Microsoft en los 90, en los albores de Internet Explorer, durante la 1ª browser war.

Automattic

Para abrir boca o por tener un resumen si no vas a leer el libro, escribo a continuación una lista incompleta de cosas que me parecieron interesantes:

Cultura y organización:

  • Automattic es una compañía distribuida. El 100% de las personas trabajan desde donde quieren. Aunque tiene oficina, apenas se usa para eventos y presentaciones. Incluso el equipo de soporte (hapiness team) es distribuido. Aunque la actividad principal se realiza online, tienen encuentros cara a cara. Una vez al año, toda la compañía se reúne 1 semana en algún lugar del mundo. Además, cada grupo, organiza reuniones periódicas en cualquier lugar (en el año que cuenta el libro, el equipo Team Social de Scott Berkun se encontró en Atenas, Lisboa, Portland y Haway).
  • Se organizan en torno a equipos autogestionados de 5/10 personas. Cada uno de los equipos tiene 1 líder cuya función principal es velar porque nadie esté bloqueado, se realicen avances en las tareas y facilitar la comunicación entre los otros equipos. Más allá de eso, no existe jerarquía más allá de los equipos autogestionados y el rol de Matt Mullenweg como Dictador Benevolente con unas ideas peculiares en cuanto al trabajo.
  • Las comunicaciones internas se realizan principalmente por blogs, IRC y skype. Aunque existe libertad sobre cómo organizarse y las herramientas de comunicación usadas, es habitual que cada equipo tenga un blog sobre su trabajo. Todo el mundo puede acceder a los blogs de otros equipos, los transversales (por ejemplo: un blog ideas de negocio), etc y aportar ideas/comentarios. El mail no es la herramienta principal de comunicación y sólo existen las reuniones que el propio equipo se marque. Cada trabajador obtiene pues visibilidad por lo que aporta, eliminando los incentivos para la existencia de managers.

Contratación y carrera personal:

  • Las contrataciones se hacen mediante audiciones. Esto significa que, antes de ofrecer un contrato, se le ofrece a la persona un proyecto pagado de 1/2 semanas, con facilidades para trabajar de noche o en fin de semana, con el objetivo de que no interfiera con su “antiguo” trabajo. Al pasar el proyecto, si ambos están contentos, se lleva a cabo el contrato. Matt ha comentado en ciertas ocasiones que ésa es su estrategia de gestión: contratar a personas auto-motivadas y darles autonomía. Si bien esto supone un coste para la empresa, un coste mayor es contratar a alguien que no encaja con la cultura.

Ejecución de proyectos:

  • Al iniciar un proyecto, lo primero que se hace es escribir el post de presentación. Esto actúa como una visión aglutinadora del producto y trata de poner el enfoque en las necesidades del cliente, al igual que la estrategia Working backwards de Amazon.
  • El trabajo se estructura mediante objetivos incrementales, sin entregas prefijadas y con cientos de releases por día. Este enfoque de “entregas cuando está listo”, no es algo nuevo, pero que los intervalos de tiempo sean tan cortos es algo que no se podría haber hecho sin un enfoque de continuous deployment. En ciertas ocasiones puntuales, sí hay una agenda (por ejemplo, para la presentación de un plugin en una conferencia como en el caso de JetPack), pero por lo general, los objetivos son (bi)semanales.

No sólo por la originalidad del libro, sino por las cosas que cuenta, lo recomiendo para todos aquellos interesados en la democracia y autogestión en la empresa.

by Andrés at March 22, 2014 08:59 PM

February 16, 2014

Andrés Maneiro

¿Por qué acabo de doar a PrazaPública e GaliciaCiencia?

Acabo de facer unha doazón de 40€ a GaliciaCiencia e outros 40€ a PrazaPública. A razón é moi sinxela: para cambiar o mundo, uso tamén os meus superpoderes de consumidor.

cabecera_gciencia

GaliciaCiencia acaba de chegar apenas ós 4 meses de vida. Pero en tan pouco tempo están aportando grandes historias: ¿sabíades que hai 2 satélites en órbita realizados en Vigo, e que a universidade e o consorcio da zona franca están buscando financiación para crear un nodo aeronáutico na cidade? ¿Ou que Zeltia, a gran farmacéutica galega, nace das investigacións sobre o caruncho do Instituto Miguel Servet? ¿Ou que a primeira referencia documentada do libro-electrónico é de “Doña Angelita”, profesora ferrolá?

logo-praza-publica

PrazaPública, pola contra, cumpleu xa 2 anos. En todo este tempo, fixo un traballo de tratar temas dende unha perspectiva galega, como se pode ver nas 12 novas máis lidas do periódico ata o momento. Pero tamén de crear un novo modo de seguir as novas en base a temas do teu interese ou crear/manter o pulso de outros temas como casos de corrupción como o Pokémon ou o debate sobre a redución do parlamento galego. E celebra este cumpleanos iniciando a publicación de libros xornalísticos, como o «Angrois. O AVE en pedazos», que  é unha “reportaxe longa” sobre o maior accidente ferroviario dos últimos 50 anos en España. Libro de David Reinero, un dos xornalistas que mellor coñecen a política de infraestructura en España.

Ambas iniciativas conforman unha revolución silenciosa, que non aparece nas primeiras páxinas dos medios pero que ten un significado cecáis máis profundo: están creando unha axenda e opinión pública. Si ben actos concretos como as folgas e manifestacións teñen a forza de visibilizar o descontento e, por tanto, modificar os umbrais de rebeldía que poden provocar cambios repentinos; a súa catalización require dun contexto previo e unha axenda posterior.

Que estos 2 medios independentes, con financiación cidadá, sexan parte do ecosistema xornalístico, só depende de nós.

by Andrés at February 16, 2014 01:58 PM

February 15, 2014

Andrés Maneiro

Her

herTheodore es un escritor de cartas por encargo, que está en proceso de digerir el fracaso de su matrimonio. Es entonces cuando se hace con un nuevo producto, un sistema de Inteligencia Artificial que actúa como su ayudante, Samantha. Su IA, toma forma y personalidad con cada nueva interacción hasta el punto de que surge una relación de amor entre ambos.

At once a brilliant conceptual gag and a deeply sincere romance, “Her” is the unlikely yet completely plausible love story about a man, who sometimes resembles a machine, and an operating system, who very much suggests a living woman.

Disembodied, but, Oh, What a Voice

Centrada en los momentos posteriores a la ruptura de un matrimonio que le ha marcado la vida, a Theo, a pesar de escribir emociones para otros, le cuesta entender y asimilar las suyas propias. Se puede considerar, de alguna manera, la continuación de Lost in Translation, que habla de los momentos anteriores a una ruptura como ésa. No sólo por el fino hilo autobiográfico que une a Spike Jonze y Soffia Coppola, sino también por el magnífico trabajo de K.K. Barret como director de arte en ambas, que ha llevado a que la visión e interfaces de Her sobre el futuro ya sea considerada más acertada que la de Minority Report.

Pero lo verdaderamente interesante de Her, es que retrata a una generación, los always connected, fundamentalmente individualista. Generación que define su vida no en torno a una comunidad familiar o de amigos, sino por lo que hace y consume. Es una película selfie, idea que se refuerza con una fotografía y música que recuerdan a la estética hipster de redes sociales como instagram o productos como Apple, donde las comparaciones con Siri son inevitables. Spike Jonze retrata, sin palabras, los cambios que la tecnología provoca en una generación: de fondo solitaria y frustrada por los avatares de la rutina y la vida real frente a la recompensa inmediata y refuerzos positivos continuos que ofrece OS1. Pero también una generación que potencia al máximo su yo y sus logros gracias precisamente a la tecnología – la publicación del libro de cartas Theo es el culmen de este mensaje, algo que él mismo no se habría atrevido a imaginar.

En este sentido, Her es una película equilibrada sobre cómo la tecnología permea nuestras vidas. Pero sobre todo, Her, es una historia sobre alguien que madura y empieza a entender sus emociones.

by Andrés at February 15, 2014 04:56 PM

February 10, 2014

Nacho Varela

Geofier - servicio de capas GeoJSON desde tablas alfanuméricas

Esta entrada es para anunciar el lanzamiento de Geofier, un pequeño software PHP para servidor que sirve capas GeoJSON a partir de bases de datos no espaciales (otra manera de definirlo podría ser como un componente "db to GeoJSON").

Geofier, es un software muy sencillo para resolver de una forma simple y elegante un problema habitual en muchas organizaciones: aprovechar datos espaciales que han sido almacenados como columnas LATITUD/LONGITUD o X/Y durante años y sobre los que giran aplicaciones de negocio dificil de modificar. En estos casos, Geofier se convierte en una solución genial ya que ofrece una API REST flexible que es capaz de generar dinamicamente capas GeoJSON con los datos de estas bases de datos. Estos datos ahora serían perfectamente consumibles en OpenLayers, Leaflet o QGIS, sin necesidad de exportaciones de ningún tipo, es decir, ya se podrían ver en mapas.

Para ver Geofier en funcionamiento, hay disponible una DEMO con datos públicos de una tabla de aforos de la IDE de Augas de Galicia y con una interfaz en la que se pueden llamar a los recursos de la API a través de botones: ver todos, filtrar por ID o filtrar por otro atributo. Los resultados se pueden ven en un mapa y en texto.

Geofier Demo


Al ser tan ligero y fácil de configurar es una pieza de software óptimo para incorporar en cualquier servidor.

Pero será el Jueves, 27 de marzo de 2014 en las 8as Jornadas de SIG Libre de Girona donde se presentará más en detalle este software... ¡¡Qué mejor lugar!!

by noreply@blogger.com (Nacho Uve) at February 10, 2014 07:36 PM

February 02, 2014

Andrés Maneiro

so-create

«When you don’t create things, you become defined by your tastes rather than ability. Your tastes only narrow & exclude people. So create.»

why the lucky stiff

by Andrés at February 02, 2014 06:04 PM

January 23, 2014

Andrés Maneiro

Islas en la red

IslandsInTheNet(1stEd)

Laura Webster, dedicada a las relaciones públicas en el conglomerado cooperativo Rizome, ve cómo su casa/hotel es ametrallado en medio de una reunión de alto secreto mientras uno de los huéspedes es asesinado. A partir de entonces, se embarca en un viaje que la llevará a la Isla de Granada, la República de Singapur, Malí y al desierto subsahariano con los tuaregs. Es durante ese viaje que ella reconoce por primera vez un mundo donde la Convención de Viena y sus instituciones (símbolo de la hegemonía de los estados nacionales) se han visto superadas por los efectos que la globalización ha tenido en la sociedad. Como historia secundaria, Laura observa en primera persona los costes personales y colaterales que tiene ese viaje, la búsqueda de un mundo mejor para la humanidad y no para su comunidad.

A lo largo de la novela, Bruce Sterling, habla de la emergencia de nuevos actores con igual o más influencia que los estados en el orden global (ONG como la Cruz Roja, cárteles y paraísos de datos, movimientos antiglobalización luditas, empresas como Rizome o Kimera, etc),  anticipa la emergencia de la democracia económica y compañías comunitarias que luego Stephenson desarrolla como filés en La era del diamante, escribe sobre estados e instituciones capturadas por mercenarios/grupos de poder o muestra cómo la lucha por el control de las comunicaciones en la red será una de las marcas distinticas del nuevo siglo (bien a través de la censura o bien creando agendas públicas distintas a través de conglomerados de la comunicación). Al leerlo, te vienen a la cabeza inmediatas analogías con los tuaregs de Gresham y el movimiento zapatista, Rizome y Mondragón, la Convención de Viena con el papel de la ONU en la guerra de Bosnia o la OTAN, el ELAT y Al Qaeda, etc. Es, en definitiva, una historia donde -si tienes 25 años o más- verás reflejada la sociedad en que creciste.

Leer esta novela en 2014 provoca un sentimiento irremediable de … por qué no la habré leído 15 años antes. Aunque pierda un poco de la magia del descubrimiento, su lectura es igualmente interesante como scifi y a la vez apta para cualquiera no cercano a ella – porque, en realidad, la mayoría de las cosas que cuenta ya han ocurrido. Aún así -y sabiendo que fue publicada en 1988, un año antes de la caída del muro de Berlín y toda la mitología que abre en torno al fin de la guerra fría- me parece que refrenda el papel de Sterling como uno de los autores más clarividentes de su generación. Etiqueta que, de alguna manera, imagino que ya tenía ganada por su influencia como padre del ciberpunk.

by Andrés at January 23, 2014 10:14 AM

January 17, 2014

Andrés Maneiro

Forma y función, o por qué necesitamos teclados con pedales

En How architecture helped music evolve, David Byrne presenta el argumento de que la obra artística es realizada pensando el contexto al que va destinada. Pone el ejemplo de cómo los distintos estilos de música a lo largo de la historia se han adaptado a los lugares donde iba a ser interpretada: canciones con notas largas y pocos cambios de ritmo adaptadas a los grandes espacios y sonoridad de las catedrales góticas sin amplificación, secciones claramente diferenciadas y con una fuerte carga de música en el caso del jazz que se toca inicialmente en pequeños y ruidosos clubs (gente bailando, hablando entre sí, bebiendo), etc.

Su argumento es: creamos (música) con un contexto en mente, al cambiar el contexto cambia también la creación. Contenido y continente van de la mano.

Y el argumento no es diferente para el software: creamos aplicaciones software pensando en las interfaces hardware en las que va a ser usado. Pensemos por ejemplo cómo la llegada de las pantallas táctiles actuales ha cambiado la interacción: no es un mero cambio del ratón por tus dedos, es un completo nuevo juego gestual que necesita nuevas reglas y aplicaciones diseñadas para ellas que anterioremente no podíamos disfrutar.

touch_events

Sin ser tan claramente rompedor, uno de los casos singulares que conozco es el editor de texto emacs, en el cual la realización de ciertas tareas propias de la programación (formatear texto, compilar, etc) se lleva a cabo mediante un uso intensivo de las teclas CTRL y ALT que en muchos teclados comunes actuales están en posiciones difíciles. ¿Por qué esta irracionalidad e incomodidad? Bueno, en realidad, porque en su origen, emacs fue creado en teclados donde esas teclas eran accesibles, en un teclado como éste, de las antiguas máquinas LISP del MIT:

Space-cadet

Como podéis observar, las teclas modificadoras (azules) más cercanas a los caracteres (letras, números, etc) eran CTRL, META (ahora ALT) y SHIFT.

Conclusión: necesitamos teclados con pedales

Estas pequeñas historias deberían hacernos reflexionar sobre las herramientas que, como creadores, tenemos a nuestra disposición la inmensa legión de los que nos expresamos a través de los ordenadores (programadores, contables, periodistas, etc).

Si la historia de emacs te ha parecido rara, párate a analizar qué teclas pulsas cuando navegas por la red con firefox o formateas una hoja de cálculo con libreoffice. Piensa en ello la siguiente vez que los uses y remapea las teclas comunes a posiciones más accesibles! Pero no nos engañemos, eso no es más que un parche: adaptar los usos y aplicaciones a las interfaces disponibles. ¿Por qué no inventamos nuevas interfaces que se adapten a nuestros usos?

En eso consiste nuestra profesión y, por suerte para la humanidad, hay gente que no lo ha olvidado. En este mismo instante, todos los makers del mundo están creando nuevas interfaces que nuestra generación podrá disfrutar en productos mainstream¿Has visto ya lo que se está haciendo con plátanos?

Pero mientas el futuro emerge y esperamos para programar usando frutas maduras, necesitamos caminos intermedios: debemos reclamar el uso de pedales como complemento a nuestro teclado! Aunque nuestros teclados no sean pianos de cola, por el bien de nuestra ergonomía deberíamos dejar de verlos como un recurso menor que usan personas con menor accesibilidad y más como la última moda para leer noticias cómodamente!

by Andrés at January 17, 2014 09:57 PM

December 31, 2013

Andrés Maneiro

The making of Prince Of Persia

making-pop

Me he pasado las navidades a finales de los 80, sumergiéndome en el mundo de Jordan Mechner, a través del diario cómo se hizo Prince of Persia.

Escrito en formato diario, resume 2 etapas vitales claramente diferenciadas: en la primera (mayo 1985 – octubre 1989), nos descubre al solo-programmer que fue Jordan en el desarrollo de POP – programador, diseñador de la historia, director artístico, comercial, etc. A lo largo de los capítulos, vemos cómo la idea inicial madura hasta que el juego está acabado: desde el uso de las técnicas rotoscópicas para dotar de vida a los personajes a las ideas que hacen que un juego funcione. Pero también nos acerca a los altibajos emocionales de un trabajo a lo cowboy: depresiones creativas, presiones por los tiempos de entrega, cómo el entorno afecta a su productividad como programador, etc.

La segunda (octubre 1989 – enero 1993), se centra en su evolución hacia director creativo de videojuegos culminando con la creación de Smoking Car Productions, la compañía con la que creó The Last express. En esta etapa, sus diarios reflejan un cambio de actividad importante: la programación del videojuego pasa a ser secundaria y priman las actividades de comercialización (gestión de los ports a otras máquinas del juego y licencias), las relaciones que teje con las personas, su carrera cinematográfica, etc.

Habiendo leído otros libros de programadores en formato entrevista, he disfrutado mucho del formato diario personal: aunque es un poco deslabazado y al principio quizá cueste un poco más descubrir al programador que hay detrás de él, es mucho más natural y divertido.

Lectura altamente recomendable. Y si, además deseáis leer el código fuente del juego, está disponible en github! Aunque teniendo en cuenta que está escrito en lenguaje ensamblador para el Apple-II, quizás disfrutéis más de un Code Review con algunas ideas clave del juego.

by Andrés at December 31, 2013 04:29 PM

December 27, 2013

Andrés Maneiro

1ª quedada makers Lugo

Este luns 30 de Decembro, a partir 20:30h, un grupo de interesados no hardware e software libre das cercanías de Lugo quedaremos para compartir cervexas e conversa na cervecería La Internacional. Makers benvidos!


Ver un mapa máis grande

by Andrés at December 27, 2013 01:10 AM

December 07, 2013

Simón Pena

Talking about Open Source Software and Open Source Hardware at the Instituto Español Vicente Cañada-Blanch

(You can find this entry in Galician as well)

 

A month ago, on November 5th, I was invited to deliver a talk at the Instituto Español Vicente Cañada-Blanch, in Portobello, London, to a dozen 14-years old Galician language students.

The "Instituto Español Vicente Cañada-Blanch" is an Spanish school originally opened in Greenwich in 1972, later moved to Portobello in 1982, providing education to the children of Spanish migrants living in London. They have been teaching Galician since the 90s, since Portobello was a preferred location for Galician expats.

During the last three years, Xaime Varela, Galician teacher, invites people from Galicia to talk to his students, either about their jobs or their profiles. He reached me after I joined one of the several Facebook groups for Galician expats in the United Kingdom, so I proposed a talk about  "Software e Hardware Libre nun mundo intelixente". I imagine he was a bit scared at the beginning: "they are only 14 years old!"-, but he was OK as soon as I explained I would adapt the contents to their age.

At Samsung they also liked the idea a lot, allowing me to take the day off on business travel, and handing out some freebies for the students.

So that was it: I could talk during about 45 minutes about Pontedeume -my home town-, A Coruña, Finland, cooking recipes (there is a clear resemblance between accessing source code in software and accessing some special recipe, in order to improve them), about collaborating via Internet... I also explained how mostly every device nowadays, from TVs to phones or tablets, has a certain amount of Free Software on it.

It was very satisfying: the students are amazing and talkative, were very interested, and made some very nice questions. They were delighted with the One Laptop Per Child project (they could try a prototype that Mario had lend me), were almost shocked about the endless possibilities of the 3D printers (like this father that built a low-cost prosthetic hand for his son), and loved my friend Xulio Coira's  Open Pipe project.

All in all, it was a really nice experience that I can only recommend: I would really love to keep doing this kind of "evangelism"! Thanks a lot to Xaime for the opportunity and Samsung for the support!

by Simón at December 07, 2013 12:06 PM

December 03, 2013

Pablo Sanxiao

Hablando de IG y OpenStreetMap en el IES Xulián Magariños

IMG_20131119_165243Desde hace unos años la asociación GHANDALF, una asociación para la difusión del software libre de la que soy socio fundador, organiza una charla en el IES Xulián Magariños. Estas charlas están orientadas a enseñarles a los alumnos que es el software libre y abrirles la puerta a un mundo que desconocen y sobre el que no es habitual que se enseñe en los actuales programas formativos.

Este año he tenido la oportunidad de participar en esta charla y llevarla al terreno donde me muevo actualmente, la información geográfica. Después de liar a otro xeoinquedo, preparamos una sesión de introducción a la información geográfica y al proyecto OpenStreetMap. Queríamos sobre todo transmitirles dos ideas: lo que aporta la componente geográfica a la información y la importancia de que esa información sea libre, igual que el software. Todo ello aderezado con una introducción a OpenStreetMap, un proyecto que aúna perfectamente esas dos ideas.

Los alumnos, en este caso, pertenecían a dos grupos de un ciclo de formación profesional de informática y la verdad es que estuvieron muy atentos y participativos durante las aproximadamente dos horas y media que duró la jornada, lo cual resultó de lo más motivante también para nosotros.

Finalmente agradecer a Roberto la organización de la jornada y a la dirección del centro por la buena acogida y por darles a sus alumnos la oportunidad de conocer el software libre y el mundo de la información geográfica.

by psanxiao at December 03, 2013 01:25 PM

November 24, 2013

Andrés Maneiro

La banalidad del mal

hannah_arendt_ap_imgHannah Arendt, la biopic magníficamente interpretada por Barbara Sukowa, me hace descubrir el reportaje que escribió para The New Yorker sobre el juicio a Adolf Eichmann en Jerusalén.

Una de las ideas clave del reportaje es lo que dió en llamar La banalidad del mal. Para Arendt, Eichman es culpable de ser thoughtfulness: de negarse a pensar y emitir juicio sobre lo que está haciendo, él sólo recibe y ejecuta órdenes. Caracterizando a Eichmann como un funcionario eficiente, no como un ser guiado por el odio, hace un alegato sobre el mal como la dejadez de nuestra principal función como seres humanos: el pensamiento. Si bien existe un mal puro, que disfruta y se regocija de sus acciones, Arendt proclama que es el otro mal, el mal pequeño, la pasividad que soporta al totalitarismo, la negación del pensamiento nuestro mayor peligro como especie.

Esta idea básica (que me entretengo elucubrando que ya estaba en Brecht y de él se transmite a Heideger, y de éste finalmente a Arendt que le da nombre) me devuelve a la mente Home sen nome, de Suso de Toro. Y pienso que hay una fina línea que conecta ambos. Aunque en el libro de Suso, el protagonista sea un ser movido por el odio, de lo que trata es de reconocer el rol que tuvo en nuestra guerra civil el clima de tensión previa, la irresponsabilidad de unos pocos y la pasividad de muchos.

by Andrés at November 24, 2013 02:43 AM

November 23, 2013

Andrés Maneiro

Programación y lingüística

¿Qué es un lenguaje de programación? A nivel lingüistico, se puede definir por su léxico (el conjunto de elementos de que está compuesto), la sintaxis (reglas para la combinación de los elementos, léxico y lexemas) y la semántica (el significado de una estructura gramatical).

Durante la última lectura en que me he embarcado, he empezado a pensar sobre esto, la lingüistica, la programación y sus similitudes. Por ejemplo, para entender la diferencia entre la sintaxis y la semántica es muy útil trazar analogías con el lenguaje natural: así pues, leyendo a Chomsky -Colorless green ideas sleep furiously- lo comprendo mejor.

 Y he empezado a desarrollar la convicción de que entender estas relaciones, nos da herramientas para estructurar mejor nuestras sentencias, y también, nuestro código. Al fin y al cabo código y lenguas versan sobre cómo estructurar mejor nuestras ideas:

The acts of the mind, wherein it exerts its power over simple ideas, are chiefly these three:

  1. Combining several simple ideas into one compound one, and thus all complex ideas are made.
  2. The second is bringing two ideas, whether simple or complex, together, and setting them by one another so as to take a view of them at once, without uniting them into one, by which it gets all its ideas of relations.
  3. The third is separating them from all other ideas that accompany them in their real existence: this is called abstraction, and thus all its general ideas are made.

– John Locke, An Essay Concerning Human Understanding (1690) (via SICP)

Programar, como escribir, consiste en controlar la complejidad de un sistema/idea, y transmitirla de un modo sencillo a otros. Porque

«programs must be written for people to read, and only incidentally for machines to execute»

– SICP, preface to the first edition

by Andrés at November 23, 2013 04:25 PM

September 09, 2013

Andrés Maneiro

An outsider overview of #sotm13

sotm_2013

Last weekend I was in Birmingham for the StateOfTheMap, to learn how we could be more involved in OSM in a number of projects we have down the line.

Although I’m a casual mapper and I did know some things about OSM and its core technologies, this was my first in-depth immersion into that world. Note also that during the conference I followed a specific path into the multiple choices we had so, do not expect me to write a complete summary of the conference neither a hands-on guide on “How Mapnick stylesheets were ported to CartoCSS” (enjoyed a lot that talk by the way!). I’ll focus on the community side of the conference.

Other that that, OSM is strugging with growth. For me, there is a subtle line which connects Alyssa Wright’s “Changing the Ratio of OSM communities“, Richard FairHurt’s “You are not the crowd“, the tools built by the Mapbox guys for the next generation of contributors, the world-class documentation the HOT team is creating and the multiple talks on gamification during the conference: they’re all talking about how should OSM growth. Being it the social side of it (how could we engage new contributors?) or the technical one (what tools do we need for people to find easy work with OSM?). That is a challenge, but a challenge that most of the communities I know would like to have.

As an outsider, I got the impression that OSM is like a teenager that still has to define itself in some aspects. And my belief is that it it manages to do it in a smoothly fashion, it will have an even brighter future ahead.

by Andrés at September 09, 2013 01:45 PM

August 27, 2013

Pablo Sanxiao

eBook de Cómo perdimos el mundo

Cómo perdimos el mundo es un cuento de verano, escrito por entregas por David de Ugarte y publicado en El Correo de las Indias.

A pesar de estar presente en alguna conversación sobre el mismo de Fran y Andrés mientras tomábamos un café y de conocer la iniciativa de ir creando un mapa interactivo con las ubicaciones de los personajes según discurría la historia, fui capaz de aguantar hasta el final para poder leerlo del tirón.

Aprovechando unos días de relax en la playa no se me ocurre mejor momento para disfrutarlo, así que he convertido las entregas en el blog en un eBook para poder leerlo cómodamente en mi libro electrónico. Si como yo, has esperado hasta el final para leerlo puedes descargártelo en formato .epub.

fringe-icon-epub

Para crear el libro electrónico he usado LibreOffice con la extensión Writer2ePub.

Actualización: El fichero fuente de LibreOffice para generar el eBook está disponible aquí.

by psanxiao at August 27, 2013 10:05 PM

August 08, 2013

Pablo Sanxiao

Primera Geocamp ES

Después de haber participado en la geocamp 2012 y 2013, un grupo de geoinquietos, apoyados por la asociación Ghandalf, hemos organizado la primera versión española de la misma, a la que hemos denominado geocamp ES, el pasado mes de Junio.

Esta primera edición tuvo como escenario el local de la asociación de vecinos de la villa de Bouzas, en Vigo. La ubicación elegida encajaba perfectamente con la filosofía de la geocamp, que busca alejarse de los clichés típicos de las conferencias, tanto a la hora de establecer los contenidos, como en la localización, tratando de huir de las grandes ciudades y buscar rincones con encanto. En esto último, Bouzas tuvo un encaje brutal, brindando a los participantes toda la hospitalidad y encanto de los pueblos gallegos, especialmente los de una pequeña villa marinera.

Con todos estos ingredientes nos juntamos aproximadamente unas 50 personas para compartir experiencias en torno a las tecnologías de información geográfica libres. Finalmente contamos con 12 charlas en el improvisado programa que se preparó en el inicio del evento con las propuestas de los asistentes.

programa_geocamp

 

Tuvimos la suerte de poder contar con gente muy relevante del panorama SIG a nivel mundial, como Juan Marín de OpenGeo, la participación de Javier Arce en representación de Vizzuality  o de Jorge Arévalo, creador del driver de conexión a PostGIS Raster de GDAL, entre otros. Mención especial merece también la presencia de Hugo Santos, uno de los organizadores de la Geocamp en Portugal y que quiso estar con nosotros dándonos su apoyo para la creación de esta versión española. También la participación de Xulio Coira, megra-crack del mundo del Hardware Libre que puso una nota diferente, nunca mejor dicho, presentando la OpenPipe, una de sus creaciones.

Fue un día lleno de experiencias que permitió también juntarse con amigos y conocidos de este mundo a los que no ves habitualmente y con los que apetece tomarse unas geobirras de vez en cuando.

Como la parte lúdica y social no puede faltar en estos eventos y estando en Galicia no pudimos poner mejor broche final que con una queimada, amenizada por el sonido de una gaita, aunque fuese electrónica.

grupo
quiemada

 

Como además estábamos en una villa marinera y gracias a la colaboración de la Asociación de Mariñeiros San Miguel de Bouzas, parte de los asistentes pudieron disfrutar, ya al día siguiente, de un paseo por la ría en embarcaciones tradicionales.

barcos

 

Si todo va bien el próximo año repetiremos experiencia, también en Galicia, así que si te perdiste la primera geocamp ES, aún estás a tiempo de engancharte en la segunda.

by psanxiao at August 08, 2013 07:01 AM

July 30, 2013

Andrés Maneiro

Cómo perdimos el mundo

Cómo perdimos el mundo es la historia del verano. Si os interesa la descomposición que nos rodea y los posibles actores emergentes de todo este proceso, os invito a que, enchuféis este cuentito a vuestros RSS. No os perdáis los comentarios. Para los que no podemos disfrutarlos de cerca, es la alternativa virtual a un domingo de churrasco y cafés largos con los indianos. Brillante mapeo. Y entretenido. Estoy disfrutando como un enano!

by Andrés at July 30, 2013 04:55 PM

July 28, 2013

Andrés Maneiro

Douglas Engelbart, the father of all demos

the_mother_of_all_demos

¿Qué somos, como programadores, sino diseñadores de la interacción máquina-humano? ¿Dónde nos hemos dejado las capacidades de inventar el futuro? Es lo que me evoca la visión de “The mother of all demos” que Bret Victor se encarga de rescatar en el epitafio a Douglas Engelbart.

Cuando la veáis, poned en perspectiva que Bill Gates y Steve Jobs -los líderes de la siguiente generación- tenían 13 años cuando Engelbart hizo esta demo; y apenas unos años atrás hemos empezado a disfrutar parcialmente de aplicaciones que el equipo de Doug había desarrollado en 1968 (colaboración en tiempo real sobre un documento, por ejemplo).

Categorizar a Doug Engelbart es difícil. Su rol fue el de un visionario. Quizás Alan Kay fue el que mejor lo describió: un Moisés que nos dirigía a la tierra prometida.

Más info:

 

by Andrés at July 28, 2013 02:56 PM

June 30, 2013

Andrés Maneiro

A new development era

Tarek Ziadé has posted a few months ago an interesting essay on his blog: A new development era. Summing up: web technologies (HTML5, JS) are gaining importance to build complex apps in the client (whatever it is: desktop, browser, phone, tablet) and the server side is becoming a proxy of lightweight services to interact with.

2000_2012 2015_

The post resonated with me due to the fact that my work during last months was to build a rich client app in Javascript with lightweight JSON services built in python. But, as far as I’ve seen it, this tendency is more spread than I thought: it’s not only happening within early adopters, but also within big players in the desktop realm (Windows, GNOME) and the old-school java server applications. Maybe is a new swing of the pendulum, or just that the promise of cross-platform apps that just work in multiple environments is appealing. What is certain, is that the next million apps seems to go towards that tendency.

by Andrés at June 30, 2013 03:24 PM

June 28, 2013

Andrés Maneiro

Beck and Cunningham

Con Alan Kay inicié una serie de entradas sobre pioneros de la informática. Referentes de los que uno lee o descubre algo. Hoy continúo con Kent Beck y Ward Cunningham.

Kent y Ward crecieron con el SmallTalk de Ingalls y Kay. Me aventuro a pensar que su temprano contacto con este lenguaje pionero influyó en cómo se aproximaron después a la programación. De algún modo son sus discípulos y representan la segunda generación de ingenieros informáticos de la historia. Ambos han tenido un papel relevante en los principales temas de los 90 en el desarrollo de software: los patrones de diseño, la orientación a objetos y la emergencia de las metodologías agile en la gestión de proyectos.

Por todo ello, a pesar del pesimismo de Kay, yo creo que esta generación sí tomó su relevo:

«I think one of the things we liked the most about Smalltalk was not what it could do, but the fact that it was such a good vehicle for bootstrapping the next set of ideas we had about how to do systems building.»

– Alan Kay

La génesis de los patrones de diseño

La referencia al término patrones de diseño en programación más antigua se le atribuye a Ward y Kent, que la presentaron en OOPSLA 87: Using pattern languages for Object-Oriented programs. El concepto de patrón lo toman prestado del mundo de la arquitectura:

«Each pattern describes a problem which occurs over and over again in our environment, and then describes the core of the solution to that problem, in such a way that you can use this solution a million times over, without ever doing it the same way twice.»

– ChristopherAlexander

Una vez planteado el problema en la OOPSLA, los siguientes años son frenéticos. Mucha gente trabaja en los patrones. Las siguientes conferencias tienen multitud de referencias a ellos. La idea flota en el ambiente. Uno tras otro van acumulando conocimiento, a hombros de gigantes. Su extensión fue meteórica, apenas 7 años después de que Beck y Cunnigham lanzasen el guante, la GoF (Gang of Four) tenía publicado su libro canónico. Estábamos en el peak del movimiento:

En paralelo a todo ello, Ward y Beck se convierten en una referencia en el mundo Smalltalk que inaugura la moderna orientación a objetos. Para aquellos que deseéis apenas catar lo que fueron esos años, ese maravilloso caldo de cultivo de las ideas, os recomiendo que leáis este artículo: History of patterns.

by Andrés at June 28, 2013 06:05 PM

June 16, 2013

Andrés Maneiro

Maverick, de Ricardo Semler

maverickMaverick es un repaso por las vicisitudes que Semco ha pasado desde que Ricardo Semler tomó las riendas de la empresa en 1980 hasta 1995, momento de publicación de libro y cuando ya era uno de los mayores ejemplos internacionales de democracia empresarial.

Probablemente en Managing without managers [PDF], artículo publicado en 1989 en la HBR, se destilen los principios básicos de la gestión en SEMCO. Y en Leading by omission, vemos un Semler cómodo en la platea. Si te han gustado ambos pero te has quedado con ganas de más, deberías leer este libro. Cada capítulo es una historia que, de algún modo, representa el nacimiento de la nueva SEMCO. No faltan momentos tensos: huelgas, despidos, corrupción, etc a los que toda empresa se enfrenta. Y esa narrativa de cuento, de historia, que destila todo el libro es lo que le da valor por encima de cualquier paper.

by Andrés at June 16, 2013 03:32 PM

June 14, 2013

Andrés Maneiro

Managers not MBAs

«If people want to be managers, there’s a better route to it: get into an industry, know it, prove yourself, get promoted into a managerial position and then, go to a program that uses managerial experience explicitly not other people’s cases, but your own experience.»

– Henry Mintzberg, on MBA education. In a debate with Ricardo Semler.

by Andrés at June 14, 2013 05:43 PM

June 12, 2013

Nacho Varela

Rellenar valores vacíos de una tabla con el anterior no vacío

Imagina que tienes un CSV con valores en una columna vacios de la siguiente forma

FECHA;VALOR
15/06/12;7
18/06/12;0,5
 ;0,25
20/06/12;1
 ;2
 ;1,5
 ;2
 ;0,25
22/06/12;1
 ;2
 ;1
 ;1
 ;0,5
 ;1,5

Vemos que la columna FECHA no siempre está relleno y queremos que se complete con el valor de la primera fila anterior con valor no nulo. Ahí va una solución rápida y sencilla usando el programa awk

cat myfile.csv | awk -F';' \
#Inicializo variable que almacena el valor válido
'BEGIN {d=""} \
{if ( $1 != "" ){
#Si no esta vacio asigno el valor
d=$1;
}
#Pinto el valor correcto para la primera columna
printf d";";
#y luego el resto
for (i=2; i<NF; i++) printf $i ";"; print $NF
}'

by Nacho Uve (noreply@blogger.com) at June 12, 2013 05:31 AM

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