24.8.08

Jolibú y la informática riñeron el otro día

Una mas de cine. Yo que estoy dentro de esta 'mundillo' de la informática hace mucho que me rechinan los dientes cuando veo una peli de 'hackers'. Dejando aparte que la diferencia no está tan clara como debiera 'gracias' a los medios de comunicación y que la gente no suele diferenciar entre hackers, crackers, lammers y demás fauna [guia de campo aquí :P] y teniendo en cuenta que hay que hacer las historias interesantes e intentar mostrar esto de forma amena y con tensión y esas cosas... sigue pareciendo que los guionistas pasan de consultores y preguntan al vecino.

¡Maldita sea, el amigo informático SI está para esto! Joder, guionista, que pareces nuevo. O a ver si te vas a creer que ese minicurso de Office ya te hace un experto, ¿hm?

Y es que entre las cosas que el codigo NO hace en la vida real tenemos por ejemplo que:

- El codigo no se mueve por la pantalla:
Es una de las cosas que la gente se cree, que el codigo está vivo y que con pulsar repetidas veces 'enter' y 'barra espaciadora' aparece automágicamente. Y que luego se pone a jugar a la 'serpiente del nokia' él solo a velocidades increibles.
Vale, si, un codigo suele ser complejo y a un lego le puede parecer algo completamente inteligible... pero incluso nosotros nos liamos con él incluso estando quieto. Una buena comparación entre los excesos jolubudienses es entre leer un periodico (la realidad) e intentar leer 6 periodicos a la vez en un tornado (pelis y tal).

- El codigo no es verde con fondo negro:
Podría ser, si si quisieramos; pero es más comodo y más legible utilizar colores, resaltado de sintaxis y herramientas de este tipo, porque así se ven los errores antes. y porque, cojones, no te quema tanto las retinas. Los administradores de sistemas hasta se configuran colores con ANSI.
- El codigo tiene una estructura:
Una de las cosas que te enseñan primero cuando aprendes a programar es que sl cidigo tiene que ser legible, con saltos de lineas, abundantes comentarios y unas tabulaciones... mas que nada para poder leerlo y entenderlo. En las pelis no, y es extraño que aunque se le de tanto al 'intro' no salga ni un puñetero salto de línea. Los que han programado se han hecho codigos realmente churrescos que no hay por donde cogerlos... y que han instado a sus compañeros de practicas a suicidarse, pero ya no se lleva...*

- El codigo no es tridimensional:
Ni te saluda, ni tiene forma de ciudad, ni es mas listo que tu porque el codigo simplemente es un montón de lineas. Que recuerde para abrir mi editor no necesito Open GL... y cuando me hago las practicas no estoy jugando al Quake

- Y no suena cuando aparece en pantalla:
Blip... Blip... blip... no, señores guionistas; ni de coña. Como tenga que sonar cada cosa que entra en el ordenador por teclado estamos listos (y digo por teclado, ya sea un documento de texto o codigo o LO QUE SEA). Esta es de las cosas más 'hirientes' de las películas, que no dejen de sonar blips en ordenadores sin altavoces ni nada... y es que sería poco practico. ¿os imaginais que cada letra es un 'blip'? A mi me reventaba la cabeza a los dos parrafos de post.


- El codigo no puede ser crackeado por un crio de 8 años:
No, lo siento... simplemente no.

- Y es que algunos codigos no permiten ser crackeados:
Y es que por Crackear ya se entiende cualquier cosa. Hollywood no deja de dar la noción de que la programación, la encriptación y la computación completa es la misma cosa: un monton de datos que pueden ser rotos por un hacker listillo. ESto puede ser entendido porque 'codigo' tiene un par de definiciones:
1- Las instrucciones sinbólicas que entiende un ordenador - 'tu codigo Php es la mierda'
2. La transformación de un mensaje mediante un codigo - 'Los USA usaron el codigo Navajo en la segunda guerra mundial'

Y lo que nos intentan mostrar siempre es la 2º definicion en todas las cosas informáticas de las pelis. Y así no tenemos ni escritorio, ni codigos bien hechos ni ventanas, ni sentencias if... como 'texto encriptado' listo para que un jaquer nos lo rompa.


