OpenOffice.org Conference 2007 en Barcelona

El pasado 20 de Febrero se supo que la conferencia más importante de usuarios y desarrolladores OpenOffice.org del mundo, la OOo Conference 2007 se celebrará en Barcelona, y yo sin enterarme.

La votación se cerró con los siguientes resultados:

  • Barcelona, Spain – 297 votes
  • Dehradun, India – 224 votes
  • Beijing, China – 82 votes

Jesús Corrius, responsable de la organización, ha abierto un blog para informar de todos los detalles. Por ahora, uno de los importantes: será del 19 al 21 de Septiembre. Acabo de reservas las fechas en mi agenda 🙂

CUPS y el sondeo automático de impresoras en Ubuntu

Como ya habréis leído en posts anteriores, he cambiado al distro de mi portátil. Ahora uso EHUX 2 (Ubuntu Dapper) en lugar de Fedora Core 5 (a los fedoritas : no os preocupéis, en mi PC de escritorio mantengo el Fedora Core 6 😉 El caso es que algunas opciones de configuración muy útiles de Dapper están bastante ocultas o en el caso que centra este post, han sido directamente seccionadas de cuajo. En concreto, el soporte de Network Printer Discovery de CUPS. Me explico:

CUPS + Network Printer DiscoveryA partir de la versión 1.2 de CUPS (el gestor de impresoras de Ubuntu Dapper por defecto), se incluye una opción para sondear la red de forma automática en busca de impresoras de red compartidas. Para ello se hace uso del protocolo SNMP (Simple Network Management Protocol). El resultado de usar esta opción (ver imagen de la izquierda) es que, el usuario, a una distancia de dos clicks de ratón, puede instalarse una impresora de red desde su máquina Linux (los usuarios de Windows pueden aprovechar para limpiarse la baba antes de seguir leyendo ;-).

CUPS - Network Printer DiscoveryEl problema, como puede verse en la imagen de la izquierda: todavía no sé por qué, a pesar de que CUPS 1.2 incluye de serie esa opción de Network Printer Discovery, en Ubuntu Dapper han decidido que la eliminaban. Adiós simplicidad.

La solución, encontrada gracias a este artículo en KDE_Developers:

$  cd /usr/lib/cups/backend
$ sudo ln -s /usr/lib/cups/backend-available/snmp

El resultado es espectacular y muy, muy útil, sobre todo si trabajas en un centro en el que disponéis de varias impresoras de red compartidas y no quieres configurarlas una a una a mano…. (caso de la UPV/EHU !)

Actualización: en Ubuntu Dapper, por defecto, se ha deshabilitado también la posibilidad de gestionar impresoras a través del interfaz Web de CUPS. Si quieres volver a activar esta opción, debes de seguir los siguientes pasos:

# Añadir usuarios cupsys al grupo shadow

sudo adduser cupsys shadow

# añadirte a tí mismo al grupo lpadmin

sudo adduser  lpadmin

# reiniciar cupsys

sudo  /etc/init.d/cupsys restart

# configurar las impresoras a través del interfaz web e introducir
# usuario y pw cuando se solicite

http://localhost:631/

Actualización de MySQL 4 a MySQL 5

Acabo de actualizar mi sistema Linux de Fedora Core 4 a Fedora Core 6. Aparte de un problemilla con la actualización del GRUB que he resuelto en el primer arranque, todo parecía haber ido bien. Sin embargo, la actualización de MySQL 4.x a MySQL 5.x que se ha ejecutado durante el proceso de actualización de Fedora no ha ido todo lo fina que debería. En un principio, parece que todo es correcto, pues las aplicaciones web que tenía alojadas en mi pc local seguían funcionando (y todas ellas hacen uso de MySQL en la capa de datos). Sin embargo, probando MySQL Workbench (el modelador gráfico de bases de datos), no conseguía hacer funcionar la opción de Ingeniería Inversa (dada una base de datos ya construída, extraer el esquema E/R). El error con el que me encontraba era el siguiente:

Error log:

Fetching schemata...

Schemata fetched.

Reverse engineering schema...Error calling

ReverseEngineeringMysql.reverseEngineer: Could not get routines.The schema(ta)

could not be reverse engineered (error: 0)

Could not get routines. (SHOW PROCEDURE STATUS;MySQL Error 1146: Table 'mysql.proc' doesn't exist)

He seguido esa cadena de error (mysql.proc, tabla que se genera para la gestión de procedimientos almacenados) en el bugzilla de MySQL y he visto que al parecer no soy el único al que le ha ocurrido (ver último comentario). La tabla mysql.proc se genera al instalar mysql 5. Si simplemente actualizamos de la versión 4 a la 5, tendremos problemas si no seguimos el último paso que indica explícitamente el manual, y más en concreto aquí: http://dev.mysql.com/doc/refman/5.0/en/mysql-upgrade.html

$ mysqlcheck --check-upgrade --all-databases --auto-repair
$ mysql_fix_privilege_tables

Voilá! Ahora puedo trabajar sin problemas con MySQL Workbench.

Administración remota con AjaxTerm

AjaxTerm La administración remota requiere normalmente acceso a una terminal en un sistema remoto, pero si no quieres o no puedes permitir el uso de ssh de forma directa, no hay muchas opciones alternativas. El dejar abierto el puerto ssh sin configurar correctamente puede permitir el abuso del mismo mediante ataques de fuerza bruta, y si ya tenemos el puerto 80 abierto para servir aplicaciones web, alguien puede preguntarse la razón de tener que abrir otro puerto más.

Una posible solución podría ser el uso de una terminal a través de un interfaz web. En los sistemas Linux con Apache, esto es realmente posible mediante el uso de algo como AjaxTerm. AjaxTerm es una terminal escrita en Python que usa técnicas AJAX para tratar parte de la lógica en el navegador cliente.

Puede aprender los conceptos básicos en este artículo de TechRepublic o bien ir directamente a la página oficial de AjaxTerm.

Ramas (branches) de texto en VIM

Acabo de leer un nuevo truco del editor VIM : supongamos que estás editando un documento en VIM 7.0. Llevas al menos una hora y pico retocando, etc. Y de repente te das cuenta de que has metido la pata, no sabes cómo, y has borrado en algún momento algún trozo de texto que te interesaba conservar. No hay problema, podemos recuperar el estado anterior con el comando UNDO (tecla ‘u’). Tras el undo, cuando empecemos a teclear, VIM creará una nueva rama (branch).

La creación de ramas y su completa gestión en VIM la podemos estudiar en el manual online de este potente editor. Aparte del hecho de que desconocía esta creación automática de ramas de versiones del mismo texto, también desconocía que se pueden hacer cosas como éstas:

Por ejemplo, quieres recuperar el estado del texto tal y como estaba hace 45 minutos:

:earlier 45m

Queremos movernos a la versión 30 segundos posterior:

:later 30s

Cada día me sorprende más VIM.