Archive for the ‘tecnología’ category

Rockola.fm en el iPhone: Ya es definitivo

11 marzo 2009

Como ya os contamos en un post anterior, Rockola.fm tenía preparada su aplicación para iPhone y sólo faltaba la definitiva autorización de Apple para que estuviera disponible. Pues bien, ya lo está.

Disfrutar de todas las prestaciones del servicio Rockola.fm es ahora mucho más fácil. Desde este mismo momento y completamente gratis, podeis descargaros la aplicación desde App Store y llevar la música de Rockola.fm  siempre con vosotros.

imageniphone4Una vez descargada, la aplicación aparecerá directamente en el menú de inicio.

imageniphone5 !La esfera de colores ahora en el iPhone!

iPhone App MADE IN SPAIN

12 enero 2009

Aunque este post lleva mi firma, ha sido escrito por Julio Bailón (un buen amigo) y lo publico aquí en su nombre.

Quien me iba a mi a decir hace 2 meses que después de casi 15 años Fernando Martín y yo íbamos a volver a hacer un proyecto juntos. Y es que desde que vivo en Miami lo único que hago cuando voy a España es comer bien y visitar a mis amigos de toda la vida entre los que Fernando tiene un hueco especial ya que si no fuese por él, yo nunca hubiera tenido la oportunidad de escribir estas líneas ni hacer un proyecto como este.


Y es que antes escribíamos aplicaciones serias y aburridas (por lo menos aburridas para ser mencionadas aquí ya que son mas propias de un entorno universitario, bancario o legal). Fue entonces cuando andábamos peleándonos con el lenguaje C mientras algún que otro listillo ya hacia virguerías en Visual Basic.

 

Y fue en Diciembre del 2008 que Fernando y yo nos comíamos un buen menú del día junto a las oficinas de Rockola.fm Un almuerzo que iba a traer historia o que al menos esperemos que la traiga. Era la primera vez que había visto el proyecto de Rockola.fm y conocido a la gente que trabajaba en él. Yo, un españolito en America intentaba convencer a Fernando de que el iPhone era la maquina donde tenia que poner Rockola.fm. Y es que si no fuera porque Apple no deja ejecutar Java o Flash en el navegador del iPhone, Rockola.fm ya funcionaria en el iPhone. Ahí fue donde le animé a que usando eso que habíamos aprendido hacia casi 3 lustros programase una aplicación “Made in Spain” para el iPhone. Pero no le convencí de que programase la aplicación, en su lugar, él me convenció de que lo hiciese yo.

 

Y llegamos al día de hoy ya en Enero del 2009 cuando puedo deciros que la aplicación de Rockola.fm es una realidad. No esta todavía disponible en la tienda Apple pero si todo sigue su curso, es muy posible que pueda descargarse gratuitamente de Apple en menos de un mes.

La aplciación ejecutándose en el iPhone y a falta de algunos retoques creativos y el visto bueno de Apple

La aplciación ejecutándose en el iPhone y a falta de algunos retoques creativos y el visto bueno de Apple

 

Ha sido un mes y medio de planificación, estudio a fondo de las tecnologías de reproducción de sonido en el iPhone, pruebas con WiFi, 3G, GPRS… Y tengo que deciros que la primera versión funciona mejor de lo que habría imaginado.

 

En el 2009 desde Miami pero “Made in Spain”

 

Julio Bailon

Sala de máquinas (Sistemas y III)

22 noviembre 2008

Hace algunos años estuve una temporada desarrollando aplicaciones para sistemas de control numérico. En Zaragoza (¿o fue Barcelona?) visité una estampación que es un sitio donde fabrican cosas literalmente a ostias. Un operario mete una bandeja con cinco pedazos de hierro en una prensa y tras un golpe brutal le salen cinco llaves inglesas. Después de pasar todo el día en oficinas bajamos, ya casi de noche, a planta. Allí había un obrero manejando una Fenwick con un accesorio de tenaza para sujetar un trozo de hierro al rojo vivo. El tipo estaba metiendo la “pieza” en una prensa descomunal como quien pone una herradura sobre un yunque. Cada ciclo de la prensa hacía vibrar toda la planta y tras el golpe, todo eran chispas. Entre eso y la poca iluminación, el espectáculo era de auténtica gozada.

