Category Archives: Español

El precio de una entrada de cine

Ayer en el trabajo escuche una conversación sobre cine que me hizo reflexionar, una mujer se quejaba sobre la insistencia de sus hijos en ir al cine… que si Harry Potter, que si Shrek 2…. y claro, los crios son pequeños y van en familia. Que implica esto? Si va la pareja más los 2 hijos y una entrada cuesta aproximadamente 6 euros (1000 ptas), ir en familia cuesta 24 euros (4000 ptas) !!

Hasta ahora casi siempre que he ido al cine he pagado mi entrada individual, me parece caro el precio pero me lo puedo permitir de vez en cuando. El problema esta cuando tienes una familia y quieres ir con tus hijos al cine, el precio asciende a una cantidad ofensiva. De hecho, incluso sale más a cuenta esperar y comprarse el DVD… por no decir que si simplemente lo alquilas el ahorro es descomunal. Vale, no es lo mismo verlo en casa que en el cine (aunque tb depende de si se dispone de Home Cinema) pero a pesar de que el cine es mejor (no solo por los equipos sinó también por el ambiente, a no ser que te toque un listillo parlanchin al lado ;-)) la diferencia de precio es exageradisima.

Drupal de GPL Tarragona migrado a UTF-8

Siguiendo el consejo de Steven Wittens que indico en la actualización de un post anterior, hemos migrado todo el drupal de GPL Tarragona a UTF-8. Nos ha sorprendido muchisimo lo sencillo que ha resultado, estos han sido los pasos:

  1. Volcamos la base de datos de drupal de MySQL a un fichero:
    $ mysqldump -p -u root drupal > drupal.sql
    
  2. Como la base de datos estaba en ISO-8859-1, la convertimos a UTF-8 utilizando el comando iconv:
    $ iconv -f ISO-8859-15 -t UTF-8 -o drupal.utf.sql drupal.sql
    
  3. A continuación borramos la base de datos de MySQL para eliminar todas las tablas y sus datos, y la volvemos a crear:
    $ mysql -p -u root
    mysql> drop database drupal;
    Query OK, 0 rows affected (0.32 sec)
    
    mysql> create database drupal;
    Query OK, 1 row affected (0.00 sec)
    
  4. Ahora es el momento de introducir los datos convertidos a UTF que tenemos en el archivo drupal.utf.sql generado por iconv:
    $ mysql -p -u root drupal < drupal.utf.sql
    

En este punto ya tenemos los datos de la base de datos migrados, ahora solo falta deshacer los cambios que hice segun cuento en este post, solo falta indicar en el .htaccess:

AddDefaultCharset UTF-8

Y todo listo, ya tenemos drupal completamente migrado a UTF-8.

Servidor subversion con Gentoo

Hoy he creado un servidor subversión (reemplazo de CVS) en mi LAN. Para los que no conozcan subversión solo decir que se utiliza para el control de versiones de código fuente (o incluso de otros tipos de archivos como configuraciones), es muy parecido a CVS pero incorpora importantes novedades que lo hacen mejor y más flexible:

  • Versionado de directorios, movimientos y metadatos. Esta era una gran carencia en CVS, para mover un archivo de directorio o renombrarlo se perdia todo el historial del mismo.
  • Commits atómicos. Dos usuarios que intenten actualizar el repositorio en el servidor a la vez no se ven afectados por tal situacion.
  • Posibilidad de trabajar con apache, esto hace que nos podamos aprovechar de toda la tecnología de este magnífico servidor web. Es posible utilizar SSL (encriptación), trabajar remotamente utilizando el puerto estándar de los servidores web (puerto 80) el cual no suele estar bloqueado por los firewalls, autentificación de usuarios, etc…

Subversion utiliza apache 2 para servir por red y yo ya disponia de este bien configurado, por tanto parto de una buena situación 🙂 Lo primero ha sido emerger subversion, es importante tener en la variable USE activado “apache2” (es posible editar las USE con el comando ufed, emerge ufed ;-)) de lo contrario solo se nos instalará el cliente y no el servidor subversion:
Continue reading Servidor subversion con Gentoo

