Archive for junio 2011

Problemas con prefetch y en el rendimiento de Linux

Error, procesador demasiado inteligente. Con este simpático título, Diego Calleja se hace eco de una nota publicada en LWN acerca de unas pruebas realizadas por Andi Kleen e Igno Molnar, dos reconocidos hackers del kernel donde dejan bastante claro que las técnicas de prefetch utilizadas no solo no mejoran el rendimiento de Linux si no que en algunos casos incluso lo empeoran.

Las instrucciones de prefetch son herramientas que permiten a los programadores (y compiladores) optimizar el tiempo de acceso a memoria. Por ejemplo, cuando se accede a un elemento en memoria de una lista, también se busca el siguiente elemento por que es muy probable que se se vaya a utilizar muy pronto. Esto se hace haciendo un prefetch del siguiente elemento explícitamente. Resulta que los procesadores modernos cuentan con complejísimos sistemas que hacen análisis heurísticos del código y automáticamente hacen los prefetchs  más eficazmente que cualquier programador o compilador y estas optimizaciones manuales influyen negativamente en esos sistemas.

Con motivo de esto, en la versión 3.0 del kernel se están eliminando estas instrucciones en algunos lugares donde se demostró que eran contraproducentes. En muchos lugares todavía son necesarias y probablemente lo sigan siendo por mucho tiempo.

Entrevista a Linus Torvalds en Página 12

El lunes pasado, el diario Página 12 en su edición digital publicó una entrevista al creador del corazón del sistema operativo que muchos de nosotros usamos todos los días.  Linux, que está próximo a cumplir 20 años, a madurado y demostrado su flexibilidad innumerables veces a tal punto que hoy en día es capas de hacer funcionar tanto teléfonos celulares como super computadoras con literalmente, miles de procesadores sin muchos cambios.

En la entrevista se tratan temas de lo más diversos. Se habla de lo que representa el movimiento «Open Source» para el proyecto, de cuáles son los principales desafíos, de qué representan las «ideologías», entre otras cosas menos relevantes. Si bien la traducción deja mucho que desear (por ejemplo, léase «tenemos más de 60 archivos de sistemas diferentes» como «tenemos más de 60 sistemas de archivos diferentes»), la entrevista está interesante y deja entrever parte de la personalidad de alguien que ha empezado algo grande desde cero y ha sabido manejar y seguir el paso de un proyecto que no ha parado de crecer.

Festival Software Libre

El sábado 4 de Junio, en la Facultad de Informática de la Universidad Nacional de La Plata se llevó a cabo el «Primer Festival de Software Libre”, con motivo del 12vo. aniversario de dicha Facultad.

El evento comenzó con “El iglú de Lihuen. Un repaso por el proyecto”, donde se mostraron las distintas herramientas de Software libre que se utilizan día a día para desarrollar el proyecto. Estuvo a cargo de los responsables del grupo Lihuen GNU/Linux.

Luego el Lic. Christian Rodríguez expuso sobre la integración del centro multimedia Mythtv con la Televisión Digital Argentina (TDA).

Más tarde Sebastián Suarez Corez y Leandro Echeverria presentaron el proyecto “La Plata libre”, cuya idea central es realizar una red digital comunitaria en la ciudad de La Plata en forma paralela a la gran red de redes, algo similar a lo que se desarrolló en Buenos Aires libre.

Luego del almuerzo, Patricio Lorente presentó el libro del proyecto“Argentina Copyleft . La crisis del modelo de derecho de autor y las prácticas para democratizar la cultura”.

La última charla fue expuesta por representantes del CEFI, quienes brindaron una charla introductoria sobre cómo hacer juegos en Python.

El evento finalizó con un recital de la banda platense Nervioso Visitante.

Muchas gracias a todos por su participación.

 

 

 

La FSF (Free Software Foundation) anuncia un conjunto de criterios para la aprobación de hardware.

Utilizar software libre da cierta tranquilidad, tranquilidad que uno no se da cuenta que tiene hasta que por esas cosas de la vida hay que usar algún software privativo.

