Mi visión naturalista de la tecnología

30 de junio, 2012 - por | | Análisis

pinzones de DarwinPinzones de Darwin, con picos adaptados a diferentes fuentes de alimento.

Última actualización: 4 de julio de 2012

Voy incorporando materiales que entran de lleno en la discusión. Así que si echas algo en falta, no dejes de comentarlo.

Jeff Atwood publicó ayer un post sobre PHP, haciendo balance de sus defectos, su evolución y su uso. A raíz de ese post mantuve una discusión con @aitorciki en Twitter, motivada por mi valoración negativa del post a causa de su tono elitista.

Mi referencia al “elitismo” era en el sentido general del término, no en un sentido técnico tal como se utiliza en algunas ciencias sociales. Es fácil reconocer en el post de Atwood una actitud de arrogancia respecto de lenguajes populares (BASIC, PHP), que el autor considera, por decirlo suavemente, lenguajes menores: llenos de monstruosidades, apenas evolutivos y completamente “banales”.

@aitorciki no veía, por el contrario, elitismo por ningún lado. Después de todo, compartía el diagnóstico y entendía que era indiscutible. Es más, le parecía que Atwood había bajado al terreno de asumir la convivencia con tales aberraciones.

La postura que comparten, en este caso, Atwood y @aitorciki es muy común, y he tenido la oportunidad de discutirla numerosas veces a lo largo de los años. Y me he permitido con el tiempo la licencia de calificar a sus defensores como creacionistas tecnológicos, estableciendo así una asociación, tomada con un poco de sal, entre este tipo de debates y los que se han venido produciendo en el terreno de lo orgánico entre los evolucionistas y sus detractores desde que Darwin diera forma a sus argumentos a mediados del XIX.

Siguiendo el hilo de discusión que mantuve con @aitorciki en Twitter, voy a intentar ofrecer lo principal de los argumentos creacionistas, junto con mis opiniones de por qué no son satisfactorios o bien directamente son erróneos.

“PHP subsiste por estar extendido, no por ser bueno”

Creo que ésta es la afirmación que mejor retrata a los creacionistas tecnológicos. @aitorciki me la ofreció para ayudarme a comprender lo que quería decir Atwood en su post, y es realmente el argumento que más implicaciones tiene.

Probemos un momento, continuando el jueguecito de asociarnos a los debates naturalistas, a aplicarlo a una especie animal. Veamos cómo suena:

Las cucarachas subsisten por estar extendidas, no por ser buenas

Este simple experimento nos ayuda a extraer la parte más delicada del problema: ¿qué queremos decir con “bueno”? Entiendo que los creacionistas tecnológicos utilizan el término para referirse a lo que está bien diseñado, pero no como podría entenderse en el caso de las cucarachas (bien diseñadas desde el punto de vista adaptativo, para sobrevivir y reproducirse). Es decir, el principio de adaptación/extensión no forma parte del buen diseño: un lenguaje puede ser aberrante desde el punto de vista del diseño y al mismo tiempo ser un lenguaje muy popular, y por lo tanto estar muy implantado; y viceversa, se puede tener un lenguaje muy bien diseñado que nunca haya conocido una implantación.

Como les ocurría a los creacionistas naturalistas, el reto para Atwood y @aitorciki es explicar cómo sucede entonces esa extensión generalizada. Atwood da una respuesta que es claramente insatisfactoria: “lo barato y popular y por todas partes siempre gana“; puesto que no explica cómo llega a ser popular y a estar en todas partes, y por qué se impone frente a otras alternativas también baratas. Los creacionistas del XIX acababan en el terreno de los misterios, o de alguna mano divina que finalmente no explicaba nada; los del XXI se conforman con alusiones al populismo. Ambos se pierden la parte más bonita: asomarse al proceso maravilloso, gradual, lleno de interacciones acumulativas, que lleva a algo a sobrevivir y extenderse.

No es el momento de investigar los factores que han intervenido en ese proceso evolutivo en lenguajes como BASIC y PHP, de los que se ocupaba Atwood. Existe una buena cantidad de libros y artículos que se ocupan de la historia de la tecnología en los momentos en los que surgieron y se establecieron éstos, y entre todos los materiales que reúnen esas historias están las claves de dicho proceso.

