Lo hice y lo entendí

El blog de Vicente Navarro
15 mar

¡Qué día el de aquella semana!

Y menos mal que el hosting ya no era casero, porque el pasado lunes día 10 de Marzo ocurrió esto:

Pico visitas entrada “Hosting casero HOWTO”

Nota: Algunos de vosotros que estéis leyendo esto con un agregador de noticias web no podréis ver la imagen de más arrriba por no mandar el referer de este dominio. Si queréis verla, por favor, ¡pasaros por la página!

Sigue leyendo »

09 mar

Hosting casero HOWTO

En Primer aniversario del blog os contaba que este blog estuvo en un hosting casero durante un año entero. Viendo los comentarios, parece que esto llamó bastante la atención y, de hecho, hubo unas cuantas peticiones de una entrada sobre el “hosting casero” (en adelante HC), así que, desde la mucha o poca autoridad que me da mi año de autohospedaje, ahí vamos:

Sigue leyendo »

01 mar

La licencia Affero (AGPL) y su relación con la GPL

Cuando hace unos días estaba rediseñando el tema del blog me planteé unas cuantas dudas filosóficas sobre la licencias de WordPress, la de los temas para WordPress y la de las aplicaciones web en general.

El tema es el siguiente: Si programamos una aplicación de las convencionales y la distribuimos bajo los términos de la GPL (sea la v2 o la v3), tenemos que facilitar el código fuente a todos aquellos a los que les proporcionemos binarios de la aplicación. Pero si modificamos código GPL sólo para usarlo nosotros (o en el ámbito de nuestra empresa, por ejemplo), no necesitamos ponerlo a disposición de quien nos lo pida:

Does the GPL require that source code of modified versions be posted to the public?

The GPL does not require you to release your modified version, or any part of it. You are free to make modifications and use them privately, without ever releasing them. This applies to organizations (including companies), too; an organization can make a modified version and use it internally without ever releasing it outside the organization.

But if you release the modified version to the public in some way, the GPL requires you to make the modified source code available to the program’s users, under the GPL.

Thus, the GPL gives permission to release the modified program in certain ways, and not in other ways; but the decision of whether to release it is up to you.

Pongamos un ejemplo. Imaginemos que modifico el código de Linux, MySQL o bash que son GPL, pero que esas modificaciones sólo las uso yo o en el ámbito de mi empresa. En ese caso, no tengo obligación de proporcionarle dichos cambios a nadie. Pero ahora imaginemos que alguien se entera de mis cambios y está interesado en ellos, tal vez incluso ofreciendo una remuneración y nosotros nos avenimos a ello. En tal caso, no podemos proporcionarle sólo los binarios, sino que también tendremos que proporcionarle el código fuente con las modificaciones y además, esa persona podrá distribuir el código modificado a quien quiera, incluso gratis aunque nosotros sí que le hayamos cobrado. Recordemos que no hay ningún problema en vender software licenciado bajo la GPL, lo único es que no podemos esperar que si esa persona se lo distribuye a otras, esas otras también nos paguen:

Sigue leyendo »

24 feb

mailto: sin miedo a spammers

Todos sabemos que poner una dirección de e-mail en una página web es pasto seguro de spammers cuyos robots recorren incansablemente Internet en busca que cadenas que encajen con la siguiente expresión regular:

