Informática
Flash player para iceweasel en Debian Squeeze 64 bits
5Hace tiempo que instalé la Debian Squeeze en 64 bits en mi máquina, para aprovechar las ventajas de algunas aplicaciones corriendo en 64 bits. Sin embargo uno de los problemas que me encontré fue que el flash funcionaba de forma anómala. Uno de los ejemplos más claros y rápidos de detectar es que lo vídeos en youtube se ven ralentizados y no suenan. Durante un tiempo he tenido una máquina virtual curriendo un XP en el que tengo instaldo software que me interesa, pero últimamente me ha dado por arreglar los pequeños problemillas que tengo en mi máquina, y la verdad es que muchas veces me daba bastante pereza cargar la máquina virtual (que va considerablemente bien) sólo para ver un vídeo o hacer cualquier otra chorrada por el estilo.
Actualizado: Existe el paquete flashplugin-nonfree paquete en el reposotorio non-free que contiene directamente el flash player de macromedia.
Pues bien, resulta que encuentro por la página de kike leo que en Adobe labs existe una beta del flash player 10 para linux x86_64. Así pues he estado trasteando un poco en el sistema. Lo primero es descargar el plugin:
Actualizado: Jorge Blengino nos informa que se ha actualizado la versión. Gracias, corregido.
wget http://download.macromedia.com/pub/labs/flashplayer10/libflashplayer-10.0.32.18.linux-x86_64.so.tar.gz
tar xvf libflashplayer-10.0.32.18.linux-x86_64.so.tar.gz
Una vez lo tenemos ahí el resto de operaciones se harán con root o con sudo. Lo primero es hacer un backup del plugin que trae Debian por defecto:
mv /usr/lib/swfdec-mozilla/libswfdecmozilla.so /usr/lib/swfdec-mozilla/libswfdecmozilla.so.bak
Copiamos el plugin nuevo y aplicamos los permisos del otro para no comprometer la seguridad del sistema:
cp libswfdecmozilla.so /usr/lib/swfdec-mozilla
chmod 644 /usr/lib/swfdec-mozilla/libswfdecmozilla.so
Reiniciamos el navegador y comprobaremos que el plugin está listo para usar
Coloreado de sintaxis en vi en Debian
0Hace tiempo que tengo algo abandonada la edición de archivos en vi en favor de los editores gráficos, supongo que debido a que desde hace tiempo no trabajo en entornos multiplataforma (Solaris, Linux, Windows). Hace poco he vuelto a estos menesteres y poco a poco vuelvo a tener la costumbre de utilizarlo por inercia… hasta que me he encontrado con un grave problema: el vi de mi Debian no es capaz de colorear la sintaxis, esto es, pruebo a poner un “syntax on” y me dice que no puede activarla. Así pues le pregunto a google qué que pasa a mi pobre vi, y esta vez quien me ha respondido ha sido Busindre.
Busindre cuenta como Debian (y consecuentemente todos sus derivados como Ubuntu) ha sustituido el paquete “grande” habitual de vi por uno de características reducidas con el objeto de que ocupe menos. Sinceramente no comprendo por qué ocurre esto cuando la diferencia de tamaño del full es de 73 KB, lo que no supondría apenas nada incluso hace unos años cuando vivíamos en la época de los modems de 56 Kb/s.
Para solucionar el problema, basta con decirle a aptitude que nos instale la versión completa:
aptitude install vi-full
Aprovecho para recordar que para que el coloreado de sintaxis quede activado permanentemente se puede editar el archivo /etc/vim/vimrc y quitar el comentario a la entrada syntax on
Sobre sistemas de ficheros
0Estamos viviendo un momento en el que está surgiendo (o mejor dicho terminando de surgir) un nueva generación de sistemas de ficheros. Estamos asistiendo a evoluciones en los sitemas de ficheros de red, inclusión de características RAID y mejoras en la utilización del ancho de banda sobrante de los discos, entre otras muchas cosas.
Todo esto supone, bajo mi punto de vista, un cambio lógico y positivo, aunque desgraciadamente no todo ha sido perfecto y han saltado algunas polémicas con algunos sistemas.
Creo que la más sonada ha ocurrido con ext4 y una característica llamada allocate-on-flush o delayed allocation. Esta técnica consiste marcar como ocupado el espacio necesario para escribir unos datos que se han ordenado guardar en el sistema de ficheros, posponiendo la escritura real de los mismos al momento que el sistema estime conveninente. Este sistema permite, por un lado, mejorar el rendimiento del sistema, ya que se pueden escribir los datos en un momento de menor carga, por ejemplo, a la vez que posibilita un almacenamiento más ordenador de la información en el disco duro (menor fragmentación), lo que se traduce en tasas de lectura más altas.
Cuando ext4 se marcó como release, ubuntu lo activó en la beta de Jaunty saltó la alarma dado que bajo ciertas condiciones este sistema daba como resultado archivos con logitud 0 (quiere decir, ningún contenido). En realidad, el problema era debido al uso incorrecto de la systemcall fsync() por parte de muchas aplicaciones, que además provoca demoras y sensación de bloqueos en el sistema.
Ante este comportamiento hay mucha gente que se ha sentido insegura con respecto a la integridad de los datos en este sistema de ficheros, aunque mi planteamiento va mucho más allá.
A la hora de montar un sistema para producción (aka. servidor), la teoría dice que es conveniente maquetarlo y de esta forma poder testear el rendimiento, la estabilidad, la seguridad y la fiabilidad del sistema. La práctica me dice que en muchas empresas esto “no es posible” y los sistemas se pasan directamente a producción.
Dependiendo pues del tiempo que se tenga para implantarlo, se mirará el elegir el sistema de ficheros más conveniente para la aplicación que tendrá el servidor. Existe una oferta más o menos amplia, y cada sistema ofrecerá mejor rendimiento, estabilidad u otro tipo de características al servicio que se quiere montar, eso está claro. Pero cuando no hay tiempo de eso… ¿Qué se hace?
Muchas veces se utiliza un sistema de ficheros que se sepa que funciona más o menos bien, en términos de rendimiento, dando por hecho que todos son estables. Sin embargo esto no tiene por qué ser necesariamente cierto. Si no se hacen cuadrar buffers, tamaños de bloques de escritura por parte de los servidores, los sistemas de ficheros, tamaños de clusters, distribución de los bloques de datos en los discos de un RAID, etc. siempre se puede meter la pata. Esto implicaría que bajo determinadas circunstancias muy concretas se podrían perder datos o quedar éstos en un estado inconsistente. Sería el caso, por ejemplo, de ejecutar un MySQL en ext3 con las opciones de montaje por defecto y utilizando innDB con cache.
Tal y como he comentado, hay que tener en cuenta muchas características: los discos utilizados, la controladora RAID (en caso de que exista), el sistema de ficheros y la configuración del servidor. Así pues, es necesario informarse de la correcta configuración de todos estos datos antes de poner un servidor en producción.
Con respecto al problema de ext4 en ubuntu, el autor de zona de sistemas me ha comentado que como usuario en entorno gnome de este sistema no ha tenido ningún tipo de problema. Gracias a él por aportarme estos datos.
Clocksources y el problema "Clocksource tsc unstable"
8Desde hace tiempo llevo viendo un mensaje de error en mi máquina al arrancar Debian Squeeze: “Clocksouirce tsc unstable (delta = <valor nanosegundos>)”. No le había dado mucha importancia ya que el sistema funciona perfectamente, pero tenía pendiente descubrir de qué se trataba.
Al empezar a buscar por la red, descubrí que mucha gente tiene este mismo problema, pero casi nadie (o nadie) explica qué ocurre exactamente. Este post tiene como intención esclarecer el uso del kernel de linux de los generadores de reloj, la causa de este problema y su solución.
Sistemas operativos y generadores de reloj.
Todos los sistemas operativos necesitan llevar un seguimiento de la hora en la que se encuentra el sistema mientras éste está funcionando. Esto es imprescindible para crear todos los timestamps tan utilizados en los SOs: los relativos a archivos, registro de logs, etc. Para realizar esta tarea, se dispone del IRQ (o interrupción) 0, que indica al núcleo del sistema operativo que debe actualizar la hora vigente. Al arrancar linux, el kernel elige un generador de reloj y mide el tiempo que se tarda en generar un pulso (normalmente se mide en nanosegundos), almacenando este valor. De esta forma, cada vez que se genera una interrupción 0 el núcleo aumenta en uno un contador de ticks de reloj, y al multiplicar por el tiempo de separación entre ticks es capaz de calcular la hora. Si se requiere mayor precisión, el sistema calcula el número de segundos transcurridos desde el último tick.
Por otro lado, los sistemas operativos multiproceso y/o multitarea necesitan controlar el tiempo de ejecución de cada proceso/tarea para repartir los recursos del sistema entre todas las aplicaciones que corren en el sistema. Esto lo hace con el generador de reloj APIC, que viene en el núcleo del procesador.
Evolución de los procesadores y la aparición de problemas en el cálculo del tiempo
Desde la aparición de los procesadores Pentium y algunos equivalente (como AMD) se implantó un sistema de medición de tiempo llamado TSC, cuyo se uso se generalizó rápidamente.
TSC corresponde a la siglas de Time Stamp Counter. Es un registro de 64 bits que se encuentra en el núcleo del procesador y que va almacenando el número de ticks acumulados desde el último inicio/reinicio. Tiene un refresco muy rápido, es preciso y accesible, de ahí que sea el método más utilizado para control de tiempo en la plataforma x86. Sin embargo la evolución que han sufrido los procesadores en los últimos tiempos ha mermado la fiabilidad de este método para controlar tiempo.
Hace algo de tiempo se decidió que los procesadores no deben estar contínuamente al 100% de consumo energético. Desarrollado en principio para mejorar la duración de las baterías de portátiles, se implementó un sistema para hacer variar la frecuencia a la que trabaja el procesador y, consecuentemente, su consumo según las necesidades e indicaciones que tuviese el sistema en cada momento. Al ver lo efectivo que era tanto para ahorro de consumo como para evitar problemas de calentamiento, este sistema se ha portado posteriormente también a los PCs de escritorio. Pero este sistema plantea un problema: el TSC ha dejado de ser fiable. Por cada tick del reloj del procesador se aumenta el tsc, pero dependiendo del estado de velocidad, un tsc puede aumentar, por ejmplo, 800 veces en 1 segundo y 1600 al segundo siguiente. Este problema ocurre sobre todo con los AMDs, que simplemente han reconocido este problema y no parece que intentasen nada para solucionarlo, aunque algunos Intel también lo presentan.
Posteriormente y para rizar el rizo han aparecido los procesadores multinúcleo. Al ser un registro, el TSC está presente en cada uno de los núcleos, y lo peor es que no es posible que todos vayan completamente sincronizados. Intel ha anunciado que está haciendo grandes esfuerzos por que los TSCs de los núcleos de sus micros vayan bien sincronizados, pero de momento no han conseguido terminar de solucionar el problema. Por lo que parece los núcleos del procesador no propagan lo suficiente rápido los valores de sincronización y el kernel de linux se ve afectado.
Así pues si nuestro ordenador no es demasiado antiguo podemos estar afectados por este problema. Lo normal es que el kernel de Linux se percate poco después de arrancar de que el TSC no es una fuente fiable y la cambie por otra distinta. La red está plagada de reportes de usuarios que notifican que su sistema se llega a retrasar 1 minuto al arrancar y recibir este mensaje del núcleo. Esto es un problema, en principio, molesto pero no alarmante. Sin embargo hay reportes de muchos otros usuarios que comentan que la máquina se les cuelga durante 2 minutos o incluso indefinidamente por este problema. Para ser que por un motivo desconocido el kernel detecta el problema pero no cambia la fuente de reloj.
Para detectar si nuestro sistema está afectado podríamos echar mano del dmesg:
nefeli@oscar:~$ dmesg | grep -i clocksource
[ 22.965110] Clocksource tsc unstable (delta = -172516754 ns)
Esta es la prueba indiscutible de que nuestro tsc no es de fiar, pero no hay que alarmarse. Lo más lógico es que el kernel haya cambiado la fuente automáticamente para solucionar el problema. Si queremos comprobarlo podemos acudir al archivo correspondiente en el sistema de ficheros del sistema:
nefeli@oscar:~$ cat /sys/devices/system/clocksource/clocksource0/current_clocksource hpet
Como se puede ver el kernel ha cambiado la fuente de reloj por una fiable para evitar problemas de inestabilidad. El núcleo genera automáticamente una lista de clocksources al arrancar y los ordena de menor a mayor granularidad y fiabilidad. Cuando una fuente falla el sistema debería detectarlo y cambiar a la siguiente de la lista. Esta lista está visible, como siempre, en /sys:
nefeli@oscar:~$ cat /sys/devices/system/clocksource/clocksource0/available_clocksource
hpet acpi_pm jiffies tsc
En mi caso tsc se encuentra en último lugar porque no es una fuente fiable, y hpet ha tomado el puesto.
Posibles alternativas al TSC
Si tenemos el problema del TSC en nuestro sistema deberíamos optar por cambiar el clocksource. Las opciones más factibles son las siguientes:
- HPET: son las siglas de High Precission Event Timer, también conocido como reloj multimedia. Ha sido desarrollado conjuntamente entre Intel y microsoft, aunque en las plataformas AMD también se encuentra. Es un generador de reloj, más rápido el el RTC (Real Time Clock), y se suele utilizar para sincronizaciones. Además puede generar interrupciones periódicas.
- ACPI_PM: En realidad es el PMT (Power Management Timer). Es el generador de reloj destinado a gobernar el sistema ACPI de la máquina. Como consecuencia, todas las máquinas ACPI lo tienen.
Acelerar el proceso de arranque si tenemos el problema
La mayoría de la gente se encuentra con que este problema le causa grandes latencias de arranque. Para evitarlas basta con indicarle al núcleo en el arraque que utilice un clocksource distinto. Para ello editamos el archivo de grub /boot/grub/menu.lst y añadimos a los parámetros de arranque del kernel:
clocksource=<fuente_elegida>
De esta forma el núcleo arrancará utilizando directamente la fuente que le indiquemos evitando esos largos tiempos de espera.
Cairo shell: otra shell de usuario para Windows
1Después de un post un poco trágico como el de ayer, hoy quiero contaros algo bastante más optimista, y muuucho más friki. Una de las cosas que siempre se ha achacado a Windows es que su interfaz de usuario deja mucho que desear, y bajo mi humilde punto de vista esto es perfectamente cierto. No quiero poner el típico ejemplo de MAC OSX, sino otro que últimamente también se escucha bastante: Aero Vs Compiz fusion. En realidad, KDE, GNOME, Looking Glass y otras muchas shells de usuario disponibles en entornos UNIX (especialmente Linux) son mucho más agradables, bonitas, usables y gestionan mejor los recursos del sistema que Explorer o Aero. Hace 6 años, en mi máquina, la tendencia del Explorer de Windows XP era a ser inestable y quedarse colgado constantemente (desconocía el por qué, como casi todo en Windows, y sigo sin conocerlo), así que me embarqué en la aventura de probar otras shells para Windows, como Aston, WindowsBlind o Litestep.
Aston Desktop es una Shell de pago (aunque no demasiado cara, tal y como está ahora el dólar), que le hace un buen lavado de cara al escritorio de Windows. Considero que la gestión de recursos es bastante buena, es muy configurable y fácil de utilizar, pero el resto del sistema lo deja tal cual. Puedes convertir el escritorio en algo práctico que merezca la pena, pero el resto es el Windows de toda la vida.

