life changelog

La semana pasada resultó ser atípica. Además de muchas actividades tuvo un fuerte condimento de decisiones y oportunidades.

El primero punto de atipidés fue que se trató de mi primer semana de full-daily-routine. Es decir, todas las actividades que planeaba realizar durante este semestre están finalmente en su lugar semanal. El conjunto “actividades para este semestre” está conformado por los siguientes elementos:

  • Inglés, dos veces por semana: Sí, finalmente decidí estudiar inglés... ya que doy pena/lástima/vergüenza cada vez que abro la boca o escribo en el idioma de Shakespeare.

  • Natación, dos veces por semana: Sí, finalmente decidí hacer deporte... es relajante, saludable y divertido.
  • Tenis, una vez o menos por semana: Sí, finalmente decidí hacer deporte (bis)... jugamos con Sebastián quien tiene mucha más práctica que yo pero cada tanto me deja ganar algún game.
  • Teoría de algoritmos, dos veces por semana: Sí, finalmente decidí estudiar por placer... estoy de oyente en la fi.UBA. Las clases están dictadas por Rosita Wachenchauzer quien, además de saber mucho, es una excelente docente.

Como dije, también surgieron varias oportunidades y decisiones. La principal es que, después de dos años de espera, entré en el laboratorio SI6 de CITEFA. Lamentablemente esto me impedirá continuar con mis tareas en ShellCode.

Esta última novedad está fuertemente relacionada con dos resoluciones ridículamente interconectadas: Me voy a comprar un auto y me voy a inscribir en un doctorado (PhD).

En el primer caso, las razones pueden enumerarse. CITEFA está ubicado en un lugar poco accesible y ya no tengo que ir al centro a diario. Los lugares en lo que me moveré durante los próximos meses/años tiene estacionamiento. Dado que la idea me revoloteaba en la cabeza hace semanas, me parecieron buenas excusas.

El tema de la inscripción al doctorado es más independiente. Desde que me recibí que tengo ganas de empezar con esto. El proceso de recolección de papeles para la inscripción que es lento y tedioso. Supongo que pasará tiempo hasta que se me considere doctorando. Mientras tanto será agradable trabajar en el laboratorio. Creo que será una buena introducción a la vida académico-investigativa.

Hasta el momento, estos son los cambios en mi vida. Sigo trabajando para especializarme en Criptografía. Me quedan pendientes algunas materias y el trabajo final. La faena en Debian está algo rezagada, y espero dedicarle algunas horas de calidad en el corto plazo.

cvs commit

scrabbel looser

Cuando el hecho relevante de la semana es el descubrimiento de lo pésimo que soy en el scrabbel, es porque son días sin grandes sobresaltos.


click para detalles

Cuando se encuentra cualquier excusa para dejar de estudiar y jugar con gnuplot, es porque son días de grandes procrastinaciones.

click para detalles

Cuando scrabel se escribe con una sola b, es porque se trata de industria argentina.

Libros del 2007

Terminó el año y es un buen momento para comentar sobre lo leído durante el mismo. Creo que en orden de finalizado, los libros que leí durante 2007 son:

  • Criptonomicón (II y III), de Neal Stephenson
    Una excelente saga que termina de una excelente manera. Una novela perfectamente geek. Altamente recomendable.

  • Turing y el computador, de Paul Strathern
    Una biografía esclarecedora y entretenida. Con cierto contenido teórico y buena explicación de las bases computacionales que hicieron de Turing el mayor exponente de la computación moderna. Lo leí como bibliografía para la charla Criptografia desde su Aplicación Domestica.

  • El perfume, de Patrick Suskind
    Tuve que leerlo medio por obligación, y resultó ser no tan malo. Aunque no es mi estilo de novela, es entretenida y llevadera.

  • El curiosos incidente del perro a medianoche, de Mark Haddon
    Ingenioso y original. Con lindos giros que alternan entre situaciones de tensión incómoda con los divagues mentales de cualquier chico.

  • El teorema, de Adam Fawer
    Si bien es particularmente fantasiosa, tiene muchos guiños nerdies sobre matemática que lo hace muy llevadero, más allá de algunos errores técnicos. Tiene una excelente explicación del la paradoja del cumpleaños y de otros conceptos de estadísticos. Con respecto al Demonio del Laplace, deforma la teoría hasta llevarla al límite con lo esotérico y ciencia-ficcionario, pero muy llevadero. Me hizo acordar a mis épocas de lector cyberpunk.

  • La matemática del siglo XX, de Piergiorgio Odifreddi
    Un muy buen libro de divulgación científica. Es un recorrido por los mayores avances de la matemática del siglo. Para definir mayores avances el autor se basa en los problemas de Hilbert así como también aquellos descubrimientos y temas galardonados por la medalla Fields.

  • Go, el juego más fascinante.
    Es un pequeño y conciso librito con lo mínimo y necesario para iniciarse en el juego del go. De rápida lectura y entendimiento viene con un tablero de cartón para empezar a jugar inmediatamente.
    Einstein relativamente fácil, de Javier Covo Torres
    Es sorprendente la simpleza y, a la vez, profundidad explicativa de este libro. Con un lenguaje doméstico demuestra que la teoría de la relatividad puede ser entendida por mortales-no-físicos, espantando los demonios de la complejidad que la misma parece inducir.

  • La naranja mecánica, de Anthony Burgess
    Un clásico que merece ser leído. Aunque algo chato de a ratos, tiene frases que son sumamente inteligentes.

  • 1984, de George Orwell
    Uno empieza a ver el mundo con otros ojos después de leer esta novela. Imperdible.

  • Economía para principiantes, de Alejandro Garvie / Sanyú
    Si bien su excesiva compresión y resumen dejan sabor a poco, resulta ser una entretenida introducción a la economía política.

