Category Archives: Topic

Filosofeando con el HTML

Mi hermano pequeño (14 años) hace ya bastante tiempo me comento… si para hacer una pagina web hay que poner:

<html>
   <head>
      ...
   </head>
   <body>
      ...
   </body>
</html>

¿Por que narices se llama HTML? ¡Deberia llamarse persona!

<person>
   <head>
      ...
   </head>
   <body>
      ...
   </body>
</person>

A veces necesitas no ser programador para ver las cosas más obvias y tontas 😉

Primera asamblea de GPL Tarragona

Este pasado viernes se ha celebrado la primera asamblea de la asociación GPL Tarragona, ha sido una experiencia muy grata. No puedo decir que ha habido una gran participación en cuanto a número de personas (12 personas), pero si ha habido una gran comunicación entre los asistentes y por tanto las propuestas y/o opiniones fluian sin problemas 🙂

En principio, en cuestión de quejas solo se recibió una relacionada con la forma en la que hemos seleccionado el logo de la asociación. Personalmente no vi ningún problema en la forma que se llevó a cabo, pero evidentemente la queja debe ser atendida y tratada con madurez, por ese motivo se propuso hacer una votación para reabrir un nuevo concurso de logos e intentar elegir un nuevo logo con unos procedimientos diferentes. Esta propuesta fue votada positivamente y mañana empieza el plazo para presentar propuestas. Por desgracia al ganador solo podemos ofrecerle el reconocimiento por su trabajo, no disponemos de mas recursos 🙁

Este tipo de eventos son completamente necesarios, hace que todos nos sintamos aún más parte de un grupo de seguidores del Software Libre. Estoy contento con el resultado y espero que los socios también 🙂

Transformación de unidades en MS Access

He escrito código nuevo para intentar transformar un campo “string” en uno “long” y tratar las unidades, es decir, por ejemplo si tenemos un campo con “1000 kg” que se transforme simplemente en 1 y la unidad es la misma para todos los registros (toneladas). Hay una función que la he cogido de una web donde ofrecen pequeñas funciones para el tratamiento de strings. A continuación todo el código:

Continue reading Transformación de unidades en MS Access

Como crear un favicon?

Los favicon son esas imagenes que aparecen en algunos navegadores (e.g. FireFox, Mozilla…) en los bookmarks o en el tabulador al visitar una web. Para poder estos iconos utilizo la herramienta png2ico, es tan sencillo como crear una imagen png con el gimp de 16×16 y pasarla por linea de comando a png2ico para que genere el favicon.ico. Para añadirlo a la web:

<link rel="shortcut icon" href="favicon.ico" type="image/x-icon" >

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 🙂