lun feb 8 10:02:59 CET 2010

GTD

Aunque ya he hablado antes de la gestión de las cosas por hacer, desde que me hice con una n810, el proceso ha variado un tanto.

La idea principal es mantener una lista de tareas tanto en casa (con un portátil con ubuntu o alguna de sus variantes, ahora mismo crunchbang) como en la tableta.

Para ello, lo más inmediato era usar gpe-todo, ya que hay soporte GTK y Maemo.

gpe-todo guarda la lista de tareas en un fichero $HOME/.gpe/todo, que no es más que una base de datos sqlite 2.0. Y para sincronizar entre portátil y tableta, un clásico de toda la vida: unison.

Lo ideal sería poder lanzar la sincronización cada vez que la tableta conectara con mi red interna, pero udev en maemo tiene sus caprichos, y a pesar de la ayuda de los gurus de e.c.o.l.i, me he tenido que conformar con hacerlo a mano.

Hasta aquí todo correcto, pero a mi me picaba el hecho de no tener un recordatorio casi constante de lo que tengo pendiente. Y como no sé si existe alguna solución más sencilla, lo que se me ocurrió fue tirar de python y apache.

Casi todas mis tareas en el portátil giran alrededor del navegador, por lo que tener un recordatorio en el mismo parece ser lo más razonable. Cada vez que arranque el navegador, o cree una pestaña nueva, me aparecerá una página en la que se vea la lista de cosas pendientes, sencillo de configurar tanto en firefox como en chrome.

Buscando un poco en google, y haciendo unas cuantas pruebas con el idle de python, he conseguido extraer la lista de tareas del fichero $HOME/.gpe/todo, y con cuatro líneas más, crear un script que correrá como cgi en el apache:

Para que el lector se haga una idea, un pantallazo de mi escritorio.

Y sí, es cierto, este artículo lo tenía guardado desde hace un par de semanas, antes de que me sentara encima de la n810 y me regalaran el ipod touch. Ahora mismo estoy mirando opciones como google tasks o RTM.


Posted by foobar | Permanent Link

vie feb 5 16:11:20 CET 2010

ipod touch

Que debo ser un buen marido, porque mi mujer me ha regalado un ipod touch en sustitución de la n810 que pasó a mejor vida hace no mucho (consejo para futuras generaciones, no guardeis móviles, pdas y demás dispositivos más o menos delicados en el bolsillo de atrás del pantalón. Y si lo haceis, no os senteis).

En cuanto al bichillo, muy chulo, muy sencillo de usar, y muchas aplicaciones en la tienda Apple. Supongo que acabaré "jailbrokeándolo", pero de momento voy a ver hasta dónde llego con software gratis (que no libre, ojo, San Kanterobi nos proteja).


Posted by foobar | Permanent Link

mié feb 3 18:53:48 CET 2010

Nexus One, python, BS. Otra más

¿Y por qué limitarse a ser el primero en saberlo?

import sys
import urllib2
from BeautifulSoup import BeautifulSoup
import twitter

page = urllib2.urlopen("http://www.google.com/phone/")
soup = BeautifulSoup(page)

try:
no_nexus = soup.find(attrs={"class" : "callout-box"}).contents
except:
api = twitter.Api(username="yo_en_twitter", password="pass_de_twitter")
api.PostUpdate("Ya está disponible el Nexus One en aquí")

Sé el primero en contárselo a los demás.


Posted by foobar | Permanent Link

mar feb 2 17:02:34 CET 2010

Nexus One, Python, BS

Los que tengan la desgracia de compartir pais con el que esto suscribe sabrán que la página de google sobre el Nexus One nos obsequia con un "Sorry, the Nexus One phone is not available in your country."

Lo que me hace pensar que el día que por fin esté disponible, esa frase desaparecerá. Y eso me lleva a BeautifulSoup y a tres o cuatro líneas que harán que me entere rápidamente cuando esto ocurra:

import urllib2
from BeautifulSoup import BeautifulSoup
page = urllib2.urlopen("http://www.google.com/phone/")
soup = BeautifulSoup(page)
try:
no_nexus = soup.find(attrs={"class" : "callout-box"}).contents
except:
print "¡¡¡Ya está disponible!!!"

Con un par de pinceladas más, y un juicioso uso del cron, voy a ser el primero conocer el notición.


Posted by foobar | Permanent Link

lun feb 1 16:05:46 CET 2010

sshfs

Me deja un compañero del trabajo Band of Brothers.

En casa descubro que el a) el reproductor de DVD por fin se ha rendido a tanto Pocoyo, b) el lector de DVD de mi portátil ha decidido dejar de funcionar, y c) NFS es una mierda y no consigo exportar el lector de DVD del servidor.

Soluciones que se me ocurren: camelarme a uno de mis hijos y que me dejen sus portátiles (juas, un domingo, por la tarde, papá, ¿estás tonto?), o buscar alternativas a NFS en google. Y resulta que hay una maravilla llamada sshfs.

sshfs foobar@servidor.en.mi.red:/media/cdrom0 tmp/mnt/