- El codigo no es en binario:
Bueno... rascando, rascando se llega a que la forma más basica de un codigo es el lenguaje binario, que es lo que un pc entiende. Pero hay que ser un suicida para intentar programar en esto. Para que se pudiera hacer más facil se creó el lenguaje ensamblador, que tenía ciertas instrucciones que se traducian a binario. Y luego los lenguajes de programación de bajo nivel, que eran más sencillos, y luego los de alto nivel que eran muuucho más sencillos y potentes... Y desde esto hace 20 años como poco. ¿Consejeros para los guionistas? ¡Anda ya!

¡Eh, Guionistas! ¡¡¡Para programar usamos un invento nuevo que es cojonudo y se llama ALFABETO!!!

Además reducir toda la complejidad algoritmica a solo 0's y 1's sería como reducir a toda la humanidad y sus logros y tal a 'atomos de carbono'


- Los programadores usan el ratón:
Es una de las herramientas más utiles y creo que , sin duda, fué lo que abrió las puertas a la usabilidad en informática, no creo que tengamos que desecharla del todo. Vaaaale, usamos atajos de teclado y demás y tecleamos un poco rápido. Pero usar solo el teclado es un puñetero estereotipo, como lo del informático gordo y con barba que solo programa y juega al Wow. Que somos mas que eso, cohone. Que tenemos vida social y demás (bueno, algunos saurios no, que prefieren quedarse en la uni hasta la ultima hora de los viernes)


- Y el codigo no es multiplataforma:
NO, repito NO puedes meterle un virus a un ordenador de una nave nodriza por muy Jeff Goldblum que seas ni muy Powerbook que sea tu portatil Mac. No, sencillamente no puedes.
Entre otras cosas porque el codigo, aunque sea de alto nivel hay que traducirlo a instrucciones sencillas que entiende la maquina y NO SABES como es la maquina en la que estas metiendo. ¿Y si sus ordenadores no son binarios (0 y 1) sino octales o hexadecimales (de 0 a 7 y de 0 a F)***? ¿Y si su arquitectura es diferente a la nuestra****?

Si la vida real fuera como las pelis yo podría actualizar mi blog con una tostadora, un cable telefónico y una bolsa de purpurina. Así de sinsentido queda.


Pero no todo es tan malo, en algunas películas si se hace bien y se usan las herramientas de hacking de forma adecuada... como, aunque no lo creais, The Matrix :P

Yo espero que nos traigan pelis en las que cosas como estas no sean tan cantosas (en 'juegos de guerra' el prota pulsaba teclas al azar pero el programa rulaba... ¡y no nos dimos cuenta!). Ale, hasta mas ver :P


OST de este Post:
Richard Ashcroft - Music is Power
The Ditty Bops - Waking up in the City



------------------------------
*[excepto en concursos de 'programación ofuscada', donde lo que se intenta es que no se sepa que hace un código... aquí un ejemplo]

**[o no la hace, como muchos estudiantes de informática corroboran]

***[el hexadecimal y el octal son 'otras formas de contar' con otra base numérica. De normal contamos con base 10 (0,1...9, y pasamos a 1 decena y 0 unidades), mientras que el hexadecimal cuenta hasta 16 y luego salta a las 'decenas' xD]

****[la arquitectura de un ordenador define cómo está diseñado y como almacena los datos y gestiona las operaciones y la memoria. La de los ordenadores actuales se llama 'de Von Newman'; y almacena instrucciones (codigo) y datos en la misma memoria; tiene un procesador y se comunica con las memorias mediantes 'buses de datos'. Podría soltar mil cosillas mas, que estoy estudiando precisamente esto ahora, pero sus aburriría...]

Etiquetas: , , , ,

1 Comments:

Blogger E. Martin said...

***(2) O podrían ser trinarios, como los ordenadores de los Magos del juego de White Wolf, que en lugar de funcionar en base a Si y No tiraban de Si, No y Quizá.

Y Juegos de Guerra, ese clásico adelantado a su tiempo sobre lo que puede llegar a hacer un bot del Quake con demasiado tiempo libre.

24 agosto, 2008 13:26  

Publicar un comentario

<< Home