miércoles, 29 de septiembre de 2010

Hackers de película, lo que el código no hace en la vida real


La próxima vez que vean Matrix talvez no se la pasen imaginando que todos lo hackers son como Neo. Aunque no por eso en la vida real no sea igual de imaginativo y complejo. Pero definitivamente no es como en las películas.

1. El código no se mueve

En el cine y la televisión el código siempre cruza la pantalla con increíble velocidad; se presenta como un flujo impredecible de letras y números que cobran sentido para el programador pero incomprensibles para el resto de los mortales. Comprendo que para las personas no habituadas, las habilidades de un programador puedan parecer increíblemente complejas, ¿pero en serio creen que podemos leer toda esa mierda que no para de moverse? Es como intentar leer seis periódicos volando dentro de un tornado. Por supuesto que puedo ver la compilación de un kernel, las líneas de un archivo de log, o simplemente observar la salida paginada de un programa; pero lo importante de esas tareas es cuando la ejecución termina bruscamente y puedo mirar hacia atrás para ver qué demonios sucedió (a menos que la salida sea tan lenta como para poder leerlo tan pronto como ocurre).

2. El código no es texto verde sobre fondo negro

Sí, el código puede ser texto verde sobre fondo negro si así lo quieres, pero la mayoría de los programadores utilizan el resaltado de sintaxis y los administradores configuran su consola para utilizar colores.

3. El código tiene estructura

Según las películas todos los programadores odian la barra espaciadora y la tecla intro. En el mundo real el código tiene estructura — tiene saltos de línea, espacios y sangrados. Por supuesto todos nosotros escribimos algún que otro hack incomprensible.

4. El código no es tridimensional

¿Recordáis en ”hackers” cuando el servidor central es representado como una ciudad tridimensional por la que los hackers debían navegar? ¡Estupideces! Le damos un toque de color a nuestras consolas para hacer las cosas un poco más claras, pero la última vez que miré mi terminal no le hacía falta OpenGL. Necesitamos una pc para trabajar no para jugar Counter Strike.

5. El código no hace ruiditos cuando aparece por pantalla

Esto va para cualquier texto, no sólo código. Cuando el texto aparece en mi pantalla no hace estúpidos pitiditos.
Esta es una de las mayores cosas erróneas de las películas de Hollywood, en la mayoría de películas que tienen una escena en la que un personaje está escribiendo un e-mail o navegando por la red, conforme sale el texto se va oyendo el ruidito. ¿Tienen la menor idea de lo jodídamente irritante que sería en el mundo real? Sólo esta entrada supondría varios miles de blips blips blips .

6. Un niño de ocho años no puede romperlo en cuestión de segundos

Lo siento pero no, simplemente no.

7. No siempre se puede romper/descifrar

A la gente de Hollywood le encanta endosar la noción de que programación, encriptación, y computación compleja en general es siempre la misma cosa: un montón de datos secretos que tiene que ser descifrado por un inteligente hacker. Esto es hasta cierto punto comprensible porque el término “código” en sí mismo es ambiguo. En el ámbito de la computación, código tiene habitualmente dos acepciones:
  • El conjunto simbólico de instrucciones que una máquina puede entender — como Tu código PHP!.
  • La ocultación de un mensaje — como los indios Navajo en la Segunda Guerra Mundial
Hollywood habitualmente aplica la segunda acepción a todas las actividades en las que intervenga un ordenador. No hay ventanas que arrastrar, no hay llaves o sentencias IF, no hay escritorio. Todo lo que hay en el ordenador toma la forma de mensaje cifrado, que debe ser observado como si se tratara de algo erótico (el MD5 no me pone nada).

8. El código no es simplemente 00101101 10111001 00110011

Sí, cuando bajas a nivel binario todo es un montón de ceros y unos, ¿pero quién hace eso? Nunca he conocido a nadie que programara en binario.
Directores de Hollywood: los programadores utilizan una cosa llamada alfabeto. Hay letras que juntas para formar palabras. Incluso podemos poner espacios entre las palabras.
Otra cosa, el chiste sobre que todo acerca de la informática es solo un montón de ceros y unos ha dejado de tener gracia. Es casi tan gracioso como el chiste sobre el tío que utilizaba la bandeja del CD-ROM como posavasos, debo haber odio semejante cosas cientos de veces desde 1997. Únicamente porque todos los datos de un ordenador son en última instancia representados por un uno o un cero no significa que la base subyacente sea tan simple como un cero o un uno. Eso es como decir que toda la humanidad no es más que un montón de átomos de carbono (o lo que sea de lo que estemos hechos).

9. La gente que lo escribe utiliza ratones

Según las películas de Hollywood la mayoría de los programadores todavía no han descubierto cómo utilizar un ratón. Sí, escribimos rápido, pero el ratón es una herramienta muy útil y no hay razón para que lo abandonemos. Mientras tumbamos estereotipos, les dire que no todos los programadores son obesos vírgenes que juegan al WoW. Algunos tenemos vida social. Algunos incluso practicamos sexo. Cielo santo!!.

10. La mayoría del código no es multiplataforma

¿Recuerdas en El día de la Independencia cuando el tio con pinta de matemático escribe un virus que funciona en su portátil Apple Y en la nave nodriza alienígena?
Si la vida real fuera como en esa película sería capaz de portar WordPress a mi tostadora utilizando un cable CAT5 y una bolsa de purpurina.

3 comentarios:

  1. jajajajj eso ultimo me matoo xDD

    ResponderEliminar
  2. Un programador de verdad JAMAS usa el mouse. Aguante EMACS

    ResponderEliminar
  3. Mui buen articulo deverdad nunca ubiera visto uno como este¡¡

    ResponderEliminar