Category Archives: Topic

Mozilla FireFox y extensiones

Siguiendo mis experimentos con el navegador Mozilla FireFox, hoy he instalado unas cuantas extensiones. De hecho la mayoría de extensiones de FireFox también estan disponibles para Mozilla pero es que la ligereza y velocidad del primero es fantastica. Mis extensiones favoritas:

Edit CSS: Editor de estilos.
Web Developer: Gran cantidad de opciones utiles para webmasters.
SpiderZilla: Descarga todo un website completo al disco duro usando httptrack.
All-in-one Gestures: Permite interaccionar con el navegador solo con los gestos del raton, pulsando el botón izquierdo y realizando ciertos movimientos se puede desplazar por el historial, crear nuevos tabuladores… También permite dibujar el movimiento, esto ultimo me ha encantado 🙂
TextPlain: Las URL o los emails que aparezcan en texto plano se interpretan como si fuesen links realmente.
RSS Reader Panel: Lector de RSS
AdBlock: Bloqueo de publicidad (más potente que el bloqueo de imagenes nativo de FireFox)
TabExtensions: Fantastica extensión con una inmensa cantidad de opciones para los tabuladores, tantas opciones van en contra de la filosofia de GNOME ya que no es sencillo de configurar pero te ofrece una gran potencia.
Bookmark Checker: Permite comprobar el estado de los enlaces guardados en los bookmarks señalando aquellos que ya no son validos.
Bookmark Sync: Sincroniza los bookmarks usando un FTP.
OfflineFB: Permite tener el modo offline en el navegador lo cual hace que no se vayan a buscar las paginas a Internet sinó que se mire en la cache local (si no existe ahi entonces no es posible visualizar). Me ha resultado útil para leer las noticias offline, mientras estoy conectado hablo todos los tabs de las paginas de noticias (cosa que hace que la info se guarde en cache) y despues desconectado me pongo en modo offline (File -> Work offline) y vuelvo a abrir todos los tabs de notícias 🙂
User Agent Switcher: Permite cambiar la cabecera User Agent del HTTP, es decir, permite hacerte pasar por otro navegador cuando visitas una web.

Para instalarlas simplemente hacer click en el link de su pagina correspondiente desde FireFox. He visto que hay un pequeño bug, cuando se instala algo obligatoriamente tienes que cerrar y abrir de nuevo el navegador, de lo contrario si seguimos instalando otras extensiones se repetiran las preguntas que nos hizo la primera instalación. En pocas palabras, que cada vez que instaleis una extensión cerreis el navegador y lo volvais a abrir antes de instalar la siguiente 😉

También estoy poniendo a prueba el lector de mails Mozilla Thunderbird, mucho mas ligero que Evolution pero hay cosas que no me gustan:

1) El corrector ortografico no es en tiempo real, el chequeo se realiza cuando vamos a enviar el mail.
2) En cuentas IMAP solo chequea el buzón principal, el resto de carpetas tienes que seleccionarlas para que mire en el servidor si hay mails nuevos. Este problema lo hereda de Mozilla Mail que también funcionaba así.

Por lo demás perfecto, con la extensión Enigmail puedo utilizar GnuPG igual que hacia antes. Seguiré probandolo 😉

Gaim plugin y combinaciones de tecla

Después de pasarme varias horas intentando hacer del gnome-notificier de Miguel de Icaza un plugin para gaim, resulta que descubro guificator, un plugin que cubre lo que yo pretendia sobradamente. En parte alegria en parte tristeza por perder tanto tiempo intentando hacer yo uno (reaprovechando el código de Miguel) xD Para los que usen Gentoo también esta en el portage aunque inestable. Para compilarlo de forma manual es necesario el código fuente de gaim y se ha de especificar al configure donde esta (./configure –help).

También he descubierto que con ctrl+alt+d se puede ocultar todas las ventanas o viceversa en gnome (sabia la existencia del botón que hacia eso pero no sabia como hacerlo por teclado ;-)). Esto me recuerda algo que creo que no comente por aqui y es que en OpenOffice, cuando nos aparecen ventanas flotantes como la de estilos, es posible arrastralas manteniendo pulsado ctrl y empotrarlas de forma que ya no queden flotantes, me gusta mejor así a mi 🙂

