Firefox 3 permitirá trabajar con GMail offline

Durante estos últimos meses se están ultimando los detalles de lo que será el nuevo Firefox 3 versión final. Entre las novedades se encuentra el desarrollo de nuevas funciones en el API que permitirán a las aplicaciones web que lo deseen poder funcionar offline (sin conexión a Internet). Un ejemplo especialmente útil y práctico sería por ejemplo el poder indicar a nuestra cuenta GMail que en los próximos minutos vamos a coger un avión y que por tanto vamos a estar sin conexión durante unas cuantas horas. Sentados, con el portátil y sin conexión. ¿Podríamos pulsar algún botoncito para decirle a GMail, además, que sea tan amable de descargar automáticamente los nuevos mensajes de tal forma que estén disponibles offline? Y ya puestos, ¿podríamos leer y responder esos mensajes, borrarloso etiquetarlos y cuando volviéramos a tener conexión, sincronizar el estado? Sí a todo. Con el nuevo API de trabajo offline de Firefox 3.

Ya existen algunas pruebas de concepto. Incluso Zimbra, el gestor de trabajo en grupo (correo electrónico, agenda, documentos) que está haciendo eclipsar a Exchange, ya dispone de un cliente offline aprovechando esa tecnología.

Las características Firefox usadas para conseguir el soporte de aplicaciones offline son:

* Una implementación de la especificación WHATWG : DOM Storage (para almacenar en local emails e información de carpetas)

* Offline Cache. Un parche disponible para Firefox que añade una zona de cache específicamente para dar soporte a aplicaciones web que quieran poder trabajar offline (de tal forma que les permita almacenar datos como imágenes, páginas HTML, etc). Los elementos son cargados en la cache usando una etiqueta especial:

* Protocolo para dar soporte a ficheros JAR . Firefox acepta URLs que hagan uso del protocolo JAR. Esto permite guardar múltiples objetos en un único fichero .jar y que el navegador pueda referenciar de forma inequívoca aquel recurso que necesite en cada momento.

Por ejemplo, para referenciar el fichero /core/AjxCore.js en el fichero ajax.jar, la URL sería: jar:/zimbra/js/ajax.jar!/core/AjxCore.js

* Eventos Offline. El navegador dispondrá de eventos «offline» y «online» que serán lanzados cuando el usuario elija trabajar sin conexión a través del menú o cuando se pierda la conexión a Internet.

Macros, CustomShapes y OOo 2.2

Tengo un problema a la hora de importar algunas presentaciones de PowerPoint en Impress. Muchos de los textos acaban con un tamaño 4 o 6 puntos superior al original. A veces se puede arreglar simplemente cambiando el estilo, pero otras veces, los textos tienen distintos estilos y no es posible. Este fin de semana he estado peleándome con una macro en Impress que me permita rebajar en 2 pixels cada texto de una diapositiva Impress. Estará integrada con la barra de herramientas, para que sea fácilmente accesible. Tras varias horas de debugger, no he conseguido acceder al texto de algunos cuadros (los que el usuario puede crear a su gusto y que OOo denomina CustomShapes). He estado rebuscando en OOoForums.org una forma de resolver ese problema que parecía trivial y no he encontrado nada. Finalmente, en la lista api.openoffice.org he encontrado la causa de mi problema: UN BUG en el API de la versión 2.2 de OOo. En concreto, está documentado en el bugzilla, y se supone corregido en la versión 2.3:

Contrary to ordinary shapes, the API does not give access to the text of a
CustomShape. You cannot use .getText() or .getString() because interfaces com.sun.star.XText and
com.sun.star.XTextRange are missing.
….how to verify..
create new impress document with one slide and add only a single customshape to
it. add text to that custom shape.
….
create the following basic macro for the document and execute it
….
Sub Main
xDoc = thiscomponent
xPage = xDoc.getDrawPages.getByIndex(0)
xObj = xPage.getByIndex(0)
print xObj.getString()
End

La FSF quiere soporte completo de PDF en C

gnupdf-wiki.pngLa FSF quiere implementar una librería que dé soporte al formato PDF. Otra más. No entiendo del todo este último movimiento de la FSF, programar otra librería más de soporte al formato PDF. La razón aducida para no reutilizar poppler (biblioteca base usada por Evince y oKular) estriba básicamente en que poppler está programado en C++ y la FSF quiere programar la librería en C (razones de portabilidad y facilidad de reutilización de la librería por otras aplicaciones GNU también programadas en C,dicen). Como ejemplo de problema de portabilidad indican que si no se hace en C, es difícil que la librería sea utilizada en dispositivos empotrados. Analizan también por qué no quieren reutilizar Ghostscript como base (demasiado orientada al soporte PS y complejo código para modificar). MuPDF tampoco les convence. Así que… van a crear otra librería más de soporte al formato PDF

