martes, 27 de mayo de 2008

Cinta adhesiva en el oceano

Debe de tratarse de cinta adhesiva especial: se pega incluso en el océano!!

http://maps.google.com/...

jueves, 22 de mayo de 2008

Herramientas de programador I: Control de versiones

Tener organizado las diferentes versiones de nuestro software es indispensable para todo programador mínimamente ordenado. Almacenar cada versión en un directorio compartido no es la mejor opción, y menos aún cuando varios desarrolladores meten mano al código y se pisan entre ellos.

Para evitar esto existen aplicaciones que nos permiten aplicar una trazabilidad al proceso de producción/mantenimiento del software. Una de ellas es Subversion un servidor open source con licencia Apache/BSD disponible tanto para Windows, Linux y Mac OSX.

Usar esta herramienta nos permite:

  • Ver todos los cambios realizados al código fuente

  • Conocer el autor de cualquier modificación

  • Revertir siempre que queramos a una versión anterior

  • Ramificar una versión estable para realizar pruebas sin tener que tocar el origen

  • Unir varias ramas

  • Bloquear el acceso al código hasta que hayamos terminado con él (evitamos que nadie pise nuestro trabajo)


Entre muchas otras características.

Instalar un servidor Subversión es muy sencillo. Describiré el proceso para Windows XP.

  1. Lo primero es descargarnos el programa servidor: Descarga Subversion


  2. Necesitaremos también el cliente, llamado Tortoise, el cual se integra con la shell de windows (explorador de archivos) mostrando un nuevo menú de opciones en el menú contextual: Descarga Tortoise

  3. Para poder ejecutar el servidor Subversion como servicio de windows necesitaremos el programa SrvAny distribuido con Windows Server 2003 Resource Kit Tools, aunque mejor descargar este paquete distribuido por Eugene Lazutkin en su blog: http://lazutkin.com/download/SrvAny.zip.



Bien una vez descargado todo lo necesario, procedemos a instalar el servidor Subversion. Como toda instalación de aplicaciones Windows no tiene ningún secreto... siguiente, siguiente y siguiente. Haz lo mismo con Tortoise. Después de instalar Tortoise se te pedirá que reinicies Windows.

Una vez reiniciado el sistema, escoge un lugar donde almacenar el repositorio (lugar donde se almacenarán todos los ficheros). Crea un directorio y dale un nombre (por ejemplo, "repositorio"). Entra dentro y pulsa el botón derecho del ratón, y dentro del menú TortoiseSVN selecciona la opción Create repository Here. Esto creará los archivos necesarios para empezar.

La parte más complicada es la de configurar Subversion como servicio de Windows, para iniciarlo automaticamente al iniciar el sistema.
Para ello utilizaremos la aplicación SrvAny pues se encarga de registrar aplicaciones como servicios. Si hemos descargado SrvAny de la pagina de Eugene, descomprimimos el fichero en el directorio de nuestra elección, y bajo la línea de comandos ejecutamos:

InstSrv svnserve C:\SrvAny\SrvAny.exe
Reemplaza "C:\SrvAny\" por el directorio donde hayas descomprimido el paquete
Con esto hemos registrado subversion como servicio, ahora falta decirle a Windows donde se encuentra Subversion instalado; para ello debemos modificar el registro de Windows.

Ejecuta RegEdit (Inicio/Ejecutar/Regedit.exe) y navega hacia:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\svnserve.

  1. Haz click derecho sobre la carpeta svnserve y selecciona Nueva»Clave, dale al nuevo directorio creado el nombre "Parameters"

  2. Dentro de este directorio crea dos Valores alfanúmericos:

    • Nombre: Application Valor: C:\Archivos de programa\Subversion\bin\svnserve.exe (Ruta al archivo svnserve.exe)

    • Nombre: AppParameters Valor: -d -r C:\repositorio (Ruta al directorio que creaste para usar como repositorio)




