Blog: linux

PyRadio: Mi radio minimalista

PyRadio es una aplicación de Python en ncurses para escuchar emisoras de radio en linea. Las carga de un listado de local de emisoras y las reproduce utilizando mplayer, vlc o mpv. Personalmente la he usado en Mac OS X 10.5-10.11, Xubuntu, Elementary OS y Arch Linux, pero debería correr bien en cualquier sistema UNIX.

PyRadio

Requisitos e instalación

La instalación es bastante sencilla, asumiendo que se tiene python 2.6+/3.2+ y python-pip instalado basta con poner en el terminal

pip install pyradio

En caso de que se den errores de permisos (Permission Denied) se puede probar con

pip install pyradio --user

Como la reproducción la hace mplayer, vlc o mpv, hace falta tener alguno de estos instalados. MPlayer es la mejor opción porque es el más ligero de todos, pero VLC también funciona perfectament. El caso de mpv es mas complejo porque requiere instalar y configurar un socket y ya eso le quita la sencillez.

En el caso de Mac OS X lo mejor es instalar Homebrew seguido de mplayer, python3 y luego pyradio

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

brew install mplayer

brew install python3

pip3 install pyradio

Configuración

No hace falta configurar nada mas, PyRadio viene con un listado de emisoras precargadas y listo para funcionar, basta con ejecutar pyradio en el terminal para que se muestre la interfaz y el listado de emisoras predefinido.

Crear un listado de emisoras personalizado es muy fácil, solo hay que escribir una lista que incluya el nombre de la emisora seguido del url del stream y guardarlo como stations.csv dentro del directorio ~/.pyradio siguiendo el ejemplo de stations.csv disponible en el GitHub del proyecto.

El listado de mis emisoras favoritas lo mantengo en http://server.litelate.com/stations.csv y lo modifico cada varias semanas para agregar nuevas emisoras que consigo. Para agregar ese listado a una nueva instalación de PyRadio basta con ejecutar los siguientes comandos en el terminal:

mkdir ~/.pyradio

curl http://server.litelate.com/stations.csv -o ~/.pyradio/stations.csv

pyradio

¿Por qué?

Porque puedo.

No mentira. El año pasado compré un PowerBook G4 1.5 12", la hermosa pero hoy obsoleta laptop que entre 2005-2006 era lo que más quería pero los $1699 que costaba la ponía más que fuera de mi alcance. En el pasado tuve ya otro PowerBook de un modelo anterior que me sirvió bastante y tenía una pantalla más grande. Fue mi computadora secundaria entre 2011 y 2013 (la principal era un MacBook) y era bastante útil para escribir, enviar correos, escuchar música, trabajar en Keynote y demás cosas de oficina que era lo que necesitaba en ese momento. Además seguía siendo un equio competente para trabajar en Photoshop, Illustrator, Final Cut y otros.

Volviendo a 2017, la experiencia de usar una "Mac vieja" ha cambiado drásticamente. Lo que funcionaba bien antes sigue funcionando bien, el problema es que las aplicaciones recientes requieren un procesador Intel y nuevas versiones de OS X. Navegar en internet es prácticamente imposible porque el internet de hoy esta infectado de Javascript, algo que consume muchísimo CPU y es ineficiente, resultando en una terrible experiencia en los equipos antiguos.

Habiendo instalado todo lo que podía instalar y usar en este PowerBook quise ir un poco más allá probando software open source, pensando un poco fuera de la caja para tratar de sacarle el mayor provecho a ese equipo. Una de mis pasiones desde que tengo internet en mi casa (Dial-Up en 1999) ha sido la radio por internet, pero eso da para otro post. El asunto es que luego de experimentar con MacPorts y Tigerbrew descargando y probando programas que usaba en Linux me conseguí con una serie de aplicaciones que utilizan ncurses, una librería de programación que da interfaces básicas para programas dentro del terminal (command line).

Al tener disponibles en Mac tantas herramientas UNIX y ports de Linux me obsesioné con poder hacer el máximo con lo mínimo. Buscar alternativas actualizadas pero minimalistas, low end, de poco consumo de recursos y optimizadas. Resulta que se pueden hacer muchísimas cosas con muy poco peor hay que cambiar la forma en la que se hacen las cosas.