“Entonces los Ibiza son mejores coches que los Ferrari porque hay más”

Esta segunda afirmación de @aitorciki quería resumir de forma gráfica lo que según él se deducía de lo que yo argumentaba. Parece bastante evidente que la afirmación no aclara nada sino que añade más complejidad, porque se sale del terreno de los lenguajes de programación y se introduce en un terreno de producción industrial del que ni siquiera sabemos por dónde se establece la relación. Ayuda a entender el fondo valorativo de los creacionistas; no es una casualidad que esté hablando de “Ibizas” y “Ferraris”, puesto que en su árbol de especies tecnológicas él cree saber cuáles están en cada uno de esos cajones y la jerarquía de diseño que las relaciona.

Si intentamos continuar con el jueguecito que proponíamos al principio, tendríamos que buscar una afirmación similar en el terreno de lo orgánico, respetando un mismo orden (coche) con distintas especies. Podríamos decir algo así:

entonces los seres humanos son mejores primates que los macacos porque hay más

pero entonces para el creacionista habríamos cambiado el sitio de los “Ibizas” y los “Ferraris”. ¿Pero es posible decir ésto sin aclarar qué queremos decir con “mejores”? El principio de extensión no te dice nada salvo que entiendas cómo se ha producido esa extensión; es en el proceso de extenderse dónde tienes los factores que han hecho posible ese resultado, por lo tanto, donde puedes encontrar algún indicador de en qué cosas se ha comportado mejor respecto de otros con los que competía.

En abstracto, sin tener en cuenta el paso del tiempo, las situaciones y las personas que los utilizan, ¿cómo puedes valorar la bondad del diseño de una tecnología?

“I’m starting a new open source web project”

Atwood exponía toda la osadía del creacionista al final de su post, cuando afirma que va a empezar un nuevo proyecto que corrija las aberraciones de PHP, creando un ecosistema capaz de competir con PHP. Como el creacionista no tiene en cuenta el proceso evolutivo, no se da cuenta de que los resultados de ese proceso evolutivo no son el deseo de alguien, sino la interacción de numerosos factores. Cree que un “mejor diseño” puede convertirse por sí solo, por el solo hecho de estar mejor pensado, en una especie competitiva. Como si el tan denostado Rasmus Lerdorf, cuando escribía las primeras líneas de PHP, hubiese podido asegurar donde iba a llegar su criatura. O Linus Torvalds, cuando Tanenbaum le criticaba el diseño de Linux por demasiado pegado a la arquitectura y aseguraba que tendría un recorrido muy corto.

Conclusión

Puede verse, por todo lo que se ha ido argumentando, que los creacionistas no tienen realmente argumentos sobre los que apoyar sus afirmaciones, más allá de sus propios juicios de valor personales. También, que es muy difícil hablar de diseño sin tener en cuenta el entorno respecto del que va a funcionar ese diseño, que lo obligará a ser evolutivo (rápidamente adaptativo), y no tanto un diseño perfecto desde el principio. Por último, que la extensión de la implantación de una tecnología es un factor de su índice de calidad, puesto que el mismo proceso evolutivo la ha llevado a enfrentarse a situaciones y usos que la han enriquecido y la han hecho más competitiva que las otras.

Todo lo que se ha dicho nos es más familiar de lo que pensamos, incluso para los mismos creacionistas, puesto que al final escogen entre tecnologías muy populares (C, Java, PHP, Python, .NET, JavaScript, etc.) que han conseguido una implantación suficiente. Todos entendemos que siguiendo un criterio teórico y estético podemos hacer una valoración más o menos positiva de una tecnología; no está tan claro, sin embargo, que esa valoración nos diga algo sobre la realidad de esa tecnología ni sobre su capacidad para imponerse frente a otras.

Actualización del 4 de julio de 2012

Fabian Potencier escribe un post donde hace balance de PHP y defiende que aunque no sea el mejor lenguaje, en cuanto a diseño, es el mejor entorno de desarrollo web.

