Sobre componentes, ecosistemas y plataformas en Big Data

Ando liado estos días reflexionado y discutiendo sobre Big Data con amigos y conocidos además de estar preparando unos materiales y haciendo investigación académica, así que recuperamos el tema aquí también. Sabemos que (big data) es un tema complicado, no lo digo yo solo, sino también Gartner, que además lo cuantifica: “dos tercios de los proyectos fracasarán” (!!). Esto va a ser un dolor de cabeza para muchos. Aunque no debería sorprender a nadie. De hecho, va en línea de lo conocido para la inteligencia de negocio y que llevamos tiempo escuchando. Es necesario reconocer que este tipo de estrategias son complicadas de diseñar, implementar y hacer evolucionar. Dependen de tecnología, procesos y personas, y de esto último hemos hablando ya bastantes veces aquí y aquí. Hay múltiples motivos para fracasar. Desde las barreras internas hasta la falta de apoyo de la dirección pasando por la falta de talento. Pero, entre tanto negocio y negocio, no hay que olvidar que Big Data es y seguirá siendo durante mucho tiempo un tema tecnológico. Big Data trata de dominar el dato para generar valor. Y en ese control es necesario tener ingenieros del dato (además de los científicos del dato y de los trabajadores analíticos, claro). Un perfil que debe conocer qué componentes existen y para qué sirven, dentro de qué ecosistema se encuentran – sí, hablamos de Hadoop, de Spark y de los que vienen de camino –, y cómo los fabricantes lo combinan en plataformas. Al final quizá no para contar con una única plataforma, pero el ingeniero del dato debe ser capaz de decidir qué tecnologías de Big Data...

Campeonatos interuniversitarios de eSports

Cada año se celebran los Campeonatos Universitarios de Catalunya (CCU), donde todos los miembros de la comunidad universitaria (estudiantes, personal docente e investigador y personal de administración) se enfrentan en competiciones deportivas individuales o por equipos. Precisamente este curso académico 2015/2016 los Campeonatos están organizados por la UOC. El objetivo de los Campeonatos es fomentar valores de esfuerzo, superación y espíritu deportivo, así como ofrecer un entorno lúdico y distendido donde relacionarse e implicarse en el mundo universitario. Cabe destacar que tienen una muy buena acogida: por ejemplo, este año la 2a edición de UNIRUN (una carrera universitaria de 6.779 metros) se celebró en Barcelona el 7 de marzo y contó con 3.200 participantes. Además de los típicos deportes de competición como el futbol, atletismo, artes marciales o natación, los Campeonatos también habían incluido históricamente otras actividades como el ajedrez (no entremos a discutir si el ajedrez es un deporte). Como novedad de este año, se ha incluido otra categoría de competición: los e-Sports. Ya pocos se sorprenden de la atención que reciben las competiciones de videojuegos: las previsiones del negocio alrededor de los e-Sports para 2016 se estiman en 500 millones de dólares, y ya existen programas en canales de televisión generalista e incluso canales temáticos dedicados íntegramente a los eSports (sin contar con la retransmisión por Internet, claro). Los videojuegos seleccionados en los Campeonatos han son sido dos de los más populares en la actualidad en la escena competitiva: Hearthstone y League of Legends. Hearthstone es un juego de cartas coleccionables (al estilo de Magic: The Gathering) que enfrenta a dos personas. Cada una construye una baraja de 30 cartas que representan las criaturas, armas y conjuros que puede usar en...

Posicionamiento en interiores (indoor positioning)

