martes, 3 de agosto de 2010

Un poco de la vida de un programador

A lo mejor nadie, o casi nadie, se pregunta como es la vida de un programador, un cracker o un hacker pero me permito abrirles un poco la perspectiva. En mi persona aplica lo de programador.

Comenzaré diciendoles que si programar se trata de una actividad secundaria (como es mi caso), es decir que no es de lo que vivimos, es muy seguro que las horas de descanso (dormir) sean realmente pocas. Esto porque aparte nuestras actividades cotidianas debemos darle un espacio y tiempo de concentración a lo que estamos programando y por ende suele ser toda la madrugada.

Es duro ciclarte a veces en una parte de lo que estas programando porque no funciona como debiera, pero en innumerables veces suele ser porque estamos agotados y no tenemos ya la claridad para resolverlo en ese momento. Irnos a descansar suele ser la solución pero a costa de un mal descanso, ya que en mi caso cierro los ojos y vuelvo a ver la pantalla de la computadora en mi mente y sigo trabajando en el código. Para cuando despierto solo hacen falta 5 minutos para resolver lo que unas horas antes parecía imposible. El precio...adios al descanso real ya que dormimos pensando en programación y luego de un par de horas despertamos igual (así es, casi no dormimos). Cuando existen algunos fines de semana y es tanta nuestra adicción a programar es que podemos quedarnos frente a la computadora por horas (lo más que me he quedado han sido 17 horas sin dormir) y a veces ni queremos comer con el fin de no distraernos y no perder lo que tenemos construido en nuestras mentes.

Otra parte desagradable es el no poder concentrarse en el código por factores externos como pueden ser que alguien tenga la música a alto volumen o que simplemente te hablen y te distraigan por unos segundos. Eso realmente es irritante ya que los demás no saben que en nuestras mentes tenemos que pensar e ir procesando el código que escribimos tal cual como lo haría la computadora y con un poco de distracción a veces perdemos el hilo (cuando estamos sobre todo más cansados). Esta es otra razón por la cual también prefiero programar de madrugada o con audifonos (con supresión de ruido) a todo lo que dan.

La parte buena es que conforme más aprendemos (sobre todo de errores) mejores cosas podemos lograr. También es excelente el sentimiento de satisfacción cuando ves que vuestro programa es tan útil que tienes seguidores que aportan grandes ideas para su desarrollo ya que te llevan a fronteras que jamás imaginaste.

Para el caso de un cracker en mi poca experiencia sólo les puedo decir que es un tanto más difícil en un principio ya que con el tiempo te acostumbras tanto al ASM que muchas veces preferirás ASM un decompilador mal logrado (como el rec22). Pero aun con eso sigue siendo complicado el hacer ingeniería inversa y sobre todo con factores como los anteriormente mencionados.

Cuando pasas demasiado tiempo aprendiendo el código en ASM de un X programa puedes llegar a entender como trabaja la mente de quien lo programó y aun mejor puedes llegar a hacer reingeniería como tus propios updates o mods con funciones totalmente nuevas o diferentes a lo que una aplicación original puede ofrecerte.

Bueno, suficiente de quejas...Ahora si seguiré viendo unos pendientes hehe.