Master on Libre Software Planet

June 28, 2015

Andrés Maneiro

Una crítica a la arquitectura Spring clásica

He estado leyendo el artículo Understanding Spring Web Application Architecture: The Classic Way.

Creo que es un buen artículo porque explicita algo que no mucha gente hace en esta clase de cosas: cómo se distribuye la lógica del dominio en la  arquitectura que propone. En este caso, la divide entre servicios, objetos entity, objetos value, etc … y aunque no lo haya puesto de manera explícita, es habitual que, en el mundo real, la lógica del dominio llegue a los controladores de las vistas. Precisamente ésa es la principal crítica que se le puede hacer: propone un modelo del dominio anémico, lo que supone problemas de testeabilidad y comprensión de las reglas del dominio, dos de las actividades que me parecen más fundamentales en el desarrollo de software. No es un problema menor.

Sin embargo, hay otra crítica que se le puede hacer a estos sistemas. Con un impacto igualmente importante, pero quizás más sutil y difícil de ver: tienen un mayor riesgo de quedarse obsoletos. Este tipo de sistemas tienden a ser usados (por su propia manera de ser) como un todo: usas desde el ORM que empaqueta hasta su sistema de directivas HTML/JS (que, obviamente, tiene sutilezas que lo hace distinto a HTML y JS). Suele ser complejo integrar cosas diferentes a las que te propone el framework. Esto hace que seas vulnerable en áreas donde exista gran volatilidad o innovación. Por ejemplo: hoy en día, es inmensa la innovación que se está dando en las interfaces con HTML y JS, tanto por la consolidación de nuevos estándares –HTML5, ECMAScript6– como por la propia dinámica de la industria que ha apostado fuerte por estas tecnologías en los últimos años. Por lo tanto, si usas un sistema de plantillas propio del framework que sea un sucedáneo de HTML y JS, estás invirtiendo en un conocimiento/tecnología específico que en breve tiene grandes posibilidades de quedarse obsoleto.

Hasta aquí la crítica. Me parece importante entender también el atractivo que tienen este tipo de sistemas todo-en-uno. Desde luego que son atractivos al inicio, ya que venden que puedes construir una aplicación en un par de días sin programar ni pensar sobre cómo hacerla. Probablemente sí puedas hacer alguna cosa muy rápido. Me imagino que las primeras semanas pueden ser un camino de rosas. Pero lo que veo en el mundo real es que, a medida que inviertes tiempo en un framework todo-en-uno, los riesgos de encontrarse con sus límites y quedarte bloqueado son altísimos: costes altos de mantenimiento por falta de integración de tests, semanas de desarrollo para hacer lo que parece una pequeña mejora porque supone revisar la lógica en varios lugares e implementar la nueva petición en otras tantas capas, interfaces que no son tan atractivas como las de los competidores, etc.

Para mí, estos son unos riesgos no menores que no asumiría a no ser que los pros fuesen espectacularmente altos. Y habitualmente no lo son. Es muy fácil dejarse llevar y no darse cuenta de estas sutilezas, pero es igualmente peligroso, porque entonces serán los clientes los que te pidan más de lo que puedes dar a un precio competitivo o directamente contraten a otra compañía que se lo pueda ofrecer. Por eso me parece que la selección tecnológica no es meramente una cosa técnica, sino que tiene un impacto muy alto en el futuro de los productos que tu empresa puede ofrecer y conviene tener en cuenta tu contexto y no tomársela a la ligera.

by Andrés at June 28, 2015 03:12 PM

Del diseño de los centros comerciales

Who enjoys shopping at IKEA? es un recorrido por diferentes diseños de tiendas y centros comerciales, que explica por qué Harrods vendía los sábados menos de lo esperado o cómo los recorridos de IKEA favorecen que el 60% de lo que nos llevamos  no esté en nuestra lista inicial de compra. Walmart bien pudo haber aprendido esto antes de perder billones de dólares con el rediseño de sus pasillos. Al hablar de ratios de conversión y accesibilidad, hay lecciones que se pueden extrapolar al diseño de interacción.

by Andrés at June 28, 2015 11:33 AM

June 27, 2015

Andrés Maneiro

Buxton about time-to-market

«Too often, universities try to contain the results of research in the hope of commercially exploiting the resulting intellectual property. Politicians believe that setting up tech-transfer incubators around universities will bring significant economic gains in the short or mid-term. It could happen. So couldwinning the lottery.»
Buxton refiere investigaciones hechas en Microsoft para la Academia de Ciencias estadounidense. Afirma que las grandes innovaciones tecnológicas tardan enormes cantidades de tiempo y dinero en hacerse mainstream. Las implicaciones que tiene el informe para la financiación de la transferencia tecnológicas son claras: una fuerte inversión estatal en investigación básica sostenida en el tiempo, con inversión privada en las últimas etapas para llevar la innovación a mercado.

by Andrés at June 27, 2015 11:34 AM

June 26, 2015

Andrés Maneiro

Pointing stick

image

La galería de objetos interactivos de Bill Buxton es una gozada (y me da impulso para ampliar mi propia compilación). Te puedes encontrar cosas como la historia del trackpoint o pointing stick de IBM contada por el propio Ted Selker, inventor del dispositivo. Novelada por Malcom Gladwell, esta historia podría ejemplarizar la dureza de llevar al mercado una innovación: trabas burocráticas y técnicas, momentos de bajón, tesón y premio final.

Me pregunto dónde estarán ahora los Ted Selker de nuestra generación.

by Andrés at June 26, 2015 08:12 AM

June 25, 2015

Andrés Maneiro

Atom 1.0

Atom 1.0 ha sido publicado. De alguna manera salió de mi radar y se me pasó que hay paquetes para Linux desde hace meses. Declaran que en 1 año han hecho 155 releases, es decir, 3 por semana. Todavía me sorprende lo bien que funciona y lo mucho que se ha extendido el estilo agile: si es que ha sido 4 años atrás cuando los grandes adoptaron este estilo! La apuesta de Atom es alta: unir emacs y las chrome devtools. Creo que es la primera release de un editor que me genera expectativas.

by Andrés at June 25, 2015 09:27 PM

Blanka

Hace unos días me reencontré con Blanka, una web de carteles de grandes diseñadores. Esta vez, lo que me ha dirigido hacia ella ha sido la búsqueda de carteles de Müller-Brockman:

muller-817 muller-1305 muller-1299
muller-2848 muller-3153 muller-3156

Y como los viejos amigos siempre tienen una historia que recordar, aproveché para darle un repaso a los de Otl Aicher para los juegos olímpicos de Munich 1972:

aicher-3145 aicher-3144 aicher-3143
aicher-3140 aicher-3133 aicher-3127

by Andrés at June 25, 2015 08:00 AM

June 06, 2015

Andrés Maneiro

Cómo está cambiando la industria del software

image

Se podría decir que The software paradox, de Stephen O’Grady, relata cómo la irrupción del software libre e internet en los 90 han erosionado la venta de licencias de software como el principal motor económico de la industria, en favor de otros espacios de la cadena de valor. Cómo el software pasa de ser vendido como un producto standalone a ser parte de otra cosa: servicios (amazon, atlassian), productos (apple, nest), publicidad (google, facebook). Quizás no resulte una lectura novedosa para el que sigue el día a día de la industria, pero es muy agradecida por su análisis de varios casos de compañías del mundo tecnológico.

Recomiendo compaginarla con la charla Software G forces: the effects of aceleration de Kent Beck. Me parece que se comprende todavía muy poco cómo las metodologías ágiles sirvieron de catalizadores en esa transición, cómo la reducción del time to market habilitó el nacimiento de estos gigantes.

by Andrés at June 06, 2015 12:09 PM

June 03, 2015

Nacho Varela

Compilar automáticamente Vistas y procedimientos en Oracle

En ocasiones en bases de datos Oracle donde se almacenan procedimientos y vistas (sobre todo cuando hay relaciones entre estos elementos) pueden producirse errores que provocan que una compilación defectuosa incluso con elementos que estaban correctos.

