Proyectos de fin de semana – Notificador de temperatura y “Control remoto” web
Publicado el 9 de marzo de 2014A veces programar cosas, por muy simples e inútiles que sean, resulta tan catártico como entretenido, y una buena forma de invertir el tiempo en un fin de semana. Este fin de semana armé dos proyectos bastante simples que surgieron a partir de una idea y la pregunta de “¿Se podrá hacer esto?”. Supongo que no son demasiado útiles pero funcionan en las condiciones en que los necesitaba. Igual siempre se les puede agregar cosas y mejorarlos.
Notificador de temperatura
Proyecto 100% Ruby que usa las bibliotecas libnotify y whenever así como Rake para notificarte cuando la temperatura de tu computadora está muy alta. Tengo la idea en la cabeza desde que volví a trabajar con Java + máquinas virtuales, lo que hace que mi pobre laptop entre en calor muy frecuentemente. Finalmente me decidí a ver qué había para hacerlo con Ruby, y encontré las herramientas correctas.
La gema ‘whenever’ permite crear cronjobs desde Ruby y con una sintaxis muy práctica. Al ejecutarla en este proyecto, se crea un cron que revisa cada 10 minutos la temperatura del sistema, y en caso de estar alta, se manda un mensaje a libnotify para mostrar la notificación de sistema. Lo probé con Debian Jesse y GNOME 3, así como Ubuntu 13.04 con Cinnamon y Unity.
Todo feedback es bienvenido:
https://github.com/picandocodigo/temperature_notifier
Control remoto web para volúmen
Una “API web” para controlar el volúmen de la computadora. Mirando una película (Godzilla vs. Mothra) se me ocurrió “¿No estaría bueno subir y bajar el volúmen desde mi teléfono?”.
Siguiendo la idea de “La web es la plataforma” de Mozilla, implementé una página web que -ejecutada en la computadora cuyo volumen queremos gestionar- nos permite hacerlo desde cualquier dispositivo conectado a la misma red y con un navegador web.
Tiene una interfaz con HTML + CSS + JavaScript para usar desde una pantalla. Pero las rutas de la aplicación pueden ser ejecutadas desde cualquier cosa que haga un request GET. Por ejemplo podemos subir/bajar el volumen desde otro dispositivo con:
curl [ip-local]:9393/voldown {"number":"97","state":"on"} |
Y así con “volup”, “voldown”, “mute” y “vol”. Terminado el proyecto seguí disfrutando de Godzilla vs Mothra. Todo feedback es bienvenido:
https://github.com/picandocodigo/web_volume
Super Time Tracker
¿Se acuerdan de Super Simple Time Tracker? Este fin de semana no trabajé en él, pero desde que lo publiqué por primera vez tuvo un cambio de diseño y ya está disponible en el Firefox Marketplace 🙂
5 comentarios en este post
Feed de comentarios-
Proyecto de fin de semana: Gibil | Picando Código |
17 marzo. 2014 - 11:00
[…] fin de semana pasado había creado un proyecto simple para un notificador de temperatura. Este fin de semana me tomé un tiempito para convertirlo en gema y ponerle un nombre: […]
-
Volumerb – Ajusta el volúmen de tu sistema desde Ruby | Picando Código |
1 julio. 2014 - 14:00
[…] marzo programé un “control remoto web” para el volumen del sistema como parte de unos proyectos de fin de semana. No sé si podría contar dónde, pero la aplicación se estaba usando como parte de otra […]
despino 9 marzo. 2014 - 21:03
Me encantaron los dos proyectos!
Me dejaste pensando con el segundo si, para el manejo local del volumen, no se podrá usar directamente la Web API de Firefox. Con eso te evitás levantar un proceso y usás exclusivamente HTML+JS. Claro, quedás atado a usarlo con FF, pero no me parece un problema. 😛
Fernando 10 marzo. 2014 - 00:34
Lo pensé de usar la API de Firefox, pero no creo que en el desktop la API tenga permiso de acceder al volumen del sistema. No lo probé, pero me suena que capaz que no, por más que en el teléfono sí. Igual probablemente en algun momento lo pruebe. Mi idea es revisar qué sistema estoy usando y hacerlo compatible con algún otro sistema. Veremos cómo evoluciona… 😀
despino 10 marzo. 2014 - 11:24
Sugería eso porque justo en algunas pruebas pude comprobar como, al menos, lograba consultar la batería de la laptop sin problemas. No sé si, como vos decís, además de consultar, le permitirá modificar valores del sistema.