viernes, 25 de enero de 2013

4 formas de escuchar música a través de internet

Si nos gusta la música probablemente tendremos una colección amplia de canciones de diferentes artistas y géneros, sin embargo, por muy amplia que sea tal vez en algún momento nos apetezca escuchar algo diferente a la música que tenemos o nos apetezca escuchar la música del momento a través de alguna radio que emita por internet via streaming.

Muchas radios ya emiten a través de internet y por tanto las podemos escuchar desde el ordenador siempre y cuando tengamos una conexión a internet. Si no queremos usar el applet flash que normalmente proporciona cada radio en su propia página web podemos usar VLC, Banshee o incluso desde la terminal o consola. Para esto último ello basta con que tengamos instalado el programa mpg123 y conozcamos la URL en la que emite la radio lo cual a veces no es sencillo ni viendo el código fuente de la página del reproductor del applet flash pero escuchar música o radios por internet disponemos de varias opciones más, estas son algunas de ellas:

VLC

El reproductor multimedia VLC además de reproducir vídeos, música en prácticamente todo formato conocido de medio puede reproducir música por internet de forma bastante sencilla para el usuario. Solo hay que ir a la opción Ver > Lista de reproducción en la opción Internet de la lista de reproducción disponemos de varias opciones en cuanto a música y radios:

  • Free Music Charts: aunque parece que esta opción ha dejado de actualizarse desde hace bastante tiempo.
  • Icecast Radio Directory: esta es una lista de radios que emiten por internet, hay un montón de radios que podemos escuchar solo deberemos encontrar una que nos guste. Algunas de las radios emiten la música que está pegando fuerte en el momento.
  • Jamendo Selections: Jamendo es una colección de música en la que la mayor parte de la misma esta con licencia creative-commons que nos permite además de escucharla también con el propio reproductor de Jamendo en su propia página web poder descarganos las canciones a nuestro ordenador en formato mp3. Con VLC podemos escuchar la música emitida en las radios de Jamendo, hay radios para varios estilos de música: Rock, Pop, Jazz, Dance, Hiphop+Rap, World+Reggae, Lounge+Ambient. También tenemos una lista de las 100 pistas más populares, además de cada estilo junto con las 100 y 20 pistas más populares de la semana.

Con VLC también podemos Escuchar radios a través de internet como la Radio Nacional de España.


Linea de comandos con mpg123

El programa mpg123 nos permite escuchar música desde la linea de comandos con un consumo ridículo de recursos y sin necesidad de un programa con una interfaz gráfica, lo que nos puede ser útil para la Raspberry Pi. Tan sólo deberemos conocer la URL en la que emite la radio. La mayoría de las radios del Icecast Radio Directory proporcionan un enlace M3U con la dirección de la radio y algunas radios de cada país como el caso de la radio nacional de España (RNE):


RNE 1
Radio Clásica
Radio 3
Radio 4
Radio 5 Todo Noticias
Radio Exterior
Lista de radios nacionales

Teniendo la dirección URL de la radio la reproducimos con:




cmus

cmus es un reproductor de música basado en la consola que además de permitirnos escuchar nuestra música local nos permite también escuchar las radios que emitan via streaming. Al igual que con mpg123 solo necesitaremos la URL en la que emite la radio. Una vez que tenemos la URL y cmus iniciado deberemos teclear lo siguiente para añadir la radio a nuestra colección de música en cmus:


La ventaja de cmus sobre mpg123 es que no hará falta que recordemos o obtengamos la URL cada vez que queremos reproducir una emisora ya que con los comandos anteriores, dentro de cmus quedarán añadidos a nuestra librería en el artista «Stream». En el siguiente enlace puedes encontrar un pequeño manual del uso básico de cmus.


Jamendo

Jamendo es una colección de música realizada por artistas no tan comerciales como la que solemos escuchar normalmente en las radios y que muchos artistas publican sus creaciones con una licencia creative-commons que nos permite incluso descargarla para un uso privado por lo que si estamos cansados de escuchar siempre lo mismo puede ser un viento de aire fresco para nuestros oídos además de poder descubrir nuevos grupos. La música la podemos escuchar desde la propia página de Jamendo con el reproductor integrado en su web con el navegador. Podemos escuchar cualquiera de las radios con diferentes estilos de música o utilizar el buscador para seleccionar algún estilo de música más específico.