En este momento estoy leyendo, como continuando la saga de novelas distópicas británicas, Un mundo feliz de Aldous Huxley.
Otro viento proveniente de Mountain View trajo dos nuevos libros. En este caso, con el objetivo de mejorar un poco mi go:The Second Book of Go, de Richard Bozulich y Lessons in the Fundamentals of Go, de Kageyama Toshiro. Ambos quedarán para las vacaciones, junto con El último teorema de Fermat de Singh Simon.

UPDATE January 17th
Me quedaron en el tintero dos libros de los que prefiero olvidar que pagé por ellos. Los compré cuando estaba escribiendo un resumen sobre Kryptos y criptografía clásica, pero no llegaron a cumplir mis expectativas:

  • Codes, Ciphers and Secret Writing, de Martin Gardner
    Aburrido, excesivamente clásico, básico y chato.

  • Cryptography, de Laurence D. Smith
    Idem, anterior. Tal vez levanta un poco porque tiene desafíos y explicaciones sobre técnicas de criptoanálisis clásico. Tampoco rocket science.

proyecto final finalizado

El viernes aprobé Proyecto Final, que no es más que un nombre fancy para una materia del último año de ingeniería en el cual se hace un programita para “integrar los conocimientos adquiridos en la carrera” (si ésta frase fuese textual el programita tendría una cantidad ridículamente pequeña de líneas). El hecho es que, terminado ésto, solo me separan tres finales de mi título de grado. Espero darlos cuanto antes.. que esto ya se me está haciendo insoportable.

captchas: The Good, the Bad and the Ugly

Some months ago, I commented about a weak implementation in a fancy captcha. Today I would like to comment about other bad implementations, but in other ways.

The good

A captcha should have big Shannon entropy, finite, but big. The session ID and the challenge must not be reused. The images must be resistant to OCR but should be understandable by a human.

The bad

Here is the first example:


Believe it or not.. This is a real case. So incredible eh?

The ugly

The victim, in this case, is this one:
This is an implementation of captchanumbers, by Hadar Porat. This captcha and many others generated by captchanumbers are weak and can be read with this script.

The idea is simple. As the numbers are nearly in the same place, they can be cut. Those parts can compared independently, reducing the entropy. May be the script and this image would be more enlightening than my limited English:


The 10,000 possibilities was reduced to 159. No OCR, 100% deterministic.

Second moral: Understand the fundamentals first, write code later.

DMZing

