Category Archives: Tecnología

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.

Nivel de usuario

En barrapunto comentan una notícia que dice que “Más del 50% de los candidatos miente en su CV”, lo que me ha hecho gracia ha sido un comentario de una persona que dice:

“Vamos a ver: Si por cruzar un puente no eres una persona con Ingeniería de Caminos a Nivel Usuario y por ir al médico no pones en tu cv Medicina a Nivel Usuario ¿Se puede saber por qué cojones todo el que saber dar una vuelta por Internet y escribir sus bobadas en el Word pone Informática a Nivel Usuario?”

En el artículo tb se pueden leer otros comentarios curiosos 🙂

¿Qué distribución GNU/Linux me recomendarias para empezar?

He recibido un mail de una persona que se quiere iniciar en el mundo de GNU/Linux y me ha cuestionado una pregunta interesante ya que se repite constantemente en los usuarios más noveles: ¿Qué distribución GNU/Linux me recomendarias para empezar?

Creo que puede ser interesante compartir con todos los internautas la respuesta que he elaborado ya que espero dar una visión de como son los inicios con GNU/Linux y que es lo verdaderamente importante:

“Bueno, siempre suelo decir que GNU/Linux no es un sistema fácil a pesar de que mucha gente se empeñe en decir lo opuesto. Si que se ha dado un gran paso en algunas distribuciones en el tema de la instalación, pero a pesar de eso la configuración suele ser bastante problemática. Y es que GNU/Linux no ha sido diseñado pensando en la facilidad de uso sino en la estabilidad y potencia.

Podría decirte que distribución es la que uso habitualmente y la que utilizo en los cursos de GNU/Linux, pero no deja de ser más que una elección personal. Cualquier otra persona podría argumentar que otra distribución es mejor ya que se trata de algo bastante subjetivo. La que utilizo es Gentoo, se adapta perfectamente a mis necesidades y es fantástica para poder enseñar a los alumnos el funcionamiento de GNU/Linux ya que tienes que hacer muchas cosas a mano. No es una distribución sencilla, eso seguro.

En España hay una gran afición también por Debian, tengo muchos amigos que la usan pero a mi no me acaba de convencer por diversos motivos que no vienen al caso ahora.

En todo caso, no hay que darle excesiva importancia a que distribución elegir para empezar, en cambio si es importante la actitud de la persona. Debe ser consciente que no es un sistema sencillo y que va a tener que invertir su tiempo para aprender. Debe ser consciente que va a necesitar utilizar herramientas para buscar información sobre las dudas o problemas que le puedan surgir, y debe utilizar habitualmente medios de comunicación como listas de correo o foros para buscar ayuda.

En el caso de Gentoo en la misma pagina se puede encontrar documentación, foros, listas de correo, etc….

El cambio de sistema operativo suele ser progresivo ya que normalmente no se consigue hacer funcionar todos los dispositivos hardware que tiene el equipo o quizás encontremos a faltar programas que usamos habitualmente. La adaptación siempre es progresiva para personas que vienen de otros sistemas.

La diferencia entre un usuario que consigue migrar y aprender exitosamente GNU/Linux y uno que no, no es la distribución sino su paciencia y ganas. Es más, es muy habitual que los usuarios noveles vayan cambiando con el tiempo (con suficientes margenes de tiempo como para evaluar) de distribución hasta encontrar aquella que se adapte a sus necesidades. De hecho yo empecé con una RedHat 4.x y seguí con SuSE,Debian (Slink), RedHat 6.x, Mandrake, Slackware y finalmente Gentoo. Fuí consiguiendo configurar todo mi hardware de forma progresiva, inicialmente usaba otros sistemas la mayor parte del tiempo y GNU/Linux cuando queria juguetear/aprender, paulativamente GNU/Linux fué creciendo en tiempo hasta que finalmente me sentia muchisimo más cómodo en ese sistema, ya que había aprendido lo suficiente como para dominarlo y configurar hasta el último detalle (flexibilidad que no ofrecen otros sistemas). Actualmente es mi sistema de trabajo por defecto.

Así que a tu pregunta de cual coger para empezar, pues Gentoo es dura y requiere invertir mucho tiempo (con mis alumnos es diferente ya que vemos todos los pasos en clase). Si queremos empezar con algo sencillo:Mandrake, Fedora, SuSE. Si hay hardware que no te funciona, intenta buscar solución por internet, apuntate a las listas de correo de la distribución correspondiente para preguntar, etc… Ir cambiando dedistribución solo porque no funciona algo no nos llevará a ningun sitio, ya que es bastante raro que funcione absolutamente todo a la primera.”