El que muere paga todas sus deudas

Toma título lapidario, de la pluma del más funesto William Shakespeare nada menos. Que no se disparen todavía las alarmas, no va a tratar el post sobre la muerte de nadie, faltaría más. Pero sí sobre un factor que puede acelerar el fracaso de un proyecto tecnológico. Un fenómeno que toda acometida técnica de cierto calado va a enfrentar tarde o temprano. La crisis económica de los geeks de a pelo, su fin de ciclo particular. En fin, hablamos de la deuda técnica. Para los no puestos en el tema, la palabra “deuda” ha de ser indicativa de que no es éste un asunto baladí. Vaya si no lo es…

¿Deuda? Esto parece el telediario…

El diablo está en los detalles, Python edition (y II)

En mi anterior post (y con “anterior” quiero decir “de hace más de un mes”, la frecuencia de mis entradas va a quedarse lejos de ser legendaria…) estuve comentando algunas características de Python que me parecían especialmente útiles. Herramientas como las comprensiones de listas y los generadores multiplican la productividad y hacen que el lenguaje sea compacto y legible. Un 2×1, como en los anuncios de detergente. Pero se me fue un poco de largo, y dejé fuera del mismo varias características igual de interesantes que quería explicar también. Si os parece bien, hoy echaremos un ojo a alguna más. Al final sólo a una más: ¡los decoradores!

¿Me vas a amueblar la casa?

El diablo está en los detalles, Python edition

No es un secreto que Ducksboard está implementado en Python. Hemos dado alguna que otra charla sobre el producto, y en ellas hablamos de la elección de tecnologías y otras hierbas. El decantarnos por Python no nos llevó demasiado trabajo a Jan y a mí. Es un lenguaje que conocíamos bien (Flumotion está escrito en Python, y de ahí veníamos), y nos parecía razonablemente decente (no es Lisp, pero tampoco es PHP) y adaptado a las necesidades del proyecto. En alguna de esas charlas nos han preguntado que por qué no usamos Javascript y Node.js, o Ruby, o Erlang, o Go, o cualquier otro lenguaje / plataforma.

Bien, esa pregunta tiene su jugo. Justificar el uso de una tecnología frente a otras puede derivar rapidamente en un flamewar de libro, lo que suele aportar poco y poner a la gente de mal humor. Como la política, ¡o el fútbol! Mal rollo. Y aquí no quiero malos rollos, soy un tío positivo. Así pues, he optado por no responder atacando las flaquezas de otros lenguajes, sino subrayando algunas de las pequeñas cosas que me hacen feliz en Python. Vamos, que paso de explicar la ponzoña de lenguaje que es Javascript, y en cambio prefiero centrarme en esos detallitos que hacen que Python mole bastante más. Sin acritud.

A ver qué tiene ese Python que no tenga Javascript…

Journey

DISCLAIMER!

Hace tiempo que este post me ronda la cabeza. Me he resistido porque una cosa es hacer una review de un juego, y otra destriparlo y spoilearlo a muerte, como estoy a punto de hacer. Pero es algo que tenía dentro y necesitaba hacer. Espero sepa usted comprenderme, estimado lector ;)

Si no has jugado a Journey y piensas hacerlo, leer este post sería una idea horrible. Una idea HORRIBLE.

Si no has jugado a Journey y no tienes intención de hacerlo, este post no te va a decir mucho. Pero en fin, es seguro leerlo.

Si has jugado a Journey, lo que sigue es un intento de plasmar lo que sentí jugándolo, que fue mucho. Es un juego abierto a la interpretación de cada cual, ésta sólo es la mía, una más.

Se han vertido ríos de tinta sobre la capacidad narrativa de los videojuegos. Que si se aprovecha, si no, si aporta algo, si el medio está maduro o no para ofrecer tramas más trabajadas, más trascendentes. Lo cierto es que el juego súper-ventas típico se mueve en los niveles de narrativa de un blockbuster hollywoodiense (y estoy pensando en Transformers…). Y generalmente da igual, en un videojuego lo principal es la mecánica jugable, que es lo que hace el juego entretenido, disfrutable. El guión suele ser una excusa, aquí lo importante es que el jugador “viva” la aventura, la disfrute desde dentro. Lo que sí suma a ese noble fin es la ambientación: si el objetivo es que el jugador se sienta parte del juego, hay que hacer lo máximo para generar esa ilusión. Y lo cierto, si me preguntan a mí, es que no se ha avanzado demasiado en ese aspecto en mucho tiempo.

Hubo una oportunidad clara de mejorar la ambientación en los videojuegos con el salto a las 3D y el soporte CD. Al fin y al cabo, es difícil ofrecer un entorno creíble con píxels, paisajes 2D y música “chiptunera“. Las 3D, con sus ángulos de cámara, su perspectiva y su ilusión de profundidad, y el CD, con esas bandas sonoras peliculeras y esos diálogos hablados, cambiaron el panorama. Ahora los juegos podían ofrecer entornos que engañaban lo suficiente a nuestros sentidos como para ser creíbles. Más cercanos a una película. Y ciertos géneros hicieron buen uso de esa recién adquirida habilidad, como el survival horror. Resident Evil o Silent Hill consiguieron crear tensión real en el jugador, provocar una emoción concreta, más allá del gusanillo del reto, común a los buenos juegos. Bien, y a partir de entonces, ¿que mejoras siguieron en la ambientación y la carga emocional en los videojuegos? Pues pocas, la verdad.