Y a disfrutar de la serie.

Aunque antes voy a jugar un pquito con iptables y un par de IP's de esos enanos desagradecidos...


Posted by foobar | Permanent Link

dom ene 17 18:18:06 CET 2010

Probando nanoblogger con una plantilla

La idea es ver si esto funciona con un .txt

Y sí, la imagen no tiene nada que ver con el asunto, pero lo bueno de tener un blog en el que el lector no puede opinar es eso. Que pongo lo que me sale de los huevos.


Posted by foobar | Permanent Link

sáb ene 9 19:41:51 CET 2010

Tucan y BeautifulSoup

Supongo que todos conoceis sitios como RapidShare o Megaupload, y el procedimiento estándar para descargarte un fichero: captcha, enlace a la cuenta gratuita, espera de unos segundos, o minutos, y por fin el enlace deseado.

El problema viene cuando el fichero en cuestión está partido en una docena de trozos. Ninguno de esos sitios va a permitirte que, por tu cara bonita, hagas varias conexiones simultáneas. Y te obsequiará con tiempos de espera cada vez más largos en cada descarga.

Para esas situaciones he descubierto tucan, un gestor de descargas lbre, de código abierto, escrito en python y ampliable mediate plugins.

Básicamente, abres tucan, copias y pegas las direcciones de los ficheros a bajar, y te olvidas, tucan se encarga de ir conectando y bajando los ficheros.

El problema es que cuando son más de dos enlaces, a mí, personalmente, me parece un coñazo tener que colocar el cursor en el enlace, botón derecho, copia dirección, alt-tab, pegar, enter, alt-tab, repetir.

¿Y que hace un BOFH ?

Efectivamente, usa python. Y en este caso, BeautifulSoup.

Digamos que nos interesa la serie anime Helsing, y hemos encontrado una página en la que están los enlaces a todos los episodios en megaupload.

Descargamos la página con urllib2

page = urllib2.urlopen("http://www.mcanime.net/descarga_directa/anime/detalle/dd_hellsing_espanol_castellano_1313_mas_ova27s/596")

Creamos una lista de tags que apunten a megaupload

linkToSite = SoupStrainer('a', href=re.compile("megaupload.com/")
getTags = [tag for tag in BeautifulSoup(page, parseOnlyThese=linkToSite)]

Y finalmente, extraemos los enlaces

for link in getTags:
     print link.get('href')

Y ahora sí, copiamos el chorro de enlaces a tucan, que el se los irá bajando tranquilamente.

Esas 6 líneas de código, un poco más elaboradas en feedabird.py y el código en colorines (gracias a vim) aquí

Actualización

Resulta que sitios como taringa!, que suelen ser muy buena fuente de enlaces utilizan javascript, sobre todo para la publicidad, que a BS se le atraganta, por lo que hay que hacer una fea ñapa.

page = urllib2.urlopen(options.url).read()
page = re.sub('


Posted by foobar | Permanent Link

vie ene 1 22:51:57 CET 2010

Empezando el 2010

1 de enero, hoy no trabajo, y tengo unos minutos para pensar que quiero hacer este año.

Huir despendolado no es una opción, así que no me van a quedar más narices que enfrentarme a mis miedos y carencias.

Aprender de una vez a programar en python. Pero aprender de verdad, no sólo conseguir que el script funcione, sino que pueda publicar el código sin usar vergonzantes seudónimos.

Meterle mano a bola8, que esta primavera quiero llevarme a kania a un par de concentras, y así presumir de churri y de hierro.

Decidir si realmente quiero tener cuenta en facebook, myspace, tuenti, spotify, y demás sitios que las modas y la tontería del momento me han ido tentando. ¡Si hasta he picado con el google wave!

Actualizar el blog. En serio. Todas las semanas... Bueno, cada quince días.

Y tatuarme. Por supuesto.


Posted by foobar | Permanent Link

dom dic 13 17:40:34 CET 2009

¿Pero esto todavía está aquí?

Estaba arreglando un par de cosillas en el servidor, cuando me he encontrado con un misterioso directorio blog/ en $HOME...

Posted by foobar | Permanent Link

mar nov 6 21:15:30 CET 2007

Queridos Reyes Magos

Queridos Reyes Magos. Este año me he portado bien. Bueno, no. Bah, que demonios. Esta es la lista de cosas que quiero que me traigais. Total, al final siempre me traeis lo que os sale de los huevos...

Cualquiera de estas motos
Un driver para mi tarjeta Ati, que me permita tener Compiz en el portátil.
Una prueba palpable de que Dios existe. Si no existe, una kirin estaría bien.
Una Nec900c
Un encendedor usb. Sí, lo sé. Fumar mata. Y vivir. Nos ha jodido mayo con las flores. Un productor para mi guión. Un corto acojonante en el que se mezcla Pulp Fiction y la PSP. No doy más detalles porque no los tengo.

Eso es todo. Ah, bueno, sí. La paz en el mundo y todas esas mierdas. Pero lo dicho. Al final traeis lo que os sale de los huevos.


Posted by foobar | Permanent Link