Si quieres escuchar las radios de Jamendo desde la terminal o desde la Raspberry Pi puedes hacerlo utilizando este reproductor programado en Python.



En definitiva 4 formas diferentes de poder variar lo que solemos escuchar.

Referencia:
Escuchar radios a través de internet con VLC

viernes, 11 de enero de 2013

Autenticación SSH con clave privada y pública

OpenSSH
Siguiendo el artículo de la semana pasada sobre como hacer que los programas no se terminasen al finalizar o perderse la conexión SSH en esta entrada explicaré como conectarnos a un una máquina de forma remota mediante SSH con una clave pública y privada en vez de con la contraseña del usuario.

Normalmente mediante contraseña nos conectamos a la máquina remota mediante el siguiente comando:

Esto nos pedirá la contraseña del usuario con el que trabajaremos en la máquina remota, en este caso la contraseña del usuario raspberrypi, y la deberemos introducir cada vez que realicemos la conexión. Si nos conectamos varias veces, realizamos conexiones a diferentes máquinas o nos conectamos con diferentes usuarios más pronto que tarde nos cansaremos de introducir la contraseña constantemente además de tener que estar recordando cada una de ellas si trabajamos con diferentes usuarios y asignamos a cada uno de ellos una diferente.

Todo esto se puede solucionar usando una clave privada y otra pública SSH con las que no necesitaremos proporcionar ninguna contraseña ya que será la clave privada la que nos autenticará. No necesitaremos proporcionar ninguna contraseña siempre y cuando no protejamos la clave privada mendiante una contraseña para poder usarla.

El par de claves SSH se generan con, se pueden utilizar otros algoritmos como RSA y DSA aunque ECDSA es el recomendado por OpenSSH por ofrecer la misma seguridad con un menor tamaño en bits para las claves. Sin embargo, en el ejemplo usaré RSA por el siguiente bug de GNOME:



Al final del proceso veremos la huella digital de la clave, si en algún otro momento deseasemos ver la huella alfanumérica o visual podríamos hacerlo con:


Una vez que disponemos del par de claves deberemos subir la clave pública a la máquina que posteriormente nos conectaremos identificandonos con la clave privada. Lo hacemos con:


Esta clave pública quedará como autorizada para la máquina y usuario indicados y será añadida al archivo ~/.ssh/authorized_keys en la máquina destino. Si posteriormente quisieramos desautorizar alguna clave solo deberemos borrar la linea de la clave de ese archivo. Posteriormente deberemos indicar en la máquina origen las identidades que queremos que proporcione el comando SSH cuando nos conectemos a alguna máquina con:


Si no hemos protegido la clave privada con ninguna clave la identidad quedará añadida con el comando SSH posterior, si hemos protegido la clave privada deberemos introducir la contraseña para poder añadir la identidad.

Finalmente, nos conectaremos a la máquina con el comando SSH y accederemos a la máquina destino sin tener que proporcionar ninguna clave:


Referencia:
https://wiki.archlinux.org/index.php/Secure_Shell#Client
https://wiki.archlinux.org/index.php/SSH_Keys
Guía instalación Raspberry Pi con Arch Linux ARM (Parte I, instalación base)
Guía instalación Raspberry Pi con Arch Linux ARM (Parte II, programas)

viernes, 4 de enero de 2013

Dejar procesos vivos de conexión SSH con screen

OpenSSH
GNU/Linux
El software libre y Linux es sorprendente, a veces nos surge una necesidad que no sabemos como resolver pero en el mundo del software es muy probable que el mismo problema se lo haya encontrado otra persona antes así que lo primero es buscar en internet, foros y ver cuales son las respuestas que obtiene esa persona que pregunta con el mismo o un problema parecido al nuestro para ver si alguien ha dado con la solución. Dependiendo del problema quizá descubramos un programa específico para resolver el problema.