Después de un tiempo frustrado por lo que no podía hacer (o no hacer tán rápido o eficientemente) comencé a ver las cosas distinto y ver al PowerBook (y a otros equipos) con otros ojos. El PowerBook resulta ser una máquina genial para trabajar libre de distracciones porque Facebook, Twitter y YouTube andan TAN MAL que simplemente es mejor no utilizarlos. Tiene un teclado maravilloso, el mejor que ha hecho Apple en mi opinión, y es buenísima para escribir, trabajo de oficina, manejar correos y hacer cosas sencillas en internet.

Y ya toda esta justificación va mas larga que el post original así que seguro la uso de base para otro post.

Syncthing como alternativa a Dropbox

Buscando una manera práctica y rápida de sincronizar archivos entre varios dispositivos conseguí Syncthing, un proyecto que ofrece hacer exactamente eso con una amplia gama de dispositivos. No solo es multiplataforma, sino que a diferencia de Dropbox, tiene ejecutables para la arquitectura ARM que en este momento es lo que me interesa. A diferencia de Dropbox, esta alternativa no depende de la nube ni de tercerizar los datos a ninguna compañía, por el contrario, la sincronización se hace exclusivamente entre los dispositivos conectados y autorizados a través de identificadores únicos.

El proyecto es Open Source y esta en GitHub para auditar o modificar si se quisiera, y es compatible con Linux, Mac, Windows y Android. La sincronización se realiza a través del Block Exchange Protocol,un protocolo creado específicamente para Syncthing pero adaptable a cualquier proyecto. La instalación en Windows y Android es sencilla (como es de esperarse), mientras que en Linux requiere el paso adicional de instalarla a través de apt-get o pacman y en Mac utilizando Homebrew.

Sincronización fácil, gratis y libre

En mi caso decidí instalar el en Linux ARM un servidor base y que el resto de los dispositivos funcionaran como clientes, por decirlo de algún modo porque en realidad todos los dispositivos terminan cooperando y sincronizándose entre si. Luego de instalar y configurar la carpeta a compartir, basta con agregar los otros dispositivos a través del Device ID propio de cada aparato corriendo Syncthing y listo, aparatos sincronizados. Read more…

Ubuntu 8.04

El problema a la hora de instalar Ubuntu era crear una particion de forma segura. Por mas herramientas que existan nunca es completamente seguro, algo podria ir mal en la MBR y traer problemas en la instalacion actual. Eso no es un problema utilizando Wubi, una aplicacion para instalar Ubuntu desde Windows. Read more…

Linux for human beings

Ayer me llego a la casa el paquete de ubuntu que habia pedido. Desde hace varios meses he querido probar Linux y estuve investigando, vi muchisimas opciones, entornos, paquetes… es una locura porque cada quien puede hacer su version propia entonces hay cientos de ellas. Las que mas me habian gustado eran Knoppix, DreamLinux y Ubuntu porque me parecieron las mas cheveres y mejor hechas. Tambien estaba SLAX y GeeXbox pero no me convencieron del todo.

Mi primera opcion igual fue ubuntu, me parece que es la mejor elaborada. El paquete demoró muchi en llegar pero me vino como dijo mi mama “directo de Francia” (ella fue quien lo recibio). Un paquetico con la version 6.06 LTS para PC x86 (disco rojo) y la misma version para para procesadores 64-bit (disco amarillo) mas los cuatro stickers de ubuntu.

Ubuntu CDs

Ayer en la noche con calma apague mi PC y reinicie booteando desde el CD-ROM. El Live-CD entro en ejecucion al momento, seleccionas la primera opcion que dice Start y solo esperas. Carga relativamente rapido, mas si tomas en cuenta que el sistema esta corriendo SIN INSTALARSE, directamente al RAM. Me sorprendi cuando vi el escritorio todo funcionaba perfectamente. Trae Firefox, Gain, Open Office. Los colores se ven perfectos (asi que reconocio el video), cargo los drivers de sonido, hasta escuche radio por internet con uno de los reproductores trae integrado, RECONOCIO EL INTERNET! Al rato conecte mi camara Kodak y pude ver las fotos y oir la musica de mi iPod mini. Incluso detectó el telefono Genius que uso para las llamadas en Skype. Ahora estoy considerando instalarlo en paralelo a WinXP, de verdad que va super ligero y trae muchos programas ya precargados.