No se, por lo que me toca, si la pasión por las herramientas (cuanto más tochas mejor) es algo común a todo el género humano, a la cultura occidental, a los de Bilbao (que tenemos hasta bienal) o al sexo masculino. Lo que si se, es que cada vez que entro en el CPD donde Optyma nos hospeda se me pone carne de gallina. Cientos de ventiladores zumbando, paneles parpadeando en sus racks y cables que recorren toda la instalación en perfecto orden.

Todavía nos quedan algunos temas pendientes para considerar los sistemas en Rockola.fm como nuestras herramientas ideales para esta fase del proyecto. Aún así, tenía muchas ganas de escribir este post (evidentemente técnico) que intentaré hacer lo más comprensible posible.

Nota: por recomendación de nuestros asesores en seguridad hemos “desenfocado” algunos elementos en las fotos

La chicha

En este tipo de instalaciones, la gestión del suministro eléctrico es todo un mundo. Cortes de corriente no son admisibles de modo que se dispone de SAI hasta la paranoia. Yo no los he visto pero me dicen que en la última planta del CPD hay varios motores de barco que pueden actuar como grupos electrógenos por tiempo indefinido.

Abajo, el STS que sirve para cambiar, con un solo botón, el origen del suministro eléctrico (útil durante las tareas de mantenimiento del SAI). Lo que está encima es un switch que admite redes virtuales para comunicar los “frontales” (DMZ) con los “datos” (Intranet)

Abajo, el STS que sirve para cambiar, con un solo botón, el origen del suministro eléctrico (útil durante las tareas de mantenimiento del SAI). Lo que está encima es un switch que admite redes virtuales para comunicar los “frontales” (DMZ) con los “datos” (Intranet)

El canuto

Para comunicar nuestros sistemas con los Rockoleros, disponemos de conexiones a través de dos proveedores distintos. Ya explique en otro post mi opinión sobre las probabilidades de fallo en sistemas redundantes.

Arriba, el switch que distribuye hacia dentro el tráfico gestionado por los dos routers (uno por proveedor) justo debajo al fondo. El cablecito naranja es fibra óptica hasta 10 Gb aunque la red interna no puede pasar de uno (quizás algún dia)

Arriba, el switch que distribuye hacia dentro el tráfico gestionado por los dos routers (uno por proveedor) justo debajo al fondo. El cablecito naranja es fibra óptica hasta 10 Gb aunque la red interna no puede pasar de uno (quizás algún día)

El contenido

Para suministrar el contenido estábamos utilizando dos máquinas. Estos frontales transmiten tanto HTML como media (imágenes y audio). Tenemos una tercera máquina probando la separación de la media en otro grupo de frontales con un servidor más ligero que Apache. De momento también está dando servicio junto con las antiguas (tampoco es cuestión de tener un maquinón sólo para pruebas). Cada vez que un Rockolero interactúa con Rockola.fm es atendido por alguno de los tres servidores. La decisión de cual de ellos la atiende es ejecutada por otra pieza hardware (el balanceador).

 balanceador, en azul, que distribuye el trabajo entre los dos frontales (los últimos por abajo) y el nuevo (arriba); la máquina justo debajo del balanceador la usamos para monitorización y procesos masivos

El balanceador, en azul, que distribuye el trabajo entre los dos frontales (los últimos por abajo) y el nuevo (arriba); la máquina justo debajo del balanceador la usamos para monitorización y procesos masivos

Los datos

Para los datos estructurados (información de los rockoleros y del repertorio de temas) utilizamos dos máquinas para base de datos en modo réplica. Es lo que se conoce como un cluster activo-pasivo. Una máquina es la que hace el trabajo y otra se limita a replicarlo para tomar el control en caso de muerte de la primera. Seguimos probando la posibilidad de trabajar en activo-activo (que curren todas).

Para los datos “crudos” utilizamos un sistema de almacenamiento compartido (NAS) al que acceden todos los equipos a través de la red interna.

Arriba, los dos equipos para base de datos; abajo la NAS

Arriba, los dos equipos para base de datos; abajo la NAS

A pesar de lo que estamos disfrutando montando y probando todo esto, confieso que sigo envidiando al hombre de la Fenwick.

Sobre fans, vecinos, ídolos y etnias (Catalogación u opinión y III)

17 noviembre 2008

En Rockola.fm recomendar consiste en predecir que valoración daría un rockolero a un tema sobre el no ha opinado. Tarea sencilla si se dispone de una bola de cristal adecuada. Supongo que un echador de cartas antes de formalizar una predicción, realiza una serie de preguntas que le permiten ajustar el perfil de su cliente. Una vez asignado en un colectivo, el adivino utilizará respuestas que, por su experiencia con otros, son las más probables o de menor riesgo.

