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.”

OpenOffice Extras

Interesante web OOExtras con cliparts (imagenes) y templates (plantillas) para OpenOffice, en la sección Labels he encontrado plantillas para impresión de carátulas de CDs, tanto para la caja como para el CD en sí. En la sección English también se puede encontrar todo tipo de plantillas como facturas o notas para la compra, y en la sección Impress hay un listado con presentaciones predeterminadas.

Para instalarlos no hay más que bajarse las plantillas que queramos y copiarlas al directorio de templates, en la misma web hay instrucciones más detalladas.

OpenVPN

He escrito un pequeño artículo en GPL Tarragona sobre OpenVPN que es el programa que utilizo para crear redes virtuales privadas de forma segura (OpenSSL) para mi red wireless o incluso para acceder desde Internet. Muy buen programa 🙂

Artículo: OpenVPN – Solución para montar una red wireless segura

OpenVPN es un demonio utilizado para crear redes privadas virtuales (Virtual Private Network). Esto significa que es capaz de enlazar 2 nodos (e.g. nodo A conectado a una red privada y a Internet, nodo B en cualquier otra parte del mundo con conexión a internet) de forma que parezca que estan en la misma LAN (e.g. B puede conectarse con cualquier ordenador de la red de A como si realmente estuviese físicamente en dicha red). Además, esta conexión entre los 2 nodos puede ir encriptada utilizando OpenSSL, lo que se convierte en una herramienta idónea para ser utilizada en redes wireless de forma segura.

La primera ventaja de OpenVPN es que se encuentra bajo la licencia GPL, es decir, es software libre. Puede utilizar tanto TCP como UDP para comunicar los 2 nodos extremo, recomiendan el uso de UDP por cuestiones de congestión de la red. En un principio no entendía esto ya que UDP no tiene control de errores y por tanto se podrian perder paquetes, por eso me decante por utilizar TCP. Poco después me dí cuenta que mis razonamientos eran incorrectos, openvpn vendría a representar una capa inferior y las capas superiores utilizarían TCP, es decir, es posible usar openvpn con UDP ya que el control de errores se hará a un nivel superior, por ejemplo cuando conectemos a una web. Es lo mismo que la propia Internet, el medio físico no te garantiza que el paquete vaya a llegar correctamente y tienes que poner controles en capas superiores. Aquí el medio físico vendría a ser UDP.

En la misma página de OpenVPN existe un HOWTO muy completo que explica como configurarlo y ponerlo en marcha, así que no explicaré aquí nada al respecto.

Una vez tenemos montados dos nodos con OpenVPN, estos se comunicaran utilizando el puerto 5000 UDP por defecto, aunque como ya he dicho es posible cambiar a TCP. Se utilizarán certificados RSA para la autentificación (es posible utilizar un método alternativo pero menos recomendable) de forma que solo los PCs que autoricemos podrán acceder a la red virtual.

¿Como encajar todo esto en una red wireless? La encriptación WEP de las redes wireless es una medida insuficiente a la hora de intentar proteger nuestro tráfico, es posible romperlo y por tanto estamos expuestos a que cualquier persona próxima a nuestra red pueda ver nuestro tráfico (contraseñas de cuentas de correo, conversaciones de chat, contraseñas web que no usan SSL…). Por tanto hay que buscar una alternativa para protegernos y OpenVPN encaja a la perfección.

Lo tengo instalado en mi casa y por ahora funciona de maravilla, una vez en marcha tengo acceso a todos los PCs de mi red cableada y acceso completo a Internet desde mi portatil con wireless, todo de forma encriptada y solo abriendo el puerto 5000 UDP en ambos Pcs (mi portatil y el Access Point). También lo he probado utilizando Internet, es decir, estando con mi portatil en la Universidad activar la red privada virtual teniendo acceso a mi red de casa como si estubiese conectado alli mismo, me ha sorprendido gratamente porque a pesar de la conexión pobre que tengo funciona muy bien (evidentemente la velocidad decrece utilizandolo de esta forma, pero es muy usable).

Política

Entre una cosa y otra no he podido escribir nada en mi blog a pesar de las ganas 🙁 Ahora ya se sabe que el atentado de Madrid fue llevado a cabo por Al Qaeda, de hecho se supo justo antes de las elecciones del domingo, cosa que definitivamente me impulsó a votar por primera vez en mi vida. Los ultimos 4 años han sido muy mal gestionados por el gobierno y su mayoría absoluta, han hecho caso omiso al pueblo que estaba en contra de la guerra en Iraq y finalmente intentaron hacernos creer que el atentado de Madrid habia sido realizado por ETA, ocultando la realidad: las lineas de investigación principales de la polícia era Al Qaeda.

No me considero de ningun partido, no me veo representado por nadie del actual panorama político, pero si tenia claro que era necesario “castigar” a aquellos que no han sabido gobernar un pais en segun que terrenos (el apartado económico ha sido muy bien llevado excepto por el alto precio de la vivienda) y de ahi la necesidad de utilitzar el derecho del voto. Solo espero que aprendan de sus errores, no solo el antiguo gobierno, sino todos. Han de darse cuenta que representan el pueblo y no cerrar los ojos a las peticiones del mismo o intentar manipularlo utilizando los medios de comunicación.

Creo que ahora me siento con un mayor sentido social y entiendo la importancia de la democrácia y del derecho al voto. Por tanto me he sentido orgulloso de poder ejercerlo 🙂 Me alegro que haya sido de esta forma, prefiero no participar hasta realmente entender el valor y la importancia del voto a votar ciegamente siempre a un partido político solo por tradición influenciado por el contexto en el que vivo (familia, amigos…).

Hablando sobre política me he encontrado gente que afirmaba que estaban confusos ya que su corazón decia que debia votar una cosa y su cabeza otra. Opino que en política siempre se ha de votar con la cabeza, el hecho de votar a un partido por “sentirte” de el lo encuentro equivoco. El voto ha de servir para aprobar o desaprobar el trabajo de los partidos y no ha de ser nunca vendido a fanatismos ciegos del mismo grado que los que provoca el futbol o el patriotismo.

Seguramente mis ideas vienen bastante influenciadas por sentirme apolítico, no soy ni de derechas ni de izquierdas, simplemente apoyo a los gobiernos honestos no prepotentes que reconocen sus errores. No exigo un gobierno perfecto, pero si uno que reconozca sus errores y sepa rectificar a tiempo.

Casi olvido mencionar mi participación en la manisfestación de Tarragona del viernes por los atentados de Madrid, fue absolutamente impresionante. Nunca había visto tanta gente reunida por un mismo motivo y un mayor silencio simultaneamente. Me alegra saber que la sociedad en la que vivo es tan solidaria 🙂

Gnome Notifier

Miguel de Icaza ha posteado en su blog un pequeño hack que permite tener notificaciones al estilo msn messenger en gnome, muy interesante. Lo suyo seria que se integrase esta funcionalidad en el panel de gnome tal y como comenta el propio Miguel.

Por cierto, a mi no me ha funcionado el make install pero se puede probar sin problemas de forma local, sin realizar la instalación y llamando a ./gnome-notifer o ./notify ‘texto’.