miércoles, 29 de diciembre de 2010

Choqok, el cliente KDE4 para Twitter dejó de funcionar (como casi todos los clientes para Twitter) tras la actualización que hizo Twitter hace unos meses de sus sistema de autentificación (OAuth). Para suplir la ausencia me hice un sencillo script en python para postear mensajes que me resultaba increiblemente cómodo: un diálogo con un simple textinputbox que tras comprobar que la longitud del texto ocupaba menos de 140 caracteres lo publicaba tanto en Facebook como en Twitter.

Ahora que he encontrado que en los repositorios vuelven a estar una versión funcional de Choqok he aplicado un par de cambios para imitar la funcionalidades que tenía con mi python.

Enlazar Twitter y Facebook

Dando por hecho que tienes ambas cuentas creadas, para que en Facebook aparezca publicado lo que envies a Twitter basta con activar la aplicación Twitter y concederle permisos para publicar en tu perfil. En adelante cualquier mensaje publicado en Twitter (que no sea un Reply o empieze por @) será publicado en Facebook de inmediato.

Método abreviado para publicar via Choqok

Una vez instalada la última versión 0.9.9 ( aka 1.0 beta 3) de Choqok en los repositorios y estando este ejecutandose en la barra de tareas puedes abrir un cuadro de diálogo escribiendo:
qdbus org.kde.choqok / postText «»
(donde las comillas («») contienen el texto con el que se inicie el cuadro de dialogo).

A continuación puedes asignar una tecla ó combinación de teclas una acción que abra este menú, para ello abre el dialogo de acciones de KDE4 (kcmshell4 khotkeys) y crea un
Nuevo > Acceso rápido global > Llamada a D-Bus

Asigna una tecla o combinación de teclas a la nueva acción y rellena los campos según la orden anterior (segunda imagen)

Listo. Como Choqok dispone de acortamiento de url según una extensa lista de servicios web cuando escribas o peges una url se acorta de forma automática

jueves, 16 de diciembre de 2010

Una de las chorradillas que trae KDE4 frente a KDE3 y que me está encantando es la posibilidad de mandar un mail a alguien rápidamente con solo escribir su nombre.

Es decir, haces la pulsación ALT+F2 como para ejecutar una aplicación y escribes «Juanito».

Nota: Si, efectivamente después de despotricar de KDE4 estoy dandole una nueva oportunida frente a KDE3. Si es que en el fondo soy muy bueno… eso sí, KDE3 sigue ahí, for if the flies.

lunes, 29 de noviembre de 2010

Si como yo es usted de naturaleza analfabestia es probable que quiera tener un diccionario a mano. Aquí una manera rápida, cómoda y eficaz.

Más rápido que abrir programa alguno (el tiempo de respuesta está por debajo de 1 segundo). Tán cómodo como hacer ALT+F2 (menú ejecutar de KDE) y escribir «RAE» seguido del término que desea buscar en el diccionario.
#!/bin/sh
if [ -z $1 ];then exit 1; fi
url="http://buscon.rae.es/draeI/SrvltGUIBusUsual?origen=RAE&LEMA="
user_agent="Mozilla/5.0 (X11; U; Linux i586; es-ES; rv:1.9.2.3pre) Firefox/3.0.1"
curl --silent --user-agent "$user_agent" "$url$1" | sed 's/<img[^>]*>//gi' | /opt/kde3/bin/kdialog --textbox /dev/stdin 400 300 --title "RAE: $1"

Copia esas lineas en un archivo llamado RAE (en minúsculas mejor) y guardalo en tu ~/bin y hazlo ejecutable chmod +x ~/bin/rae.
Ahora para hacer una consulta al diccionario en cualquier momento pulsa ALT+F2 (menú Ejecutar de KDE) y escribes «rae diccionario» para buscar la definición de diccionario en el idem de la Real Academia de la lengua.

Nota: Necesitaras personalizar la ruta de /opt/kde3/bin/kdialog si usas Gnome o estás en otra distribución que no sea Opensuse+KDE3 o directamente eliminar todo lo que viene después de » //gi’ «