Rockola.fm utiliza unos principios similares para recomendar. El primer paso consiste en localizar los “vecinos cercanos” (en jerga de sistemas de recomendación). Para delimitar estos “vecinos”, se localizan todos aquellos rockoleros que hayan expresado opiniones similares que se compartirán en el “vecindario”.

opinión). Las dos colecciones de hueveras de la izquierda corresponden a la opinión expresada por dos usuarios (los huevos que coinciden se han marcado con un rotulador verde y los que no en rojo). La huevera de la derecha contiene el resultado final.

Cada tema en Rockola.fm puede asimilarse a un hueco en una huevera (un huevo, una opinión). Las dos colecciones de hueveras de la izquierda corresponden a la opinión expresada por dos usuarios (los huevos que coinciden se han marcado con un rotulador verde y los que no, en rojo). La huevera de la derecha contiene el resultado final.

No parece tarea complicada al margen de tener que comparar las emisoras de cientos de miles de rockoleros compuestas por selecciones entre cientos de miles de temas (nada, pues pondremos una máquina más gorda). Sin embargo, para que un sistema de recomendación de estas características opere, es preciso que se cumplan dos condiciones:

  • Debe haber un número suficiente de rockoleros para que puedan encontrarse grupos cuyos miembros estén a poca distancia
  • Cada rockolero a tenido que expresar un número lo más elevado posible de opiniones
  • Estas dos condiciones se resumen en una: opinad, opinad, opinad y opinad (y opinad)
Desolador aspecto de la huevera de un rockolero recién registrado

Desolador aspecto de la huevera de un rockolero recién registrado

Con este panorama, cabría pensar que un rockolero no disfrutará del sistema de recomendación de Rockola.fm hasta que transcurran varios meses desde su registro y, mientras tanto, se verá forzado a que el 90% de los temas que escucha no le gusten nada (pero nada).

Afortunadamente en Rockola.fm los temas se catalogan. Existe otro sistema de recomendación a parte del de “vecinos próximos” y es el de “similitud técnica”. Esta practica consiste en agrupar los temas que “suenan parecido”. La ventaja es evidente: basta con una sola opinión para poder recomendar cientos de temas.

Un rockolero recién llegado y que ha hecho propia la emisora de un artista; la cosa pinta bien

Un rockolero recién llegado y que ha hecho propia la emisora de un artista; la cosa pinta bien

En su aplicación practica, Rockola.fm permite iniciar el proceso de recomendación mediante la búsqueda de un artista. Una vez localizado, el sistema genera una emisora compuesta por temas que “suenan parecido” a los del propio artista. Más tarde, esta emisora entrará en el flujo de opinión y generará recomendaciones basadas en todo el conjunto de rockoleros.

El algoritmo de recomendación en Rockola.fm es un sistema hibrido basado inicialmente en la catalogación y que posteriormente progresa según la opinión.

En un sistema de recomendación tradicional, la comparación entre tus opiniones permite localizar a tus “vecinos próximos”. En Rockola.fm disponemos de dos tipos de opiniones o emisoras: las de los usuarios y las de los artistas. ¿Qué ocurre si aplicamos el algoritmo entre todas las posibles combinaciones de emisoras?:

  • Rockolero con rockoleros: obtenemos los vecinos próximos al rockolero
  • Rockolero con artistas: obtenemos los artistas favoritos del rockolero o ídolos
  • Artista con artistas: obtenemos los artistas similares al primero que nosotros hemos denominado como etnias
  • Artista con rockoleros: obtenemos los fans o rockoleros a los que más les gusta el artista


Rockola´s Chumby (El Chumby y III)

18 octubre 2008

Una semana complicada con cambios en nuestros sistemas para aguantar la que se nos viene encima. Pero, llueva o haga sol, siempre hay un momento para sacar al Chumby de paseo.

Así que, después del éxito en las últimas pruebas, me he puesto a desarrollar una interfaz que permita utilizar las funcionalidades más importantes vía Web de Rockola.fm:

Por supuesto, nada más entrar "la bola"

Por supuesto, nada más entrar "La Bola"

