Blog: mac

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.

Instalando Syncthing en Mac

Hace un tiempo escribí sobre Syncthing de una manera poco halagadora a pesar de las bondades. Luego estuve usando BitTorrent Sync por 8 meses hasta que complicaron la cosa al desconectarlo de BitTorrent y ponerlo en una compañía aparte (Resilio) con mucho énfasis en vender un producto. Eso, sumado a que la plataforma era cerrada, fue suficiente para buscar una alternativa así que decidí por la conocida.

Hay que aclarar que Resilio Sync es muy bueno, fácil de usar y el escalón natural para quien quiere algo más que Dropbox, pero yo quería aún más que eso. Con una instancia de Syncthing ya corriendo en mi servidor, solo debía actualizar los paquetes allí e instalar clientes en mis otros equipos.

Dos de mis otras computadoras son Apple y la manera más sencilla de instalar Syncthing (al igual que muchos otros paquetes open source) es utilizando Homebrew. Asumiendo que Homebrew esta instalado y funcionando correctamente, solo hace falta:

  1. Actualizar los paquetes de Homebrew brew update
  2. Instalar Syncthing brew install syncthing
  3. Correr el daemon como un servicio brew services start syncthing
Read more…