martes, 19 de octubre de 2010

No sé que es lo que han cambiado en el formulario de Facebook, lo he estado mirando y juraría que el formulario es idéntico, pero el caso es que la semana pasada dejó de funcionar, así es que rehice el script de nuevo, lo he dejado algo más clarito y vuelve a estar funcional.
#!/bin/bash
#cambia esto
email="tu_email_de_usuario_en_facebook"
pass="tu_contraseña_en_facebook"
#a partir de aquí no es necesario cambiar nada más
texto=$1
if [ -z "$texto" ]; then echo -e "Uso:\n$0 \"texto a publicar\"\n\n"; exit 1 ;fi
texto=${texto:0:140}
cokkies="~/.cookies.txt"
user_agent="Mozilla/5.0 (Windows; U; MSIE 7.0; Windows NT 6.0; es-ES)"
#nos logeamos y cogemos la url de la página redirigida
pagina=`curl -L --silent --keepalive-time 5 --user-agent "${user_agent}" --cookie "${cokkies}" --cookie-jar "${cokkies}" -d "email=$email" -d "pass=$pass" -d "login=Entrar" https://m.facebook.com/login.php`
pagina_redirige=`echo $pagina | sed -r 's/.*href="(http:.*;manual_redirect=1)".*/\1/g'`
#conectamos con la nueva página y leemos los datos que contiene su formulario para postear a facebook
pagina_con_formulario=`curl -L --silent --user-agent "${user_agent}" --cookie "${cokkies}" --cookie-jar "${cokkies}" "$pagina_redirige"`
url_action=`echo $pagina_con_formulario | sed -r 's/.*fbb=(.*&.*refid=.?)".*/\1/'`
post_form_id=`echo -n $pagina_con_formulario | sed -r 's/.*name="post_form_id" value="([^"]*)".*/\1/g'`
fb_dtsg=`echo -n $pagina_con_formulario | sed -r 's/.*name="fb_dtsg" value="([^"]*)".*/\1/g'`
url_action_completo="http://m.facebook.com/a/home.php?fbb=$direccionForm"
#ya tenemos los datos con los que componer el query final a Facebook, enviamos el mensaje
curl -X POST --user-agent "$user_agent" --cookie "$cokkies" --cookie-jar "$cokkies" --data-urlencode "status='$texto'" -d "update=Compartir" -d "post_form_id=$post_form_id" -d "fb_dtsg=$fb_dtsg" "$url_action_completo"
exit

Para evitar errores con el código he puesto el script en un archivo TXT que podeis descargar aquí.

Simplemente copiad el contenido en un archivo ~/bin/mensaje2facebook.sh, editadlo y poned vuestro email y contraseña, hacedlo ejecutable (chmod +x ~/bin/mensaje2facebook.sh) y para escribir en Facebook haceis mensaje2facebook.sh «hola mundo»

domingo, 3 de octubre de 2010

Bajo la misma filosofía de apoyo al software libre y sus herramientas con que se estrenó en su momento Elephant Dreams ó (la mucho más floja) Big Buck Bunny, llega ahora Sintel (el cortometraje, no confundir con el caso, que ya pasó a DVD).

El guión y la historia ha mejorado notablemente (especialmente comparandola con la de Big Bunny) y la calidad de render/imagen/postproducción es (sigue siendo) excelente.
Sigo echando en falta ese «toque» personal e identificativo que corone de forma definitiva una producción tan particular como estas, pero bueno, demosle tiempo al tiempo.

jueves, 23 de septiembre de 2010

Un tremendamente simple script para publicar en Facebook mensajes rápidos. En realidad el script estaba y está pensado para recibir mensajes desde otras aplicaciones y enviarlos a Facebook, pero vamos sirve para lo mismo que para lo que está desarrollada esta página https://m.facebook.com/ que es la que usa para postear.

