Aleatoriedad y juegos interesantes

Dados

Volvemos a hablar de aletoriedad. En esta ocasión How Stellaris fails to solve strategy gaming’s “bad luck” problem habla de juegos y del compromiso entre hacerlo suficientemente interesante, a la vez que impredecible:

Designing a game that’s both random and consistently engaging is a problem I thought about constantly during my recent time with Stellaris, Paradox’s latest epic space strategy game.

Porque, claro, una cosa es que sea aleatorio (soprendente, impredecible, …) y a la vez las decisiones que haya que tomar (o que se puedan tomar) hagan que el juego mantena el interés:

Developers should be expected to ensure that most (if not all) of their “randomized” strategy campaigns at least encourage the players to make interesting choices.

Lectura interesante.

¿Cómo son las preguntas de seguridad?

Puerta

Las preguntas de seguridad son esas que algunos proveedores utilizan para tratar de asegurarse de que somos nosotros cuando tratamos de reactivar nuestra contraseña principal olvidada. Es un método bastante denostado (Ver, por ejemplo Recuperación de contraseñas con preguntas personales aunque también tienen sus defensores (sobre todo, en condiciones adecuadas: Las claves).

En todo caso, traemos hoy aquí una nota sobre Estudio de contraseñas cognitivas en la filtración de datos del Banco Nacional de Catar (QNB) donde los usuarios podían elegir las preguntas. Aquí llaman preguntas cognitivas a esas preguntas de seguridad.

La ¿sorpresa?:

Si les dan a elegir, repiten los patrones impuestos desde siempre por los servicios en la red… el nombre de soltera de la madre, mascotas, gustos, lugar de nacimiento… todos datos muy fácilmente deducibles o con un rango de error muy pequeño con fuerza bruta (¿cuál es tu color favorito?). Muy pocos echan mano de la imaginación.

Al menos para los usuarios VIP. Aunque el resto de clientes tampoco parece echarle mucha imaginación.

Según Sergio de los Santos:

La solución es mentir si nos obligan a usar esas contraseñas cognitivas, empleando cadenas aleatorias a modo de contraseñas que, junto con la real del servicio, serán almacenadas en un buen gestor de contraseñas (sabiendo que, si se almacena bien la real, ni siquiera se necesitarán las cognitivas).

Si no usamos el gestor, como decían en uno de los artículos enlazados arriba, tendremos problemas.

Un programador aburrido

La tendencia ya la conocemos: gente súper-chachi que hace cosas súper-molonas y que se deja la vida en ello. Parece que es un modelo popular y que nos hace imaginar momentos gloriosos porque, ¡oh sorpresa!, casi siempre terminan bien.

I'm a rocker

Sin embargo, cuando hablamos de programas (y de sistemas informáticos en general) lo que esperamos para que todo vaya bien es un comportamiento aburrido: siempre igual, predecible, que no falle y que no haya que dejarse la vida para conseguir nuestros objetivos. Eso sí, esperamos que sean muy emocionantes y nos llenen la vida de ilusiones (vale, muchas veces tampoco, que al final todo es trabajo, resolver problemas y marcharnos a casa tranquilos).

Por eso me gustó leer I’m a boring programmer (and proud of it) donde habla justamente de estas cosas.

El autor prefiere el silencio y el orden:

Instead, like a librarian I enjoy quiet and order. When code is well organized, things are easy to find and less likely to break, avoiding a bunch of noise and heartache.

Le gusta analizar problemas, probar distintas perspectivas y compartir sus descubrimientos con otros:

Like a scientist I enjoy analyzing problems, trying different angles to solve them, and then sharing my findings. I want to understand how things work, and I want others to benefit from that understanding

También tiene su parte artística, utilizando la cratividad y aceptando la imperfección.

Like an artist I need to occasionally think outside the box, tap my creativity, and be able to see in abstracts. I want to embrace imperfection.

Finalmente, como un carpintero, le gusta construir cosas:

And like a carpenter, I really enjoy building things. Sometimes that means following a specific plan, and other times you just work with what you’ve got.

Todas estas características son interesantes y valiosas pero nos alejan del modelo ‘ninja’ o ‘estrella del rock’ que parece tan popular y llamativo.

Bien por él.

Libros sobre programación en C

Si escuchamos/leemos las tendencias modernas el C estaría olvidado en algún rincón y ya nunca nadie le prestaría atención más. Sin embargo, sigue teniendo su hueco en el corazoncito de mucha gente e incluso en los topes: Interactive: The Top Programming Languages 2017 así que, poca broma.

Programando juegos

En todo caso, a mi me pudo la parte más sentimental (algunas líneas de C tiramos en su momento y, pocas veces, alguna vez nos toca mantenerlas, actualizarlas y volver a mirarlas). Por eso recomiendo echarle un ojo a Some Books on C, algunos actuales (y disponibles para descargar) y otros que son clásicos.