No hace demasiado tiempo descubrí ionice, un comando que actualmente se ha vuelto imprescindible para mi día a día porque consigo tener un sistema más ligero.

ionice nos permite controlar con que prioridad tienen acceso los recursos de entrada y salida y el uso que le doy es poder poner en un segundo plano transferencias largas de disco a disco. Si ojeamos la página man del comando podremos ver su sencillo funcionamiento, ya que sólo hay que especificarle un tipo de prioridad al proceso. No voy a entrar en detalle del funcionamiento, ya que es muy sencillo, y me limitaré a poner un ejemplo de uso.


$ cp -fr /media/dvd/* . &
$ sudo ionice -c 3 -p $!

Con estas 2 líneas inicio el proceso de copia del contenido del DVD y después uso ionice para especificar que el proceso especificado en $! (bash lo expande al último comando ejecutado) pase a tener prioridad 3, que es IDLE, de forma que sólo se procesará la entrada y salida cuando el sistema esté libre y no tendremos ninguna penalización en el resto del funcionamiento del sistema. El proceso de copia si llevará más tiempo pero en los casos en los que ese tiempo no nos afecte merece la pena por la suavidad con la que queda el sistema.


$ sudo ionice -c 3 cp -fr /media/dvd/* .

El anterior ejemplo es prácticamente lo mismo sólo que mostrando como se ejecuta un comando directamente en vez de aplicar el cambio de prioridad a un proceso ya corriendo.

Creo que todos deberíamos tener este nice de entrada y salida en nuestro arsenal para el día a día del trabajo con los sistemas Linux ya que, sobre todo en los sistemas de escritorio, puede ayudarnos a hacer mucho más agradable el trabajo mientras estamos moviendo grandes cantidades de datos.

Iba a hablar sobre el artículo “Task management usign vim” sobre gestión de tareas con VIM pero me he dado cuenta de que en la portada de programming.reddit.com hay varios artículos sobre vim además del mencionado anterior, como por ejemplo uno sobre usar VIM como IDE para Python y una pregunta sobre porqué usar VIM: Can someone explain the advantages of emacs/vim/nano over more GUI-intenvie editors like GEdit/Notepad++/Programmer’s Notepad?.

Debo confesar que a pesar de los años en los que llevo utilizando VIM no me considero un usuario experto, a pesar de que lo tengo configurado, hice algún script y procuro sacarle el máximo provecho. ¿Con qué tipo de editor soléis trabajar? ¿por alguna razón en particular?

En Creating constraints el autor nos cuenta su experiencia con el proceso que lleva para realizar el trabajo. De los 5 días laborables el autor dedica 2 a trabajos “interrumptivos”: contacto con clientes, pequeñas tareas, reuniones y demás trabajos, mientras que los otros 3 días los dedica a realizar aquellos trabajos que requieren de más atención. No explica qué hace para llevar el control de qué hacer o cómo priorizar, pero la idea subyacente es aislar las interrupciones del trabajo intensivo, evitando así que nos coma el día a día. Evidentemente no en todos los trabajos hacer algo así es posible, pero debo admitir que me ha parecido interesante.

Tarde o temprano nos encontramos con problemas de organización del tiempo, lo que nos dificultan ser productivos y conseguir aprovechar el tiempo. Por ello han surgido numerosas formas de organizar las tareas y el tiempo que sugieren métodos de trabajo o de vida personal, posiblemente la que más ‘buzz’ tenga sea GTD (“Tener las cosas hechas”) que cuenta con varias implementaciones, además de que podemos ver la enorme cantidad de listas TODO, calendarios y gestores de tareas que han ido apareciendo.

Realmente la gestión del tiempo propio es tarea difícil, en muchos casos la realidad puede inmiscuirse en lo que tengamos planeado y por ello necesitaremos algún proceso flexible y que se pueda ajustar a la vida real, no sólo que quede bien sobre el papel. Personalmente utilizo una aproximación a GTD pero alguna vez he llegado a probar algo parecido a lo que se cuenta en el artículo (con las limitaciones impuestas por el día a día del trabajo), y creo que podría ser una forma muy hábil de trabajar en los casos en los que pueda ser así.

Cada cierto tiempo me gusta mencionar algunas extensiones que hacen mejor mi experiencia de navegador y esta vez le toca a una que acabo de instalar estos días: Taboo.

Se trata de una especie de gestor de marcadores pero que muestra unas pequeñas capturas y permite navegar por las fechas. La diferencia con los marcadores es que está pensado para usar y tirar, ya que agregar un enlace es cuestión de hacer click en el icono adecuado y el borrado está a un click también Ya ha empezado a utilizarlo para guardar enlaces para leer en el futuro.

Así es Taboo

Personalmente incluiría a Taboo en la misma categoría que Scrapbook, un gestor ‘offline’ de favoritos que permite capturar, editar y ordenar páginas y sitios web.

Desde hace algunas semanas estoy utilizando Prism, uno de los proyectos de Mozilla con el objetivo de trabajar de una forma distinta con las aplicaciones web. Se trata de una sencilla aplicación que ejecuta un navegador empotrado, con las características de que se trata de una versión muy reducida ya que no tiene los controles habituales (ni barra de dirección, ni botón atrás/alante).

Prism intenta satisfacer a todas aquellas personas que utilizan aplicaciones web con frecuencia y permite integrarlas de forma que parezcan una aplicación web. En un futuro quizás ofrezcan más funcionalidades como archivo de datos local, posibilidades de trabajo sin conexión o uso de componentes de escritorio, pero por ahora es una aplicación bastante sencilla.

El uso que le doy principalmente es separar alguna aplicación web del resto de la navegación y trabajo que pueda hacer en el navegador. De esta forma consigo que en caso de malfuncionamiento del navegador (nada excepcional hoy en día) puedo reiniciar o colgar el navegador con la tranquilidad de seguir teniendo la aplicación web corriendo en otro sitio.

Además ahora es más fácil instalarlo ya que en la reciente Ubuntu 8.04 está el paquete Prism (e incluye otros como Google Analytics, Twitter y más).

En Slashdot publican un artículo titulado “Do the Blind Deserve More Effort on the Web?” en el que se plantean los problemas que tienen las personas con problemas de visión para usar la web. Desgraciadamente parece ser que la Web 2.0 no le da importancia a la accesibilidad, una gran mayoría de sitios se usa AJAX sin ofrecer una alternativa y Flash sigue teniendo gran terreno (sobre todo en el vídeo, sin ofrecer subtítulos ni transcripciones).

No voy a pretender dar lecciones de nada a nadie, ya que a pesar de mi interés por la accesibilidad todavía no he conseguido que la accesibilidad forme parte de mi proceso de trabajo cuando lo hago en la web, y realmente es complicado, pero quizás es bueno preguntarse ¿estamos haciendo lo suficiente?.

En Reddit se preguntan sobre libros de estructuras de datos y algoritmos y en las respuestas podemos encontrar varios enlaces a muchas obras, algunas más conocidas otras menos pero desde luego es algo interesante. Por supuesto mencionan The Art of computer programming de Knuth y enlazan a una serie de libros muy interesantes: Data Structures and Algorithms with Object-Oriented Design Patterns in Python, que además tiene versiones para C++, Java, C#, Ruby, Lua, Perl, PHP.

Arturo Pérez-Reverte es un autor que me encanta, realmente me gusta leerlo y como con todos mis autores fetiches a veces me descubro pensando “¡¿pero qué coño está haciendo ahora?!”, forma parte de la relación amor con esos autores que nos enganchan. Y eso mismo me ha pasado leyendo su última novela “Un día de cólera”.

Portada del libro “Un día de cólera”

La historia describe los personajes que Pérez Reverte nos ha mostrado una y otra vez, personajes que no tienen más que su honor, antihéroes a los que las circunstancias les obligan a comportarse como lo que son, sin otra alternativa que no traicione su forma de ser. Personas que llegado el caso morirán enfrentandose a un fracaso seguro, pero morirán harán matando.

Esta novela me ha recordado bastante a otra anterior que también conmemoró un hecho histórico en la historia de España, “Cabo de Trafalgar”, aunque en esta última novela publicada la historia avanza de otra forma, ya que la acción se difumina en las innumerables escaramuzas que poblaron Madrid el 2 de Mayo de 1808, con un final trágico que todos conocemos. Un resumen sería que es un libro para aquellos que hayan disfrutado de otros títulos de nuestro best-seller particular, entre los que me encuentro. Eso sí, si debo elegir entre “Cabo de Trafalgar” o “Un día de cólera” me quedo con el primero.

A través de WebAppers he descubierto Piwik, un sistema de estadísticas de visitas. Está escrito en PHP (necesita PHP 5.1) y tiene una licencia GPL, y entre sus funcionalidades hay una API y la posibilidad de desarrollar plugins para él. Todavía está en un estado temprano de desarrollo, pero como puede verse en la demo resulta bastante prometedor.

Todavía tengo que mirarlo en detenimiento, aún no he echado ni un primer vistazo, pero parece tener un funcionamiento similar al de Google Analyticis y utilizar un código Javascript remoto en vez de analizar los logs como otras herramientas. Por cierto, hace no mucho hablé en Barrapunto sobre el tema de las herramientas para estadísticas de visita y me ha parecido curioso descubrir ahora aplicación que parece ajustarse tanto a lo que preguntaba.