joe di castrohttp://joedicastro.com2012-06-21T22:50:00+02:00Productividad & Linux: Turses2012-06-21T22:50:00+02:00joe di castrohttp://joedicastro.com/productividad-linux-turses.html<p>Que medio mundo parece estar conectado a <a href="http://twitter.com">Twitter</a> no es
ninguna novedad. Y que si sigues a un buen número de personas, el intentar estar
al tanto de todo lo que ocurre es una temeridad, tampoco debería sorprender a
nadie. De hecho, dado su éxito y el enorme flujo de información que circula por
él, se han desarrollado cientos de herramientas para gestionarlo.</p>
<p>Desde que cree mi cuenta en twitter, he probado unas cuantas, unas veinte (y
solo en Linux, en el resto uso la web). La primera, y la elección más obvia ya
que por aquel entonces usaba Ubuntu, fue <strong>Gwibber</strong> . Luego cansado de sus
muchos problemas, probé un sinnúmero de aplicaciones, solo merece la pena
reseñar una: <a href="http://hotot.org/">Hotot</a>. Es la mejor aplicación gráfica para twitter en Linux
que conozco.</p>
<p>Pero guiado por el mismo objetivo de <a href="http://joedicastro.com/tag/productividad.html">mejorar la productividad</a> en mis
herramientas habituales de trabajo, me lancé a la búsqueda de un cliente de
twitter que encajara en la misma filosofía. No hay muchas alternativas, la
mayoría, hay que reconocerlo, son demasiado "crudas" incluso para mí, que soy un
amante de la consola. Pero entonces dí con una pequeña joya, <a href="http://tyrs.nicosphere.net/">Tyrs</a>,
desarrollada por <a href="https://github.com/Nic0">Nicolas Paris</a>. Era una herramienta sencilla, pero que
cumplía muy bien con todo lo que buscaba de ella. Pero un buen día, Nicolas, en
su afán por mejorarla, empezó a reescribir la herramienta empleando una nueva
librería para gestionar el interfaz. Las primeras versiones tenían varios fallos
y Nicolas pronto se vio desbordado por una tarea que no le apetecía continuar y
a la que no podía dedicar más tiempo. Y <a href="http://www.nicosphere.net/small-projects-life-depends-on-his-owner/">decidió abandonar el proyecto</a>,
con la esperanza de que alguien se atreviera a retomarlo. Cuando leí la entrada
de su blog no perdí la esperanza del todo, al fin y al cabo, estaba desarrollado
en Python, un lenguaje con el que me desenvuelvo. Mientras esperaba que hacer,
seguí usando la última versión estable a diario. Pero entonces, apareció el
milagro, <strong>Turses</strong></p>
<h2 id="turses">Turses</h2>
<p><a href="https://github.com/alejandrogomez/">Alejandro Gómez</a>, un usuario de <strong>Tyrs</strong> <a href="http://dialelo.com/Python/turses/2012/03/02/turses-un-cliente-de-twitter-con-interfaz-ncurses.html">se lanzó</a> a crear su
propia aplicación basándose en él. Y no solo garantizaba la continuidad del buen
trabajo empezado por Nicolas, si no que llegaba lleno de ideas frescas y muchas
ganas de hacerlo bien. El propio Nicolas <a href="http://www.nicosphere.net/turses-a-fork-from-tyrs-ncurses-twitter-client/">le felicitó</a> por el trabajo
y la iniciativa. A día de hoy, el proyecto se sigue desarrollando, y aunque aún
tiene algunas metas marcadas por delante, la aplicación es perfectamente usable
en el día a día, de hecho es mi cliente habitual.</p>
<p>Como ya se habrá podido deducir, <a href="https://github.com/alejandrogomez/Turses">Turses</a> es un cliente de twitter para la
consola con interfaz <a href="https://es.wikipedia.org/wiki/Ncurses">ncurses</a>. Está desarrollado en Python y emplea la
librería <a href="http://excess.org/urwid/">Urwid</a> para crear la interfaz en curses. Lo mejor de esta
aplicación es que emplea atajos de teclado inspirados en <strong>Vim</strong> y es
totalmente controlable desde el teclado. Esto unido a que emplea una interfaz
basada en texto, la convierten en la aplicación más ágil de todas las que haya
probado. <strong>Hotot</strong> también tiene algunas combinaciones de teclas muy útiles,
pero ni se acercan a lo que <strong>Turses</strong> te permite.</p>
<p>Aquí se puede ver el aspecto por defecto de Turses</p>
<p style="text-align:center;"><img src="pictures/turses.png" width="700"
height="290" alt="Turses" /></p>
<p>Pero no se acaban ahí las bondades de Turses, tiene algunas características
geniales como la gestión dinámica de bufferes (líneas temporales) y de columnas.
Demos un repaso a lo que nos permite la aplicación:</p>
<ul>
<li><strong>Múltiples líneas temporales</strong> (<em>bufferes</em>). Es decir, nos permite consultar
los tweets de la gente a la que seguimos, los nuestros, menciones, etc. Es
decir, los bufferes habituales, incluidos conversaciones, búsquedas y
hashtags. Y podemos tenerlas simultáneamente abiertas y navegar entre ellas
muy fácilmente.</li>
<li><strong>Múltiples columnas</strong>. En cada columna se sitúa un buffer, y podemos añadir
o quitar columnas a voluntad de forma muy sencilla. Es decir, que podemos
visualizar un solo buffer de forma predefinida, o podemos ver varios a la vez
distribuidos en múltiples columnas.</li>
<li><strong>Tweet, Reply, Retweet, Borrar</strong>. Vamos, que permite las operaciones
habituales con los tweets. Además se puede hacer un Retweet editando el texto,
algo que parece obvio, pero que en algunas aplicaciones no es tan sencillo.</li>
<li><strong>Seguir/dejar de seguir</strong> a un usuario. Podemos hacerlo bien a través de un
tweet o bien introduciendo el nombre del usuario.</li>
<li><strong>Des/Marcar como favorito</strong>.</li>
<li><strong>Enviar mensajes directos</strong>.</li>
<li><strong>Abrir URLs en un navegador</strong>. Nos permite abrir las direcciones que aparecen
en un tweet, así como abrir el propio tweet.</li>
<li><strong>Visualizar conversaciones</strong>. Podemos abrir un nuevo buffer con la
conversación relacionada con un tweet.</li>
<li><strong>Contador de los no leídos</strong> funciona para todos los bufferes y nos permite
ponerlo a cero manualmente cuando queremos ignorar algunos no leídos.</li>
<li><strong>Búsqueda</strong>. Se puede buscar tanto por usuario como por termino.</li>
<li><strong>Ver los tweets de cualquier usuario </strong>.</li>
<li><strong>Visualizar el perfil de un usuario</strong>.</li>
<li><strong>Totalmente personalizable</strong> y la configuración se guarda en un fichero de
texto plano.</li>
<li><strong>Múltiples cuentas</strong>, eso sí, una por ejecución.</li>
<li><strong>Ayuda en línea</strong> con todas las combinaciones de teclas posibles. Accesible a
través de la tecla <strong><code>?</code></strong></li>
</ul>
<p>Interfaz de Turses mostrando múltiples columnas</p>
<p style="text-align:center;"><img src="pictures/turses_2cols.png" width="700"
height="285" alt="Turses con multiples columnas" /></p>
<p>Y entre las metas que tiene marcadas su autor, nos encontramos con el soporte
para listas, streaming, notificaciones emergentes y múltiples sesiones. Estoy
seguro de que las acabará incorporando, le sobra capacidad. Aunque he de reseñar
que actualmente he contribuido con una porción de código minúscula al proyecto y
que tengo la intención de seguir colaborando en todo lo que pueda. Si eres
programador Python y te apetece echar una mano, <a href="https://github.com/alejandrogomez/Turses">anímate</a>, Alejandro es muy
receptivo y un tío muy majo que estará encantado con toda la ayuda que le
podamos dar.</p>
<h2 id="mi_configuraci+n">Mi configuración</h2>
<p>Si a alguien le puede servir como inspiración mi configuración, esta disponible
en <a href="http://github.com/joedicastro/dotfiles">GitHub</a></p>
<p>Turses mostrando la información del perfil del autor de un tweet</p>
<p style="text-align:center;"><img src="pictures/turses_uinfo.png" width="700"
height="429" alt="Turses mostrando la información de un usuario" /></p>
<h2 id="alternativas">Alternativas</h2>
<p>Solo conozco dos alternativas en la misma línea que merezca la pena reseñar, las
demás que he probado no estaban a la altura:</p>
<ul>
<li>
<p><a href="http://www.vim.org/scripts/script.php?script_id=2204">TwitVim</a>, es un plugin para Vim. Funciona fantásticamente bien, eso sí,
solo apropiado para usuarios de Vim. La probé un tiempo y me gusto, pero
personalmente no me gusta emplear Vim para esta tarea y Turses es bastante más
manejable.</p>
</li>
<li>
<p><a href="http://www.floodgap.com/software/ttytter/">TTYtter</a>, está escrito en Perl y no tiene interfaz. Trabaja en la línea
de comandos a modo de interprete. Funciona muy bien y también lo usé un
tiempo, pero su propio funcionamiento le reste eficiencia comparado con
Turses.</p>
</li>
</ul>