Informática y Zen

(0 comentarios)

Para seguir la trayectoria:
mira al maestro,
sigue al maestro,
camina junto con el maestro,
mira a través del maestro,
conviértete en el maestro.

Cómo convertirse en hacker, de Eric S. Raymond.

Harry Potter and the Half Blood Prince

(111 comentarios)

Leo en La Zona Oscura que ya se conoce el título del próximo libro de Harry Potter, que hará el número seis de la serie. Según cuentan en Wizard News y confirmó la propia J.K. Rowling el título del libro será ‘Harry Potter and the Half Blood Prince’. El título del nuevo libro estaba oculta en la web oficial de la escritora y se han anunciado que esconderán mas información sobre el libro en la web para los fans a medida que se vaya acercando la fecha de publicación

La verdad es que cuando comenzó el fenómeno Harry Potter creía que no era mas que otra moda de los niños tipo Pokemon pero la verdad es que es una serie de libros para todas las edades y por lo que he comprobado resulta que lo leen mas adultos que niños

Una imagen del ‘descubrimiento’

Royale, el tema de MCE 2005, en tu Windows XP

(5 comentarios)

Algo curioso que probar. La gente de WinBeta ha ripeado el nuevo estilo visual del Windows XP MCE (Media Centre Edition) 2005 y nos lo ofrecen para descargar y poder probarlo en Windows XP y Windows 2003 . Al estar firmado por Microsoft no es necesario parchear uxtheme.dll ni hacer ninguna cosa rara, simplemente doble click sobre el estilo visual y listo.

El nuevo estilo tiene cierto aire a lo crystal bastante sospechoso pero es bonito.

Firefox 0.9.1/Thunderbid 0.7.1

(0 comentarios)

Al fin tenemos aquí la versión 0.9.1 de Firefox, acompañada de una actualización de Thunderbird a la 0.7.1. Estas releases solucionan algunos de los bugs de las versiones anteriores (especialmente en el tema del gestor de extensiones) e incorporan la nueva versión del tema Winstripe. La nueva versión de ambos productos puede ser descargada desde la web del proyecto Mozilla. (Firefox/Thunderbird)

Los errores corregidos son los siguientes:

  • Bug 248071: Firefox se cuelga tras instalar cualquier extensión o tema.
  • Bug 246687: Firefox no termina de instalar las extensiones al instalar en Magpie y Testcase en el mismo perfil.
  • Bug 246014: Errores XUL al instalar la extensión Tab Browser Extensions
  • Bug 245335: Excepciones al intentar utilizar ciertos temas teoricamente compatibles con la 0.9
  • Bug 247322: No se muestra un error al intentar instalar una extensión compatible con 0.9+ en una versión 0.9

Conexión segura con Gmail

(0 comentarios)

No me había dado cuenta hasta ahora pero Gmail te permite conectarte de forma segura a la interfaz web. Para los despistados como yo que aún no lo sabían: Conexión segura.

Gmail Notifier

(0 comentarios)

He encontrado una herramienta bastante interesante leyendo Redemption in a Blog. Se trata de una extensión para Firefox que sirve como notificador de correo entrante para Gmail, Gmail Notifier.

La extensión tiene problemas con la versión 0.9, al menos a mi al cerrar el navegador no me recuerda el login. Además no es que sea muy vistosa esteticamente. Con la versión 0.9.1 RC parece que si funciona bien :).

vimrc

(2 comentarios)

Aquí os dejo mi vimrc, el archivo de configuración del editor de textos open source Vim (Vi Improved). Si usais Vim echadle un vistazo; lo mismo veis alguna opción interesante.

De chorizos, ladrones y mangantes.

(9 comentarios)

Hay gente que tiene mucha cara. Hay gente que roba a los demás. Y hay gente que me copia un tutorial con dos cojones, sin cambiar si quiera las capturas que incluyen un ‘Zootropo’ y se atreve a decir que son sus creadores.

