Cómo el software puede ayudar a tus relaciones de pareja

David Auerbach, un conocido escritor, crítico e ingeniero de software, nos da una serie de consejos para tratar nuestras relaciones de pareja como si fuesen software. Seguid leyendo y os echaréis unas risas.


"No se pueden evitar los errores, todo programador los tiene. El objetivo es anticipar y mitigar los daños" afirma Auerbach, "El código puede sobrevivir a entradas (inputs) y circunstancias inesperadas si es lo suficientemente robusto. Pero muchas veces el resultado es una ruptura (crash) anunciada por un mensaje que cualquiera que haya programado en Linux o Unix conoce: SEGMENTATION FAULT (CORE DUMPED)".

A continuación veremos una serie de anécdotas que Auerbach nos cuenta para que nuestra relación no sufra un core dumping.

1. Evitar el Vaporware: Muchos productos se quedaron a medio camino al resultar imposibles de implementar por sus programadores. A veces el retraso en la liberación del producto puede tardar incluso años - décadas en el caso de Dunke Nukem Forever. La presión para entregar el Vaporware hace que los programadores se sientan muy presionados a terminar lo prometido, sintiendo que no pueden vivir sin hacerlo - y muchas veces no pueden. ¿Qué es lo último en el vaporware de las relaciones? Hasta que la muerte nos separe. Nosotros eliminamos esta línea de nuestros votos maritales y la remplazamos por citas de Robert Musil (“El amor es el más hablador de todos los sentimientos”) y James Wright (“En algún lugar de mí hay un cristal que no encuentro solo”). Otra manera de expresar esto es: Bajopromesa (underpromise) y sobreentrega (overdeliver).

2. Beta-Test. Éramos muy jóvenes cuando nos juntamos. El código que escribí cuando tenía 21 años era horrible, pero era inexperto y lo podría haber hecho mucho mejor. No importa lo bueno que te creas, siempre hay más que aprender. Entendimos esto lo suficiente como para desconfiar de los juicios débiles e ineptos de nuestras jóvenes personalidades. Esperamos 10 años hasta casarnos, para acumular la suficiente evidencia de que el código que teníamos era lo suficientemente robusto como para mantener el producto funcionando sin problemas. Y las actualizaciones regulares son cruciales, no vaya a ser que establezcamos código podrido.

3. Recuerda: Los Bugs nunca desaparecen. Sólo hibernan. Detestaba a uno de los amigos de mi pareja, que me había despreciado en varias ocasiones. Lo evitaba y lo dejaba pasar sólo para encontrar, bajo la línea (de código), que realmente me molestaba que él y mi esposa fuesen amigos. Finalmente el resentimiento salió a la luz. Hablamos sobre el tema y estoy seguro de que mi orgullo herido debía saciarse en primer lugar. Incluso vino a la boda.

Los bugs parecen ser evanescentes. Vi caíadas del servidor que aparecían de la nada y, misteriosamente, parecían desaparecer. Los Bugs nunca desaparecen. Si no parcheas las cosas, hay una mortal certeza de que el enigmático bug regresará en el futuro en el peor momento. Igualmente: Las fuerte discusiones pueden disiparse bruscamente y aplazarse para momentos más calmados, pero los problemas subyacentes son rápidos y explotan después si no se solucionan en el acto.

4. Sigue la regla 90/10: Aquí voy a citar una antigua regla de optimización de software: “Un programa gasta el 90% del tiempo en ejecutar el 10% del código. Los humanos somos muy malos adivinando dónde está ese 10%”. Desde el principio pensé que la fortaleza de nuestra relación estaba en nuestros gustos comunes (literatura, software) y en la atracción física. Mirando atrás, me di cuenta que éstos contribuian menos a la estabilidad de la relación que los acuerdos en temas financieros, el estilo de vida y el humor sarcástico. Y lo que es más importante, nos dimos cuenta que debíamos tener habitaciones para cada uno en las que pudiéramos estar solos. Tenemos una cantidad limitada de recursos: no los gastes intentando sincronizar la opinion sobre si el thriller británico Utopia es mejor que Breaking Bad o dar caminatas por la naturaleza que sólo uno de los 2 disfruta (pista: no soy yo). Es una optimización innecesaria, y como el semidios de la informática Donald Knuth dijo, “La optimización prematura es la raíz de todos los males.”

5. Haz el trabajo sucio. En palabras de la informática Mary Shaw: “Menos del 10 % del código tiene que ver con el propósito evidente del sistema; el resto se ocupa de la entrada/salida, validación de datos, mantenimiento de estructuras de datos, y otras faenas.” El propósito evidente de una relación es el amor, pero si confías en el amor para guiarte sin la infraestructura de soporte necesaria, tu relación será tan estable como Windows 3.0. La mayoría de tu codigo no tendrá que ver con el amor, sino con crear circunstancias para la posibilidad de amor, y estas circunstancias tienen que ver con el trabajo en pequeñas cosas superficiales como la planificación, las finanzas y los quehaceres. Tened especial cuidado los ingenieros de software y los amantes que solo quieren trabajar en cosas sexys.

6. Haz que tu Mantra sea: La Histéresis ayuda a la Homeostasis. La Histéresis son las dependencias de un sistema no sólo en su estado actual, sino en todos sus estados posibles. Cuando incorporas Histéresis a un algoritmo, es para evitar tener demasiados efectos drásticos muy rápido — por ejemplo, un termostato ajustado a 20 grados subirá la temperatura cuando detecte 19 grados ni la bajará cuando esté en 21 grados; realiza un seguimiento de sus acciones recientes, por lo que no varía bruscamente.

En el matrimonio, igualmente, no puedes reaccionar bruscamente a los cambios repentinos como si el pasado no contara nada para el próximo giro de acontecimientos impactante. Desafortunadamente, la mente humana tiene una gran capacidad para reescribir el pasado basándose en los caprichos de sus emociones. En mis peores situaciones anímicas, las noches tranquilas en casa pueden bruscamente parecer el despilfarro de muchos años — cada libro leido o película vista sólo es otra distracción del espectáculo de dos almas vacantes que perduran en una vida sin sentido fortuito. Estos estados de ánimo y lapsos de memoria son tan solo errores. “Las perturbaciociones de memoria están enlazadas a las intermitencias del corazón” dijo el gran informático Marcel Proust. Y las perturbaciones de código están enlazadas a la intermitencia del software.

7. No confies en nadie (ni siquiera en tí). Los buggs ocultos en un programa pueden provenir de tus años de carpintería o incluso décads despues de que el código fuese escrito. (El bug Y2K no se manifestó durante décadas en sistemas que fueron diseñados en 1970 y 1980, ya que el código manejado en los años 19XX funcionaba bien.) Una vez encontré un bug que hacía caer a un servidor de chat, dejando a miles de usuarios offline, si a un único usuario se le ocurría enviar exactamente 60 mensajes en un minuto, ni más ni menos. Es poco común, las entradas inesperadas producen nuevos resultados muchas veces catastróficos, y las causas por lo general no se aclaran nunca.

Vía Slate.
COMPARTE ESTA NOTICIA

ENVIAR A UN AMIGO
COMPARTIR EN FACEBOOK
COMPARTIR EN TWITTER
COMPARTIR EN GOOGLE +
NOTICIA ANTERIOR