Hace tan sólo 30 años, para viajar comprábamos un mapa en una librería o una gasolinera y era común comentar la calidad que había entre los mapas de los diversos proveedores. Los mapas eran auténticas proezas de compresión de información en papel que permitían calcular la distancia entre puntos, saber el tipo de carretera, etc. A finales de los 90 la situación cambió: los mismos fabricantes de mapas ofrecían páginas web que calculaban las rutas y ofrecían indicaciones más o menos precisas del recorrido (el famoso “se pasa cerca”, o tomar una rotonda que según el tramo tenía un nombre de carretera u otro), pero aún era aconsejable llevar el mapa en papel. Básicamente porque la gente no se llevaba los ordenadores personales a cuestas. Ambas situaciones generaban no pocas discusiones en el interior de los vehículos, pero la mayoría de las veces acabábamos en el destino esperado (aunque no siempre a la hora esperada). A principios de los 2000 la situación cambió: se popularizaron los navegadores por satélite (conocidos como GNSS, de los que los más populares son el GPS estadounidense o el GLONASS ruso, aunque Europa ha empezado a desplegar Galileo). Estos navegadores nos guían, nos dicen cuando nos equivocamos, nos dan una estimación de la hora de llegada, y en muchos casos nos evitan discusiones. Y actualmente, estos navegadores han pasado a los dispositivos móviles y nos guían en coche, a pie e incluso en bici, y nos guían tanto por la ciudad como por la montaña. Pero quedan unas zonas que se resisten: los espacios interiores, más conocidos en el mundo científico por entornos indoor....

¿Por qué es tan difícil conseguir software de calidad?

Es curiosa la doble reputación que tiene hoy en día la informática. Por un lado, ha permitido crear dispositivos “mágicos” de capacidad casi ilimitada, que pueden substituir (o superar) a los humanos y que hasta pueden dejarnos sin trabajo en el futuro. Pero, simultáneamente, se le acusa de construir dispositivos y programas difíciles de usar y que fallan muy a menudo. ¿Por qué hay tantas quejas sobre la calidad del software? ¿Acaso en 2016 aún no hemos aprendido a desarrollar software? ¿Es tan complejo el proceso de desarrollo? En primer lugar, en relación a la calidad del software hay dos cuestiones complementarias que hay que resolver: La primera cuestión es la verificación (“is the product right?“): que consiste en asegurar que el software está libre de errores. Esta comprobación puede realizarse mediante pruebas de diferentes clases (pruebas unitarias, pruebas de integración, …) o bien mediante herramientas automáticas que analizan el código para encontrar errores. La segunda cuestión es la validación (“is it the right product?“): estudiar si el software satisface los requisitos y expectativas de todos los stakeholders. Los requisitos pueden ser de tipo funcional (“la aplicación debe hacer X”) o de tipo no funcional (“la aplicación debe funcionar aunque no  haya conexión a Internet”). Es decir, no es suficiente comprobar que no hay bugs, también es importante hacer todo lo que se espera. Si la aplicación no hace lo que se quería, o va demasiado lento o no es lo suficientemente seguro tampoco me servirá. Y recoger los requisitos de una aplicación puede ser complejo: tal vez no seamos expertos en el dominio, puede que los usuarios no tengan requisitos bien definidos. Por otro lado, existen múltiples factores que dificultan conseguir...

Clickers

Normalmente, entre las palabras clave para describir un videojuego se incluye su género, la palabra que mejor describe su categoría según su tipo de interacciones de juego. Entre los género “de toda la vida” encontramos los juegos arcade, de plataformas, de rol, puzzles, etc. En algunos casos, un juego mezcla diversos géneros o incluso puede ser algo bastante raro como para ser su propio género. Si bien hay juegos de géneros bien raros en el mundo (¿simulador de cabras?), uno que me llama bastante la atención es el de los videojuegos incrementales, familiarmente llamados “clickers”. Su planteamiento es muy simple. El jugador se dedica a pulsar con el ratón en la zona de juego, cosa que sirve para acumular ciertos recursos (por ejemplo, monedas). A su vez, al cumplir cierta condición vinculada al número de pulsaciones, avanza de pantalla. Los recursos obtenidos se pueden invertir tanto en ser más eficiente en el proceso de obtención del propio recurso como en reducir el número de pulsaciones necesarias para pasar de pantalla. Sin embargo, cada nueva pantalla requiere más pulsaciones que la anterior. A partir de este planteamiento, a ver hasta dónde eres capaz de llegar a base de dedicarle tiempo pulsando el ratón. No hace falta habilidad ni puntería, solo se ha de pulsar el ratón una vez tras otra y ya está… Por ejemplo, uno bastante popular llamado Clicker Heroes (¡que cada uno pulse el enlace bajo su propia responsabilidad!) se basa en derrotar enemigos. Cada vez que pulsas sobre un enemigo le causas daño, hasta que lo matas. Entonces, ganas monedas. Para pasar de pantalla hay que matar a...