Entradas

Te recuerdo, 4m4nd4

  Sentado a la sombra artificial de un árbol sintético, JM71 se dispuso a hacer algo que jamás se le había ocurrido con anterioridad: pensar en el pasado. Los avances tecnológicos y la creciente incertidumbre sobre el futuro de la raza humana habían centrado el foco de atención de la educación en el futuro. Nunca se llegó a saber si el pasado estaba regido por leyes o si acaso era absolutamente azaroso pero ya no importaba ya que de un momento a otro los tópicos se habían desplazado desde Walter Benjamin, Karl Marx y otros, hacia qubits, entrelazamiento cuántico y válvulas moleculares. En esas circunstancias, la tarea que se estaba proponiendo JM71 no era para nada trivial. Solo guiado por su imaginación creó un pasado lejano, intentando emular en su mente como sería todo allá por los remotos años 2000. Se imaginó a una sociedad que no poseía las respuestas a todas las preguntas y tembló ante la idea de vivir en una época en donde la dirección de la entropía todavía no había sido modif

Mi tesis de grado en Ingeniería Informática

Más de una vez me han preguntado, sobre todo estudiantes avanzados de la carrera, respecto a mi tesis de grado de Ingeniería Informática. Si bien las preguntas generalmente varían, hay un interrogante constante: cuánto tiempo me llevó hacer la tesis. Los curiosos suelen sorprenderse pero nunca sé bien que responder. Entiendo su sorpresa: hacer una tesis suele ser un evento importante en la vida de una persona, no puede ser que esa persona no tenga presente cuanto tiempo le llevó. El objetivo, entonces, de este artículo es ordenar mis ideas sobre el papel para que la próxima vez que alguien me pregunte pueda darle una respuesta corta y una referencia a este artículo en caso de que realmente está desesperada por saber más. Disclaimers  1. Los nombres reales fueron reemplazados por una sugerencia propuesta por el sgte. comando: $ date +%s | sha256sum | base64 | head -c 6 ; echo 2. La tesis no la hice solo, la hice con mi colega Gonzalo Pallotta y con mi colega Héctor Klikailo qui

Neoludismo

Probablemente suene un poco Stallman-ista o neoludita pero no importa, quiero compartir unos pensamientos: Se ha dicho que el futuro de una tecnología consiste en su capacidad de brindar un camino de huída. Se ha dicho, también, que esto no siempre fue así, que durante un breve espacio de tiempo y hace unos 30 años lo digital era una excelente herramienta de la contracultura para crear un futuro más inclusivo, justo y humano. La extracción de enormes beneficios fue quien llevó nuestra capacidad de acción a otros lugares. Estos lugares de poder son los que, por ej., mutan todas nuestras preguntas acerca de la ética en divertidas paradojas filosóficas. Todo esto nos debería implantar la necesidad de pensar: no deberíamos dejar que la creatividad, la curiosidad o el raciocinio se vean limitados por la existencia o no de beneficios económicos para quienes nos brindan esas tecnologías. Kant basó su imperativo categórico en nuestra habilidad para razonar y ese es un punto: la tecnología

Fucking Call Back Verification

Estos días me encontré con una e-zine argentina llamada "Minotauro" que salió entre los años 1994 y 1997. Abarcando tópicos como el hacking, phreaking, virii y cracking, la e-zine fue escrita por columnistas con nombres como Dr. Retro, Zarathustra, trurl, Lapidario o Drako. El artículo que voy a compartirles a continuación fue escrito por este último y aunque es totalmente inútil para los días que corren, me parece interesante el reflejo de los "problemas" de la época y el estilo de redacción adoptado. Claro que podría dejarles un link pero ¡Algo tengo que escribir acá, che! El texto lo reproduzco tal cual lo copié, agregándole los acentos que se perdieron por cuestiones (sigh) de encoding. El artículo en sí: Bueno, este tema es bastante sencillo.. Antes que nada expliquemos lo que es el Call Back Verification y como es que funciona.. Bueno, el Call Back es un modo de validación automática.. el motivo de esto es la supuesta despreocupación del operador d

Creador de contenidos Responsable

Como comentaba en una entrada anterior, me embarqué en enseñar VB6 y FoxPro9 (Lo escribo todo junto para evitar gastar espacio nombrándolos) a un chico que debe esas materias en su secundaria. Este chico me trajo un apunte sobre ADOs que en una parte tenía unas tablas en Microsoft Access que poblaba con nombres de profesores bastante peculiares. Gracias al ego de su profesor que escribió su nombre en el margen inferior de cada hoja, pude corroborar que ninguno de los profesores que aparecía en la tabla era él, por lo cual debí googlear porque a alguien se le ocurriría poner "Córdoba Saavedra, Javier" como profesor y no usar algún placeholder común como John Doe. Así fue que me encontré con un puñado de sitios que tenían el mismo material, robado originalmente a quien sabe quien. El inconveniente es que los ejemplos contenidos en este material siguen algunas malas prácticas de programación, o, no están todo lo bien codificado que uno podría desear y eso es un gran problema. A

VB6 en el siglo XXI

Tengo que dar unas clases particulares de programación. Lo que en primer momento pensé que sería C, resulta que será VB6.0 y FoxPro. Para la hora del desengaño ya había confirmado mi disponibilidad y no me gusta ser una persona que rompe compromisos. En otra ocasión podríamos conversar sobre como es que hay gente que sigue enseñando tecnologías innecesarias y obsoletas (Microsoft considera a VB6 como lenguaje legacy desde el 2008) argumentando todo tipo de absurdos. Por ahora, me monto una VM con Windows XP y me pongo a descargar compro VB6. Esto me da tiempo para leer algunas cosas por el camino: VB6 fue la segunda y última versión de la suite de desarrollo Visual Studio de Microsoft, antes de la plataforma .NET. Visual Studio también incluía Visual J++, un lenguaje que le costó a Microsoft millones de dólares a pagar a Sun Microsystems ya que era una versión propietaria e incompatible de Java. ¿Por qué VB fue discontinuado? Porque no fue concebido como un lenguaje de desar

Introduccion a x86 ASM - Registros

Imagen
Assembler no es un lenguaje. Es una familia de lenguajes dependientes de la arquitectura de los procesadores. Esta familia de lenguajes es fundamental en ingeniería inversa. Me fascina el concepto de ingeniería inversa aunque aún soy un lego casi total en la materia: esta guía también me sirve a mi. Por otra parte, demasiados desarrolladores no saben lo que es la ingeniería inversa y demasiados desarrolladores piensan en Assembler como si fuera un lenguaje de programación obsoleto. Esta serie de entradas, inspirada en esta otra Guía de la Universidad de Virginia pretende ser una guía introductoria al lenguaje assembler usado en los procesadores Intel x86. Como guía introductoria cubre solamente una pequeña porción (pero útil) de las directivas e instrucciones disponibles. Así como existen un lenguaje ensamblador para cada arquitectura, existen varios lenguajes para generar código máquina para procesadores x86. Esta guía utiliza el assembler de Microsoft Macro Assembler (MASM) , q