Este es el caso que me ha surgido recientemente con la Raspberry Pi. Lo explico, a la RPi me conecto por SSH y dado que si se cierra esa conexión SSH se terminan todos los procesos lanzados en esa conexión SSH tengo que tener encendido el ordenador y la conexión SSH abierta hasta que termine de hacer lo que estaba haciendo. En la mayoría de los casos esto no es un problema pero para dejar la RPi reproduciendo música con cmus sí lo es ya que si se cierra la conexión SSH se termina el reproductor y se deja de escuchar la música, con lo que no puedo apagar el ordenador y dejar únicamente la RPi encendida que para reproducir música es mucho mejor que un ordenador porque no hay ruido de ventiladores y discos girando y la música se escucha más limpia sin ruidos adicionales por muy bajos que sean.

Screen, es una herramienta que nos resolverá ese problema además de proporcionarnos alguna funcionalidad adicional interesante. Con esta herramienta podemos dejar una terminal viva y sus procesos ejecutándose aunque se cierre la conexión SSH. Su uso es conectarnos mediante SSH de forma normal, ejecutar:

...que lanzará una segunda terminal en la sesión SSH y cuando queramos dejar la terminal de screen viva ejecutar CTRL+A y a continuación CTRL+D y ya podremos cerrar la terminal SSH original con exit, la terminal de screen y los procesos se seguirán ejecutando. Otra característica de screen es que podemos reconectarnos más tarde a la terminal de screen que dajamos viva, para ello nos volvemos a conectar mediante SSH y ejecutamos:

por si este fuera poco el volvernos a reconectar a la terminal de screen más tarde lo podemos hacer desde cualquier ordenador, no tiene por que ser el mismo ordenador desde el que iniciamos la terminal de screen, con lo que podemos iniciar los procesos en un ordenador, desplazarnos de sitio y continuar en otro. Lo que en algunos otros casos puede ser muy útil.

El paquete para instalarlo en Arch Linux es screen y lo hacemos con:

Referencia:
http://raspi.tv/tag/how-to-detach-a-process-on-ssh-without-killing-it
https://wiki.archlinux.org/index.php/GNU_Screen
Autenticación SSH con clave privada y pública
Guía instalación Raspberry Pi con Arch Linux ARM (Parte I, instalación base)
Guía instalación Raspberry Pi con Arch Linux ARM (Parte II, programas)

martes, 1 de enero de 2013

Calendario Arch Linux 2013

Arch Linux
El año pasado realice el calendario tematizado de Arch Linux y este en un poco de tiempo lo he modificado y adaptado al año 2013. Se trata de un modelo que después de varias dobleces y partes que hay que pegar se convierte en un dodecaedro que podemos tener encima de la mesa además para consultarlo alguna vez para decorar. Si eres usuario de otra distribución que no sea Arch Linux puedes descargarte el archivo svg contenido en el archivo zip del enlace anterior y modificarlo para adaptar los colores y el logotipo ya uses Fedora, OpenSUSE, Ubuntu, Mint, Debian, ...
Calendario Arch Linux 2013
El 2012 al final se me pasó y no lo construí ya que no dispongo de impresora, este 2013 espero poder imprimirlo en alguna fotocopistería y colocarlo junto a Tux y el cheat cube de Arch Linux. A continuación está proceso de ensamblado del calendario calendario y el resultado final.

 

Además de este calendario también hace un poco de tiempo también adapté un cheat cube de Ubuntu a la distribución Arch Linux por si alguien le coge gusto a esto del papel, probablemente para un usuario avanzado no sea especialmente útil más bien tiene una funcionalidad decorativa.
El cheat cube, el calendario y tux

¡Que empecéis bien el 2013!

Referencia:
Calendario Arch Linux 2013

lunes, 24 de diciembre de 2012

El blog de pico.dev te desea un 2013...

Otro año más que pasa para El blog de pico.dev y ya son casi tres años desde que empecé a escribir en él. Este año han sido 50 entradas las que he escrito un poco menos de una por semana, meta que me fijé como la adecuada para mi, que he ido haciendo con constancia y regularidad. Me gustaría poder dedicarle más tiempo al blog ya que ideas para entradas no me faltan a medida que voy curioseando sobre como se hacen o funcionan algunas cosas, ya tengo una buena cantidad de ellas acumuladas que durante el 2013 iré desarrollando. Aunque pueda parecer que no cada entrada requiere bastante tiempo de dedicación para aprender, investigar, programar algún ejemplo y luego escribir la entrada aunque luego se ve recompensado por los visitantes que las leéis, la satisfacción de escribir sobre lo que en cada momento más me interesa con total libertad y aunque pocos pero también con los comentarios de la gente que veo algunas cosas les han resultado útiles.