Migración drupal, mysql, apache, bugzilla, wordpress…

Esta semana ha sido dura, hemos migrado muchas aplicaciones en los servidores de GPL Tarragona:

– Apache 2
– MySQL 4
– Drupal 4.4.1
– Bugzilla

Han ido surgiendo problemas pero los hemos podido ir arreglando, sobretodo los más críticos. Aun quedan muchas cosas por pulir, pero lo más dificil ya ha pasado.

La compilación de las nuevas versiones ha sido más o menos sencillo, algun pequeño problema con mod_php pero Joni lo arregló rápido. Cuando teniamos todo compilado, era la hora de actualizar drupal… la actualización de la base de datos fue sorprendentemente perfecta, però los problemas llegaron con los charsets… UTF-8 vs ISO-8859-15. La información la tenemos toda en ISO pero drupal la cogia como UTF y entonces los acentos se veian fatal, la solución fue cambiar el código fuente de drupal, concretamente en “include/common.inc”, linea 1260:

//header("Content-Type: text/html; charset=utf-8");
header("Content-Type: text/html; charset=iso-8859-1");

[Actualización] Steven Wittens me ha hecho saber por e-mail que la solución que aqui propongo no es buena ya que hace que se “rompan” otras funcionalidades de Drupal, por ejemplo la generación de RSS inválidos o envio de e-mails también inválidos. Más info en este post. Muy probablemente miraremos que hacer en GPL Tarragona, como ahora sabemos que es posible hacer que haya webs con un charset y otras con otro (es decir, no tiene pq estar todo el Apache con un único charset)… quizás lo correcto seria migrar todo el Drupal a UTF-8 y por tanto migrar también los datos de la MySQL. [/Actualización]

Y tener apache configurado para que por defecto muestre ISO. En casos puntuales como el planet si necesitavamos que se tratase como UTF ya que dicha aplicación trabaja integramente con ese charset, así que la solución estuvo en añadir un .htaccess:

AddDefaultCharset UTF-8

De esta forma, utilizando .htaccess podemos decir que directorios o subdominios utilice UTF-8 en lugar de ISO-8859-15 (puesto por defecto en todo apache2 ya que se indica en /etc/apache2/conf/commonapache2.conf).

También queriamos que el dominio gplurv.org redirigiese a gpltarragona.org, sobretodo para la página principal (la del drupal) así que para conseguir que este redireccionamiento fuese transparente se ha configurado apache para que tanto con gpltarragona.org como con gplurv.org se acceda a la misma web (como vereis esta todo configurado como dominios virtuales):

NameVirtualHost *:80
<VirtualHost *:80>
   ServerName gpltarragona.org
   ServerAlias www.gpltarragona.org www.gplurv.org gplurv.org
   DocumentRoot /var/www/gpltarragona.org/htdocs/
</VirtualHost>

Y se ha modificado el index.php del drupal para que al inicio del mismo contenga:

if (($HTTP_HOST=="gplurv.org") || ($HTTP_HOST=="www.gplurv.org") ||
($HTTP_HOST=="gpltarragona.org")){
    header("HTTP/1.1 303 REDIRECT");
    header("Location: http://www.gpltarragona.org$REQUEST_URIrn");
    return;
}

De esta forma se consiguen redirecciones transparentes al nuevo dominio sin perder links viejos del drupal.

También tuvimos problemas con el tema gplito de drupal, pero Joni trabajó en adaptarlo a la nueva versión y ya podemos volver a disfrutar de su obra 😉

Aun queda trabajo por hacer, hay links rotos ya que hemos separado drupal de todas las páginas que teniamos extras como el wiki. Hay que arreglarlo aunque yo voy a estar unas semanas con poco acceso a Internet, pronto me quitaran RDSI y tendre que esperar a que me llege el ADSL (si, por fin una conexión algo más decente :P).