El sistema de selección por estado de ánimo es prácticamnte idéntico al que se ofrece desde el sitio: selección del idioma, rango de décadas y un punto de la bola. En cuanto al funcionamiento del resto de la interfaz, en lugar de presentar las diferentes opciones en solapas, dada la limitación de tamaño, se usan las flechas en la parte inferior. El rectángulo entre las flechas lo uso para sacar “trazas” durante el desarrollo. En su momento, es posible que incluyan “aceleradores” al resto de plantillas.

Independientemente desde donde se haga la selección, una vez ejecutada se muestra el reproductor

Independientemente desde donde se haga la selección, una vez ejecutada se muestra el reproductor

Una vez realizada la selección, la bola es sustituida por un reproductor simple que incluye, control de volumen, pausa y salto de tema. También se muestra la imagen de la portada del álbum e información sobre la canción (nombre del artista, título del tema y del álbum).

También he includo la posibilidad de seleccionar entre las emisoras destacadas que componemos en Rockola.fm:

Selección entre las emisoras destacadas propias de Rockola.fm

Selección entre las emisoras destacadas propias de Rockola.fm

Basta con pulsar sobre el icono con el altavoz para que el reproductor vuelva a aparecer con el primer tema en marcha.

Por último, también es posible seleccionar una de las emisoras del usuario:

Elección entre las emisoras propias del rockolero

Elección entre las emisoras propias del rockolero

La mecánica es la misma, pulsar sobre el icono con el altavoz y… ¡¡a escuchar!!

La Bomba (Sistemas II y medio)

11 octubre 2008

No me refiero a la canción de King Africa sino a la que mantuvo emparanoiado a medio mundo antes de la caída de El Muro. Internet tiene sus orígenes en esos años. Su abuelo, ARPANET, se diseñó como una red segura de comunicaciones, con fines militares, capaz de sobrevivir a un ataque con armas estratégicas (eufemismo para la bomba H).

Para ello, la red debe ser descentralizada, con múltiples caminos entre dos puntos y donde los mensajes completos se dividen en fragmentos que pueden seguir rutas distintas. Una red así estaría capacitada para responder ante sus propios fallos.

Mapa de ARPANET donde se aprecian las rutas redundantes entre nodos

Mapa de ARPANET donde se aprecian las rutas redundantes entre nodos

Una idea estupenda pero ¿hasta que punto se mantiene hoy en día este principio básico de seguridad total?. Yo diría que muy poco o puede que nosotros tengamos mala suerte para repartir. La realidad es que el pasado lunes sufrimos un corte en las comunicaciones a las cinco de la tarde que se recuperaron casi a la misma hora pero del día siguiente. Veinticuatro horas sin servicio, como para estar en guerra, vamos.

Una vez recuperado, lo que uno quiere es conocer la causa de sus males. Parece que fue un triple fallo por corte en la fibra óptica en Madrid, mal funcionamiento de la electrónica en el nodo de Barcelona y la línea de backup en mantenimiento. Este año en Rockola vamos a tirar la casa por la ventana en décimos para la lotería de Navidad.

La razón “física” del corte no la conocemos. No sabemos si ha sido una pala abriendo una zanja o una rata de alcantarilla con déficit de fibra en su dieta. Descartamos un ataque nuclear.

No esperábamos algo así tan pronto aunque llevamos varias semanas gestionando la contratación de líneas con un segundo proveedor. La probabilidad de dos triples fallos en proveedores distintos debería aproximarse radicalmente a cero. Pues no.

Resulta que nuestro actual proveedor y el nuevo comparten infraestructura en el centro de datos de Alcobendas que se incendió hace dos semanas. Este incendio nos dejó sin servicio seis horas. Aún en el caso de que hubiéramos contado con infraestructura de comunicaciones redundante, de este corte no nos hubiera librado nadie.

Cuando negocias con un segundo proveedor de comunicaciones no basta con acordar el precio o que te enseñe sus gráficas de servicio. Ahora tienes que hacer, además, un análisis topológico de su red para asegurar que existen caminos alternativos sobre los nodos en común con tu otro proveedor.

Hay una segunda vía: renunciar a mantener tu propia infraestructura y contratar ciertos servicios a empresas con más suerte que nosotros y que te la garantizan. Ya veremos.

Esto me suena (El Chumby II)

21 septiembre 2008

Algunas veces desarrollar es más una labor de investigación que de pura codificación. Se parece a esos juegos de detectives que traen (o traían) algunas revistas (hace mucho que no leo una). Empiezan enunciando unos cuantos hechos y finalizan con una pregunta. Al contrario que en la vida real, la existencia de una respuesta única que encaje con los hechos está garantizada.