WindowsBlind forma parte de una Suit que modifica el aspecto de Windows. Puedes llegar a modificar todo el aspecto de Windows a base de skins, pero el interface no cambia, solo queda un poco más bonito. Vamos, que es un Aston Desktop tuneado que a la hora de la verdad sale bastante caro, consume una cantidad de recursos considerable y no le he terminado de encontrar la estabilidad.
Litestep es bastante curioso. Tiene un poco la filosofía de las shells Linux, pero la documentación, plugins, addons y demás historias no están muy centralizadas. Además la instalación y modificaciones de los themes pueden llegar bastante confusas, por lo que prácticamente hay que ser un usuario avanzado, o perder 2 días buscando aplicaciones en la web que te lleven el management de forma automatizada.
Bueno, pues ayer leía en Genbeta que se está desarrollando una nueva Shell llamada Cairo Shell, que tiene muy buena pinta.
Esta Shell incorpora conceptos novedosos que se están implementando en otras, tiene pinta de ser bonita y user friendly. En principio incorpora su propio navegador, así como escritorios virtuales, además de un nuevo conecpto de menú de inicio (como ya estamos acostumbrados en Windows). El navegador de archivos promete funciones muy interesantes, como la posibilidad de crear grupos de elementos en función de su contenido, para poder realizar operaciones específicas con ellos (colecciones de foto o música, por ejemplo), facilitando de paso la búsqueda de contenidos en el PC. Además incluirá un lanzador de aplicaciones tipo Quicksilver, que es de agradecer.
Próximamente comenzarán la fase de testeo alfa, y han habilitado un formulario para hacer peticiones para entrar en la comunidad de testers. Hace tiempo que no hago algo por el estilo, pero la verdad es que con esta Shell me ha picado la curiosidad. A ver si me cogen.
HTC Touch Cruise
0Pues nada. Últimamente me está volviendo esa fiebre que me da a finales de año y principios del siguiente de comprar gadgets y cacharros varios.
Este mes la gran frikada ha sido un equipo de sonido 5.1 compuesto de altavoces vieta y amplificador/decodificador onkyo, de los que la semana que viene espero poder publicar una pequeña review.
Pero de lo que quiero hablar ahora es algo bien distinto como podéis comprobar por el título. Ayer vi en xataka móvil un video sobre el desempaquetado del HTC Touch Dual, la nueva y mejorada versión del HTC Touch, y fue entonces cuando me di cuenta del tiempo que hacía que no visitaba la página de HTC (para alivio de mi bolsillo).
Así pues, con toda la ilusión del mundo me metí en la paginita para echar un vistazo a las especificaciones de esa nueva evolución del touch, cuando me encontré en la portada con el touch cruise y me apresuré a examinarlo.
La verdad es que me ha llamado bastante la atención esta PDA. Trae un procesador Qualcomm MSM 7200 a 400Mhz y 128 MB de RAM con los que recuperaría la potencia de mi antigua HTC Himalaya (movistar TSM 500) que tan buenos ratos me hizo pasar hasta que me la robaron. El cacharro en cuestión soporta HDSPA (lo que llaman 3,5G, un protocolo montado sobre WCDMA que soporta hasta 3,6 Mb/s de velocidad de descarga), cámara de 3 mpx con auto focus, wireless 802.11b/g, bluetooth 2.0, GPS, ranura microSD para la memoria, etc… Y como no, como es modelo nuevo de la gama touch, con tecnología TouchFLO 2!!!
La tecnología TouchFLO 2 permite detalles tales como hacer zoom en las fotos, girarlas o pasar de una a otra de manera táctil, a modo de presentación. Aunque sea, como considero la esencia de la gama touch, un intento de competir con el iPhone, me parece buena idea implementar este tipo de tecnologías en entornos más abiertos al tema del software, como puede ser la plataforma WM (que por cierto, este cacharrito viene con la versión 6, como supondréis).
El diseño lo veo lo suficientemente delgado (quizá un poco largo), y tiene una pantalla de 2.8” que espero que sea suficiente para utilizarla cómodamente.
El resto de detalles son los de siempre.
Tras consultarlo conmigo mismo y hacer malabarismos con la nómina, que tengo que cobrar dentro de nada, ayer decidí que tenía que ser mía. Así pues he vendido mi qtek 9000 formato ladrillo a un colega, y esta mañana me he puesto en contacto con la gente de mundopda. Ha sido entonces cuando me he enterado que tienen una lista de espera acojonante. Según me han contado, esta mañana han recibido 100, que ya tenían vendidas, pero esta mañana han vendido más de 50 (que por supuesto tienen que llegarles antes de entregarlas). Si el año pasado HTC vendió unos 2 millones de touchs, yo creo que este año los supera con creces. Al enterarme de eso, he vuelto a hacer malabarismos, esta vez con fechas y medios de pago, y ya la tengo encargada, así que, si no ocurre ningún imprevisto, a finales de la semana que viene la tendré en mis manos. El sábado le digo adiós a la 9000.
