Wed Mar 10 12:12:39 EST 2010

Mantén tu firma al día en todos los foros en que participas.

Como buen troll que soy me mantengo entretenido y participo en varias comunidades o foros en internet. siempre quise mantener mi firma apuntando a mi ultimo articulo publicado pero al mismo tiempo me da flojera actualizar todos esos foros cada vez que publico algo nuevo.

Ya que tengo corriendo apache en mi NSLU2 decidí crear un script que me cree un archivo .htaccess y así redirigir una petición HTTP en especifico a mi ultima publicación en mi blog. Para esto he decidido crear un sub-directorio en mi RootDirectory llamado '/latest'


El script hace un poco mas que simplemente crear el htaccess. Me permite especificar cuales VirtualHost corriendo NanoBlogger quiero usar, creando un .htaccess para cada uno de estos como se puede ver aquí:


En mi caso tengo 2 blogs que usan NanoBlogger y este script mantiene el directorio '/latest/' apuntando a la ultima publicación en cada uno (www.linuxevolution.org/latest la versión en ingles de este sitio y www.orvtech.com/latest que seria la entrada mas reciente de este blog).


Publicado por orvtech | Track Back | Comentarios | Meneame | File under: Linux, Scripts, NSLU2

Wed Mar 3 12:52:14 EST 2010

El NSLU2 como puente para tener PUSH de un servidor IRC en el iPhone.

Tengo que reconocerlo, soy adicto a la internet y mi debilidad es el IRC, anterior mente tenia en el iPhone un cliente que se llama LimeChat que funciona muy bien pero carece de alertas vía PUSH y por tanto no puedo estar conectado siempre.

El problema con PUSH es que necesita pasar por un servidor central autorizado por apple para estas alertas. Así que si uno cierra la aplicación aun queda una conexión abierta entre el servidor central y la infraestructura al que uno se esta conectando (por ejemplo una conexión del servidor de beejive a la infraestructura de gtalk para alertas de gTalk).

La solución es que uno pueda tener un servidor que se mantenga conectado al servidor de IRC y actualice ese servidor central pero entonces encontramos otro problema, apple no va a autorizar todos estos servidors personales.
El equipo de Colloquy consiguió una solución para esto, ellos permiten que su cliente para el iPhone se conecte a través de bouncers a el servidor que uno quiera y han desarrollado un plugin para ZNC (entre otros bouncers) el cual actualiza su servidor (que esta autorizado) permitiéndonos recibir alertas cuando se menciona nuestro nick, recibimos mensajes privados, etc mientras tenemos la aplicación cerrada.


Instalación y configuración del bouncer.
Busquemos si lo tenemos disponible en nuestro repositorio:
OK, podemos instalarlo, luego de instalarlo ejecutamos los siguientes comandos para configurarlo y habilitar PUSH para lo cual tendremos que descargar el plugin de colloquy.
El primer comando deberia de iniciar un dialogo que nos ayudara a crear nuestro archivo de configuracion, deberian de ver algo como esto:


Configuración del cliente en el teléfono.
Para configurar el Mobile Colloquy en nuestro iPhone solo tenemos que abrir el cliente, pinchar el botón "+" en la seccion de conexiones, y seleccionar "IRC Connection", de allí seguiremos estos pasos:



  1. En 'Address' pones el FQDN o dirección IP del servidor.

  2. Habilita "Push Notifications".

  3. Entra en "Advanced" y cambia lo necesario.

  4. Ahora agrega un "Colloquy Boucer" usando los datos del servidor bouncer que configuramos (znc) incluyendo el puerto, si en ZNC habilitaste SSL entonces habilita en el cliente también.

  5. Introduce los datos de la cuenta que creaste en ZNC, en el 'Account Name' pones tu Username y en el Password pones tu Password, no te confundas con los datos de tu nick (Nick Pass).

  6. Regresa y pincha "Connect".


Publicado por orvtech | Track Back | Comentarios | Meneame | File under: Linux, Scripts, NSLU2, iPhone, IRC

Tue Feb 23 11:18:30 EST 2010

Encontrar archivos con formato MS-DOS.

Recientemente tuve un montón de problemas con una aplicación web la cual fue modificada bajo MS Windows y tenia el formato MS-DOS. Encontré un montón de errores en los logs de cron el cual corría estos scripts de perl, para no darle largas a la historia, me toco encontrar todos estos scripts y modificarlos, como no fui yo quien subio los scripts al servidor no tenia ni idea de en que subdirectorio podían estar ni cuantos eran. Aquí esta el script que use para conseguir los archivos:


Este script generara una lista de archivos que están formateados como MS-DOS, fácilmente se podría hacer un 'for/while loop' y pasarlos por alguna aplicación como dos2unix. ('DiggThis’)


Publicado por orvtech | Track Back | Comentarios | Meneame | File under: Linux, Scripts

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.


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 | Track Back | Comentarios | Meneame | File under: 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 | Track Back | Comentarios | Meneame | File under: 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 | Track Back | Comentarios | Meneame | File under: Linux, NSLU2

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 | Track Back | Comentarios | Meneame | File under: Linux, NSLU2