Después del infructuoso intento para hacer sonar a Chumby, estos son los hechos:

  • El desarrollo de aplicaciones, o widgets, para Chumby se basa en Flash Lite 3.
  • Flash Lite 3 no incluye la capacidad de reproducir audio en stremaing.
  • Al encender Chumby, arranca automáticamente una aplicación que permite seleccionar un widget para su ejecución.
  • Este administrador incluye, además de la capacidad de seleccionar widgtes, alguna otra cosilla relacionada con temas de configuración y escucha de emisoras de radio on-line.
  • Este administrador esta escrito en Flash Lite 3
A la izquierda, el administrador de aplicaciones con el juego “Missile Game 3D” seleccionado. En la hilera de botones más a la derecha hay uno, en el centro, con una nota musical. A la derecha, el reproductor que se activa al pulsar el botón y que permite escuchar música en streaming

A la izquierda, el administrador de aplicaciones con el juego “Missile Game 3D” seleccionado. En la hilera de botones más a la derecha hay uno, en el centro, con una nota musical. A la derecha, el reproductor que se activa al pulsar el botón y que permite escuchar música en streaming

La pregunta es: ¿si el administrador está escrito en Flash Lite 3 (que no permite streaming de audio) cómo puede hacer sonar música?

Chumby es código abierto (¡genial!) de modo que no hay nada que impida buscar la solución al misterio (¡bien!).

Dando una vuelta por el Wiki de Chumby, encontré una referencia a un add-in llamado BTplay. Este complemento permite reproducir sonido en stremaing y es el que emplea el administrador para hacerlo. Sin embargo, el primer párrafo en la documentación de la API dice que no puede usarse desde un widget. Para utilizarlo, debes sustituir el administrador por tu propia aplicación.

Chumby, a la izquierda, disfrutando de un chute de código puro via USB. A la derecha, el mismo Chumby, esta vez de frente, mostrando la respuesta a una petición realizada al servidor en Rockola.fm

Chumby, a la izquierda, disfrutando de un chute de código puro vía USB. A la derecha, el mismo Chumby, esta vez de frente, mostrando la respuesta a una petición realizada al servidor en Rockola.fm

Esta sustitución no puede hacerse del mismo modo que se instala un nuevo widget. La única forma es escribir una película Flash e insertarla en el chumby por uno de sus puertos USB. Todo el proceso se realiza a través de una consola SSH que hay que configurar previamente.

Antes de liarme a reproducir música, primero una prueba de concepto para ver si arranca y ya, de paso, comprobar que la comunicación con el servidor en Rockola.fm es posible. Sorprendentemente, éxito total y a la primera (no tengo abuelas) como testifica la foto más arriba.

El siguiente paso: ver si el BTplay existe y que además funciona

En previsión de que este fin de semana iba a dedicar un rato a Chumby, le pedí a Nacho que codificara una película Flash sencillita y que permitiera seleccionar entre tres emisoras del propio sitio para su reproducción. Aprovechando que teníamos que recompilar nuestro PHP en desarrollo, Nacho escribió el código utilizando las funciones para streaming incluidas en la versión normal de Flash.

Nueva prueba de concepto sustituyendo las llamadas a las funciones de Flash por llamadas a las funciones de BTPlay. Otra sorpresa y otro éxito total a la primera (tampoco me quedan abuelos):

selección entre tres de las emisoras preconfiguradas en Rockola.fm incluyendo capacidad para avanzar tema

Suficiente para comprobar que es posible: selección entre tres de las emisoras preconfiguradas en Rockola.fm incluyendo capacidad para avanzar tema

Aunque se trata de un desarrollo con poca funcionalidad, lo importante es que el concepto está probado: Chumby puede usar Rockola.fm. Hay que hacer pocos cambios en el lado de los servidores (fundamentalmente relacionados con seguridad y autenticación) y el trabajo es prácticamente sólo de interfaz:

Un poco de “Paint Brush” (ni siquiera Photshop) para viajar al futuro. Mi Chumby tuvo una infancia dificil y a eso se debe su aspecto sucio y el frontal desencajado. Un Chumby cuidado y bien alimentado tiene otra pinta

Un poco de “Paint Brush” (ni siquiera Photshop) para viajar al futuro. Mi Chumby tuvo una infancia difícil y a eso se debe su aspecto sucio y el frontal desencajado. Un Chumby cuidado y bien alimentado tiene otra pinta