Transparencias y Mozilla FireFox

He acabado las transparencias sobre Mono, todas estan accesibe en el apartado material de la web de los cursos. Las he hecho muy detalladas y van acompañadas de ejemplos y de la aplicación Indexator.NET.

A través de la lista de correo de socios de Hispalinux he dado con una web con transparencias sobre comandos de GNU/Linux muy interesante, encima es FDL así que puede ir de perlas para nuestros alumnos 🙂

Tema aparte, acabo de “descubrir” Mozilla FireFox como navegador, de hecho lo probé hace bastantes meses pero aun le faltaba desarrollo. Ahora mismo esta en un punto bastante interesante, es funcional y carga mucho más rápido que mozilla. Además puedo importar los bookmarks de mi mozilla sin problemas (no como epiphany de GNOME). Lo probaré durante unos dias a ver si le encuentro pegas o me quedo con el 😉

MonoDevelop 0.2

Acabo de probar MonoDevelop 0.2, como queria hacerlo bien he pasado al nuevo kernel 2.6.4 para poder tener soporte NPTL (nuevo modelo de threads más eficiente de Linux), he activado el flag correspondiente de la variable USE de Gentoo y he recompilado las glibc para que también tengan soporte NPTL.

El NPTL es requisito para que funcione el debugger de MonoDevelop, de ahi que haya tenido que montar todo ese jaleo solo por el editor. También he recompilado mono 0.31 con –with-nptl=yes, finalmente he instalado todas las dependencias de MonoDevelop: gtk-sharp-0.18, gecko-sharp 0.1, mono-debugger 0.6, monodoc 0.13… y finalmente monodevelop 0.2. Por suerte ha ido todo muy fino sin problemas 🙂

Sobre MonoDevelop, ha mejorado bastante. Ahora tenemos monodoc integrado, el autocompletado ha mejorado (aunque solo me funciona cuando hago proyectos, para ficheros simples no va :-() y dispone del depurador que no depura nada, solo se cuelga xD No es usable el depurador, de hecho no he conseguido hacerlo funcionar ni una vez. El editor de texto también ha mejorado, antes cada vez que hacias una nueva linea se iba al principio el cursor y ahora va hasta la posición donde este indentado.

Lo que más me fastidia es que no tenga autocompletado en archivos normales y que solo funcione con combinados (proyectos). Una pena, y eso que reporte el bug antes de la 0.1 y Todd Berman me dijo que ya lo había solucionado, tendré que avisarle de nuevo.

Por cierto, el kernel 2.6 muy chulo aunque ha hecho que no me funcione el doble click en el touchpad, de todas formas he encontrado un howto en el foro de gentoo para hacer que GPM lo coja bien. Los drivers del modem (smart link) del portatil tampoco funcionan con el 2.6, por suerte no suelo utilizar ese modem. Aun tengo que probar la targeta wireless, a ver que tal 😉

La distribución

Joni me ha pedido que postee en mi blog algo que le comenté, es simplemente mi idea de como deberia ser una distribución perfecta para un usuario medio:

1) La instalación de Fedora Core (o Mandrake xD)

2) Sistema de paquetes compilados de Debian con apt-get, lo que también implica un amplio abanico de aplicaciones disponibles para instalar mediante este sistema y que todas esten soportadas de manera oficial por la distribución. Además que tengas la possibilidad opcional de que el instalador te realice las preguntas necesarias para configurar la aplicación recien instalada.

3) Política de versionado de Gentoo. Aplicaciones con versiones actualizadas, lo suficientemente probadas como para que funcionen sin que se pueda quedar la máquina sin funcionar durante 1 día o más. Es decir, tan dinámico y flexible como Gentoo.

Incluso se podria añadir un cuarto punto que se me acaba de ocurrir:

4) Herramienta de configuración de SuSE, es decir, YaST. La cual pasará en breve a ser GPL.

Actualmente no existe ningún sistema que cumpla estos 4 puntos. Podemos encontrar distribuciones que cumple algunos, pero eso no es suficiente para un usuario medio. Yo utilizo habitualmente Gentoo, es genial su herramienta de instalación de programas (emerge) y me encanta que siempre tenga las versiones más recientes de todo el software que uso. Pero la instalación es engorrosa y la compilación de todos los programas lleva mucho tiempo que, aunque en mi caso no me desagrada, muchos usuarios no estan dispuestos a perder.