Hablamos estos colegas y de este artículo publicado aquí en Abril. Leedlos y juguemos al juego de las 7 diferencias. A ver quien consigue encontrarlas porque yo desde luego no soy capaz. Vamos simplemente a copiar el primer párrafo de cada artículo. Este es el inicio del mio:

Brturbo es un servidor brasileño que se ha hecho muy popular ultimamente entre la gente que se dedica a subir warez o gente que simplemente lo utiliza para subir sus archivos. La desventaja de este servidor es que tiene una politica de acceso muy restrictiva de modo que no permite descargas a nadie que no tenga una ip brasileña o de algun pais sudamericano. Si no puedes descargar desde brturbo los pasos a seguir son:

y este el de esta gentuza:

Brturbo es un servidor brasileño que se ha hecho muy popular últimamente entre la gente que se dedica a subir warez o gente que simplemente lo utiliza para subir sus archivos. La desventaja de este servidor es que tiene una política de acceso muy restrictiva de modo que no permite descargas a nadie que no tenga una ip brasileña o de algún país sudamericano. Si no puedes descargar desde brturbo los pasos a seguir son:

Regalo cuenta de Gmail al que consiga encontrar una solo diferencia aparte de los acentos. Podeis seguir leyendo el artículo porque es todo igual… Lo mismo os suenan también las imágenes de haberlas visto en otro sitio. Si, os suenan de mi blog, y hay que tener mucha cara para copiar también no solo el texto, si no como ya he dicho una imágen en la que se utiliza como ejemplo zootropo.brturbo.com como un sitio de brturbo. Hombre por dios, que una cosa es plagiar y otra un copy paste tan descarado. Al menos se han dignado a copiar las imágenes a su servidor, porque si me robaran también ancho de banda habría tenido cojones la cosa.

En fin, que estoy muy cabreado ¬¬ ya he mandado un mail a esta gente a ver que pasa y si al menos se dignan a poner aquí y allá una coma de diferencia respecto a mi artículo.

Un cliente de Subversion gráfico: TortoiseSVN

(23 comentarios)

TortoiseSVN puede descargarse desde su página web. La instalación no tiene ninguna complicación y una vez se termine la instalación se añadirán una serie de entradas en el menú contextual del explorador de Windows.

