martes, 9 de noviembre de 2010

Un pequeño ajuste en el título de los apuntes en Cuaderno de campo que facilite la lectura de la fecha. Porque no sé ustedes, pero yo cada vez que leo un apunte, ya sea en mi blog o en otro, y veo la fecha: 8 de Dicie…, ¿y hoy a que estamos?…ntonces esto es de ayer.
Asi he añadido a la cabecera de los apuntes un paréntesis que remarque los apuntes de los tres últimos dias con un «Hoy«, «Ayer» y «Antes de ayer«, creo que incluso sabiendo la fecha en la que vives facilita la lectura. Además en caso de tratarse de una apunte de «Hoy» se indica la hora de publicación.

Si quieres incluir esto en tu theme para WordPress puedes hacer algo como:<?php
$ayer = mktime(0, 0, 0, date("m"), date("d")-1, date("Y") );
$anteayer = mktime(0, 0, 0, date("m"), date("d")-2, date("Y") );
$fechaPublicacion=get_the_time('l, j \d\e F \d\e Y');
if( date("ymd", $anteayer) == get_the_time("ymd") ) $fechaPublicacion=get_the_time('l, j \d\e F \d\e Y (\A\n\t\e\s \d\e \a\y\e\r)');
if( date("ymd", $ayer) == get_the_time("ymd") )$fechaPublicacion=get_the_time('l, j \d\e F \d\e Y (\A\y\e\r)');
if( date("ymd") == get_the_time("ymd") ) $fechaPublicacion=get_the_time('l, j \d\e F \d\e Y (\H\o\y, \a \l\a\s H:i)');
?>
<small id="publicacion_<?php the_id(); ?>" class="postFecha"><?php echo $fechaPublicacion ?> <!-- by <?php the_author() ?> --></small>

Este código le he insertado en los archivos de index.php y single.php de mi theme. La última linea tendrás que adaptarla a tu propio theme.

miércoles, 27 de octubre de 2010

Mañana a estas horas nos estaremos metiendo entre pecho y espalda más de 900 kmts que separan nuestra casa de la mansión que nos dejan en Torazo (Asturias), junto al Parque Natural de Redes, el rio Inferno, la lluvia, la ranas, los charcos, la humedad… y otros inventos del demonio.
Han dado lluvia para el sábado. A ver en que queda.

Flickr Map

Estoy recopilando puntos de interés en el GPS. Desde que se ha popularizado la utilización de GPS y la etiquetación geográfica de las fotografia una herramienta que uso a menudo antes de hacer un viaje es GoogleEarth con la capa de Panoramio activa y el mapamundi de Flickr.

Aunque no conviene tomarse al pié de la letra las coordenadas geográficas de una fotografía (algunos cabrones des-geolocalizan algunas fotos de forma voluntaria) si que sirven para hacer una pre-aproximación bastante fiable a la zona, descubrir puntos de interes, vistas espectaculares, hitos del terreno, etc…

En GoogleEarth voy recopilando puntos de interes en forma de Waypoints, posición y orientación de las laderas que me ayuden a predecir la mejor hora (fotográficamente hablando) para pasar por la zona, puntos de agua, refugios, etc… Cuando has terminado, guardas la correspondiente carpeta con el contenido de interés como,p. ejm: Asturias.kml, en el escritorio, enchufas el GPS (en mi caso es un Garmin eTrex Vista) al puerto USB y en una consola haces:gpsbabel -i kml -f Desktop/Asturias.kml -o garmin -F /dev/ttyUSB0
Listo. Gpsbabel convierte y transfiere via USB a tu GPS tanto los Waypoints como las rutas creadas en GoogleEarth.

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»

viernes, 1 de octubre de 2010

Al incluir el sol (u otra fuente de luz pontente) dentro de una fotografia es casi innevitable que aparezcan flares, destellos, velos y demás aberraciones/artefactos que restan nitidez y contraste a la imagen e incluso, en casos extremos, pueden llegan a tapar la cara de una persona e innutilizar la imagen.
En algunos situaciones estas imperfeciones son tolerables ó innevitables. En otras puede que incluso tengan su punto artístico y colaboren con el fotografo y en otro buen puñado de ocasiones deseariamos hacerlas desaparecer.
Si este es el caso, apunta un sencillo truco que requiere de muy poco trabajo de postproducción en casa para eliminar casi el 100% de estos destellos y mejorar notablemente el contraste de esas imágenes tomadas contra el sol.

Los destellos y la pérdida de contraste que provoca la posición de una fuente de luz tan potente (sol) en la imagen. Ahora manten aqui el ratón un instante sobre esta frase para ver como eliminarlos. Observa como desaparecen los destellos y aumenta el contraste de alrededor. Sigue leyendo…

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.

miércoles, 22 de septiembre de 2010

Llevaba bastante tiempo sin abrir Google Earth, casi tanto como sin usar el GPS (que es al fin y cabo para lo que lo quiero). Ayer al ir a importar la ruta desde el GPS como hacía habitualmente GoogleEarth se negaba en importar bien el KML producido por gpsbabel y me representaba una línea recta en medio del mediterraneo.
Pruebas:

  • importar ruta desde la web de GoogleMaps. Resultado: correcto.
  • crear una ruta en GoogleEarth (GE), guardarla a archivo, abrir archivo en GE. Resultado erroneo.

Problemas:

  • GE no lee sus propios archivos.
  • GE se hace la picha un lio con la codificación de caracteres y usa como separador decimal una coma (,) en lugar del punto (.) con resultados caóticos

Actualicé a la última versión 5.2, pero el problema se mantiene. Tras dar un par de vueltas dí con la solucion en los foros de GoogleEarth.

Perfil del recorrido, en la nueva versión 5.2Perfil del recorrido, en la nueva versión 5.2

La solución es sencilla. Basta con editar el script de inicio de GoogleEarth (en OpenSuse vi /opt/google-earth/googleearth) y añadir la tercera de estas líneas para forzar al programa a usar puntuación inglesa:
LD_LIBRARY_PATH=.:${GOOGLEEARTH_DATA_PATH}:${LD_LIBRARY_PATH}
export LD_LIBRARY_PATH
export LC_NUMERIC=en_US.UTF-8

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