En algunos casos estas "descompilaciones" de VIEWs y PROCEDUREs se dan con cierta frecuencia y generan el malfuncionamiento de la base de datos y las aplicaciones que la usan. No he conseguido determinar porqué se produce este fenómeno, pero al menos he visto el modo de poder detectarlo. Para los schemas de BD "MYSCHEMA1" y "MYSCHEMA2":



-- CHECK invalid views
-- and
-- invalid procedures (MYSCHEMA1, MYSCHEMA2)


SELECT OBJECT_NAME, OBJECT_TYPE, owner
FROM all_objects
WHERE object_type in ('PROCEDURE', 'VIEW')
AND owner in ('MYSCHEMA1' , 'MYSCHEMA2')
AND status = 'INVALID'
;

exit;

Una vez detectado los errores de compilación se puede forzar la ejecución de una compilación con la sentencia:



-- Recompile invalid views
-- and
-- Recompile invalid procedures

begin
FOR cur IN (SELECT OBJECT_NAME, OBJECT_TYPE, owner
FROM all_objects
WHERE object_type in ('PROCEDURE', 'VIEW')
AND owner in ('MYSCHEMA1', 'MYSCHEMA2')
AND status = 'INVALID' ) LOOP
BEGIN
if cur.OBJECT_TYPE = 'PACKAGE BODY' then
EXECUTE IMMEDIATE 'alter ' || cur.OBJECT_TYPE || ' "' || cur.owner || '"."' || cur.OBJECT_NAME || '" compile body';
else
EXECUTE IMMEDIATE 'alter ' || cur.OBJECT_TYPE || ' "' || cur.owner || '"."' || cur.OBJECT_NAME || '" compile';
end if;
EXCEPTION
WHEN OTHERS THEN NULL;
END;
end loop;
end;
/
exit;

Uniendo estas 2 sentencias en un script y programando la tarea en CRON con cierta frecuencia, se puede actuar sin intervención humana sobre este problema automáticamente.

by Nacho Uve (noreply@blogger.com) at June 03, 2015 07:33 AM

May 23, 2015

Andrés Maneiro

Silk Road

«Silk Road offers a neat political parable for the rising liberartian tide in Washington and the smug pride of today’s Sillicon Valley, where self-appointed revolutionaries of all stripes believe their powers allow them to trascend tradicional moral boundaries, including their own mortality. In a way Silk Road is the dark mirror of The social network, a wild technological succes story taken to its logical extreme conclusión.»

La historia sobre Silk Road (el ebay de productos ilegales) que publica Wired en dos partes -el ascenso y la caída– bien podría simbolizar el Eliot Ness VS Al Capone de nuestra generación.

Es una lectura que requiere un par de horas, pero que valen la pena. La narrativa es digna de novela negra. La exposición de un tema nada fácil, clara y accesible a público general con un mínimo conocimiento tecnológico (saber lo que es una IP y conocer TOR). Profundiza en ciertos detalles oscuros del caso y dibuja a Ross Ulbricht desde varios puntos de vista.

by Andrés at May 23, 2015 11:28 AM

May 22, 2015

Nacho Varela

Sin estilos en Django admin

Si al subir una aplicación web a tu servidor, por ejemplo en Heroku, y no están accediendo a los estilos y otros ficheros estáticos, puede deberse a una mala configuración de las variables STATIC, STATIC_URL, etc. El tema de servir este tipo de ficheros está bastante bien recogido en la documentación oficial de Django, pero siempre pueden surgir problemas.

Si la página de administración "/admin" está estilos seguramente aparecen errores tales como:

static/admin/css/base.css 404 NOT FOUND
en la consola de desarrollador del navegador.

Si tienes acceso al servidor puedes probar a importar manualmente los ficheros estáticos con el comando:

python manage.py collectstatic --noinput
# En Heroku, algo como...
heroku run -a MYAPP python manage.py collectstatic --noinput
y podrás diagnósticar mejor el problema.

El probable que el problema sea que no existe el directorio que esté definido en settings.py como STATIC, por lo que si en el momento actual no existe, una solución sería crearlo e incluirlo en el repositorio.

mkdir static
touch static/empty ## debido a que GIT no lleva cuenta de carpetas vacías
git add static
git push -am "Added empty static folder to collect files on the server"

Más información sobre Heroku, Django y static files

by Nacho Uve (noreply@blogger.com) at May 22, 2015 06:13 AM

May 19, 2015

Nacho Varela

Eliminar texto en consola al ejecutar script en sqlplus (Oracle)

Cuando lanzamos un script muy largo a través de sqlplus del modo:
sqlplus user/pass@db < myscript.sql
a veces este genera un gran volumen de mensajes en consola que hacen que se pueda ralentizar el proceso. Para evitarlo, se puede apagar esta salida de texto introduciendo al comienzo del script los comandos:
set termout off
set feedback off

by Nacho Uve (noreply@blogger.com) at May 19, 2015 02:55 AM

May 16, 2015

Andrés Maneiro

Vignelli on logo equity

«The notion of a logo equity has been with us from the very beginning of time. When we were asked to design a new logo for the FORD Motor Company, we proposed a light retouch of the old one which could be adjusted for contemporary applications. We did the same for CIGA HOTELS, CINZANO, LANCIA Cars and others. There was no reason to dispose of logos that had seventy years of exposure, and were rooted in people’s consciousness with a set of respectable connotations.

What is new is NOT a graphic form but a way of thinking, a way of showing respect for history in a context that usually has zero understanding for these values.»

— Massimo Vignelli, The Vignelli canon

Tengo en la memoria la reciente visita a Glasgow. Cómo el diseño que Mackintosh hizo para la GSA me pareció una actualización de la Glasgow University: mismos materiales, idénticas ideas básicas sobre la el aprovechamiento de la luz con sus ventanas enormes, pero formas estilizadas para la época. Lo mismo con algunos diseños para muebles. Como Vignelli, el pasado y la continuidad histórica como inspiración.

by Andrés at May 16, 2015 02:40 PM

May 11, 2015

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 May 11, 2015 06:03 AM

April 25, 2015

Nacho Varela

Problemas harddisk en Windows 8

He tenido este problema en un portatil con Windows 8.1:
KERNEL_DATA_INPAGE_ERROR
Aquí va lo que he hecho, al volver a arrancar:

  1. Abrir CMD.exe como administrador
  2. Revisar los eventos de sistema con
    eventvwr
  3. Ejecutar:
    DISM /Online /Cleanup-Image /RestoreHealth
  4. Ejecutar y revisar el log de:
    sfc /scannow 
  5. Hacer un chequeo de disco (en el siguiente reinicio) con:
    chkdsk C: /f /r /x

by Nacho Uve (noreply@blogger.com) at April 25, 2015 05:49 AM

April 24, 2015

Pedro González

Cities as information systems

Back in 2011 y wrote a post in this blog which dealed with Pherecyde's Cloth myth and its relation to map making and GI managing [1]. The starting point of my thoughts were Ray Kurzweil's [2] predictions about the capacity of real things (i.e. stones) to store information. That was kind of a seminal approach to what is now known as the Internet of  Things (IOT), but taken even far beyond.

I remembered these things when I begun writing my previous entry, what took me to also remember another question related to Kurzweil's words: the importance of treating science areas as Information Systems. He explictly mentions medicine and biotechnology, but a friend of mine, Dr Lois F. R. Vázquez, has another good view on this issue as he teaches Computational Chemestry at University of A Coruña. Both of them mention the terrible impulse that all of these disciplines suffered as soon as they begun being modelled as information systems.

Given that I was, by then, developing my final work for TechniCity class at Coursera [3], I begun considering whether what I was proposing by means of the meta-framework for i-Coruña Intelligent City project wasn't actually but thinking of the city as an information system. And the more I think of it, the more I am sure that that's, precisely, the answer to build more intelligent cities by using information technologies.

Thinking that implementing IT solutions to solve given, not interconnected urban problems makes a city to be smarter is rather simplistic. By following that track, the only thing that you'll be obtaining is a set of more or less smart applications, but you will never get your target city to become smarter, and you will be far away of getting it to be more intelligent.