¿Te interesa? Sigue leyendo

Hacking sushi

La mayoría de días se esfuman sin marcarnos especialmente. Seguimos nuestras rutinas: trabajo, familia, tareas, hobbies. Nada nuevo bajo el sol. Pero de vez en cuando y sin previo aviso, una fuente de inspiración se nos presenta de las más insospechadas maneras. Nos llegan vía Internet, películas o prensa escrita. Referencias a historias que nos abren los ojos y nos empujan a mejorar. Un personaje, una anécdota, un dato. Quién iba a decirme que un documental sobre un chef de sushi iba a marcarme de la manera en que lo ha hecho Jiro Dreams of Sushi. Quién iba a decirme que un cocinero iba a convertirse en todo un ejemplo para mí.

Sigue leyendo

Somos lo que hacemos

Ni lo que decimos, ni lo que pensamos, ni lo que comemos. Si me preguntan a mí, somos lo que hacemos. La acción es definitoria, todo lo demás papel mojado. El movimiento se demuestra andando, que decía aquel. No me sirven los “dilatada experiencia en”, show me the money mejor. Si sabes hacer algo, hazlo. Pensar en hacerlo no aporta ni demuestra nada. Hablar de hacerlo, y que te escuchen, puede que te alimente el ego un tiempo, pero el vacío de realidad no van a llenarlo aplausos falsos a un mensaje falto de experiencia.

En esta España nuestra lo de hablar con hechos por delante se lleva poco, el cantamañanismo está a la orden del día. Pero en otros lugares la gente es menos inocente, y las grandes palabras y promesas se tienen que respaldar con tangibles. Los americanos, por ejemplo, los muy jodíos. Los patos primigenios, esto es Diego, Jan y un servidor (con la inestimable ayuda de la señora Pato Marta), nos pasamos un par de semanas hace unos meses en San Francisco hablando de lo nuestro con quien quisiese escuchar. Y escuchar escuchaban, con atención. Pero lo del “mira que bonito lo mío” no iba a ser suficiente…

Los patos en su oficina de California: el Happy Donuts

A ver qué se cuenta este…

Ocean’s Eleven, sobre equipos y startups

Con la Eurocopa de fútbol recién terminada, los equipos están en boca de todos. Que si tal tiene a los mejores delanteros, pero el otro defiende mejor, y el de más allá está más equilibrado. Y es que, en los deportes de equipo, la gestión del mismo lo es todo. Traer a la gente apropiada, integrarla en el grupo, dar con la estrategia que mejor se adapta a los jugadores de que se dispone, en fin, todo el pack. En una startup la cosa no varía demasiado, y es que… ¡el equipo lo es todo!

¡Vamos equipo!

Si no es por no hacerlo, pero hacerlo “pa na”… es tontería

No es la primera vez que habla el amigo Enrique Dans y sube el pan. Cosas de ser un gurú de los Internecs, supongo. En su columna de Expansión de hace unos días se lamentaba de la falta de buenos programadores en España. Y cito:

En España, que un emprendedor encuentre al programador adecuado para convertir sus ideas en código ejecutable es una proeza.

En España, las personas de verdad capaces de convertirse en el alma de un proyecto y transformar su esencia e ideas en código […] prácticamente no existen. Pero no, no es porque se les pague poco: es que no se encuentran ni debajo de las piedras.

Sigue leyendo

Evasión o victoria, o de como Backbone.js salvó el frontend de Ducksboard

La web está cambiando, vaya si lo está haciendo. Todavía recuerdo con claridad mis primeros encuentros con HTML, aquellas “páginas personales” de diseño ridículo y peor contenido que nos sacábamos de la manga, orgullosos, Diego y yo. El súmmum de la técnica era incrustar un GIF animado para darle movimiento al asunto, y enviar datos vía formulario era el no va más de la interactividad. Tiempos entrañables aquellos.

Hoy en día la página más chorra usa todo tipo de artimañas técnicas para ser dinámica, interactiva y rápida, no vayamos a tener que esperar. La idea es, como vamos viendo cada vez más claro, difuminar (si no borrar) el límite entre página web y aplicación nativa. Eso de clickar links y esperar a que cargue una nueva página ha quedado desfasado, esto ha de parecer una aplicación, no un conjunto de documentos enlazados. Ahí tenemos a AJAX, Comet, WebSocket y otro buen puñado de tecnologías y técnicas que tratan de abstraernos del concepto de página web y llevarnos en volandas a la era de la aplicación web. Y todo ello de la mano de JavaScript, el otrora patito feo ahora elevado a lingua franca de esta nueva era y lenguaje del momento.

Sigue leyendo

Ande yo caliente, ríase la gente

Me encuentro con ciertas preguntas recurrentes en toda charla que doy sobre la arquitectura y tecnología de Ducksboard. Una de ellas es cómo demonios hemos acabado usando la base de datos de una manera tan… original. Otras, y éstas son las interesantes, van en la línea de:

¿Y por qué Python y no Ruby?
¿Y por qué PostgreSQL en vez de MongoDB?
¿Y por qué Backbone.js si mola más Ember.js?
¿Y por qué <ducks-tecnología-X> y no <yo-prefiero-tecnología-Y>?

Nuestra elección de tecnología sigue una serie de criterios. Lo que sigue es una explicación de algunos de ellos para responder a todas esas preguntas, así del tirón. Once and for all, que decía aquel.

Venga, sigue