Ayer fue día no laborable en Argentina y aproveché para armar un pequeño servidorcito que andaba necesitando. Con lo que ahora hay una nueva maquina en mi pequeña red hogareña: koala. Ahí tendré que instalar, en orden de urgencia:

  • Apache+MySQL+PHP+Python
  • Subversion+Trac
  • Exim4+mailx
  • Asterisk
  • CUPS
    Pero esto quedará para otro día. Por otra parte, configuré un DNS interno en el OpenBSD porque ya son demasiadas(?) máquinas.

  • </ cuasi vacation > < last university semester >

    Durante este fin de semana, aprovechando que todavía no empezaba las clases (hasta hoy), por sugerencia de mi madre y con la excelente escusa de las 7mas Jornadas regionales de Software Libre, es que estuve en Córdoba los últimos 3 días y a modo de vacaciones nerdies.

    El nivel de charlas fue espectacular y con varios disertantes internacionales. De las conferencias a las que asistí destaco:

    • A tale of one standard: ODF vs OOXML por David Megías - Georg Greve - Nagarjuna G - Gustavo Boksar

    • Welcome potential Kernel Hackers por Christoph Hellwig
    • Python y Concurrencia por Lucio Torre

      Por otra parte, me dediqué a terminar algunas cosas que había empezado durante la semana, como ser: un módulo de brute force para formularios web como parte de medusa y terminar dsniff. Éste último fue mi primer upload en Debian :-). Con respecto al módulo de medusa, se lo mandé a upstream para las correcciones del caso y espero esté en su próxima versión.

      Dado que estoy retomando mis obligaciones académicas, puede que dedique menos tiempo a este tipo de cosas. Pero me esforzaré por hacerlo regularmente. En particular, imagemagick necesita mucho trabajo y tengo muchos pendientes de WNPP.

      Sin duda, necesito invertir más tiempo de calidad en lo que me gusta.

    fin del semestre academico

    Finalmente terminé el semestre académico. Todo hubiera salido de maravillas sino fuese por un tropezón en el final de Inteligencia Artificial, que tendré que volver a dar en septiembre.

    Primero, lo prometido (ni que fuera gran cosa). Los dos informes que presenté este semestre y que disfruté mucho de hacerlos. Ambos fueron comentados en este blog durante su confección y vienen acompañados de un poco de código para que pueda verse su parte “práctica”:

    • Algoritmos Genéticos para la Resolución de Sudokus - (Inteligencia Artificial): Como lo había comentado, no esperen nada interesante desde el punto de vista de la resolución. Es, más bien, una ridiculez hecha informe. Planeo hacerle algunas mejoras al programa propuestas por amigos con demasiado tiempo libre.
    • Análisis y Detección de Esteganografía en Audio - (Procesamiento de Señales): Tampoco esperen nada revelador. Aunque creo que también voy a mejorarle la parte algorítmica en algún momento. Si bien es algo más serio que el anterior, su enfoque está muy basado en los lenguajes y funciones utilizadas. Creo que se puede orientar más a lo analítico, por lo que sugerencias son bienvenidas.

    El semestre que voy a iniciar es el último antes de convertirme en ingeniero. Quedan 6 materias y el objetivo principal es terminar con un promedio superior a 7.

    Otro tema. Gracias a todos lo que me saludaron y felicitaron por mi nombramiento en Debian :-). Sus elogios y empujones de entusiasmo hacen mucho bien.

    fancy /mathematical /insecure /unofuscated /reused captchas

    Few days ago, Gunnar told me about a quite curious captcha:


    But, in the other hand, it had been implemented insecurely. With just one answer, you can submit many times:

    Furthermore, I notice that the captcha was precomputed and, therefore, finite and reused. I made more than 15,000 requests and I had less than 5% unique (there is no motivation to solve 700 differential equations :P).

    Moral: Sometimes, extravagance goes against security.

    DebConf7 ended

    Bien, la misma depre de cada vez que una DebConf termina. La pasé realmente bien. En lo personal, este año fue bastante productivo:

    Gracias a todos los organizadores por haber hecho una excelente DebConf7. El año que viene espero ver a una Argentina llena de debianeros :D

    Ahora, después de un (muy) largo viaje, con algo de jetlag y la mochila perdida en el aeropuerto, me dispongo a empezar el ToDoList de la universidad. Van a ser días complicados... muy complicados...

    ¿macri ya es presidente?

    Me voy por un rato de casa e increíbles cosas ocurren en la política de mi patria.

    La nota en cuestión es ésta y sé que no es el tema de fondo. Pero así no es de extrañar que haya gente que ni sepa donde queda Argentina. No digo que todo ciudadano británico sepa quién es y cómo se ve el presidente argentino, pero en una redacción de un diario es de esperar que sí se sepa. De última, Google es tu amigo.

    I arrived to DebConf7!

    ¡Llegué a DebConf7!

    El día empezó mal. El despertador no sonó como debía hacerlo y me levanté temprano de casualidad. El hecho es que no llegué al bondi que debía llevarme al aeropuerto de Shannon. Tampoco llegué al siguiente. Tampoco al siguiente. El hecho es que llegué con lo gusto al aeropuerto.

    La paranoia europea en los aeropuertos es una mierda. Tarde varios minutos en el pasar el control de pasaportes.

    Lo bueno es que logré subirme al avión y después de caminar un poco llegué a Teviot

    Recapitulemos desde el último post. De Dublín fui a Limerick el lunes a la tarde. Podría haber ido a Cork que queda al sur, pero no encontré opciones para volar a Edimburgo desde ahí. En el oeste, Limerick queda cerca Shannon, que tiene aeropuerto y de donde salen vuelos a Edimburgo.

    Así fue como me tomé el bus a la ciudad en cuestión, en busca de riscos y acantilados. Pero llegué a las 6pm y, en Irlanda, todo cierra a las 5pm (excepto los pubs, claro) con lo que no pude hacer muchas averiguaciones en la oficina de información turística.

    Me costó mucho conseguir un lugar para dormir y terminé en un B&B, no tan alejado del centro. A la mañana siguiente alquilé una bicicleta y salí a pasear. Fui a las afueras de la cuidad y la pasé bien.

    Me acosté relativamente temprano porque el cuerpo podía a gritos un descanso. Lo que me terminó jugando una buena pasada porque evitó que me quede dormido la mañana siguiente.