As the Spanish National Plan on Intelligent Cities [4] stablishes, you will only achieve that your city becomes more intelligent if you think of it in a holistic way. And that's exactly what thinking of it as an Information System produces: a holistic view on the city, with ITs being the tools to manage that view.


[1]: http://giseiel.blogspot.com.es/2011/06/pherecydes-cloth-ii-ecloth.html 
[2]: http://en.wikipedia.org/wiki/Ray_Kurzweil
[3]: http://class.coursera.org/techcity-003
[4]: http://www.agendadigital.gob.es/planes-actuaciones/Paginas/plan-nacional-ciudades-inteligentes.aspx

by Pedro A. González (noreply@blogger.com) at April 24, 2015 04:24 AM

April 18, 2015

Pedro González

Are smart cities really smart?

Hi again!

Several months ago, the mayoral candidate of the local branch of Spanish Socialist Party in my hometown asked me to write a paper about "smart cities". That paper should be used to define her program for the election process regarding this issue.

Due to this commission, I begun reviewing papers, publications and web sites about that matter, including that of the curent smart project of my town, of course. As a consequence, I soon got to a first conclussion: technology was generally being claimed to be "the" way to make cities to be smarter. I thought that this one was a rather reductionist point of view, as cities are very complex human organisations, and an only techy solution wouldn't ever be the answer.

By that time, I received information about the launching of a Coursera class on Techni Cities, held by Ohio State University, and, within its pre-readings, I found a very inspirational paper written by Gordon Falconer and Shane Mitchell, from Cisco Internet Business Solutions Group (IBSG), and entitled: "Smart City Framework: A Systematic Process for Enabling Smart+Connected Communities". This paper put me into the way to a new perspective on smart cities and on their planning and designing processes.

From that moment on, I begun thinking of "Intelligent Cities" instead of  "Smart Cities", which I consider to be a more restrictive concept. In consequence, I started a search on the web, whether someone before me (as I presumed) had already come to similar conclusions. This way, I found the site of the Intelligent Community Forum, where I discovered a defintion for "Intelligent Communities" that did fit better whith my thoughts: "an Intelligent Community is the one which have – whether through crisis or foresight – come to understand the enormous challenges of the Broadband Economy, and have taken conscious steps to create an economy capable of prospering in it.” Nevertheles, even being wider in concept, this definition is still biased: even when it doesn't rely exclusively in technology, it is purely economic based. So, still not enough.

Some after, I knew about the publication of the Spanish National Plan for Intelligent Cities. When I reviewed its contents, I found a new definition which, moreover being more comprehensive, did also talk about "intelligent cities". So, accordingly to this definition, an intelligent city would be "the holistic vision of a city that applies ICT to improve the quality of live and accessibility of their inhabitants and assures a permanently improving economical, social and environmental sustainable development. An Intelligent City allows the interaction of citizens in a multidisciplinar way and gets adapted, in real time, to their needs, in an efficient way regarding both costs and quality, offering open data, citizen (conceived as individuals) oriented solutions and services, to solve the negative effects of city growing, within both public and private sectors, through the innovative integration of infrastructures and intelligent managing systems." Great, isn't it?

So, finally, Intelligent Cities are far beyond that techy-centered idea which is generally applied to Smart Cities and they rely on a more holistic and governance-focused conception.

When I wrote my final project for Technicity class, I did take this concept into mind. Here you can access the resulting paper:

http://www.slideshare.net/pgonzalp/i-corua-project


by Pedro A. González (noreply@blogger.com) at April 18, 2015 11:34 AM

March 17, 2015

Andrés Maneiro

Diseño y testeabilidad

Todo programador que lleve un tiempo en esto, ha vivido debates sobre «arquitecturas» o «patrones de diseño». Dentro de la serie que he iniciado para hablar de desarrollo de software en una PYME, creo que estos debates tienen un encaje fundamental porque una vez seleccionas tecnología tienes que darle forma de alguna manera. Y esa manera es el «diseño» o «arquitectura» de tu producto.

El «buen diseño»

Lo primero que conviene recordar es que la reducción de los tiempos de producción y mayor calidad de producto es el camino de una PYME para ofrecer el máximo valor posible al cliente. En el mercado, eso te pone en una situación favorable con respecto a tu competencia. Definiremos, pues, como «buen diseño», aquel que se pone al servicio de la producción, que permite aumentar la calidad y reducir los tiempos de desarrollo.

Podemos continuar y definirlo como flexible y mantenible, bello y que hace sentirse orgulloso al que lo crea, etc. Pero el problema no es tanto definirlo, sobre lo que existe mucha literatura, sino cómo se llega a él y cómo se mantiene a lo largo del tiempo. Porque tenemos que reconocer que no es fácil y que existen varios problemas. Para empezar, no existe un diseño universal válido sino que hay tantos como contextos, que las personas, además, insisten en tener diferentes opiniones sobre qué es un «buen diseño» y que ambas cosas se reflejan en el código – lo que fácilmente puede convertir tu producto en una torre de babel ininteligible si no se construye una visión común. Tenemos, además, estructuras de comunicación disfuncionales que provocan diseños sub-óptimos, deuda técnica y requisitos cambiantes que introducen variantes a lo largo del tiempo, rotación de personas en los equipos y distintos niveles de experiencia que dificulta la transmisión de ideas, etc. Es decir, el software, su diseño, se ve afectado por las fuerzas humanas y organizacionales. ¿Cómo podemos ponerlo a salvo? ¿Cómo asegurarnos de que las fuerzas están en equilibrio y el diseño sirve a nuestros objetivos?

Necesitamos salvaguardas que nos permitan calibrar qué es un «buen diseño» y controlar su degradación a lo largo del tiempo, herramientas que nos ayuden a caminar hacia a él y nos orienten.

Los tests como salvaguardas

Michael Feathers, en su libro «Working effectively with legacy code» desarrolla la idea de cómo trabajar con software que está degradado. Cómo, partiendo de código degradado, se puede conseguir un «buen diseño» a partir de las restricciones habituales en el día a día (tiempos limitados, código con altas dependencias, etc). Es un libro por ello interesantísimo porque te cuenta ciertas maneras de cómo llegar a ese buen diseño. Y su principal herramienta son los tests:

«When you start to try pull out individual classes for unit testing, often you have to break a lot of dependencies. Interestingly enough, you often have a lot of work to do, regardless of how “good” the design is. Pulling classes out of existing projects for testing really changes your idea of what “good” is with regard to design. It also leads you to think of software in a completely different way.»

Empatizo por completo con su visión. Sobre los tests hay poco que decir: tener o no tener, that’s the question. Porque tenerlos afecta a la producción a varios niveles:

  • El primer efecto y más obvio es que, tenerlos, reduce los tiempos más inciertos y difíciles de estimar en proyectos de software: el testeo manual que hay que hacer en cada versión y el bugfixing. En gran medida, estos tiempos son los que suelen determinar que un proyecto sea o no rentable.
  • Otro efecto un poco más indirecto es que, para desarrollar software testeable, necesitamos dividirlo en trocitos, evitar y romper las dependencias. Es decir, estamos en la dirección de desarrollar software reutilizable, reducir la complejidad.
  • Quizás un poco más sutiles sean los efectos a nivel personal, pero no menos importantes. Por un lado, aportan seguridad y confianza en tu trabajo a posteriori ya que tienes algo objetivo y automático que te dice que funciona. Pero es que además, durante el proceso, tener feedback continuo te ayuda a enfocar tu trabajo y a mantener tu moral alta a base de pequeñas victorias cotidianas. Y la moral, en tareas creativas, es un factor clave en la productividad.

Conclusiones

Tests y diseño van de la mano. Una vez has sentido sus efectos, tu visión cambia. Aprendes que un buen diseño es un diseño testeable. Porque eso es lo que te va a permitir reducir tiempos de producción y aumentar la calidad de lo que ofreces, ganarte la vida desarrollando software de un modo sostenible, que, al final, es de lo que va todo esto.