Por ultimo, configuraremos el servidor para dar acceso publico de escritura/lectura.
Dentro del directorio repositorio, existe una carpeta llamada conf, dentro hay varios archivos:

  • svnserve.conf: En este fichero especificamos los permisos generales de los usuarios anónimos y logueados.

    anon-access = read ##Damos permiso solamente de lectura a los usuarios anonimos
    auth-accesss = write ##Damos permiso de escritura y lectura a los usuarios autentificados

  • passwd: En este fichero se listan los usuarios junto con sus contraseñas. De esta manera cuando alguien intente conectarse a nuestro repositorio solo podrán acceder a él aquellos usuarios listados en el fichero (siempre y cuando bloqueemos el acceso a los usuarios anonimos en svnserve.conf

    [users]
    usuario = contraseña




Con esto ya tenemos listo el sistema para empezar a trastear con Subversion.
Para probarlo, abre una ventana del explorador de Windows y escribe en la barra de direcciones:

svn://IP_DEL_SERVIDOR



Tortoise hará acto de presencia mostrándote la estructura de directorios y su contenido del servidor SVN.

Por hoy lo dejamos aquí, si tienes mas hambre sobre el uso correcto de Subversion puedes revisar la documentación incluida con la instalación. Si te da pereza espera mi próxima entrada en la que explicaré como utilizar de forma estructurada esta fantástica herramienta.

miércoles, 21 de mayo de 2008

El rastro de las hormigas


Imagen obtenida de: http://www.flickr.com/photos/choomengfoo/328040255/

En los años de mi infancia pasé una temporada jugando al videojuego para PC SimAnt, un simulador de hormigas lanzado el año 1991 en el que debías tomar el mando de una colonia y asegurar su supervivencia en un hostil jardín.

Si mi memoria no me falla el juego tenía su punto educativo, pues además de manejar las hormigas mostraba algo de información sobre estos seres vivos (eso sí, en inglés).
Una de las cosas que quedó grabada en mi mente es que resulta que las hormigas van dejando un rastro químico para marcar rutas hacia alimentos, enemigos o el propio hormiguero para no perderse. Estos rastros son usados tanto por la hormiga que lo genera como por sus compañeras. Es fácil ver estas rutas cuando son muchas las hormigas que las emplean, se ve claramente que todos individuos siguen un camino invisible.

Ahora que ha llegado el verano y con él el despertar de estos insectos, me propuse realizar un sencillo experimento (sin ninguna base científica todo hay que decirlo).
El experimento consiste en localizar una ruta de hormigas y tratar de borrar el rastro para ver como se comportan.
Para buscar una ruta, basta con localizar una zona por la que las hormigas sean asiduas a pasearse, pues seguramente ahí exista "el rastro".
Una vez localizada la ruta probamos a frotar con el dedo, si el terreno lo permite pues no recomiendo frotar el dedo por el asfalto, para tratar de borrar este rastro invisible.

He probado esto en varias ocasiones y lugares y siempre he visto el mismo comportamiento: las hormigas al llegar a la zona "borrada" se detienen, tantean el terreno dubitosas de seguir.
En ocasiones dan media vuelta, en otras intentan bordear la zona vacía para encontrar la continuación del "rastro".

Mi experimento no confirma que frotando se borre el rastro, podría ser que la zona quedase mas caliente debido a la fricción y a las hormigas no les guste ese cambio de temperatura.

A continuación os dejo un vídeo que al fin he podido realizar, pues no conseguía encontrar ningún "rastro".


Un porcentaje muy bajo de individuos pasan "la barrera" sin ningún problema, pero la gran mayoría se para en seco al encontrarsela, dando varios tumbos hasta encontrar un camino alternativo.

No he podido grabarlo pero en la corteza de un aveto que tengo en casa el efecto aún es mas fuerte, durando "la barrera" mucho más tiempo que sobre la tierra.