Como ha sido una semana de migraciones hoy he dicho, venga vamos a actualizar mi blog a wodpress 1.2!! Y madre mia, me ha sorprendido lo rápido que ha sido. Ejecutar un upgrade y mantener la configuración antigua y el index.php. Facilisimo y sin problemas… fantástico 🙂

Ripear DVDs con mplayer

Con mplayer es posible ripear DVDs guardandolos directamente en un formato comprimido, para esto se utiliza el comando mencoder que puede ser usado con multitud de parámetros, aqui vemos unos cuantos:

mencoder -dvd  1 -dvd-device /dev/cdroms/cdrom0  -vop scale=640:480   -o   conferencia.avi   -ovc   lavc   -lavcopts vcodec=mpeg4:vhq:vbitrate=1800 -oac copy

mencoder conferencia.avi -vop scale -zoom -xy 250 -ovc lavc -lavcopts vcodec=mpeg4:vhq -oac copy -o conferencia250.avi

mencoder conferencia250.avi -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=100 -oac copy -o conferencia250l.avi

mencoder -dvd  1 -dvd-device /dev/cdroms/cdrom0  -vop scale=640:480   -o   conferencia.avi   -ovc   lavc   -lavcopts vcodec=mpeg4:vbitrate=800 -oac copy

En todo caso, para más información mirar el manual: ‘man menconder’

SpamAssasin

El filtro de anti-spam que utilizo es SpamAssasin, para mí es lo mejor que hay en estos momentos. Combina la detección de spam mediante cadenas con filtros bayesianos, estos últimos te permiten “enseñar” a spamassasin que correos son basura y cuales no. De esta forma es posible ir mejorando la eficiencia del filtro. Para modificar los filtros bayesianos podemos utilizar los siguientes comandos:

sa-learn --spam --mbox ~/Mail/spam
sa-learn --nonspam --mbox ~/Mail/inbox

Utilizo SpamAssasin en conjunto con Exim, procmail getmail y el antivirus ClamAV. Todo centralizado en un servidor de mi LAN al cual puedo acceder por IMAP con Evolution o por el webmail Squirrelmail.

Perl y CPAN

El lenguaje de programación Perl dispone de un repositorio inmenso de módulos llamado CPAN y permite la instalción de nuevos módulos con resolución de dependencias desde la consola, por ejemplo si queremos instalar “Bundle::Bugzilla” basta con ejecutar en una consola:

perl -MCPAN -e 'install "Bundle::Bugzilla"'

Gentoo, modificar fuentes antes de instalar

Es posible que nos encontremos con la necesidad de retocar el codigo fuente de alguna aplicación antes de instalarla, como podemos hacerlo de forma que siga estando integrado en le portage de Gentoo? Si usamos “emerge programa” directamente, no nos dará oportunidad de realizar ninguna modificación y si copiamos a /usr/portage/distfiles/ nuestro codigo fuente modificado entonces no coincidirá con el MD5 del portage y el emerge no funcionará. Soluciones:

  1. Cambiar el MD5
  2. Realizar la instalación paso a paso

Veremos como se realiza este segundo punto, primero bajamos y desenpaquetamos el programa que deseamos instalar (pondre como ejemplo gaim):

cd /usr/portage/net-im/gaim/
ebuild gaim-0.78-r3.ebuild fetch unpack

A continuación podemos ir al directorio “/var/tmp/portage/gaim-0.78-r3/work/” donde se encuentran las fuentes descomprimidas del gaim que estamos instalando, aqui podemos realizar las modificaciones al codigo fuente que consideremos oportunas y a continuación:

cd /usr/portage/net-im/gaim/
ebuild gaim-0.78-r3.ebuild compile install qmerge

Esto compilara, instalará y fusionara en el portage el programa original junto a nuestras modificaciones.