by Andrés at March 17, 2015 09:06 PM

February 17, 2015

Andrés Maneiro

Inversión y amortización en la selección tecnológica

Dependiendo del día y la hora, actúo como programador, dueño o CTO en una PYME. A lo largo de estos años, me he encontrado en varias ocasiones ante la situación de tener que seleccionar tecnología para un proyecto, compaginando los diferentes roles y perspectivas.

Poco a poco, he ido desarrollando «una intuición», una personalidad propia sobre la dirección que nos interesa a la hora de valorar las opciones tecnológicas. La selección tecnológica en una PYME es un proceso que va más allá de lo técnico, tiene componentes sociales, y también económicos. Estos últimos son los que quiero explorar con esta nueva serie con unos cuantos amigos. Se habla demasiado de los beneficios intrínsecos y universales a cada tecnología particular y muy poco de todo lo demás, que posiblemente tenga más influencia en el tipo de relaciones que una PYME puede generar con su entorno.

Inversión y amortización, lo nuevo y lo viejo

Durante la ejecución de un proyecto, van emergiendo ideas que permitirían reducir tiempos o abrir nuevas oportunidades de negocio a medida que el aprendizaje se consolida. Algunas de ellas tienen sentido y unos costes que te permiten ponerlas en marcha de inmediato; otras, requieren más tiempo o maduración. Aunque suelo ser muy comunicativo con estos aspectos (la comunicación es el oxígeno de una compañía con responsabilidades distribuidas como la nuestra) no es hasta que toca pensar un proyecto nuevo en que bajo esas ideas a la práctica y me pregunto: ¿qué es lo más efectivo que podemos hacer en este proyecto para mejorar nuestros procesos y productos? ¿hacia dónde se están moviendo las necesidades de nuestro mercado? ¿necesitamos cambiar algo drásticamente? Este proceso de evaluación continua requiere mantenerse actualizado y es muy necesario para que el cambio no te pille desprevenido, para evitar ahogarse si el mercado en que navegas naufraga:

«When heavily invested in a technology, you live in a memetic bubble, which also serves as an echo chamber. Bubbles created by vendors are particularly dangerous because you never hear honest appraisals from within the bubble. But the biggest danger of Bubble Living comes when it starts collapsing, which you never notice from the inside until it’s too late

En ese proceso de re-evaluación, hay ocasiones en que toca apostar por algo nuevo y soy consciente de lo que eso supone: estamos ante una inversión. Decidimos invertir porque la posibilidad de beneficios pesa más que los costes y riesgos. La promesa puede ser que nos ayudará a acceder a nuevos mercados, fortalecerá nuestra posición frente a la competencia o reducirá nuestros tiempos y costes de producción, entre otras (aunque éstas son las más habituales que me encontrado por el momento). No puedo negar que, como humano y programador, mi pasión por aprender cosas nuevas y «hacer las cosas bien» influye también en mis decisiones.

Sin embargo, noto que, con los años, mi impulso por asignarle a lo nuevo características positivas por defecto, es menor: soy más juicioso. Quiero pensar que he aprendido a valorar el esfuerzo que supone aprender algo nuevo hasta el punto de, no sólo ser productivo, sino poder ofrecer una alta calidad en mi trabajo. Por muy necesaria que sea la prospectiva y mantenerse actualizado, nuestra industria peca con asiduidad de confundirla con dejarse llevar de forma baladí por la novedad, aporte o no. En economía existe un concepto llamado amortización, que viene a decirnos que el valor de algo se extiende en el tiempo y, por lo tanto, va contra el beneficio sustituirlo mientras su valor no está agotado (no está amortizado), a no ser que lo nuevo aporte un valor netamente superior.

Hablar en estos términos de la selección tecnológica (inversión VS amortización) nos ayuda a enfocar los problema y buscar soluciones.

¿Es posible encontrar el equilibro entre las fuerzas?

Las decisiones tecnológicas no se toman en el vacío, hay un contexto previo, procesos y personas implicados. Necesitamos aprender a reflexionar sobre tecnología no por las cualidades intrínsecas y universales de la misma, sino por las interacciones entre el conjunto de fuerzas en juego. Necesitamos una microeconomía del software, una herramienta que nos ayude a evaluar el equilibro y nos oriente en la toma de decisiones.

En mi experiencia, el equilibro es frágil y complicado de predecir, pues incluye preguntas de difícil respuesta como: ¿cuándo un framework que hemos usado se puede considerar amortizado? ¿cuánto va a retrasar la entrega/proyecto el uso de esta nueva librería? ¿cuándo voy a percibir los beneficios de su implantación? ¿es sensato introducir Node en un equipo de 4 personas donde 3 de ellas no tienen conocimiento web ni javascript previo y el 80% de los proyectos que vas a realizar en los siguientes 2 años son aplicaciones de escritorio?

Pero aunque sea difícil la tarea, una vez sabes que estas fuerzas existen, son fácilmente reconocibles y pensar en clave de oposición entre ellas aporta un inmenso valor en la toma de decisiones. A partir de ese momento, has pasado de ser programador a convertirte en CTO: piensas la PYME como una unidad de producción y estás teniendo en cuenta no sólo tu proyecto o intereses personales sino la evolución de la empresa. Incluyes en tus análisis que, a las finales, esto va de ser rentable para dar de comer a los que la componen.

En esta encrucijada por encontrar el equilibrio, a lo largo de los años, he ido detectando ciertas variables que modulan la intensidad relativa de la inversión y amortización:

Experiencia del equipo

La historia de por qué Disqus usaba Backbone y Django como opción por defecto refleja el tipo de cosas que tienes que preguntarte. La cuestión clave es saber si, además de ti, hay alguien (en tu equipo directo o a salto de subcontratación) que pueda echarte una mano ahora o pueda recoger tu testigo a medio plazo. Si trabajas en una PYME seguramente vas a necesitarla más pronto que tarde ya que esto es como una comunidad donde, si bien hay distribución del trabajo, hay también mucho de pluriespecialismo y colaborar un poco en todo – bien por tamaño del equipo, bien por apurones.

Capacidad de adaptación del equipo

Relacionado con lo anterior, es esperable que la experiencia y capacidades de tu equipo estén alineadas con lo que vendes y produces. Un cambio supone un impacto, un tiempo de aprendizaje de otras capacidades, moverse hacia otras direcciones. El tiempo que le lleva a alguien llegar al punto de ser productivo ante un cambio es muy variable de persona a persona y tiene mucho que ver con su experiencia previa y su pasión por aprender. Algunas empresas lo pueden solucionar cambiando de equipo a golpe de talonario; las que nos definimos como democráticas y aspiramos a crecer horizontalmente, de manera orgánica, debemos tener en cuenta que el impacto del cambio en nuestros tiempos de producción y calidad del producto final no va a ser despreciable.

Acceso e integración de talento

Hoy en día, en España,  si te sales de Java y sus frameworks (Spring, Struts, Wicket) es probable que te encuentres con que los recién licenciados no conocen de qué estás hablando. En las escuelas de informática se está abusando de la concentración en torno a Java, probablemente por la promesa de oportunidades laborales en las «fábricas de software» (que por otra parte se ahorran tiempo de formación porque los nuevos ya vienen de casa aprendidos). En cuanto a gente con experiencia en una tecnología reciente (pongamos por caso Scala, Node), el coste de acceso a ese talento y el riesgo de que se vaya al poco tiempo puede ser prohibitivo para una PYME. Sin duda hay espacio entre tecnologías ampliamente conocidas y otras todavía minoritarias, la cuestión es saber que la decisión tiene impacto en tu capacidad de contratar talento y valorar en qué parte del espacio te conviene estar.

Mercado: oligopolios y efectos red