Linus Torvalds, ‘Nobel’ de tecnología

21 de abril, 2012 - por | | Just for fun, Noticias

Linus Torvalds Nobel de tecnología

Acaban de concederle a Linus Torvalds el galardón que se conoce como ‘Nobel’ de tecnología. Lo otorga la Academia tecnológica de Finlandia a aquellas personas cuyo trabajo ha marcado de alguna forma la tecnología contemporánea.

Me alegra mucho el premio. Soy fan de Torvalds, así que cuando veo cualquier reconocimiento público hacia él, lo comparto totalmente y me hace muy feliz ver que otras personas reconocen en su trabajo cosas verdaderamente innovadoras, no siempre relacionadas con el código y el diseño de programas.

Torvalds ha conseguido liderar el mayor proyecto de código abierto, y al mismo tiempo iniciar otro que va camino de convertirse en algo tan estable y eficiente como el primero. Lo ha hecho siempre siguiendo principios sencillos y pragmáticos, y manteniendo un buen humor envidiable. Hay un montón de hilos de discusión con participaciones suyas que son ya literatura clásica del desarrollo del software, y que deberían enseñarse en las facultades de ingeniería (especialmente en metodología del software, donde se suele pecar de excesiva teoría). Su divertido libro Just for Fun debería ser libro de cabecera de cualquier persona que se dedique profesionalmente al mundo del software.

Torvalds es el gran maestro del siglo XX de cómo organizar, hacer productivos y eficientes programas de código abierto, dejando, a partir de ahí, que se generen las líneas de negocio oportunas. Al mismo tiempo ha conseguido crear ese espacio único, donde los desarrolladores crean por el simple gusto de crear y de divertirse, sin estar únicamente guiados por planes de negocio y objetivos de marketing.

Escribo ésto sobre WordPress, otro proyecto de código abierto de gran éxito, que ha conseguido convertirse en una herramienta diaria para un montón de gente. Linus es el padre espiritual de todo ese mundo de programas de código abierto, en constante evolución, y sobre los que se construyen en nuestros días la mayor parte de los proyectos.

Es mucho. Es un montón de diversión. Es la gran prueba de que las fuentes abiertas son el camino para solucionar los problemas.

¡Felicidades Linus! :)

Spotify para linux

3 de abril, 2012 - por | | Just for fun, Linux, Open Source

cebras corriendo librementeLa mayoría de las veces correr libremente te trae felicidad.

Después de unas cuantas semanas soportando los fallos en el comportamiento de spotify sobre wine que tenía instalada en mi ubuntu 11.04 me atrevo a instalar los paquetes para ubuntu que ofrece spotify.com

Os paso las instrucciones para lentillos como yo, :P, aunque en spotify os lo explican genial:

1. Abres el Terminal y editas este archivo: /etc/apt/sources.list

sudo vim /etc/apt/sources.list

2. Añades esta línea en la cabecera del archivo con in INSERT

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

3. Cierras el archivo guardando los cambios mediante un ESC y un :wq

4. Ejecutas los cambios mediante la siguiente orden:

sudo apt-get update

5. Instalas spotify:

sudo apt-get install spotify-client-qt

6. En aplicaciones, sonido y vídeo, tendrás tu enlace a la nueva aplicación. ¡A disfrutar de tu cuenta premium en spotify!

Un nuevo proyecto para grosshat: escuelainfantilvickie.es

23 de febrero, 2012 - por | | Proyectos

imagen de la home de escuelainfantilvickie.es

Cuando las profes de la guarde de Darío se enteraron de que nos dedicábamos al desarrollo web, nos pidieron que nos pusiéramos manos a la obra con su proyecto web. La oportunidad de trabajar para gente dedicada a la educación infantil y más en concreto, a la educación de nuestro peque, nos atrajo desde el primer momento. Así surgió escuelainfantilvickie.es. La idea fue empezar con un sitio muy clarito y bien organizado, principalmente orientado a las actividades que la escuela desarrolla con los peques, y a partir de ahí aportar progresivamente información relacionada.