Si abrimos el explorador y hacemos clic sobre el menú Archivo vemos una entrada de menú checkout y otra TortoiseSVN. Si pulsamos sobre checkout Tortoise comprobará los archivos del repositorio, para lo cual tenemos que pasarle la URL del repositorio (si estamos en nuestro PC, http://127.0.0.1/repos si seguisteis los pasos de la entrada anterior de la bitácora: ¿Qué es un CVS? Instalación de Subversion) y el directorio en que guardaremos en local los archivos que bajemos del repositorio. Al darle a aceptar se creará el directorio donde guardar la copia del repositorio si este no existía y se descargarán los archivos del repositorio a este. En nuestro caso dado que no tenemos ningún archivo en el repositorio aún, simplemente creará un directorio vacío. Una vez que hemos hecho esto podremos añadir, borrar o modificar los archivos en local y mandarlos luego al repositorio.

Si os habéis fijado ha aparecido una marca con fondo verde sobre el directorio donde tenemos el repositorio local. Esto significa que el directorio está actualizado respecto del repositorio remoto. En el momento en que editemos algún archivo en local aparecerá una exclamación sobre fondo rojo en el archivo editado y los directorios que lo contienen, para avisarnos de que tenemos que actualizar el repositorio remoto con nuestra copia (commit).

Vamos a añadir nuestro primer archivo al repositorio remoto. Para ello creamos un archivo en el directorio local, por ejemplo un HolaMundo.java

class HolaMundo{
    public static void main (String arg[ ]){
        System.out.println("Hola Mundo");
    }
}

si hacemos clic con el botón derecho sobre el archivo recién creado dentro de la entrada de menú para TortoiseSVN tenemos una opción Add. Hacemos clic sobre ella, lo que hace que aparezca una cruz en azul, indicando que se ha añadido el archivo al repositorio pero tenemos que enviarlo usando commit. Si hacemos clic con el botón derecho ahora veremos que tenemos una opción commit (actualizar el repositorio remoto con nuestra copia) y otra update (actualizar la copia local con la versión del repositorio remoto). Hacemos clic sobre commit, con lo que nos pedirá nombre de usuario y contraseña si indicamos a Apache que era necesario para escribir en el repositorio. Una vez introducida la contraseña podemos abrir el repositorio remoto (http://127.0.0.1/repos) y comprobamos que aparece un nuevo archivo HolaMundo.java y que ha cambiado el número de revisión de 0 a 1.

Ahora si hacemos algún cambio en el archivo HolaMundo local (nunca se debe editar directamente el repositorio remoto porque podría corromperse la información) y añadimos otra línea, por ejemplo

class HolaMundo {
    public static void main (String arg[ ]) {
        System.out.println("Hola Mundo");
        System.out.println("Adios");
    }
}

vemos que aparece una exclamación en fondo rojo sobre el archivo editado como ya habíamos comentado. Si queremos actualizar la copia remota con la nueva versión de HolaMundo usamos commit.

También podría ser que quisiéramos actualizar la copia de HolaMundo con posibles cambios que hubiera hecho otro programador, para lo cual utilizaríamos update.

Sin embargo hay ocasiones en que el proceso para commit y update no es tan sencillo. Puede ocurrir que otro programador haya editado alguna línea que nosotros también hemos editado, en ese caso hay un conflicto el cual subversion no puede resolver y tiene que ser el propio usuario el que realice los cambios necesarios antes de usar commit. Si intentamos actualizar el repositorio remoto y la copia del repositorio tiene algún conflicto con la nuestra nos mostrará un mensaje de error

‘Commit failed (details follow)
Your file HolaMundo.java is probably out of date.
The version resource does not correspond to the resource within the transaction…’

y aparecerá una señal de alerta sobre el icono del archivo en cuestión. Una vez que termináramos de editar el archivo usaríamos Resolve, y esta vez si, se actualizaría el repositorio remoto.

Además de crear o editar archivos o directorios también podemos por ejemplo eliminarlos, renombrarlos, moverlos,… para más información podéis leer la Guía de Introducción a TortoiseSVN o su FAQ, ambos en inglés.

TortoiseSVN, un cliente de Subversion

¿Qué es un CVS? Instalación de Subversion

(21 comentarios)

CVS es el sistema de control de versiones concurrentes mas utilizado en el mundo del software libre, sin embargo es bastante arcaico (nació en 1985) y tiene bastantes carencias, como son la falta de versionado de directorios, de renombrado o de copias; su uso poco eficiente de la red o el que no almacene archivos binarios completos, solo los cambios entre versiones.

Subversion es un CVS de código abierto, bajo una licencia del tipo Apache/BSD, que nació como alternativa a CVS y que intenta solucionar estos problemas y carencias. Tenemos multitud de alternativas a CVS aparte de Subversion, por ejemplo GNU Arch del que he oido muchas alabanzas y ninguna crítica, pero en esta entrada nos centraremos en Subversion por ser el más popular.

Lo primero es lo primero. ¿A qué se refiere el control de versiones? Estamos hablando de controlar los cambios que realizan los programadores sobre el código fuente (o cualquier otro tipo de usuario sobre un documento cualquier que tenga varias versiones) de forma que no se produzcan inconsistencias por trabajar mas de una persona con el mismo documento y se pueda volver hacia atrás en las versiones de forma cómoda o se pueda comprobar los cambios o los errores corregidos en cada versión.

Vamos a ver ahora su instalación en sistemas Windows. Lo primero que tenemos que hacer es descargar Subversion desde su página web, donde podemos encontrar una versión comprimida o una versión que incorpora un instalador para facilitar mas aún las cosas.

Una vez instalado deberíamos poder ejecutar Subversion de forma local escribiendo svn en la consola. Esto bastaría si no fuéramos a utilizar Subversion en red. En el caso de que si vayamos a hacerlo necesitamos instalar además un servidor web como Apache.

Para comenzar a trabajar con Subversion tenemos que crear un repositorio primero. Un repositorio es donde se va a guardar todas las versiones de nuestro proyecto. Supongamos que queremos crear el repositorio en C:/Documentos/Proyectos, primero nos moveríamos a ese directorio en la línea de comandos y luego usaríamos la herramienta svnadmin para crear el repositorio:

svnadmin create repositorio

Esto crearía un directorio C:/Documentos/Proyectos/Repositorio para actuar como mi repositorio.

Para activar la posibilidad de usar Subversion en red vía Apache necesitamos copiar el módulo mod_dav_svn.so de la carpeta httpd en el directorio donde se instaló subversión a la carpeta de módulos (modules) de Apache tras lo cual editamos nuestro httpd.conf para informar a Apache de la existencia del nuevo módulo. Buscamos la línea

#LoadModule dav_module modules/mod_dav.so

la descomentamos (quitamos el #) y añadimos también

LoadModule dav_svn_module modules/mod_dav_svn.so

Copiamos también las dll de la carpeta bin de Apache y de Subversion al directorio modules para que puedan ser accedidas por los módulos y añadimos al final del httpd.conf lo siguiente

<Location /repos>
DAV svn
SVNPath c:/documentos/proyectos/repositorio
AuthType Basic
AuthName “Repositorio Subversion”
AuthUserFile c:/programas/Apache2/usuarios.txt
# Cualquiera puede leer, para otras operaciones
# hay que estar autentificado.
<LimitExcept GET PROPFIND OPTIONS REPORT>
Require valid-user
</LimitExcept>
</Location>

con esto creamos un repositorio ficticio repos y le indicamos la ruta a él (notad que las barras no son invertidas en las rutas, además si hay espacios en las rutas tenemos que incluir la ruta entre comillas). Además pedimos que los usuarios se autentifiquen para poder realizar cualquier operación que no sea la lectura, comparando el nombre de usuario y contraseña introducidas con la información sobre los usuarios del fichero c:/programas/Apache2/usuarios.txt (nota: dado que no estamos utilizando una conexión segura se podrían capturar las contraseñas usando un sniffer).

El archivo usuarios.txt no existe por defecto, es simplemente un archivo que crearemos nosotros utilizando la herramienta de Apache htpasswd que se encuentra en el directorio bin de la carpeta de Apache y que nos sirve para crear una clave de tipo MD5.

htpasswd -mc c:/programas/Apache2/usuarios.txt Zootropo
htpasswd -m c:/programas/Apache2/usuarios.txt Otro

Le indicamos donde queremos guardar el fichero de contraseñas (en el caso de que la ruta tenga espacios la escribimos entre comillas) y qué nombre de usuario queremos, tras lo cual nos pedirá la contraseña a utilizar para ese usuario. Fijaos en que para el primer usuario que creemos (Zootropo) hay que añadir también el flag c para que cree el fichero.

Si reiniciamos el servidor ahora deberíamos poder acceder al repositorio vía web. Abrimos el navegador de internet y en la barra de localización escribimos http://127.0.0.1/repos/. Si nos sale un mensaje de página no encontrada algo ha fallado.

Ahora que el servidor CVS ya está listo necesitamos un cliente CVS para trabajar con él. Subversion incluye herramientas de línea de comandos para este fin, pero es mas cómodo utilizar una interfaz gráfica como la de TortoiseSVN

Página 1 de 712345...Último »