2012/02/11

Script Kiddies: los hackers estan desapareciendo


El título no apunta a los crackers que defacean sitios, y si no entendiste "defacear" o "cracker" no importa tampoco. Esto va más por el lado de la experiencia laboral y luego de charlar anoche con Arkhos sobre esto mismo me dieron ganas de pasarlo a un post.

La cuestión es así y lo pueden poner a prueba ustedes mísmos, ¿cuantos de los que en este momento leen este post saben lo más mínimo sobre lo que implica que un post se lea en un monitor? es decir, ¿saben como funciona una PC? ¿un sistema operativo? ¿un programa? ¿una línea de código? toda esa cadena de información necesaria para entender el funcionamiento de tantas cosas juntas es MUCHA información, pero lo más básico de cada una ¿lo pueden comprender?

Tengo una visión distinta sobre la realidad de la tecnología que no me parece compatible con los teóricos de las nuevas generaciones, cuando se me dice que los "nativos digitales" comprenden todo distinto los veo más como burros que como seres avanzados que comprenden todo mejor: es mentira, no entienden como funcionan las cosas, sólo son usuarios finales de una capa externa de una abstracción tan lejana como incomprensible para ellos. Son Script Kiddies, no son hackers. De eso se trata este post, aunque seguramente la introducción no se entendió un cuerno.

Un hacker se mete en el código para entenderlo, un Script Kiddie copia, pega, modifica dos parámetros, ejecuta. La diferencia entre el primero y el segundo está en que uno comprende el porqué, el otro tan sólo ve el resultado, si falla busca otro código hecho por un hacker y repite el intento.

Algunos dirán "bah, pero esto es cosa de hackers, yo no hackeo sitios en mi día a día", no, errado, un hacker no es el que te vendieron en las películas, un hacker es alguien que hace que las cosas funcionen. Todos podríamos ser hackers, pongámosle otra palabra si quieren, a ver, cuando uno aprende a arreglar un motor del auto o al menos saber como se llama cada parte ya está haciendo un esfuerzo en comprender más allá de lo que necesita.

Noten como la sociedad moderna nos va llevando cada vez más a no necesitarlo, pero no sólo eso, la industria quiere que no sepamos. En el caso del automóvil primero tenemos la obsolesencia programada, ya está todo hecho para durar 5 años, ¿por qué aquí todavía sabemos cambiar una bujía? porque hacemos que los autos nos duren más de 10.

Si tirásemos el auto al quinto año (o antes) y nunca le reparamos nada (porque no se rompió) no tendríamos necesidad del taller mecánico. Por eso poco a poco los motores empezaron a venir "empaquetados" al punto de que no se puede meter mano en nada.

Hoy en día en la mayoría de los autos nuevos hay una tapa que te impide acceder al motor, y en otros países donde se rompe si electrónicamente no se puede arreglar, se cambia por otro. Desaparece el "hacking" del auto (meter mano), se pasa al "script kiddie" (el taller que controla sólo electrónicamente) y terminamos sabiendo tan poco de eso que usamos que el hacking queda relegado a unos pocos que por hobbie arreglan autos antiguos.

Bueno, en la industria del software pasa lo mismo y hasta peor.

Pasa más que nada por la experiencia personal, si alguna vez tuviste que trabajar con programadores notás la diferencia entre generaciones de una forma muy sencilla, los "anticuados" son de entender el problema, los "nuevos" son de copypastear soluciones que googlearon. A mi me encanta el que googlea, pero si una vez googleado entiende que está copiando y usando es ideal. Pero no, no lo hacen.

Copian, adaptan como pueden, sin entenderlo, te lo mandan como terminado. Mirás el código y es una vergüenza ¿esto es programar? en la industria el hacker fue desapareciendo, la necesidad de más y más programadores hace que no sólo se paguen fortunas en algunos casos por los hackers, si no que sea imposible generar nuevos. Las carreras de sistemas no estan orientadas a esto, educan script kiddies intencionalmente.

La mayoría de los programadores JAVA que conozco son esto mísmo, les inculcan patrones como si fuesen leyes, pero nunca se pusieron a pensar que el código estaba antes que el patrón, el patrón es tan sólo una guía, no una ley.

Los de bases de datos ni hablar, nunca vieron el mundo real, en las facultades te dicen que hay que normalizar todo, en la realidad una base de datos perfectamente normalizada no puede manejar cantidades gigantes de datos, NO PUEDE, si no pregúntenle a todos los que se pasaron a bases planas para manejar datos de a millones, fíjense como funciona Twitter o Reddit que usan sistemas como Cassandra.



Ahora un diseñador gráfico aprende a maquetar en HTML y se vende como generador de sites a full, mete un Wordpress, esa cáscara que hizo, la implementa a los codazos y se ve lindo, pero por dentro es un desastre (me tocó arreglar uno hace poco).

¡nadie te programa algo a medida! o todos necesitan de un desconocido Framework porque no saben programar de cero nada, Google pasó de ser una referencia a su fuente de código, como si en vez de crear los ladrillos de la obra ellos mísmos deberían sí o sí depender de otro para hacerlos. No salen soluciones de ellos mísmos, sólo adaptan las existentes. Como si un guionista de cine tuviese que sí o sí depender de un libro y no pudiese crear algo propio... oh... un momento... ultimamente en Hollywood pasa eso.

La realidad está muy lejos de la escuela, cada día más, pero estos supuestos "nativos digitales" apenas conocen la capa superior.

La informática fue sumando capas para hacerla más sencilla a los usuarios "básicos", esos que seguro nunca iban a aprender qué sucede dentro del motor porque no les es imprescindible, el problema es que de tantas capas intermedias los que supuestamente deberían saber quedaron en el mismo lugar de los que no iban a aprender un carajo.

Estos "nativos" no tienen ganas de crear, no tienen ningún impulso para hacerlo, es más común que los veas navegando en la web que escribiendo código, a veces hasta son buenos para repetir mecánicamente, por ejemplo armando una clase, un prototipo, una estructura, pero no estan sabiendo rellenarla, porque si hay "vagos-nenes-de-mamá" en el trabajo digital, son ellos, todo servido en bandeja, nada de laburo.

Es como cuando te enseñan a sumar, restar, multiplicar, dividir, si aprendiste con calculadora estás jodido, y eso es lo que se les hace a los nenes hoy en día en la escuela... hoy en día, hace varias décadas. ¿calculadora en la primaria? tomate todo el tiempo del mundo en multiplicar, nadie te apura, no es necesario el resultado, es necesario el proceso para que entiendas el resultado.

Esta idiotez institucionalizada a veces creo que proviene de algún plan macabro, en otra época la "Schule" del pueblo estaba separada de la élite, me refiero a Prusia, siglo XIX, así lograron educar a la masa, pero con el tiempo la masa se volvió instruída, los genios empezaron a aparecer en el pueblo y no en la élite. Bueno, a veces con la tecnología y la educación en general creo que se está optando por una regresión, volvamos a mantenerlos bien brutitos, que sólo conozcan la capa superior pero no la gran cebolla que les daría el conocimiento para entenderlo todo.

Es como si el mecánico te diga "ah, yo esa tapa no la abro, no se que hay adentro, yo conecto estos cablecitos y si me dicen que anda, anda bien" ¿y saben que? eso ya está sucediendo, tanto en el taller mecánico como en nuestro mundillo informático. Nadie se engrasa los dedos, menos los mal llamados "nativos digitales"

Fuente: http://www.fabio.com.ar

No hay comentarios.:

Publicar un comentario