Nuestra propuesta, como en proyectos anteriores de características similares, ha sido la de poner unas bases sencillas y flexibles, en las que todo el esfuerzo se concentre en aquellos recursos que ellas pueden crear (información, procesos de pedidos, etc.), y tener paciencia para ir poco a poco haciendo crecer ese punto de partida hasta algo que se parezca a lo que desean que sea el sitio. Siempre les recordamos a nuestros clientes que buena parte de su éxito está en sus manos: su tiempo para crear contenidos; sus ganas para pensar una y otra vez cuál es la mejor información; su esfuerzo para mantener informados a sus clientes y usuarios a través de noticias periódicas, etc.

Hemos escogido WordPress para el proyecto y le hemos dado la forma de un pequeño CMS. De esta forma, tenemos páginas para las distintas secciones de la escuela, entradas para las actividades que desarrollan, espacio para los menús diarios y noticias destacadas con la información más importante en cada momento del curso.

El esquema con el que empezamos es muy sencillo: navegación a las diferentes secciones que nos presentan la organización de la escuela, home con espacio para las noticias destacadas (mediante slide – jquery), las últimas actividades, menu diario, localización, psicomotricidad y datos de contacto.

Son muchas cosas con las que han tenido que manejarse: gestor de contenidos del sitio, cuentas de correo, lanzamiento y presentación del sitio, etc. Para todo ello han contado y siguen contando con el asesoramiento continuado de grosshat.

Esperamos que el proyecto web tenga mucho éxito, :).

Un nuevo proyecto de grosshat: moratayasociados.com

23 de enero, 2012 - por | | Proyectos

imagen de la home de moratayasociados.com

Hace unos meses se nos presentó la oportunidad de trabajar para gente dedicada a la producción artística y organización de actividades escénicas: moratayasociados.com. La idea ha sido desarrollar un sitio claro, elegante y organizado. Principalmente orientado a presentar su labor de producción artística en la web.

A diferencia de nuestros proyectos anteriores, morata y asociados es un “proyecto web escaparate”. El cliente nos insistió en la necesidad de enfocar su negocio a la web y presentarse, con el proyecto, a sus potenciales clientes. Así que con moratayasociados.com nos hemos esforzado en el planteamiento de las necesidades del negocio. Hemos conseguido que el sitio tenga una buena organización en cuanto a dicho objetivo y que sea muy sencillo de navegar de cara al usuario.

Hemos escogido WordPress para el proyecto y le hemos dado la forma de sitio web prescindiendo de su funcionalidad principal de blog. WordPress, como recurso tecnológico, es completamente maleable y pueden hacerse multitud de desarrollos personalizados a partir del mismo. Incluso el de prescindir de su naturaleza, :).

El esquema con el que empezamos es muy sencillo: home con presentación, planteamiento y división del negocio; llamadas a la acción para que el potencial cliente pueda contactar con la empresa fácilmente; páginas para cada una de las secciones principales (experiencia, proyectos, etc.). La elegancia del sitio se basa en las presentaciones de imágenes (definidas mediante jquery).

Esperamos que tenga éxito en la red, :)

Gracias a vuestros ojos, los errores se hacen obvios

17 de noviembre, 2011 - por | | Just for fun

Animales gregarios, como nosotros, acicalándose, forjando relaciones y estrechando lazos.

En Grosshat tenemos la suerte de contar con muchos amigos que nos avisan de los errores que se van encontrando cuando navegan nuestro sitio, o cualquiera de los proyectos en los que estamos.

Los proyectos open source han aprovechado este tipo de acciones, volviendo en beneficio lo que en otros muchos entornos sigue siendo percibido hoy como debilidad. No hace falta decir que ahora ya hay todo tipo de tendencias que explotan estas líneas de acciones con palabras de moda en las que todo empieza por “crowd”.

Es un lujo recibir emails avisándote de cosas que funcionan mal, acompañándolas de descripciones, e incluso de capturas. Este post es un homenaje a todos esos ojos que nos ayudan diariamente a funcionar mejor. ¡Muchas gracias! :)