Management para los informáticos, gestión de la informática para mánagers

Hemos inagurado una nueva categoría en el blog, que hemos llamado Management, mientras se nos ocurre una idea mejor. En una primera tacada, o sea, sin hilar muy fino, ya nos han salido 124 entradas a lo largo de estos cinco (¡cinco!) años, o sea una de cada cuatro. Seguramente, lo que queríamos decir es que hoy en día, al menos en el espacio de las empresas y organizaciones, “IT management is about management” o, lo que es más fuerte, “IT is not about IT“. Esto vale para los informáticos, que en la práctica y en su mayoría no construyen artefactos, sino que gestionan recursos, dirigen equipos y proyectos o sirven a clientes. Pero también para los no informàticos, en especial los mánagers, que ya no pueden hacer su trabajo sin la informática y sin la colaboración con los informáticos. La sabiduría digital en la empresa es la condición para capturar los beneficios potenciales de las máquinas. En la UOC, algunos cursos de competencias de informática y de gestión de la informática se han ido exportando o rediseñando para escuelas muy diferentes, como los Estudios de Empresa, de Información y Comunicación, la Business School, los estudios de Derecho, de Psicología o de Salud, al menos. Una colega de los estudios de Economía y Empresa me sugirió la idea de poner juntas las cosas de dirección de sistemas de información publicadas aquí. En realidad, salvo algunos temas muy abstrusos, que yo tampoco entiendo, la verdad, a casi cualquier lector le deberían interesar los contenidos del blog sobre inteligencia artificial, ingeniería del software, bases de datos, movilidad, quizá los juegos y,...

La importancia de la Historia de la Informática

Se han ido Prince, Bowie, Lou Reed. Y algún día, mal que nos pese, lo harán los Coen, Springsteen, Jagger… ¿Os suenan? Este año también ha fallecido Wesley Clark, por ejemplo. ¿Os sonaba? 2011, un año fatídico para la historia de la informática, se recordará como el año en que falleció Steve Jobs. Pero también es el año de las muertes de John McCarthy, Jean Bartik, Dennis Ritchie o Paul Baran, por ejemplo. ¿Os suenan estos? Clark diseñó el primer ordenador personal. Bartik fue una de las programadoras originales del ENIAC. McCarthy fue el padre de la tan de moda inteligencia artificial. Ritchie, quizá el más conocido de este grupo, coinventó el lenguaje C y fue pieza clave del nacimiento de Unix. A Baran le debemos muchas de las innovaciones que nos dieron las redes informáticas. Y algún día se nos irán los Cerf, los Kay, los Metcalfe…. Nos acordamos de Jobs y todo el mundo conoce a Gates y a Zuckerberg, sí (como mínimo estos dos últimos programaron lo suyo en su momento, especialmente Gates, pero a pesar de su fama ninguno de ellos ha hecho ninguna gran aportación técnica a la historia de la informática). También es conocido Alan Turing (gracias a una película que, por cierto, es lamentable desde el punto de vista histórico, ya hablamos de ella por aquí en su momento). Pero el imaginario popular de la informática va muy poco más allá, desafortunadamente. De Claude Shannon (este año se celebra su centenario) o Grace Hopper (inventó el compilador, y también le hemos dedicado algún espacio en este blog) se acuerdan pocos, muy pocos....

Cómo verificar quién es Satoshi Nakamoto

Versió en català Una de las múltiples ventajas que tiene la criptografía es que permite minimizar la confianza que las diferentes partes de un protocolo tienen entre ellas cuando se ejecuta, asegurando, al mismo tiempo, que todo el mundo habrá actuado correctamente. En ocasiones, no sólo se consigue minimizar la confianza entre las partes sino que incluso se puede eliminar totalmente, creando sistemas en los que el correcto funcionamiento de los usuarios se garantiza gracias a que la confianza en el sistema no recae en puntos concretos (que podrían ser deshonestos) sino que queda distribuida entre todos los participantes del sistema. No es exagerado decir que el máximo exponente puesto en práctica de estos tipos de sistemas es el de la criptomoneda Bitcoin. Justamente, el carácter distribuido de su modelo de confianza es una de sus fortalezas puesto que no hace falta que sus usuarios confíen en ninguna entidad concreta para usarlos. Entender este hecho hace incomprensible que se continúe cayendo en el error de apoyarse en círculos reducidos de confianza para verificar la identidad de Satoshi Nakamoto, pseudónimo utilizado por el creador de los bitcoins. Esto es lo que le ha pasado a la BBC con la identificación de Craig Wright, identificación que se verificó bajo un secretismo que, paradójicamente, la criptografía en ningún caso justifica. Así pues, gracias al hecho que la identidad de Satoshi Nakamoto va ligada a una moneda que puede funcionar sin ninguna autoridad de confianza, parece obvio que la identidad de Satoshi también se tiene que poder verificar sin ninguna autoridad de confianza. Y evidentemente, así es. De todas maneras, antes de explicar...

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

Los bitcoins y su escalabilidad

[versió en Català] Desde que se empezaron a estudiar los sistemas de dinero electrónico hacia los años 80, una de las problemáticas más complicadas de resolver ha sido el doble gasto (double-spending), es decir, evitar que una moneda digital pueda gastarse más de una vez. La facilidad y sencillez con la que la información digital se puede replicar hace que esta propiedad sea una de las más complicadas de lograr. Explicado de forma muy simplista, los bitcoins resuelven el problema del sobre-gasto anotando en un registro único todas las transacciones del sistema. Si este registro se puede mantener de forma íntegra sin que las transacciones inseridas se puedan modificar, en todo momento todo el mundo puede consultar el registro para saber cuál es el estado de cuentas de cualquier dirección de bitcoins y, por lo tanto, cuántos bitcoins de saldo tiene cada dirección. De este modo, nadie puede gastar más del que tiene, puesto que todo el mundo lo puede verificar en cada momento, y el sistema evita así el sobre-gasto. Este registro único es lo que se denomina blockchain. Afortunadamente, el sistema bitcoin no fue propuesto en el ámbito académico, puesto que la idea hubiera sido rechazada frontalmente por la comunidad científica por, digámoslo suavemente, inocente. Fijémonos que proponer un sistema de moneda electrónica que pretende ser global utilizando un único registro que guarda absolutamente todas las transacciones no parece una idea muy interesante cuando pensamos en la escalabilidad del sistema. Cómo decíamos, el sistema bitcoin no fue propuesto en el ámbito académico sino que fue directamente desarrollado y puesto en marcha, de forma que nadie cuestionó este sistema de prevención del doble gasto....