Pasado otro año más toca hacer balance de los números de este blog. Si durante el 2011 fueron 34.271 visitas, 25.251 visitantes y 55.280 páginas vistas que ya me parecían muchas este 2012 a falta de unos días han sido 64.364 visitas de 52.075 visitantes con 86.432 páginas vistas, unos números que no son duplicar los del año anterior pero casi. Si a principios de año empezaba con entre 100 y 150 páginas vistas al día el año ha acabado con entre 250 y 400 páginas vistas diarias. También se nota en la publicidad AdSense que suele ser habitual ya tener unos ingresos de 3€ mensuales, a este ritmo el 2013 superaré los 70€ necesarios para que Google me recompense por la publicidad que ya veré de que manera se los devuelvo en parte a la comunidad ya sea pidiendo unas pegatinas con el logo de Arch Linux para el portátil si es así algunas puede que reparta por correo, una taza, o ...

Estas son las entradas que he escrito durante la segunda mitad de este 2012 (en la etiqueta hemeroteca puedes ver las de otros semestres):

Hemeroteca #2

Apache Tapestry
Validaciones de datos de formularios con Apache Tapestry
Extender las validaciones de Apache Tapestry
Como devolver un archivo con Apache Tapestry
Como enviar un archivo con Apache Tapestry

Programación
Pruebas unitarias con Spock y Mockito
Obtener información del entorno de una aplicación web en Java
JodaTime y como integrarlo con Hibernate
Análisis estático de código con PMD
Páginas PageCatalog, ServiceStatus e HibernateStatistics de Tapestry
Deshabilitar el parámetro jsessionid
Crear un archivo comprimido Zip con Java
Como crear y usar sprites en páginas HTML
Texto de la terminal en color con Jansi

Una serie de artículos sobre BPM, Activiti y Drools
Conceptos sobre procesos de negocio (BP, BPM, BPMS, ...)
Procesos de negocio con Activiti
Usar variables en un proceso de negocio con Activiti
Tratamiento de errores en procesos de negocio con Activiti
Reglas de negocio con Drools y Activiti

Linux
systemd, reemplazo de sysvinit
Guía para aprender a usar Vim
Convertir imágenes entre formatos y cambiar tamaño con ImageMagick

Las entradas sobre Linux han sido muy pocoas y es que Arch Linux me da tan pocos problemas y no tengo que reinstalar cada pocos meses que la verdad no encuentro mucho en lo que escribir, aún así espero poder actualizar las guías de instalación de Arch Linux que ya se han quedado en parte obsoletas.

Análisis de productos
Desempaquetado («unboxing») de Amazon Kindle Touch
Mi guía para elección de portátil nuevo
Desempaquetado Sony Vaio E 14P (SVE14)
Análisis software y BIOS de Sony Vaio E 14P

Si no quieres perderte nada de lo que está por venir en este blog durante el año que viene no pierdas la oportunidad de suscribirte al feed con tu lector favorito.

Ya no me queda más que ¡desearos un mejor y buen 2013!

¡elblogdepicodev te desea un próspero 2013!

viernes, 21 de diciembre de 2012

Texto de la terminal en color con Jansi

Jansi
Las aplicaciones de terminal o consola ya no son tan habituales en estos tiempos de interfaces gráficas y aplicaciones web pero de vez en cuando puede que necesitemos desarrollar una ya que para ciertas tareas son mucho más simples y rápidas además de poder automatizarse las tareas con scripts de comandos. Las terminales virtuales actuales que existen en Linux, Windows o Mac soportan varios colores. El uso adecuadamente de colores en una aplicación puede ayudar al usuario a identificar e interpretar mejor la información que está viendo.