Al enfrentarme (luego de usar software libre por un tiempo) a una aplicación de software privativo me surgen las siguientes preguntas:
– ¿Y si tiene un virus?
– ¿Y si la aplicación le manda mis datos al desarrollador sin que yo sepa?
– ¿Porqué me pregunta 1700 veces por pavadas?
– ¿Porqué no me pregunta cuando tiene que hacer alguna tarea de mantenimiento importante?
– ¿Porqué no me deja ver este DVD que compre en USA?
– ¿Porqué no puedo copiar y pegar texto de este PDF si con un visor de PDF libre podía?
– ¿Porqué el programa me deja hacer A para siempre, pero B sólo por 3 meses? ¿acaso las líneas de código caducan? ¿se echan a perder como las verduras?.

Dado que el código fuente es secreto algunas de esas preguntas no tienen respuestas y el resto tiene como respuesta «para vender». Por todo esto siempre vuelvo a la paz de utilizar software libre donde todas estas preguntas no tienen sentido o bien tienen respuesta y solución.

Pero y ¿el hardware?, ¿acaso no hay dispositivos que no permiten el uso de sistemas operativos libres en ellos?, o bien dificultan de forma deliberada el cambio de su sistema operativo por defecto. Estos dispositivos al forzar el uso de un sistema operativo privativo o una aplicación propietaria específica traen la misma incertidumbre que les conté más arriba, con la dificultad adicional de hacer muy difícil o imposible reemplazar el software por otro que no tenga esas limitaciones.

Ejemplos sobre el control sobre los usuarios que esto último proporciona a los fabricantes pueden ser:
– Las restricciones por zona en cualquier reproductor de DVD de marca.
– El hecho de que Kindle (el lector de libros de Amazon) le permita a Amazon borrar libros (que uno compró a la misma Amazon) de forma remota.
La dificultad para instalar sistemas operativos libres en la consola XBOX (dificultad puesta ahí de forma deliberada).

A fin de evitar todas esas restricciones sin sentido, la FSF (Free Software Foundation) publicó una lista de criterios de aprobación de hardware, a continuación una traducción adaptada y resumida de parte de la lista:
– Todo el software necesario para que el usuario pueda usar al 100% y administrar el producto debe ser libre.
– El vendedor debe proveer al usuario el código fuente del software del dispositivo.
– El software del producto debe poder compilarse utilizando software libre, en sistemas operativos 100% libres.
– El vendedor debe garantizar la capacidad de instalar software de reemplazo para el software libre del dispositivo.
– No espiar al usuario (no debe transmitir o poner a disposición de otros los datos personales del usuario sin su consentimiento, excepto cuando lo requiera alguna ley, en ese caso el dispositivo deberá traer una advertencia visible).
– Si el dispositivo soporta formatos cuya implementación es impedida por patentes u otras restricciones (por ejemplo mp3), entonces también debe soportar formatos libres que sirvan para el mismo propósito (por ejemplo ogg).

Fuentes:
https://www.fsf.org/news/endorsement-criteria
https://libreplanet.org/wiki/Hardware/Endorsement_criteria

Shotwell, un organizador de fotos

Shotwell es una aplicación orientada para su uso en el escritorio Gnome permitiendo la organización de

nuestras fotos. En una herramienta simple que provee la capacidad de importar fotos de nuestra cámara y realizar cambios básicos sobre las imágenes. Para una mejor organización permite agregarles etiquetas con fecha, nombre del evento relacionado con las fotos, o referencias. Se puede iniciar una presentación para mostrar nuestras fotos facilitando la visualización.

Otra de las funcionalidades prácticas que propone es la exportación de fotos seleccionadas en sitios de publicación de imágenes como ser: facebook, picasa, flickr. Nos permite registrarnos en los sitios mencionados y subirlas a algún álbum ya creado o nos permite crear uno nuevo. Es una herramienta sencilla, y práctica para el manejo de nuestras imágenes y la posibilidad de subirlas en forma fácil a nuestras cuentas web.