También tenemos Fedora Core con una instalación sencilla y con yum para instalar paquetes (al estilo emerge o apt-get), pero el abanico de aplicacions disponibles esta muy muy limitado. En Gentoo o Debian existen infinidad de aplicaciones disponibles para instalar facilmente.

Debian tiene un nuevo instalador bastante bueno (aunque no es gràfico pero eso no le resta merito) y además tiene un sistema de paquetes fántastico gracias al apt-get con una gran cantidad de software. Pero su política de versionado es nefasta según mi juicio. La rama estable es vieja pero es para la única que hacen actualizaciones de seguridad, si usas la rama inestable (sid) los fallos de seguridad se superan gracias a que alli el cambio de versiones es más frecuente pero según gente que la utiliza puede que al actualizar de pronto no te vayan las X y tengas que esperar un día para que arreglen el fallo, al cabo de un tiempo al volver a actualizar puede que te deje de funcionar otra cosa…. y asi. Entonces tenemos la rama del medio, la testing que a esta suelen llegar los paquetes de la inestable a los 10 dias de haber sido probado sin bugs encontrados, pero a esta resulta que las actualizaciones de seguridad… no llegan rápidamente? No lo afirmo pq no soy usuario de Debian y este punto no lo tengo muy claro. Lo que si es cierto es que en la testing por ejemplo ahora mismo existe medio XFCE 3.x y medio XFCE 4.x, es decir, no puedes instalarte XFCE 4 a pesar de que hace ya mucho que salió dicha versión. Eso si, si recurres a repositorios no oficiales entonces puedes encontrarlo…. pero ya tienes que ir fuera de la distribución a buscar algo en lo que no sabes si puedes confiar.

No voy a seguir comentando distribuciones, solo quiero remarcar que las características que personalmente opino que son imprescindibles para un usuario ya existen, pero existen por separado 🙁 Deberiamos unificar un poco más nuestros esfuerzos.

Arranque de OpenOffice más rápido

En Linuca hay un breve artículo sobre como reducir el tiempo de arranque de OpenOffice en GNU/Linux. Es lo equivalente a esta aplicación la cual solo es para KDE, asi que a los que nos gusta usar GNOME ya tenemos la possibilidad de mejorar nuestro uso con OpenOffice 🙂

Actualización Lo he probado poniendolo en el inicio de GNOME y en cuanto sales/entras varias veces con un usuario empieza a funcionar mal pq hay varias instancias del script ejecutandose en background. He intentado retocar el script para que mate las instancias viejas pero tampoco he conseguido una gran mejora:

#!/bin/bash
 
# NO FUNCIONA todo lo bien que deberia, no es usable
 
# Permitir solo 1 instancia de este script
 
# Contar el numero de procesos que contiene "openoffice-quick-start.sh" y "bash" y
# estan en estado SLEEP.
NUM=`ps ax |grep openoffice-quick-start.sh |grep bash | grep S| wc -l`
 
# Si hay más de uno (como mínimo habra 1, nosotros)
if [ ! $NUM -eq 1 ]; then
 
  # Para cada proceso
  COUNTER=0
  while [ $COUNTER -lt $NUM ]; do
 
    # Listado de PIDS ordenados por el tiempo en que se inicio la ejecución
    PIDS=`ps ax --sort=start_time |grep openoffice-quick-start.sh |grep bash | cut -b -5`
 
    # Primer pid del listado
    PIDTOKILL=`echo $PIDS|cut -b -5`
    # Si es diferente a nosotros, lo matamos
    if [ ! $PIDTOKILL -eq $$ ]; then
      kill $PIDTOKILL
    fi
     
    let COUNTER=COUNTER+1
  done
 
  # Matamos los restos dejados por los scripts
  killall -9 /opt/OpenOffice.org1.1.0/program/soffice.bin
fi
#exit
# Ahora estamos seguros de que somos los únicos en ejecución
while :; do
  nice -n 20 ooffice -plugin -quickstart;
  sleep 5;