En ciertos mercados, las opciones tecnológicas tienden a la concentración. En mi caso -sistemas de información geográfica y web- en el stack tecnológico pesan mucho lenguajes como javascript, python y java, con esos lenguajes puedes hacer casi cualquier cosa: desde un plugin para una aplicación de escritorio a una web con servicios de geolocalización. Si buscas sinergias con otras empresas, necesitas integración con otros proyectos, quieres usar librerías existentes o simplemente reaprovechar conocimiento en este sector, conocer Ruby es menos valioso y te abrirá menos puertas que los 3 anteriores. Un economista puede reconocer fácilmente esta situación como efectos red del ecosistema (número de empresas participando, librerías existentes, disponibilidad de foros de consulta, etc). Los efectos red tienen más impacto en el éxito de una tecnología que su belleza o calidad técnica superior. Es la razón por la que PHP y Javascript ganaron la web a principio de siglo, a costa de Perl que tenía el dominio en los 90.

Nivel de indirección y reaprendizaje de la tecnología

Uno de los mayores costes del desarrollo de software es el re-aprendizaje. Al cambiar de tecnología no sólo se pierde código, sino también conocimiento. Apostar por una solución más cercana a los estándares -o con menos conocimiento específico, llamémosle magia- facilita que pierdas menos cada vez que te cambies, aunque puede ser más costoso al inicio ofrecer lo mismo que con otras soluciones con más magia. Por ejemplo, una tecnología como Backbone te habilita a usar los estándares (al final casi sólo te ofrece una manera de organizar tu código Javascript), sin embargo Angular o React te proponen el aprendizaje de una serie de idioms propios a cambio de la promesa de la rapidez de desarrollo.

Volatilidad y adaptación al cambio de la tecnología

Ligado a lo anterior, se puede decir que una opción tecnológica puede estar más preparada que otra para adaptarse al cambio. Una base de código que, por ejemplo, esté basada en Backbone es potencialmente más flexible a la hora de integrar novedades tecnológicas que otra que siga los idioms de React. Esta última tendrá que esperar a que en React se integren los cambios de los estándares o aparerezcan plugins que lo hagan – dependiendo del tamaño del ecosistema alrededor de React esto puede ser más rápido o más lento. Una situación de volatibilidad hace que el período de amortización de una tecnología pueda ser anormalmente corto, lo que afecta a tu capacidad de generar beneficio si tienes que cambiarla al poco tiempo de empezar a usarla. Pueden existir zonas del código y el proyecto con alta estabilidad (no hay ni se esperan novedades tecnológicas) mientras que otras tienen una alta inestabilidad. Lo importante es detectar dónde te interesa no casarte con nadie porque todo está en ebullición y  dónde es seguro además de recomendable hacerlo porque el período de amortización es estable y la reducción de costes es real, no sólo una promesa.

Amortización esperada de la tecnología

Esto tiene que ver con el cálculo de los beneficios esperados. Influyen cosas como lo que estimes que vas a trabajar con esa tecnología en el futuro (no es lo mismo que, durante los siguientes años, estimes un reparto de trabajo de 90% en productos web y 10% en proyectos móviles que un ratio de 60% para aplicaciones de escritorio y 40% en web). Si lo que esperas es crecer mucho en un área determinada, tendrás más espacio para amortizar la inversión porque tendrás más oportunidades de reutilizar el conocimiento y código que has hecho. El alcance de las inversiones tecnológicas deben ir acordes también con tus expectativas de negocio y evoluciones estratégicas.

Margen de inversión

En una PYME no es muy habitual poder dedicar 3 meses a realizar prototipos un poco complejos con varias tecnologías. Habitualmente los tiempos son muchos más reducidos y necesitas sacar trabajo adelante. Es importante que sepas el tiempo que tienes para equivocarte y salir del apuro cumpliendo con las entregas de un proyecto, porque eso va a ser principalmente tu margen de inversión. Aquí importa no sólo el tiempo de duración del proyecto, sino también la incertidumbre que lo rodea: estabilidad de los requisitos, conocimiento previo del dominio, confianza con el cliente para negociar reducciones de alcance o retrasos, etc. También influirá tu compromiso a la hora de solucionar los marrones donde te has metido. Por ejemplo, parece claro que el margen de inversión que tiene un proyecto de 1 mes con alta incertidumbre en cuanto a requisitos, es mucho menor que otro de 12 meses donde conoces perfectamente el dominio y los riesgos que existen.

En mi experiencia, estas variables modulan la intensidad de la inversión o amortización y, dependiendo de la elección en que te encuentres, unas pesan más que otras. Por ejemplo, a la hora de seleccionar un lenguaje y ecosistema para un nuevo proyecto, el mercado de referencia (y sus efectos red) así como la composición de tu equipo son 2 de las variables que me parecen más importantes. Sin embargo, a la hora de seleccionar una librería concreta, el nivel de indirección y volatilidad del ecosistema suele tener más peso en mis decisiones.

A medida que uno avanza y toma experiencia se van haciendo más claras éstas y otras variables, aparecen nuevas, otras se reinterpretan. Lo importante es reconocer las fuerzas, no dejarse llevar por los análisis universalistas y pensar el impacto de las decisiones desde un contexto determinado: el tuyo.

by Andrés at February 17, 2015 11:33 AM

February 14, 2015

Andrés Maneiro

La importancia de la selección tecnológica en una PYME

Un post reciente de Manuel me hace retomar una serie que tenía a medio escribir y que fui dejando de lado por la agitación del día a día: la importancia de la selección tecnológica en una PYME.

La idea central de la serie es que las decisiones tecnológicas no se dan en el vacío y tienen impacto en otras áreas de la empresa: la contratación y evolución del equipo, la capacidad de generar relaciones con otras empresas o la comercialización y el acceso a trabajos y proyectos. Habitualmente las discusiones tecnológicas gravitan en torno a aspectos intrínsecos al lenguaje (sintaxis, el tipado, etc), dejando de lado factores extrínsecos pero quizás más determinantes en el tipo de relaciones que la empresa puede establecer.

Una PYME debe conocer su espacio en el mercado y eso, parcialmente, pasa por hablar de tecnologías de otra manera: con un lenguaje y visión económica. Con un ojo en el negocio y otro en la técnica.

Por eso os propongo un reto: escribir un post semanal durante 3 semanas relacionado con la selección tecnológica en una PYME.

Posts de la serie:

by Andrés at February 14, 2015 03:54 PM

January 26, 2015

Nacho Varela

No cerrar consola de windows al ejecutar un script

Si tienes un script, por ejemplo de python, que quieres ejecutar en Windows con un acceso directo (asociando la ejecución con "pythonw.exe" para que se lance la consola) vemos que se al hacer click sobre él se ejecuta, pero no podemos ver el resultado ya que se cierra rápidamente la terminal de línea de comandos.

Un truco sencillo es usar el comando "pause" como última línea del script.
Veamos un ejemplo:

C:\Python\pythonw.exe myscript.py
pause
Con eso antes, tras finalizar el script de python se detiene la ejecución hasta que el usuario pulse una tecla y se puede ver la salida del programa en la consola.

by Nacho Uve (noreply@blogger.com) at January 26, 2015 12:58 AM

January 17, 2015

Andrés Maneiro

IDEO y el diseño

IDEO es una consultoría que ha tenido un gran impacto en el diseño industrial de nuestra generación: desde el diseño del primer portátil hasta el primer ratón para el Lisa y el Macintosh. También es el lugar donde se generó el término diseño de interacción.

applemouse_hero_626px

Repasando una de las entrevistas a David Kelley, uno de los fundadores y reputado diseñador industrial, me ha llamado la atención ciertas ideas comunes que he visto en otras compañías como Pixar y sus pelis.

¿Qué perfil tiene un buen diseñador?

«Successful design depends on a design mindset: one that is open to possibilities and ready to take risks in a creative leap into possibilities that are not yet defined and whose consequences are not yet visible.»

Según Kelley, un buen diseñador sería un disidente, se siente cómodo en considerar ideas que a priori parecen locas o sinsentido: es pues alguien que debe tener confianza en sí mismo y amigos – un entorno que acepte su naturaleza y propicio al desarrollo de la idea. Es alguien también sin miedo a exponerlas ante otros por “el que pesarán”, ya que compartir es un método de obtener feedback y mejorarla. Finalmente, debe tener una cierta mirada abierta sobre el mundo, con una disposición continua a aprender, a no estancarse en lo que ya sabe:

People who are good inventors—good designers—don’t mind saying, “How about following this path, which doesn’t yet exist?” Most people have trouble doing that; they preface everything they say in a brainstorm with “This idea may be stupid, but here it is.”They are afraid that someone else will think that their leap is stupid.

Successful designers just send out their vision to the world; and then, when somebody else builds on it, that’s okay. They’re not protective of their ideas because they’re so used to having ideas. A creative designer has an idea a minute. Publicizing an idea is a way to improve on the idea—someone else can build on it, expand it.If you’re fluent with ideas, as most design people are, you don’t have to be fearful.You don’t protect your one good idea because your afraid you’ll never have another good one.

The other point about making the leap is being able to keep seeing a problem from new perspectives. Anybody who has a strong filter on the world forces everything to fit that filter. In our product-design courses, we assign exercises where you take an object and look at it backward, or you draw it from an ant’s point of view, or see it as material. For example, think about a computer monitor. It is just plastic with a piece of glass.Maybe I could do something completely different with it.

A central tenet of design is that you have to avoid stereotyping—the designer has to continue to say, “That’s interesting! Look at that!” That skill is hard to teach. All you can do is to give people the experience, and to let them extrapolate from it. A good designer has always had substantial experience.If you ask designers “What’s design?” they can’t tell you. But a designer who has had experience knows what design is.

De la organización del trabajo

En IDEO, el trabajo se hace por equipos. Ciertamente hay gente con mayor capacidad que otros para dar el salto creativo, pero ese proceso se da en una comunidad: entre iguales que no tienen miedo a decir lo que piensan ni a que se “apropien de su trabajo”. Principalmente en los inicios del proyecto, existen sesiones de brainstorming donde puede participar quien lo desee. La decisión y responsabilidad es del que inicia el proceso.

Successful design is done by teams. Creative leaps might be taken by individuals, but design thrives on the different points of view found in teams.You want a multidisciplinary team, what we call x-func (cross-functional). You want different brains working on the problem. Otherwise, the person with the power, or the person who speaks the loudest, sets the direction for the whole design.You have to keep a broad perspective at the beginning; you have to be uncomfortable with the fact that you’re not moving forward in a straight line toward the goal (and, project managers do want to move forward!); you have to feel comfortable with exploring.

In a company such as IDEO, where you have many creative people, when someone has a great idea, nobody ends up knowing whose idea it was. It’s not branded as George’s idea. Either nobody knows whose idea it was, because of all the discussion that took place, or everyone thinks it was his or her own idea.Either perception is equally good, and both happen frequently.

In our company, the person who owns the solution is the person who posed the question. If I’m the one who says, “Let’s create a new toaster,” I own everything that happens, because I initiated the discussion. In most cases, the clients are the owners, because they pose the question. You can hold a brainstorm on any subject you want, any time. Just send out a message that says, “I’m holding a brainstorm at 2:00. Will you come?” And everybody comes. You’d think everybody would say, “Oh, I’m too busy.” Not true: People know that they are going to need you to come to their brainstorm tomorrow. So the culture requires you to participate in other people’s problems.

You eventually get to the point where you look forward to the brainstorm for two reasons. One is that sessions are genuinely interesting. It’s like reading a book or reading the encyclopedia—you learn about a new subject. The other reason is that it’s not your problem. The guy who’s got the toaster problem has the client; he has to get the design done on time; he has to make that leap that makes us so uncomfortable. The other designers come in totally relaxed, totally free to generate ideas in the toaster area, because it’s just fun. They’re helping, and the only pressure on them is that they want to help their peer.

A diferencia de Pixar, que es una compañía de producto, IDEO es una compañía de servicios. Como consultoría sufre pues la tensión entre aceptar ciegamente lo que el cliente pide o tomar parte en la definición del problema para llegar a una mejor solución. La resolución de este conflicto es curiosamente similar a la de Pixar: inicialmente, el rango de opciones es amplio y se exploran alternativas (sesiones de brainstorming, prototipado, etc). A medida que el proyecto avanza, entra en otras fases de producción donde la capacidad de tomar otros caminos es menor debido a los costes.

Say that a company comes in and says “We want you to design a new toaster.” And I say “We’re going to study bread crisping in its generic sense.” They say, “Look, I told you just to design a toaster. Get going.” They think that the world of what a toaster could be is small. But we might say, “Look, our job is to begin by looking at the history of bread. “Maybe we want to see whether they had a better way to make toast in Renaissance France or on the Space Shuttle. We don’t want just to design the curlicues on the side of the client’s next toaster. Maybe what we’re going to find from looking at this history is that the best solution is to put more curlicues on the side, but I always say: “Think about how much more comfortable you’re going to feel that we are doing the right thing if we do a broad search and then narrow down.”

Breadth takes extra effort at the beginning, but that’s the best time—right at the outset of the product development process—to take a step back to see the situation. The design part of the product process takes a small portion of time. The next steps after design have 10 times the cost, time, effort, and emotional stress. Then, manufacturing incurs 10 times that. So time invested at the beginning isn’t wasted; we make up the cost in later stages easily, by doing the design right.

by Andrés at January 17, 2015 12:46 PM

January 13, 2015

Andrés Maneiro

The design trilogy

Estos días he sacado un rato para ver los documentales que Gary Hustwitt publicó en su The design trilogy.

helvetica objectified urbanized

El primero, Helvetica, es una ventana a la evolución, modas y debates del diseño gráfico en los últimos 50 años a través de una de las tipografías más usadas de todos los tiempos. Objectified explora los objetos que nos rodean y el trabajo de los diseñadores industriales. Por último, Urbanized glosa los temas fundamentales que articula nuestra unidad básica de convivencia: la ciudad – transporte, vivienda, ciudades post-industriales, planificación y participación urbana, etc.

Todos ellos siguen el formato entrevista, con un buen balance entre «las estrellas del campo» y desconocidos con cosas interesantes que decir. Ligeros, entretenidos y nada fáciles de hacer. Me parece que funcionan muy bien como divulgación en varios temas centrales a los que somos como sociedad: recomendables.

by Andrés at January 13, 2015 10:54 PM

December 28, 2014

Andrés Maneiro

Black Mirror: White Christmas

Se está convirtiendo en tradición familiar acabar las navidades viendo el discurso navideño de Charlie Brooker: Black Mirror. Luego de dos temporadas inmensas, fuimos a este especial con ciertas reservas: ¿se puede estar a la altura con una propuesta de un único capítulo semi-homenaje a Dickens donde dos exiliados comparten confesiones navideñas?

Jon_Hamm_Black_Mirror

La respuesta es: White Christmas. Un capítulo que comparte principalmente el universo de otros como Be right back y The entire history of you, tanto en temática (centrada en las relaciones sociales) como en tecnología, pero añadiéndoles nuevos ingredientes como la posibilidad del bloquear/banear personas en la vida real y crear un clon de tu cerebro mediante un artefacto llamado cookie.

El resultado es un mensaje navideño que hace pensar sobre la invisibilidad y la frustación, la necesidad humana de socialización, el amor, los weareables o la internet de las cosas. Tengan felices fiestas. ¡Y no se olviden de ver Black Mirror antes de iniciar el nuevo año!

by Andrés at December 28, 2014 02:08 AM

December 02, 2014

Andrés Maneiro

Lexicon

lexicon_usaLexicon es, en su superficie, un thriller conspiranoico: una sociedad secreta tiene un arma que permite subyugar la voluntad de las personas y hacerlas actuar contra su voluntad, coercionarlas.

Que el arma sea el lenguaje y la sociedad secreta esté compuesta por poetas a los que se le asigna una identidad literaria ilustre –Eliot, Brontë, Yeats, Woolf, Goethe, PushkinRosalía de Castro, etc- cambia la perspectiva: el thriller es apenas el packaging, lo que dicta el ritmo, lo que envuelve una maravillosa novela cyberpunk sobre el poder del idioma y las relaciones humanas.

