← Solicito donativos | ↑ Principal | Geografía: viendo la paja en el ojo ajeno →

Las excepciones en los sistemasArtículos

Escrito por Mark hace más de un año | 7 comentarios

Odiaba la escuela en la secundaria (12-15 años). No voy a inventar que era niño superdotado y me aburrían las clases, todo lo contrario. Me sentía tonto y torpe. Cosas de la pubertad, supongo. Mi escuela (como casi todas las escuelas en México) no te dejaban pasar si llegabas más de diez minutos tarde. Así que procuraba llegar con quince minutos de retraso, el portero me decía que ya no podía pasar, me encogía de hombros y regresaba a mi casa.

Funcionó durante un par de meses, un buen día el portero me dijo "ven, vamos a la dirección". Me llevó, habló unos minutos con el director, y me hizo pasar.

—"Hijo, qué pasa, porqué llegas casi todos los días tarde".
—"No sé" le respondí "símplemente se me hace tarde".
—"Voy a hablar con tus papás y te voy a mandar de regreso a casa".

Fingí aflicción, pedí disculpas y regresé a casa como siempre. Fueron otros dos meses de pasar a la dirección por lo menos una vez por semana, escuchar el sermón, fingir remordimiento y al salir sentirme libre de hacer lo que yo quisiera. Pero un día las cosas cambiaron:

—"Mark [para este entonces ya conocía mi nombre e historial completo], no encuentro solución a este problema, dime tú cómo lo podemos resolver".
— "No sé...", respondí pretendiendo no saber la respuesta "tal vez deba regresarme como siempre, si no nunca voy a aprender".
—"Esto es lo que vamos a hacer: hoy vas a entrar a clase, ya se me ocurrirá algo"

Pasaron unos días, volví a llegar tarde. Para mi sorpresa el portero me dijo que fuera a clase. Habían parchado la excepción en el sistema. Si fuera código se vería así:

if (hora > 8:10 & alumno != "Mark MacKay") {
       regresar(alumno);
}
else {
       dejar_entrar(alumno);
}

Los sistemas

Cuando pensamos en sistemas, pensamos en computadoras. No necesariamente es así. Un sistema es un grupo de elementos independientes pero relacionados entre sí, formando un todo. Un ecosistema es un sistema, el gobierno es un sistema, inclusive una familia puede ser un sistema.

El problema con los sistemas digitales

Como todos lo sabemos, las computadoras no tienen mucho sentido común, todo es blanco (1) o negro (0). La ventaja es que son completamente imparciales, y en cierto sentido enfermo también son más justos que un ser humano. Considera el siguiente escenario:

En entregas finales el profesor Computrón advirtió que, sin excepciones, no se recibían entregas tardías. Al otro día de la entrega llega un alumno, le hace la llorona, inventa que se murió su abuelita. El profesor lo reprueba. Pero su hija (que es su alumna también) entrega tarde por igual, resulta que —por las carreras de entregar a tiempo— chocó y perdió ambas piernas. Llega en silla de ruedas con su papá, le ruega que le deje entregar su trabajo. Pero las reglas son reglas, y también reprueba a su hija.

Para un ser humano, el profesor Computrón es el más desalmado de los profesores (y ciertamente lo es), pero en cierto sentido también es justo: puso las reglas, y trató a ambos alumnos por igual, sin importar sus circunstancias ni influencias familiares. El gran problema con los sistemas digitales es que los seres humanos como individuos somos caóticos: siempre va a haber situaciones inesperadas donde aplique mejor el sentido común del ser humano que la dura lógica de las computadoras. Aunque, curiosamente, como masa nos comportamos de maneras bastante predecibles.

Todo sistema digital puede tener excepciones, el problema es que es imposible preveer todas las circunstancias que afectan a cada individuo. Hace poco salió una noticia que indicaba que la aerolínea Delta quería cobrar dos boletos a la madre de unos gemelos siameses, con el pretexto de que "se cobraba debido a que ambos necesitaban máscaras de oxígeno en caso de un accidente". Posteriormente Delta se retractó y los dejaron viajar con un sólo boleto.

