Curso de desarrollo para GNOME y KDE

cenatic¿Quieres aprender a desarrollar software para GNOME o KDE? ¿Te gustaría seguir un curso totalmente gratuito y desarrollado por conocidos miembros de las comunidades KDE y GNOME Hispano? Bueno, pues no tienes más que empezar a descargar el contenido que CENATIC está desarrollando de forma totalmente abierta en su forja. Por ahora ya hay una primera versión de 8 módulos, eso sí, por ahora en inglés (aunque según la web del proyecto, se traducirán al español)

  • 01_Introduction_to_Free_Software_Desktops
  • 02_Introduction_to_GNOME_platform
  • 03_Introduction_to_KDE_platform
  • 04_Introduction_to_Freedesktop_APIs
  • 05_Environement_and_development_metodology
  • 06_Basic_GNOME_application_development
  • 07_Basic_KDE_application_development
  • 08_GNOME_Application_study
  • 12_GNOME_community_development

Aparte del contenido en sí, el proyecto ha desarrollado herramientas para convertir los documentos de formato OpenOffice.org (ODF) a SCORM.

Me ha resultado especialmente interesante el capítulo 08, que disecciona el código fuente de Evince y muestra cómo corregir un bug abierto para esa aplicación en Bugzilla.

Soporte de anotaciones en Evince

Hace un par de días recibí un email con el ChangeLog de Evince 2.27.1 . Entre esas novedades, una que me ha hecho bajar el código de Poppler, compilarlo, bajar el código de Evince, compilarlo e irme a dormir tranquilo, por fin, tras varios años esperando este momento 🙂