Una novela cyberpunk

La novela tiene la agilidad y sarcasmo del mejor Max Barry, el de Jennifer Gobierno, pero también una madurez que le lleva a fijarse en nuevos temas – o quizás simplemente sean los mismos pero en diferentes avatares.

Los dos motores de la novela son las tramas alrededor de Emily -una joven vagabunda estadounidense que la organización recluta para convertirla en poetisa- y la de Will -un carpintero australiano inmune al poder de las palabras y que es arrollado por la existencia de tal cosa. Luego de las presentaciones de rigor, aparece en el centro de la trama una «palabra desnuda», un conjunto de lexemas que produce una subyugación inmediata y de una magnitud hasta entonces desconocida en todo aquel que la ve. Un arma de destrucción masiva. A partir de entonces, descubrimos también a secundarios como Yeats -la cabeza de la organización en Estados Unidos y que desea hacerse con el poder de la palabra- o Eliot -uno de los mejores poetas pero que tiene reservas en cuanto al modus operandi de la organización. Los secundarios, lejos de ser personajes planos, añaden a la composición de temas matices que sería imposible imaginar sin ellos: la discusión sobre la necesidad de reconocimiento y sentirse parte de una comunidad se quedaría coja sin el contrapunto y la religiosidad de Yeats; vacíos quedarían los diálogos sobre el amor sin la trágica figura de Eliot, etc.

Globalización, lenguaje y periferia

Al principio, que el centro de la acción fuesen únicamente poetas de habla inglesa, me generó cierta desilusión, pero lo achacaba a las referencias que tendría el propio Barry y asumía esa invisibilidad de lo periférico. Sin embargo, me parece más interesante entender la arquitectura básica de la novela como una forma tímida -y no del todo explícita- de reconocimiento de las desigualdades que genera el inglés como lengua franca.

Max Barry es australiano y su mercado nativo el inglés, no creo que le dejasen publicar una novela sobre esta temática si fuese muy explícito. Sin embargo, me parece que nos quiere decir algo al situar como personajes principales a la rama estadounidense de la organización con ganas de dar un golpe de mano, a una vagabunda que por el mero hecho de nacer en el corazón del imperio accede con facilidad a un poder inmenso y a un personaje periférico como Will, artesano, pero ajeno al arte de la palabra y a su influencia (es decir: todo lo que rodea la sociedad de la información) que al final se ve arrollado por ella y se ve forzado a tomar parte de igual manera.

Otras referencias

Lexicon es sin duda una de las mejores novelas que he leído últimamente. Además de entretenida, enlaza con otras historias igualmente impactantes que merece la pena rescatar:

  • Will me recuerda mucho a Ashitaka, de La princesa Mononoke: otro periférico al que se llevan por delante los vectores de desarrollo de la globalización (en su caso la dicotomía sobre progreso y naturaleza, en la forma de un dios jabalí enloquecido, que llega a su aldea y le contagia un virus) y que por eso mismo se ve forzado a tomar parte en la batalla (tiene que ir en busca de la fuente que originó la locura del dios para poder sobrevivir).
  • La «palabra desnuda», la vertiente lingüística de Lexicon con los segmentos poblacionales y la reinterpretación de la Torre de Babel, enlaza directamente con el hackeo de cerebros y la mitología sumeria que tan bien cuenta Stephenson en «Snow Crash».

Como puntilla final, hubiese sido maravilloso que Eliot contase entre sus correligionarios a Gil de Biedma, pues su biografía tiene todo lo necesario: además de ser un gran admirador de Eliot y Yeats, Biedma tiene un cierto desapego por lo que implica ser poeta en su tiempo, lo que le convertiría en un secuaz ideal. Que además haya escrito «Las personas del verbo» le añadiría cierta magia al asunto!

by Andrés at December 02, 2014 09:31 PM

November 28, 2014

Andrés Maneiro

Bienestar, belleza y bluetooth

Radiografía introductoria del sector wearable –o computadoras de vestir– que trata de entender cómo son los productos que están llegando al mercado hoy día.

De anillos y relojes

abacus_ringUno de los primeros wearable registrado fue un anillo con ábaco incluido, que se estilaba entre la aristocracia china alrededor del año 1600 – se supone que con fines comerciales. En paralelo, en Europa se desarrollaba el reloj de bolsillo, que no tenía interactividad pero igualmente era exclusivo de la alta sociedad.

A partir de entonces, la llegada de otros wearables al mercado se estanca más o menos 3 siglos, hasta bien entrado el siglo XX. Más allá de la popularización de los relojes de pulsera, es entonces cuando se introducen novedades en el ámbito militar (cascos infrarrojos, etc) para ir saltando posteriormente a otros sectores con predisposición al gasto en complementos como el fitness o la industria del videojuego: toda una anticipación de la nueva revolución industrial y ejemplo de manual de los nuevos mercados que habilita la reducción de la escala de producción. Sin embargo, a pesar de las grandes promesas, el mercado de masas se mantiene más o menos ajeno a esta tendencia, excepto por el eterno candidato a ser the next big thing: el «smart watch».

La historia del «smart watch» sirve como metáfora de un sector atrapado en la trampa de las escalas que, desde los 80, lucha por vendernos «smart watches» y no ha conseguido ofrecernos cosas realmente innovadoras, que deseemos comprar y vestirnos más allá de mp3 e ipods. Luego del boom de los relojes Seiko en los 80 y 90 compatibles con varios ordenadores, no es hasta la entrada del nuevo siglo que vemos una nueva propuesta: la de Microsoft con la iniciativa SPOT que, en 2003, incluye también un reloj. Ninguna de estas propuestas cala realmente y, a finales de la década, en 2009/2010, empresas como Samsung o Sony insisten empezando a sacar al mercado nuevos relojes que conectan con el incipiente mundo de la movilidad (móviles con acceso a datos y tarifas razonables). Para 2012, con la irrupción de Pebble, la tecnología y el mercado están maduros para que el reloj se conecte masivamente con el mundo multimedia del móvil y el 3G. La llegada de Apple a este sector, en 2015, no es para nada innovadora ni aporta nuevo valor añadido, más allá de protegerse de la competencia en un sector -dicen- a punto de explotar. De todos ellos, probablemente sea Google con sus gafas el más atrevido, aunque todavía nadie sabe muy bien para qué valen y cómo se comportarán en el mercado de masas.

La venganza de los pequeños

La irrupción de Pebble, además de dar la alerta a los grandes, ha servido también para hacer creer a los pequeños, ha funcionado como el pistoletazo de salida del renacimiento del hardware. Aunque no era más que otro reloj, lanzaba varios mensajes:

  • A nivel producción, se hizo evidente que la tecnología y relaciones comerciales permitían ya a una PYME con un equipo pequeño salir al mercado global y competir con los grandes: pequeña escala, gran alcance.
  • A nivel venta, visibilizaba como ningún otro proyecto que un mercado tan saturado como el de complementos, estaba abierto a la creación de tendencias desde abajo, apoyados por una generación que entiende el consumo como una herramienta más de personalización y activismo.
  • A nivel financiación, los 10 millones de dólares conseguidos a través de kickstarter, gritaban: ¡podemos prescindir de Sillicon Valley!, nos dimos cuenta de que es posible financiar un producto sin perder el control de la empresa.

Desde entonces han pasado un par de años y el nuevo mundo industrial no se ha hecho esperar, tenemos ya miles de ejemplos. Como era de esperar, los gigantes llegan tarde, y la segunda generación de «wearables de los pequeños» nos ofrece un catálogo más amplio e innovador que lo que podemos obtener de los grandes, aunque todavía muy poco disruptivo.

Bienestar, belleza y bluetooth

hush arki khushi

Hay 3 vectores que definirían uno de los principales sectores de avance de los «wearables de los pequeños»:

Así pues, hoy día, en los «wearables» que están llegando a mercado, vemos un mundo distinto al de la ubicuidadque usa el móvil como proxy hacia la red y tiene como acicates comerciales el bienestar y la belleza. Nada todavía realmente rompedor, pero que apunta vectores donde la ubicuidad y sus retos asociados (privacidad, propiedad intelectual, etc) estará en juego.