Eduroam en DELL Latitude D820 con Ubuntu Gutsy: CONECTADO!!!!!!

Actualización: 15/11/2007
Depende del sitio y la hora. No encuentro otra explicación al hecho de que a veces, conecto por Eduroam desde Gutsy (según dónde y a qué hora esté) y a veces no. Al menos, sé rápidamente cuándo voy a conectar: basta con dejar abierto el log /var/log/kern:


$ tail -f /var/log/kern

Si en algún momento veo la siguiente línea:
ieee80211_crypt: registered algorithm ‘TKIP’

sé que voy a conectar. Otro problema radica en que cada X tiempo (pueden ser 2 minutos o 20), la conexión se pierde (SIN haberme movido del sitio!)

¿Por qué Linux carga el módulo ieee80211_crypt (en concreto, el algoritmo TKIP) sólo «a veces»? Eso es un misterio…
====
Varios meses después, por fin lo he conseguido. Escribo estas líneas conectado a Eduroam desde Ubuntu Gutsy con el DELL Latitude D820. Todavía no me lo creo, he estado mirando el cable de red, para asegurarme de que no estoy conectado por cable, varias veces 🙂

El «truco» 1 está aquí (tras varios meses, parece una chorrada, pero es el tornillo que hacía que el cohete no despegara … el caso es que éste cohete tiene miles y miles de ellos 😉


$ gconftool-2 –recursive-list /system/networking/wireless/networks/eduroam

Si tienes algo en esa rama: bórralo con recursive-unset. Además, ojito al parche, porque hay un bug reportado que indica que NetworkManager (n-m en adelante) guarda la contraseña en claro en esa rama de GConf. De hecho, gracias a ese bug me enteré de la existencia de esta rama en GConf.

El «truco» 2 consiste en NO usar NDISWRAPPER, que es el driver «envoltorio» de los drivers Windows que viene por defecto para la tarjeta Broadcom 4311. En concreto, mi tarjeta es:


$ lspci -v
0c:00.0 Network controller: Broadcom Corporation BCM94311MCG wlan mini-PCI (rev 01)
Subsystem: Dell Unknown device 0007

Los módulos que controlan mi tarjeta wifi son:
juanan@pdi-laptop:~$ lsmod | egrep ‘(bcm|ieee)’
ieee80211_crypt_tkip 11776 0
bcm43xx 127336 0
ieee80211softmac 31360 1 bcm43xx
ieee80211 35656 2 bcm43xx,ieee80211softmac
ieee80211_crypt 7040 2 ieee80211_crypt_tkip,ieee80211
ieee1394 96312 2 sbp2,ohci1394

En concreto, estos son los paquetes que he instalado:

bcm.png

El «truco» 3 consiste en NO usar el certificado digital de la UPV. Es curioso, porque en Windows tampoco es necesario y sin embargo, no sé por qué, yo creía que sí. En fin…

El «truco» 4 consiste en USAR un kernel «modernito»:


juanan@pdi-laptop:~$ uname -a
Linux pdi-laptop 2.6.22-14-generic #1 SMP Sun Oct 14 23:05:12 GMT 2007 i686 GNU/Linux

El «truco 5» consiste en que la configuración del wpa_supplicant ha de estar en /etc/wpa_supplicant/wpa_supplicant.conf y NO en /etc/wpa_supplicant.conf .

Éste es el contenido de /etc/wpa_supplicant/wpa_supplicant.conf:

ctrl_interface=/var/run/wpa_supplicant
ap_scan=1
eapol_version=1
network={
ssid=»eduroam»
proto=WPA
key_mgmt=WPA-EAP
group=CCMP TKIP
eap=TTLS
identity=»scpxxxxx»
password=»xxxxxxxxxx»
priority=2
phase2=»auth=PAP»
}

Aunque realmente no sé si es totalmente necesario, dado que con meter los siguientes datos en la ventana de Network Manager, tal y como se puede ver en la siguiente imagen, ya vale:

pantallazo-1.png

Creo que no me dejo nada importante. Cualquiera que tenga problemas con esta tarjeta y esta red, que deje sus comentarios en este post, a ver si conseguimos que todo el mundo conecte sin problemas desde Ubuntu (u otra distro). En la UPV/EHU hay unos 500 portátiles DELL Latitude D820, así que, con que el 10% usen Linux (yo creo que sí, jejeje… optimista que es uno), al menos este mensaje debería de ayudar a 50 personas.