En Java hay una librería, Jansi, que permite enviar a la consola los códigos de escape ANSI adecuados para cambiar los colores de las letras, del fondo o ponerlas en «negrita» asi como cambiar la posición del cursor o borrrar una linea entre otras cosas. La API de Jansi está formada por unas pocas clases y se aprende a usarla en unos pocos minutos, la clase principal es Ansi y no necesitaremos mucho más.

Veamos como es en la práctica el uso de Jansi con un ejemplo sencillo mediante un proyecto de ejemplo con Jansi alojado en GitHub:

Para construir el proyecto hay que ejecutar en una terminal:

En la carpeta build/distributions se habrá generado el archivo ColorConsola.zip que contendrá la librería de Jansi, la clase de ejemplo compilada y los archivos de linea de comandos para ejecutar la aplicación, basta con que descomprimamos el archivo y ejecutemos ColorConsola o ColorConsola.bat dependiendo de si nuestro sistema operativo es Unix compatible o Windows.
Para ejecutarlo:

El resultado es este:


Para crear ese arte ASCII puedes consultar la entrada Arte usando texto ASCII con FIGlet.

Referencia:
Código fuente de ejemplo Texto de la terminal en color con Jansi
http://jansi.fusesource.org/
http://stackoverflow.com/questions/5762491/how-to-print-color-in-console-using-system-out-println

viernes, 14 de diciembre de 2012

Análisis software y BIOS de Sony Vaio E 14P

Sony
Windows 8
Esta será la última entrada que escribiré sobre el portátil Sony Vaio E 14P. En la primera entrada comenté que es lo que buscaba y porque finalmente elegí este modelo. En la segunda hice un reportaje gráfico amplio con muchos detalles desde el aspecto externo, teclado y hasta de los módulos de memoria y disco duro por si alguien tuviese interés de ampliar la memoria o ponerle un disco duro SSD.

Linux
En esta entrada me centraré en los aspectos una vez encendido el portátil como es el caso de la BIOS UEFI, el software preinstalado que incorpora y analizar el equipo con programas como CPU-Z, GPU-Z y HWINFO que proporcionan muchos detalles del hardware.

Primer arranque del sistema

Antes de poder usar el equipo que viene con Windows 8 preinstalado sin posibilidad de otra opción por gracia del impuesto windows debemos pasar por unas cuantas pantallas para configurar Windows 8, entre ellas aceptar la licencia que muy pocos se leen entera, la cuenta de usuario y poco más. Pasados unos minutos tenemos a nuestra disposición la nueva interfaz de Windows, Metro UI. Podemos acceder al escritorio clásico pero echaremos en falta el botón inicio con lo que para abrir una aplicación deberemos abrir la barra de encantamientos y después de unos click iniciaremos la aplicación que queramos.

Los peores defectos que le he encontrado a W8 es la falta del botón inicio en el escritorio clásico y que algunas aplicaciones nos hacen pasar de la interfaz metro al escritorio clásico más a menudo de lo que tal vez deseemos. También comentar que quizá en un primer momento nos encontremos algo perdidos en la interfaz metro ya que es muy diferente a lo que estábamos acostumbrados hasta ahora en Windows y hay que aprender como usar algunas opciones que ya conocíamos, además quizá nos cueste un poco acceder a las opciones de configuración, nada que no pueda resolver un poco de tiempo de uso. No lo he usado ni lo usaré mucho pero no tengo nada peor que decir. Por lo demás me parece que tiene algunos detalles interesantes, la interfaz ha sido simplificada teniendo menos detalles que distraigan, la interfaz Ribbon se ha incorporado en el explorador de archivos y otras aplicaciones como Paint. Se inicia muy rápido, en menos de 10 segundos podemos estar en la pantalla de inicio de sesión, y algunas otras cosas menores como que se puede pausar el proceso de copiar archivos, útil si esto nos está ralentizando el equipo.


 Después de la configuración inicial anterior veremos Windows con el siguiente aspecto:

La nueva interfaz Metro

El escritorio clásico
La barra de encantamientos
Un usuario con algo de conocimientos probablemente decida más bien pronto que tarde reinstalar Windows desde cero para eliminar toda esa cantidad de software que probablemente no use que lo único que hace es ocupar sitio en el disco duro en el mejor de los casos y enlentecer el equipo en el peor, además de para recuperar el espacio que se reserva en las particiones de recuperación del sistema. Son unos cuantos desde el típico antivirus hasta diversos programas fotográficos y utilidades para grabar DVD.