Quizás hayais visto/probado algún script similar que corren por internet. Es increible pero el 99% no funcionan y muy probablemente no lo han hecho nunca por un motivo muy sencillo: el bloger que lo ha difundido se ha limitado a hacer copy+paste de algo que leyó, por supuesto sin probar nada ni más interés que repetir como un loro lo que encuentra por la web (algo tristemente habitual).

¿Y porque fallan generalmente estos script? pues en los 3 o 4 que he podido probar el motivo es bien tonto: porque inicialmente se hicieron por un ingles, para su página en facebook en ingles. Cuando tu te logeas en facebook, el sitio detecta tus opciones de idioma y sirve formularios EXCLUSIVOS para usuarios de Español (es decir, el textarea ya no se llama «message» sino «mensaje«, y el botón que hay que pulsar no es «Share» sino «Compartir»), … a partir de ahí, cualquier script inglés simplemente no servirá de nada.

Basicamente el siguiente script lo que hace es: – Simulando ser un navegador, logearse en la página de Facebook con tu email/password y navegar por un par de páginas hasta obtener un número secreto que tenemos que enviar conjuntamente con el mensaje de texto. Una vez obtenido este número rellena el formulario casi como lo haríamos a mano:
#!/bin/bash
texto=$1
if [ -z "$texto" ]; then echo "Falta el texto que quieres escribir"; exit 1; fi
texto=${texto:0:140}
email="tu-email-en-facebook@server.com"
pass="12345678"
cokkies="~/.cookies.txt"
user_agent="Mozilla/5.0 (Windows; U; MSIE 7.0; Windows NT 6.0; es-ES)"
pagina=`curl -L --silent --keepalive-time 5 --user-agent "${user_agent}" --cookie "${cokkies}" --cookie-jar "${cokkies}" -d "email=$email" -d "pass=$pass" -d "login=Entrar" https://m.facebook.com/login.php`
redireccion=`echo $pagina | sed -r 's/.*href="(http:.*;manual_redirect=1)".*/\1/g'`
pagina2=`curl -L --silent --user-agent "${user_agent}" --cookie "${cokkies}" --cookie-jar "${cokkies}" "$redireccion"`
formId=`echo -n $pagina2 | sed -r 's/.*name="post_form_id" value="([^"]*)".*/\1/g'`
dtsg=`echo -n $pagina2 | sed -r 's/.*name="fb_dtsg" value="([^"]*)".*/\1/g'`
redireccion2=`echo $redireccion | sed -r 's/.*\/home.php\?(.*)&refid=(.*)&.*/http:\/\/m.facebook.com\/a\/home.php?\1\&refid=\2/g'`
respuesta=`curl -X POST -L --silent --user-agent "${user_agent}" --cookie "${cokkies}" --cookie-jar "${cokkies}" --data-urlencode "status=$texto" -d "update=Compartir" -d "post_form_id=$formId" -d "fb_dtsg=$dtsg" "$redireccion2"`
exit
Copia el código anterior en un script llamado (p.ejem) ~/bin/mensaje2facebook e introduce tu password y email en el contenido.
Convierte en ejecutable el script (chmod +x ~/bin/mensaje2facebook)
Para escribir en facebook simplemente abre una consola y escribes
mensaje2facebook "hola gente"
Nota I: Facebook tiene unos límites bastante severos en cuanto la publicación via scripts y demás. Es muy facil alcanzar el limite de mensajes por hora (que no recuerdo ahora cual es)
Nota II: El script recorta la longitud del mensaje a 140 caracteres… sin avisar ni más protocolo. Simplemente envía los 140 primeros.

Cuaderno de campo es un blog desarrollado y mantenido por Trebol-a y en el que escriben Trebol-a, Miguel, Merche y Mónica
Si quieres saber algo más sobre los autores acude a la página acerca-de, si quieres contactar con alguno de nosotros hazlo a través de contactar ó de Google+

Creative Commons: Todo el contenido de la web (imágenes, textos, vídeos, a excepción de aquellas obras de otros autores enlazados por Cuaderno de Campo) se acoge a los términos expresados en la licencia Creative Commons