Investigacion


17
Jan 11

Bubok o Lulu?

Hace unos meses que tengo descuidado el blog y es debido, en parte, a que el tiempo de investigación (?!) que tenía para él lo estuve dedicando a escribir un libro sobre programación (y no me da la cabeza para más de una cosa a la vez).

Continue reading →


5
Jan 11

Subversion y acentos en OS X

Hasta ahora venía usando subversion por línea de comando en OS X sin ningún tipo de problemas, hasta ayer. Me encontré con que los nombres de archivos con acentos (comitiados desde Windows) traen problemas en OS X (pero no así en Linux). El problema está documentado en el issue 2464 de Subversion.

Continue reading →


26
Nov 10

Manipulando las encuestas de Ecos Diarios

Después de los experimentos de automatizar la votación en las encuestas de La Nación e Infobae quice probar con un diario local, a ver que tanta diferencia encontraba. El diario con el que probé fue Ecos Diarios.

Continue reading →


28
Oct 10

¿Porqué Git, porqué?

Hace un tiempo cambié de Bazaar a Git para ver porqué tantos lo están usando. Y después de un par de meses todavía no se porqué es más popular que otros scm distribuidos.

Mi queja más grande es que no puede almacenar directorios vacíos. Me hace sentir como Marty McFly saliendo del DeLorean y viendo gente usando CVS (y contenta de usarlo). ¿En qué estabas pensando Linus?

Tal vez es una combinación de la popularidad de GitHub y de los chupamedias de Linus lo que hicieron que Git sea uno de los scm distribuidos más usados. Una de las “ventajas” que se suelen mencionar es la velocidad, pero hasta ahora (y al menos para proyectos medianos) no veo ninguna diferencia entre Git y Bazaar.

En varios blogs hablan de que es tan “veloz” porque está en C, pero ¿es así?. Para mí suena a FUD. Bazaar me resultó más cómodo de usar y estar escrito en Python me pareció una elección más acertada.

Para mí, Git debió ser sólo el scm del kernel y nada más. El próximo repositorio que cree va a ser de Bazaar.

Linus: dedicate a lo que sabés hacer: el kernel.


25
Oct 10

Manejo de errores con Bash

En casi todo script de Bash que hago termino chequeando si los comandos que ejecuto tuvieron éxito o no y terminando el script en caso de haber fallado. Esto hace que el script se llene de líneas como:

[ $? -ne 0 ] && exit 1

abajo de cada comando que ejecuto. O sino llamando a una función que hace eso mismo. Hace poco encontré que usando set -e al principio del script me evito tener que chequear manualmente si los comandos que ejecuté dieron error. Hace que el script termine si cualquier comando que se ejecuta falla (bah, devuelve un código > 0). Según el man de Bash:

Exit immediately if a simple command (see SHELL  GRAMMAR above) exits with a non-zero status.  The shell does not exit if the command that fails is part  of  the  command list  immediately  following  a  while or until keyword, part of the test in an if statement, part of a && or  || list, or if the command’s return value is being inverted via !.  A trap on ERR, if set, is  executed  before  the shell exits.


18
Oct 10

Si OSX deja de conectarse a un recurso Samba

Este post es un recordatorio para mí por si me pasa de vuelta.

Situación: OSX (10.6) deja de repente de conectarse a un recurso compartido con Samba.

Síntomas:

  • Con smbclient se conecta sin problemas al recurso compartido.
  • Desde el Finder se queda un rato hasta que da error de conexión.
  • Con mount_smbfs da error de Broken pipe.

Solución:

En el foro de Apple encontré Problem connecting to my Windows (SMB) share in 10.6 donde el usuario sbolay sugiere matar el proceso NetAuthAgent. En el foro lo matan con kill -9 de una, en mi caso, probé primero con TERM y el proceso murió, no hizo falta el -9. Después de muerto el proceso, pude volver a conectarme al recurso.


29
Sep 10

Bases de datos embebidas

Así como la mayoría de los programas que hago empiezan siendo un puñado de funciones hasta mutar a algo orientado a objetos, la manera en que guardo los datos de estos programas sufre una evolución similar. Voy a detallar diferentes maneras de almacenar datos usando una base de datos embebida, no relacional, donde sólo necesitamos acceder a los datos por medio de una clave. Cada alternativa va a tener una breve descripción, sin entrar en muchos detalles.

Continue reading →


13
Sep 10

Manipulando las encuestas de Infobae

Como en Manipulando las encuestas de La Nación resultó demasiado simple pasar el captcha que tienen para evitar los votos automáticos, quise ver como resuelven este problema otros diarios argentinos. El que vamos a evaluar hoy es Infobae.

Continue reading →