* Preliminary annotations support (#315002, Carlos Garcia Campos, Iñigo Martínez)

¡Soporte de anotaciones en Evince! Por el momento muy rudimentario, sólo permite visualizar las anotaciones de un PDF (ni crearlas ni editarlas), pero algo es algo. ¡Felicidades a Iñigo y a Carlos! Se lo han currado…

Midnight Commander (mc) : cómo hacer que F10 funcione

Receta raṕida para los usuarios de mc (el administrador de archivos en modo terminal Midnight Commander, que tanto nos recuerda al Comandante Norton de cuando empezamos en MS-DOS, allá por los años en que navegábamos con Gopher por primera vez.. e incluso antes… snif, snif… cuentos del abuelo).

A la chicha: la tecla F10 hace que terminemos la sesión con mc.  Pero F10 está asignada por defecto al menú File de la Terminal de GNOME, por lo que siempre terminamos usando el ratón para pinchar en File/Quit de mc. Para que el F10 no se asigne a ningún atajo de teclado de la terminal GNOME, y por tanto funcione como Quit en mc, teclear lo siguiente:

$ gconftool-2 –set /apps/gnome-terminal/global/use_menu_accelerators  –type boot false

Si lo volvemos a poner a true lo dejaremos como viene de fábrica.

Tres trucos de Nautilus que (tal vez) no conocías

  • Ctrl-L en el escritorio lanza la ventana «Abrir Lugar:» (Open Location), desde donde puedes teclear la ruta hacia la carpeta que quieras abrir (para minimizar todas las ventanas y ver el escritorio Ctrl-Alt-d)
  • Una vez abierta la carpeta de interés en Nautilus, supongamos que hay varios archivos .mp3. Si colocas el puntero del ratón encima del archivo, sin hacer click, durante 2 segundos, el mp3 empieza a sonar – él sólo, una especie de vista preliminar – . Si te mueves – si el nombre del archivo pierde el foco – el mp3 se para
  • En el mismo punto que el «truco» anterior, si pulsas Ctrl+S, se abre la ventana de selección de patrón, para poder seleccionar aquellos ficheros que cumplan la expresión que indiques.

¿Conoces más? ¡Compártelos!

DropBox: la solución a los problemas de sincronización

Hay días en los que descubres aplicaciones que sabes que no dejarás de usar a partir de entonces. Creo que es la mejor crítica que se le puede hacer a cualquier producto software: «lo uso a diario». DropBox es una de esas aplicaciones. Pero vayamos a la «chicha», a lo concreto. ¿Para qué sirve DropBox? Para mantener sincronizados los archivos de una carpeta entre distintos ordenadores. Vale… de nuevo, ¿para qué sirve DropBox? 🙂 Ok, veamos algunos casos de uso: estoy trabajando en el PC de casa, sobre un documento que mañana tendré que seguir retocando en el PC de mi despacho. Cuando termino la sesión en el PC de casa, hasta ahora tenía 3 opciones: enviármelo por correo (a mí mismo) para, al día siguiente recogerlo en el PC del trabajo. No está mal, sirve como backup… hasta que un día, tras terminar a las tantas de la mañana en el PC de casa, se te olvida enviártelo por correo. Shit!

Segunda opción: lo pasas a un lápiz USB. Interesante, y también sirve, salvo que te olvides, como antes.
Esas dos opciones combinadas, además, tienen una pega: casa-despacho-casa-despacho… trasiego de versiones y ficheros, por correo y por lápiz USB, hasta que un día te preguntas: ¿dónde está la bolita más nueva? En el correo o en el lápiz USB… en qué lápiz? (tengo 3) ¿en qué versión, la que pone última.odt o la que pone final.odt? 🙂
Tercera opción: un poco geek, pero interesante, consiste en usar un sistema de control de versiones, tipo CVS o Subversion. Así sabrás siempre cuál es la última versión y podrás «moverte en el tiempo» sin problemas… salvo cuando se te olvide, a las 3am, hacer un commit. Ah! si eso ocurre, al día siguiente estarás «tocado y hundido».
Otra pega de esta tercera opción es que si no tienes conexión y trabajas sobre un fichero del repositorio, cuando vuelvas a tener conexión deberás de acordarte de hacer commit, porque «sólo» no se va a hacer…

Todo los escenarios anteriores sirven para ilustrar la simplicidad de DropBox para resolver el problema. Lo instalas, te identificas, y empiezas a trabajar con tus ficheros sobre una carpeta llamada ~/dropbox (que puedes cambiar si así lo deseas). Cada vez que guardes un fichero en esa carpeta, automáticamente, sin que hagas nada, se realizará un commit contra el servidor DropBox.

Es decir, se guardará una copia de tu fichero en remoto; conservando las versiones anteriores, por si en algún momento dado quisieras volver atrás en el tiempo. Todo de forma transparente. Cuando mañana vayas a tu despacho, en la carpeta DropBox de tu PC tendrás la última versión que tocaste en casa. Sin tocar nada. Magia.

DropBox es multiplataforma: funciona en Linux, MacOSX y Windows. Es un servicio gratuito, hasta 2GB. A partir de ahí, lógicamente tendrás que pagar por el servicio. El almacenamiento de los ficheros realmente se hace contra la nube S3 de Amazon, por lo que la disponibilidad se supone total.

Más magia: puedes compartir tus ficheros. Puedes decidir que ciertas personas tienen que poder acceder a determinada carpeta. Todo lo que dejes ahí se sincronizará con tus colegas. Cuando ellos dejen algo (o modifiquen algo), verás que tu carpeta compartida recibe los cambios instantáneamente.

Si hubiera conflicto entre versiones se marcan como ocurre en CVS o Subversion: en DropBox se le añade al nombre de los ficheros en conflicto información sobre quién tocó esa versión y con cuál se está pegando, para que el usuario sepa que tiene que decidirse por una o por otra. Por ejemplo Fulanito se baja la versión X de un fichero y empieza a editar. Mientras, Menganito se baja la misma versión X y empieza también a editar. Ahora Fulanito sube su versión. Cuando Menganito suba la suya, se podría producir un conflicto, si la zona cambios se solapa.

Por otra parte, si has editado un fichero en DropBox mientras estabas sin conexión, no pasa nada. Cuando la aplicación detecte que vuelve a haber tráfico, se sincronizará contra el servidor central y éste repartirá los cambios (si es necesario) entre las carpetas de los clientes «apuntados» a esa carpeta DropBox.

Tenemos también la posibilidad de compartir cualquier fichero vía web: botón derecho sobre el fichero, extraer URL para compartir. Esa URL la podremos dar a nuestros contactos para que a través del navegador puedan acceder a dicho fichero.

Otro detalle más (¿se nota que me gusta la aplicación? 😉 : los deltas entre dos versiones de un fichero son lo único que se envía cuando éste cambia. Es decir, si tengo un fichero de X MB y sólo he cambiado un bit, no se envían X MB + 1 bit, sino únicamente el bit cambiado (seguramente habrá algo más de contexto, pero creo que se coge la idea)

DropBox tiene más detallitos que hacen de su uso una delicia de experiencia, pero creo que con lo que he dicho ya es más que suficiente como para que lo probéis.

En Linux, la instalación es trivial: basta con que te bajes el paquete binario para tu distro y hagas doble click sobre él para instalarlo. Dios… nos están acostumbrando a no pensar 😉 Si no te fias de binarios que carga el diablo, siempre puedes bajar el paquete con el código fuente y realizar el conjuro adecuado. De todas formas, que nadie se haga demasiadas ilusiones: tenemos el código fuente del plugin DropBox para Nautilus bajo GPL, pero es una «simple» capa de comunicación contra el daemon dropboxd que corre en segundo plano y que es software privativo. Por no haber no hay ni documentación del protocolo entre plugin y daemon… salvo el código fuente.

Una vez instalado DropBox, lo más sencillo es que cierres la sesión y la vuelvas a abrir (técnicamente valdría con abrir una terminal y reiniciar nautilus con el comando killall nautilus, pero si usas Compiz se te puede quedar frito el escritorio, por lo que no cuesta nada cerrar sesión – que no es lo mismo que reiniciar, oiga – )

En cuanto lo instales, verás el iconito de la caja azul en el panel superior (al lado del reloj, parte derecha).

Y en Nautilus, verás una carpeta nueva ~/Dropbox:

Todo lo que guardes en esa carpeta se sincronizará contra el servidor DropBox. Cuando te conectes (usando la misma cuenta) desde otro ordenador, la carpeta ~/Dropbox (o en Win, ~/Mis Documentos/DropBox) obtendrá la última versión, automágicamente, de todos tus ficheros, sin mover un dedo.