done

No es usable y por tanto no lo voy a utilizar en mi máquina 🙁 Cada vez que se ejecuta el “oofice” si tengo el foco en otra ventana, me cambia al openoffice que tengo abierto y no es cómodo trabajar así. Tampoco me gusta la forma de hacer “cut” para coger los PIDs, se tiene que poder hacer de alguna forma más elegante. Si alguien consigue mejorarlo y hacerlo funcional le agradeceria que me avisase 😉

Actualización 2 Mi compañero Edgar Salgado me informa que existe un applet para gnome que hace dicha funcionalidad: ooqstart. No he conseguido hacerlo funcionar en mi maquina 🙁

Interesantes declaraciones

Miguel de Icaza ha realizado un interesante declaración sobre los problemas legales que podria afrontar Mono y sobre los que la gente les gusta tanto recalcar. Me he tomado la libertad de traducir el texto original:

“El miedo que tienen algunos a los asuntos legales de Mono se pueden aplicar también a muchas más cosas. Dejarme que os explique.

Sun es la propietaria de varias patentes sobre Java, y en cierta forma pueden sentirse suficientemente amenazados para usarlas como arma contra el open source. De la misma forma que la gente piensa que Microsoft podría actuar.

Solo por poner las cosas en una perspectiva diferente: Sun ha tenido pleitos relacionados con Java en el pasado (contra Microsoft) por una disputa contractual y ha realizado movimientos legales amenazantes contra JBoss en cierta forma (la cual cosa no puedo entender) sobre bits de J2EE.

Si Java en Linux se convierte en una amenaza para Sun, usarían sus patentes? No lo se, y espero que no. Solo estoy ilustrando el la situación, de la misma forma que otras personas han ilustrado enérgicamente el riesgo de las patentes de Microsoft.

No hay nada en Java que lo haga más seguro que Mono hasta el momento. No tenemos ninguna garantía, ninguna declaración escrita que Java en Linux no vaya a verse afectada por un pleito bajo ciertas condiciones.

Microsoft ha garantizado licencia RAND (Reasonable and Non Discriminatory)+Royalty Free para cualquier patente que ellos posean y que sean necesarias para implementar los estándar ECMA 334/335. Por lo tanto al menos nuestro núcleo VM, clases y compiladores están libres de cualquier litigación de *Microsoft*.

Ahora, prestar atención a lo anterior, porque es importante.

El hecho de que Microsoft ha dado acceso a cualquier patente que ellos poseen sobre .NET no significa que terceros poseedores de una patente que es necesaria para implementar ECMA (o Java) garanticen una licencia.

Porque importa esto? Porque no sabemos si alguien tiene una patente que incluya piezas de las implementaciones de Java y .NET. Podría existir perfectamente una de la cual no tuviésemos constancia. La patente podría mantenerse sin uso durante unos años hasta que que alguien decida sacar provecho de la misma.

Y lo anterior es importante. Es importante porque incluso con un rediseñado completo de la maquina virtual, sistema runtime y el resto no podemos saber si estamos infringiendo una patente de Sun, Microsoft o terceras personas.

Con la situación actual de patentes, es probablemente imposible hacer que las pequeñas startups o desarrolladores individuales hagan una revisión de patentes antes de tomar decisiones en como van a implementar su software, solo las grandes compañías pueden afrontarlo, y creerme, incluso con inmensos recursos, puedes ser llevado a juicio por un desconocido (la patente de Eolas por ejemplo) o por una firma legal que se centre en comprar patentes inactivas y realizar litigaciones con ellas.

Nat suele decir “Si escribes un millón de lineas de código, hoy estas violando la patente de alguien”.

El panorama no es muy bonito para nadie en la industria del software.

Pero esto es similar a lo que les pasa a los estudiantes de biología: en sus primeros 4 semestres aprenden todos los peligros, infecciones, bacterias, paran de comer cualquier cosa, empiezan a lavarse las manos con productos especiales, duplican la limpieza de sus utensilios, lavan sus frutas 10 veces al día.

Dos años más tarde ya están comiendo con sus manos desnudas de nuevo.”

Miguel de Icaza.

Pondre la traducción también en GPL Tarragona ya que me parece muy interesante.