\b[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b

(Expresiones Regulares en la shell. Ejemplos de uso con grep, awk y sed.)

Para mostrarlo, he buscado alguna web que tuviera muchas direcciones de correo y la página de direcciones de contacto de la Universidad de Navarra resulta ser una excelente víctima para mi prueba. Con un comando como este:

$ wget -q -O - http://www.unav.es/informacion/direccionesdecontacto.html | \
egrep -oi '\b[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b' | sort -u | sed 's/unav.es/unav.is/'
abar@unav.is
adelgado@unav.is
adomeno@unav.is
agonzalez@unav.is
almcompr@unav.is
[...]

vemos lo fácil que resulta extraer todas las direcciones de correo de una página. Para el ejemplo, yo he tenido la precaución de cambiar el dominio final s/es/is/ para no dar aún más visibilidad a esas direcciones.

Sigue leyendo »

17 feb

Primer aniversario del blog

Hoy es un día especial, porque ¡el blog cumple un año! Un año ha pasado ya desde ¡Bienvenido a mi blog!… y yo como que me siento blogger de toda la vida y resulta que sólo llevo un año. No sé si os pasará a vosotros, pero yo a menudo tengo la sensación de llevar mucho tiempo con algo pero que a la vez ese algo ha pasado muy rápido. Es la sensación que tengo con el blog.

Tal vez podría decir que “Lo hice y lo entendí” cumple un año, pero no sería exacto, porque desde el 17 de Febrero hasta el 24 de Mayo, el nombre del blog fue valencia.homelinux.org, igual que su dirección. ¡Qué poco original! De todas formas, el lema del blog había sido “Me lo contaron y lo olvidé, lo vi y lo aprendí, lo hice y lo entendí” desde exactamente la segunda entrada: Lema del blog.

El 11 de Marzo compré el dominio vicente-navarro.com, y el día 14 comenzó a ser el dominio principal del blog, aunque el otro sigue apuntando aquí todavía, pero hasta el 24 de Mayo, el título del blog siguió siendo valencia.homelinux.org.

Por cierto, no sólo es el primer cumpleaños, da la casualidad de que ésta es la entrada número 100, de modo que hay celebración por partida doble. 100 entradas en 365+1 días es una frecuencia de una entrada por cada 3.66 días. No está nada mal, ¿verdad? Yo mismo estoy sorprendido de que sean tantas, porque muchas de las entradas me han supuesto muchas horas de trabajo, de modo que ya está bien, ya…

El tener un blog propio me ha llevado a “integrarme” mucho más en la web. Mientras que antes me comportaba en la mayoría de los casos como mero espectador pasivo de Internet, sin atreverme a participar de forma activa en prácticamente nada, el blog me metió de pleno en la vidilla social de la Web. Viendo que me gustaba que me dejaran comentarios, comencé a dejarlos yo en otros blogs, y poco a poco mi rol de espectador fue pasando al de actor de un diminuto papel del gran espectáculo que es Internet.

Sigue leyendo »

09 feb

El SMB ha muerto, viva el CIFS: mount error 13 = Permission denied

Como ya he contado a menudo, en mi ordenador principal uso Debian Testing/Lenny, de forma que al mismo tiempo que puedo probar las últimos versiones de los paquetes, éstos me dan unos sustos espantosos que, a su vez, me sugieren interesantes temas a tratar como en el caso de hoy.

Veréis, yo tengo una línea en el fichero /etc/fstab para que al arrancar me monte automáticamente un directorio compartido por samba de otro sistema:

# /etc/fstab: static file system information.
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
[...]
//sistemaremoto/supercoco /mnt/sistemaremoto smbfs uid=supercoco,credentials=/etc/sistemaremotosmb 0 0

La opción credentials=/etc/sistemaremotosmb la uso para no tener la contraseña a usar tan visible. Usando un archivo diferente, le puedo poner permisos muy restrictivos. Es lo que aconseja la página de man de mount.smbfs

credentials=<filename>
   specifies a file that contains a username and/or password. The  for-
   mat of the file is:

          username = <value>
          password = <value>

   This  is  preferred  over  having passwords in plaintext in a shared
   file, such as /etc/fstab. Be sure to protect  any  credentials  file
   properly.

Así que mi fichero /etc/sistemaremotosmb tenía este aspecto:

# cat /etc/sistemaremotosmb
username = supercoco
password = barriosesamo

# ll /etc/sistemaremotosmb
-rw------- 1 root root 38 2008-02-09 07:44 /etc/sistemaremotosmb

Pues bien, hace unos días actualicé los paquetes de Lenny/Testing y a continuación me encontré con el siguiente problema al intentar montar el directorio compartido:

# mount /mnt/sistemaremotosmb/
mount error 13 = Permission denied
Refer to the mount.cifs(8) manual page (e.g.man mount.cifs)

Sigue leyendo »

27 ene

Corrupción en MySQL: ERROR 2006 (HY000): MySQL server has gone away

MySQL es una base de datos que cada vez me gusta más. Noto que no llega al nivel de funcionalidades de Oracle pero me da la sensación de que es una base de datos muy seria y potente para ciertos tipos usos. Sun acaba de comprar MySQL, espero que sea para bien de esta base de datos, aunque hagan lo que hagan con ella, el código GPL siempre quedará ahí disponible.

En esta entrada voy a contar un extraño problema de corrupción que he tenido con MySQL y cómo lo he solucionado a mi manera. Yo estoy aún empezando con MySQL y estoy un poco verde, así que seguro que he hecho alguna barbaridad que si alguno de vosotros detecta me encantaría que mencionara en los comentarios.

Yo tengo en /var/lib/mysql/ tres bases de datos, una de WordPress, otra de pruebas de WordPress y otra para MythTV:

# ll
total 20588
drwxr-xr-x  9 mysql mysql     4096 2008-01-27 20:47 ./
drwxr-xr-x 50 root  root      4096 2008-01-27 14:17 ../
-rw-r--r--  1 mysql mysql        0 2008-01-10 10:20 debian-5.0.flag
-rw-rw----  1 mysql mysql  5242880 2008-01-27 20:48 ib_logfile0
-rw-rw----  1 mysql mysql  5242880 2006-12-20 20:42 ib_logfile1
-rw-rw----  1 mysql mysql 10485760 2008-01-27 20:48 ibdata1
drwx------  2 mysql root      4096 2008-01-27 20:47 mysql/
-rw-------  1 mysql mysql        4 2006-12-20 20:42 mysql_upgrade.info
-rw-------  1 mysql mysql        6 2007-02-26 11:40 mysql_upgrade_info
drwx------  2 mysql mysql    12288 2006-12-23 11:22 mythconverg/
drwx------  2 mysql mysql     4096 2007-11-11 21:10 wordpress/
drwx------  2 mysql mysql     4096 2008-01-27 13:20 wordpress_dev/

También está la base de datos principal “mysql” que contiene información que necesita almacenar MySQL, como usuarios, privilegios y cosas así.

Sigue leyendo »

27 ene

Internet Explorer 8 y el nuevo “super-duper standards mode”

No me dedico profesionalmente al diseño de páginas web, pero he creado varias con resultados bastante razonables (aunque sea yo el que lo diga). Sin que pueda decir que soy un experto en HTML, CSS, JavaScript o DHTML, son tecnologías que no me resultan desconocidas y, en realidad, es un mundillo que me gusta bastante, aunque reconozco que es necesario dedicarle mucho tiempo para no quedarte obsoleto y seguir controlando las tecnologías web punteras. También he de reconocer que se me da mucho mejor la parte de escribir código y hacer la infraestructura de la página que la parte de pensar en colores, editar imágenes y decidir el aspecto final.

Tras haber usado durante algún tiempo Netscape 3 y 4 (Internet Explorer no lo usaba casi nadie por aquel entonces), mi primer contacto serio con el mundillo del diseño web fue en 1997. En 1997, año en el que salió el Internet Explorer 4 (aunque no se popularizó hasta que el Windows 98, que lo llevaba integrado, se extendió), recuerdo que era muy fácil hacer una página web que se viera bien en Netscape y en Internet Explorer. La última moda era diseñar las páginas con frames y muchas tablas para definir el diseño de la página. El CSS aún no lo usaba nadie, pero ya comenzaba a tener soporte parcial en los navegadores.

Luego vino la época en la que las páginas requerían “navegadores versión 4 o superior”. Los navegadores 3 dejaron de utilizarse completamente y, como leemos en browser wars, era frecuente que las páginas tuvieran un logo de “best viewed in Netscape” o “best viewed in Internet Explorer”, y ahí comenzó el problema de que era difícil conseguir que una página se viera bien en todos los navegadores.

Sigue leyendo »

24 ene

La libtrash, la papelera de la línea de comandos

Hay veces que encuentras cosas que te llaman de verdad la atención, como el artículo Papelera para la consola (linux-es.org), basado en el original Papelera para la consola (mundogeek.net) que me ha enseñado algo de verdad curioso.

La libtrash es una librería que, cuando se carga, intercepta las llamadas al sistema: unlink() y unlinkat(). Con esta intercepción podemos, en vez de efectivamente borrar el fichero, moverlo a un directorio de papelera. Esto ya suelen hacerlo los escritorios como KDE o GNOME a más alto nivel, pero si en un momento dado hacemos un rm desde un terminal, el fichero no irá a la papelera del escritorio.

Lo primero, claro, es instalar la librería. Afortunadamente, en Debian y en Ubuntu ya tenemos un paquete listo en los repositorios, que podemos instalar fácilmente con apt-get:

# apt-get install libtrash

Sigue leyendo »

23 ene

Petición para que VIA tome una postura clara respecto a Linux

Ya he expresado previamente en varias ocasiones qué pienso de los drivers para chips gráficos de VIA, que son una auténtica chapuza. En Sobre las VIA EPIA (VI): Gráficos y vídeo acelerado por HW en Linux con la EX10000EG hablé bastante (mostrando hechos) sobre ello.

Como hemos ido viendo en distintas entradas sobre las VIA EPIA, la verdad es que casi todo el hardware de VIA se puede configurar en Linux sin problemas. Casi todo excepto el procesador gráfico, que en muchas ocasiones es una fuente horrible de problemas.

Desde hace unos días se viene hablando animadamente en el foro de VIA sobre este tema: Decent Linux Drivers: Seriously, what is going on? y finalmente, el usuario Effenberg0x0 ha creado una:

Petición Online para solicitar unos drivers decentes de VIA para Linux (petitiononline.com)

Tanto si tenemos hardware de VIA y estamos directamente afectados por estos problemas como si sólo somos usuarios de Linux y queremos que este sistema operativo crezca, mejore, que nadie tenga problemas de hardware mal soportado y que los fabricantes (en este caso VIA) comiencen a tenernos un poco más de respeto, creo que es importante firmar. Puede ser buena idea también difundir la petición entre los conocidos que tengamos que puedan estar interesados en este tema. ¡Demostrémosles que los usuarios de Linux cada vez somos más y que no deberían de ignorarnos tan alegremente! (Relacionado: La importancia de comprar hardware con drivers abiertos, Pero, ¿qué les pasa a los fabricantes de hardware?).

Para que todo el mundo pueda entender bien lo que está firmando, he considerado conveniente traducir la petición.

Sigue leyendo »

 Anterior 1 2 3 ... 6 7 8 9 10 ... 16 17 18 Siguiente
Tema LHYLE09, creado por Vicente Navarro