November 2009 Archivos

Your Ad Here

Mon Nov 30 16:57:10 EST 2009

El NSLU2 como un puente de last.fm a twitter.

Este script nació de la necesidad (ocio?) de actualizar mi estado en twitter con la canción que estaba escuchando en mi iPhone. El detalle esta en que solo actualizara mi perfil si la canción esta marcada como 'loved' en last.fm también detecta que día de la semana es y evalúa si es necesario agregar el hash tag #mm.

twitter_passwd="your_twitter_password_here"'
URL="http://twitter.com/statuses/update.xml"'
tags="#lastfm"'
lastfm_api="<your_api_from_lastfm_here>"'
lastfm_user="<your_lastfm_user_here>"'
bit_ly_user="<your_bit.ly_user_here>"'
bit_ly_apikey="<your_bit.ly_api_key_here>"'
'
fmtwitted=`cat /tmp/lastfm2twitter.tmp | \'
sed -e 's/status=Just played: //g' -e 's/#.*//g' | \'
grep '[a-z]'|sed -e 's/\ //g' -e 's/\-/./g'`'
'
fmcurrent=`curl -s "http://ws.audioscrobbler.com/2.0/?method=user.getrecenttracks&limit=1&user=$lastfm_user&api_key=$lastfm_api" | \'
grep -E '<name>|</name>|<artist\ |</artist>' |\'
head -n2| sed -e 's/<[^>]*>//g' | tr '\n' '.' |\'
sed -e 's/\ //g' -e 's/.$//g'`'
'
'
lastfm_song_url=`curl -s "http://ws.audioscrobbler.com/2.0/?method=user.getrecenttracks&limit=1&user=$lastfm_user&api_key=$lastfm_api" |\'
grep -E '<url>|</url>' | sed -e 's/<[^>]*>//g' |\'
head -n1| tr '\n' '.' | sed -e 's/\ //g' -e 's/.$//g'`'
bit_ly_url=`curl -s "http://api.bit.ly/shorten?version=2.0.1&longUrl=$lastfm_song_url&login=$bit_ly_user&apiKey=$bit_ly_apikey" | \'
grep shortUrl | sed -e 's/\"/\ /g' | awk '{print $3}'`'
'
today_mm=`date +%A`'
if [[ $today_mm == "Monday"  ]] '
  then tags="$tags #mm"'
fi'
'
'
if grep $fmcurrent /tmp/lastfm_loved.tmp  > /dev/null'
  then if [[ "$fmtwitted" == "$fmcurrent" ]]'
      then exit 0'
        else curl -s "http://ws.audioscrobbler.com/2.0/?method=user.getrecenttracks&limit=1&user=$lastfm_user&api_key=$lastfm_api" | \'
	grep -E '<name>|</name>|<artist\ |</artist>' |\'
	head -n2| sed -e 's/<[^>]*>//g' | tr '\n' '-' | \'
	sed -e 's/^[ \t]*//' -e 's/-/\ -\ /g' -e 's/- $//g' -e 's/\ $//g' |\'
	awk '{print "status=Just played: "$0}' > /tmp/lastfm2twitter.tmp'
	lastfm2twitter=`cat /tmp/lastfm2twitter.tmp; '
	echo $bit_ly_url '
	echo $tags | tr '\n' ' '`'
	echo $lastfm2twitter > /tmp/lastfm2twitter.tmp'
	curl -s -u $twitter_user:$twitter_passwd -d @/tmp/lastfm2twitter.tmp $URL > /dev/null'
	  fi'
	  else exit 0'
fi'

Como se pueden dar cuenta estoy usando bit.ly para acortar las URLs de last.fm para lo cual tendrán que obtener una API Key. Aun tengo que optimizar el script guardando las peticiones de curl en un archivo y formar algo así como un cache o base de datos local de last.fm a bit.ly.

El script detecta si el mensaje sobrepasa el limite de 140 caracteres permitido por twitter y acorta el mensaje antes de enviarlo.


Publicado por orvtech | Hipervínculo permanente | Etiquetado como: Linux, Scripts, NSLU2, Twitter, last_fm, IRC

Tue Nov 3 11:37:17 EST 2009

Script para monitorear recursos del sistema en el NSLU2

Este script muestra la utilización de recursos en el NSLU2 siempre y cuando este corriendo algún firmware de la comunidad (basado en Linux claro). La salida del script produce código HTML simple. Esta hecho en BASH y algo de JavaScript para poder mostrar la información. Esto seria el producto del script:


Código fuente de resources.sh:

Luego puedes redirigir la salida de el script a un archivo en tu RootDirectory. En mi caso estoy usando /resources.js y lo ejecuto cada 5 minutos usando un cronjob.


Código fuente de resources.js:

Luego uso el siguiente código para mostrar la información:


Publicado por orvtech | Hipervínculo permanente | Etiquetado como: Linux, Scripts, NSLU2, IRC

Sun Nov 1 20:08:45 EST 2009

Ya casi estamos listos

Ya casi han pasado dos años desde el ultima actualización del website, actualmente hemos migrado de un sitio basado en HTML estático sin manejador de contenido el cual tenia que ser editado usando vim a NanoBlogger adaptando el template que teníamos antes. Actualmente tenemos algunos detalles y problemitas que necesitan ser solucionados como mantener el mismo CSS entre el contenido viejo y el contenido nuevo hasta que este sea completamente migrado.

He estado trabajando en un plug-in que use picasa para publicar las fotos de las galerías. lo liberare tan pronto sea puesto a prueba. La habilidad de tener contenido en múltiples idiomas es algo que siempre he querido pero actualmente se hace sumamente difícil y he optado por tener dos dominios con sitios web completamente independientes.

En unas dos semanas ya debería de tener internet en casa y no necesitare de usar 'wifi prestada' de mis vecinos, para entonces ya debería de estar trabajando en el stage3 de gentoo de la ultima versión liberada para el NSLU2.


Publicado por orvtech | Hipervínculo permanente | Etiquetado como: Linux, NSLU2, NanoBlogger

Sun Nov 1 13:16:16 EST 2009

Linux en el NSLU2

El NSLU2 (conocido como "slug") se vende como un dispositivo NAS (Network Attached Storage) pero en realidad es mucho mas útil que un simple NAS. Es un sistema embedido completo y barato con su firmware basada en Linux. Lo mejor de todo es que su fabricante (Linksys) usa el kernel de linux y ha liberado su código lo que trajo como consecuencia el nacimiento de proyectos llevados por la comunidad como Unslung y OpenSlug.

Publicado por orvtech | Hipervínculo permanente | Etiquetado como: Linux, NSLU2
Your Ad Here