El nuevo administrador de tareas y el explorador de archivos y el paint con la barra de acciones Ribbon.


Información del sistema

A través de varios programas como CPU-Z, GPU-Z, HWINFO y Magical Jelly Bean podemos conocer la mayoría de detalles del hardware de nuestro equipo  y la clave de la licencia de Windows que necesitaremos obtener con un programa como este ya que los equipos con Windows 8 ya no vienen con la típica pegatina situada en la parte inferior del portátil (al menos en el caso de Sony), la necesitaremos si queremos hacer una reinstalación para eliminar todo el crapware con el que viene instalado el sistema o queremos aprovechar todo el espacio del disco duro que está ocupado por una partición de recuperación oculta.

De un disco duro de 500 GB la partición del sistema se queda en 435 GiB ocupando 41 GiB Windows 8 y todo el software preinstalado. El particionado de fábrica del equipo es el siguiente:
  • sda 465 GiB
  • sda1 260 MiB EFI
  • sda2 1,5 GiB Basic Data Partition
  • sda3 260 MiB EFI
  • sda4 128 MiB Microsoft Reserved Partition
  • sda5 435,5 GiB Basic Data Partition
  • sda6 28,2 GiB Basic Data Partition
 

BIOS UEFI

Todos los portátiles en los que venga preinstalado Windows 8 la BIOS será de tipo UEFI ya que es requisito de éste (eso creo) y mediante el Secure Boot que hace que un virus no se apropie del sistema al iniciarse. Otras opciones que se pueden configurar en la BIOS además de activar o desactivar el mencionado Secure Boot, son modificar las claves válidas de Secure Boot, el soporte para virtualizar que viene desactivado en la mayoría de portátiles, las contraseñas para iniciar el sistema y entrar a la configuración de la BIOS. También, se puede desactivar el inicio del sistema en modo UEFI e iniciarlo en modo compatibilidad con los sistemas BIOS tradicionales si planeamos instalar un sistema operativo que aún no tenga soporte para UEFI aunque la mayoría de las distribuciones Linux ya lo hace perfectamente no aún así con el Secure Boot, que deberemos desactivarlo. En la configuración de la BIOS no se pueden cambiar ninguna opción más, por ejemplo, no se puede cambiar nada para hacer overclock.

La forma de entrar a la configuración de la BIOS y poder iniciar el sistema desde un medio que no sea el disco duro (como memoria USB o red) es pulsando la tecla ASSIST estando el equipo apagado, una vez que el sistema se ha encendido no se puede entrar a la BIOS, tampoco iniciar desde otro medio ni reiniciando aunque en ese momento pulsemos las teclas F2, F8, F10, F12 que otros sistemas proporcionan, lo que es un pequeño incordio pero por suerte no es algo que necesitaremos muy a menudo.
Las opciones de arranque pulsando la tecla ASSIST

Estas son las opciones que nos muestra Windows 8 iniciando con «Recuperar o mantener el sistema».


GNU/Linux

Hasta lo que he probado el equipo funciona perfectamente con GNU/Linux salvo el arranque directamente con GRUB que con la BIOS UEFI se queda colgado con la pantalla en negro, el problema se soluciona usando rEFInd tal y como se recomienda en la guía de instalación de Arch Linux. En estos momentos ya tengo instado Arch Linux en el equipo y todo es reconocido y funciona perfectamente, desde el tocuhpad multitáctil, la red cableada, la wifi, el lector de tarjetas SD, la webcam, la grabadora DVD, ...

El equipo funcionando con GNU/LInux...
..., con Arch Linux y GNOME 
 Y con estas tres entradas queda completado este amplio «review», análisis y galería de fotos de este modelo de portátil de Sony que espero que a alguien que esté buscando comprar portátil le ayude en su elección.

Sony Vaio E 14P
Revisión por picodotdev el .
Análisis de los programas preinstalados y del portátil con programas (CPU-Z, GPU-Z, HWINFO)
Valor: 4.5