by Andrés at November 28, 2014 03:28 PM

September 20, 2014

Andrés Maneiro

El Vermeer de Tim

Vermeer_TheMusicLessonEl Vermeer de Tim es un documental donde el millonario Tim Jenison, con ninguna experiencia en pintura y mucho dinero, se propone realizar una de las obras más emblemáticas de Johanes Vermeer, The music lesson.

En primer lugar, Tim construye una habitación idéntica a la de Vermeer en Delft: alquila un lugar con la misma incidencia de luz, compra y construye muebles, viste maniquís de forma idéntica, etc, para posteriormente pintarla en base al uso de espejos para reproducir fielmente la escena.

La controversia

Según la teoría Hockney-Falco, algunos grandes maestros como Velázquez o Vermeer habrían usado ópticas y ayudas mecánicas para la realización de sus pinturas. Llevando al extremo esta hipótesis, Tim pretende comprender las técnicas que Vermeer podría haber utilizado.

Johanees Vermeer es un pintor peculiar: perteneciente a la edad dorada holandesa del siglo XVII, no aparece en las compilaciones de su época como un gran pintor y es sólo en el siglo XIX donde se le redescubre como uno de los grandes por su tratamiento realista de la luz. Hoy día se le atribuyen poco más de 30 obras: 2 exteriores de Delft, una alegórica, pocos retratos y todo lo restante son escenas costumbristas dibujadas en el interior de su casa, en la misma habitación. Sobre sus técnicas poco se sabe; además de que no se ha descubierto un diario de su actividad, tampoco hay registro de su formación: en la época para poder vender cuadros uno debía pertenecer a un gremio y estar 6 años formándose y, si bien existe constancia de que Vermeer pagó la cuota de inscripción en el gremio de San Lucas, lo hizo como si hubiese estudiado en el exterior. En los estudios con rayos X de sus obras, no se evidencia que haya usado bocetos previos para realizar el dibujo, sino que los cuadros son su primera y única versión. Finalmente, se especula que Vermeer podría haber tenido acceso a las mejoras ópticas del momento a través de Leeuwenhoek, conocido por desarrollar el microscopio y tener una fábrica de óptica: Leeuwenhoek no era sólo ciudadano de Delft y coetáneo de Vermeer, sino también su albacea.

Todo ello hace de la figura de Vermeer un candidato ideal para la controversia al respecto de las ayudas ópticas y mecánicas, que ha provocado un cierto terremoto entre un sector de los historiadores de arte, que entienden que se está acusando a los grandes maestros de “hacer trampas”.

Vermeer como hacker

Personalmente, este documental me lleva a conclusiones muy distintas: los maestros son aquellos que no sólo dominan el arte, sino que no dejan de innovar e introducir nuevas técnicas en sus pinturas.

Un buen cuadro, es un objeto complejo que combina diferentes aspectos: desde el mensaje y la selección de la mirada sobre el mundo, el uso y creación de pigmentos para obtener una coloración específica y personal hasta el uso de la trigonometría para alcanzar perspectiva y profundidad. ¿Por qué habría de ser el uso de espejos para acercar la escena algo estigmatizado? Vermeer, de confirmarse la teoría, sería para mí un hacker, alguien que trata de conocer y mejorar las herramientas y técnicas que tiene a su disposición para llevar a cabo su tarea.

¿Qué significa ser artista?

El debate latente que pone a la superficie este documental, es: ¿qué significa ser artista? El documental, me hizo recordar una historia relativa al director de Pixar Andrew Stanton y su época en CalArts, mientras estudiaba con Bob McCrea, uno de los 9 hombres de Disney, al que todo aspirante a animador idolatraba.

Andrew y su pandilla tenían dudas sobre el uso en animación de ciertas tecnologías de la época (VHS, etc), que no se habían usado en los años de oro de Disney. De alguna manera ellos se sentían puristas y consideraban que la animación debía hacerse como siempre, como la habían hecho los padres fundadores. Ed Catmull cuenta la historia así:

«One of the best-loved instructors at CalArts in the 1980s was the legendary animator Bob McCrea, who took up teaching after forty years at Disney, where he worked closely with Walt himself. McCrea was as beloved as he was cantankerous—Andrew Stanton would later immortalize him in the character of Captain B. McCrea in WALL-E—and he helped shape the creative sensibilities of many of the people who would go on to define Pixar. Andrew remembers that he and his fellow CalArts students saw themselves as “animation purists,” determined to emulate masters like Bob from the early days of Disney. They were conflicted, therefore, about using certain newer technologies—VHS videotape, for example—that had not existed in the studio’s heyday. If Walt’s Nine Old Men didn’t use videotape, Andrew remembers telling Bob McCrea one day, maybe he shouldn’t either.

“Don’t be an idiot,” Bob said. “If we’d had those tools then, we would have used them.”»

McCrea había sido uno de los fundadores de la industria por entender esa idea central: crear, no es repetir ni hacer lo que siempre se hizo; crear es experimentar y usar las herramientas que tienes a tu disposición para transmitir.

by Andrés at September 20, 2014 11:59 AM

September 11, 2014

Andrés Maneiro

Manituana

Ambientada en la segunda mitad del siglo XVIII, durante los albores de la Revolución Americana, Manituana es en la superficie una novela sobre el ocaso de la Liga Iroquesa o la confederación de las Seis Naciones, una de las organizaciones indias más numerosas en norteamérica.

ManituanaCon localizaciones en el valle del río Mohawk (en el corazón del moderno Nueva York), Londres y Québec, Manituana narra principalmente la evolución de Joseph Brant Thayendanegea, diplomático y militar indio. Cómo Brant, inicialmente un intérprete inglés-mohawk del Departamento de Asuntos Indios bajo las órdenes de la familia Johsson, evoluciona a jefe de guerra de la nación Mohawk. Esa transformación de tiempos de paz a tiempos de guerra es también el camino de las Seis Naciones durante la revuelta por la independencia americana. En los inicios del levantamiento de las colonias americanas contra el rey inglés Jorge III y la nación inglesa, las Seis Naciones ejercen un papel de neutralidad “en esta guerra civil entre hermanos“, siempre que no afecte a sus territorios y rutas comerciales. A medida que avanza la contienda, rebeldes wigh y lealistas tory, se disputan el apoyo de las Seis Naciones hasta que éstas son parte beligerante.

Por supuesto, como hija de Wu Ming y la New Italian Epic, esta novela contiene otras muchas voces y temáticas que invito a que cada uno descubra por sí mismo. Algunas que atrayeron mi atención son:

  • la caída de uno de los muchos mundos posibles: cómo Iroquirlanda -la convivencia de las naciones indias y los colonos ingleses- se desintegra rápidamente, da cuenta del vacío que dejan los founding fathers de la comunidad al irse y la incapacidad de sus hijos para continuar ese sueño, hasta que éste se acaba abruptamente y los hijos se ven forzados a recuperar su capacidad de soñar. En ese sentido, Manituana se sitúa no como una novela sobre la épica de los héroes, sino una novela sobre la urgencia de continuar creando utopías para reinventar el futuro.
  • un relato sobre el colonialismo y los verdaderos perdedores de las guerras, con grandes paralelismos con las guerras de Irak o Afganistán y el papel de las comunidades islámicas - no en vano, WuMing presenta esta novela como un primer paso en su respuesta a la pregunta que se hacen los americanos después del 11S: ¿por qué nos odian?

No se puede olvidar que éste es el primero de los libros del Tríptico Atlántico y para valorarlo en toda su completitud habrá que esperar a la publicación y lectura de los dos siguientes, ambientados en Europa, África y la India. Como novela solista, Manituana es una historia coral tejida con las técnicas narrativas identificativas de Wu Ming. Una historia que vale la pena conocer para completar la historia de la Revolución Americana, contada por el bando verdaderamente perdedor.

by Andrés at September 11, 2014 05:03 PM

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

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

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

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

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