A mí el pretexto de las máscaras de oxígeno me parece ridículo. Lo más probable es que su sistema jamás previó que viajaran unos gemelos siameses. Legalmente son dos personas diferentes, pero viajan en el mismo asiento. El sistema no puede preveer que dos personas viajen en el mismo asiento, así que se les cobran dos boletos. Claro que el pretexto de "lo sentimos, el sistema no nos permite cobrar un sólo boleto" no es problema del cliente, es problema de la empresa.

La solución

¿Cómo rodeas estos problemas de los sistemas digitales? Overrride manual. Todo sistema digital debe de poder evadirse cuando aplica el sentido común. Hace un par de meses fui a la universidad a reinscribirme, el personal de seguridad me pidió mi credencial de la universidad, y cuando vio que no estaba inscrito desde hace tiempo me informó que procedía a recoger mi credencial hasta que estuviera inscrito.

¿Pero cómo iba a reinscribirme si necesitaba mi credencial para inscribirme? Al poli le pareció lógico, y me dejó pasar con mi credencial de elector. Si el policía fuera un robot, me hubiera recogido la credencial sin importarle las circunstancias.

Hace un tiempo en EE.UU. hubo un caso de un joven de 17 años recibió sexo oral consensual con una chica de 15. En ese momento, la ley indicaba que era violación y lo refundieron en el bote por 10 años. Meses después cambió la ley de edad consensual, pero desafortunadamente no era retroactiva (no aplicaba a las personas que ya habían enjuiciado). Una víctima del sistema, literalmente. Sólo mediante la decisión de un juez pudo reducir su sentencia a 3 años.

El problema del override manual

Así como los seres humanos estamos bendecidos con el sentido común, también estamos maldecidos por la corruptibilidad. La persona que está a cargo de hacer excepciones en el sistema tiene un poder enorme. Los jueces se quedarían sin trabajo si no se tuvieran que hacer excepciones. Se consideraría el delito, las agravantes, y se emitiría un juicio completamente imparcial aunque injusto en términos humanos.

Lo que generalmente se hace es poner la capacidad del override en un puesto muy alto, si vas a un banco y le dices al cajero que accidentalmente te depositaron en otra cuenta, el cajero no podrá transferir el dinero a tu cuenta, pero el gerente seguramente sí lo podrá hacer. Y así nació la burocracia. Eso es lo bello y lo feo de los sistemas, si manipulas una parte, hay otras partes que reaccionan de maneras inesperadas.

Comentarios Escribe un comentario

Escrito por:
Caso Patologico
Octubre 5, 2007 10:13 PM

"... no te dejaban pasar si llegabas más de diez minutos tarde ..."

if (hora > 8:15 8:10 & alumno != "Mark MacKay")

Lo sé, perdón, no lo pude evitar.

Saludos!
Mario

Escrito por:
Mark
Octubre 5, 2007 10:23 PM

UPS! Gracias por la corrección.

Escrito por:
Marcos
Octubre 6, 2007 3:32 PM

Muy interesante el blog de hoy. comico a la vez, el action script (si es lo q creo) me parecio muy interesante! Segui asi mark!

Escrito por:
Tzek
Octubre 6, 2007 10:55 PM

Muy buen post.

Ves que sí serías buen sistemólogo. Lo interesante del asunto es esto del "cómo ver las cosas". No está muy relacionado con el post, pero lo leí así como "hoy explico mi realidad como un sistema", así como los diseñadores explican todo como diseño, los matemáticos en términos de matemáticos, químicos con química, y así sucesivamente...

Sintetizaste muy bien la forma de ver los sistemas como una persona "no de sistemas" (y ojo, no me refiero a los inges de sistemas, sino a los inges en general, por ejemplo, un industrial).

Saludos

Escrito por:
Ricardo Castillo
Octubre 12, 2007 6:51 AM

Realmente fabuloso tu artículo, se presta para la reflexión.

Saludos
el negro

Escrito por:
MarthaX
Octubre 30, 2007 7:44 AM

Tu blog siempre es de lectura obligada para mí, es interesante el enfoque (múltiple) que le das a tus anotaciones, enriquecen un montón a todo aquel que te lee. Ojalá algún día termines (de contarnos) el código de allá arriba... Saludos

Escrito por:
Genaro Diaz
Junio 6, 2011 4:59 PM

El futuro se entiende analizando el pasado y el presente, asi que esta informacion vale oro!

Escribe un comentario

(opcional)

(opcional)