jueves, 12 de junio de 2014

Ver TDA (Televisión Digital Abierta) en Ubuntu

Para ver TDA (Televisión Digital Abierta) con un adaptador USB en Linux, se necesita alguno que tenga un chipset compatible. Algunos adaptadores tienen chipsets que solo funcionan en Windows, así que hay que elegir con cuidado al momento de comprar. Los dos modelos más conocidos y que funcionan perfecto son:
  • PixelView PlayTV FullSeg SBTV
  • Mygica S870  

El PixelView es muy difícil de conseguir y no lo vi más en el mercado. El Mygica s870 se consigue fácilmente, pero hay que tener cuidado que sea el modelo s870 y no otro, porque los demás modelos de Mygica NO funcionan

1) Actualizar kernel de Ubuntu 12.04 a 3.5.x o posterior

Ante todo, con Ubuntu 12.04 hay que actualizar al kernel 3.5 o posterior. Originalmente venía con el kernel 3.2.x, pero no funciona correctamente el driver en esa versión. Recomiendo actualizar el kernel a 3.11.x (Saucy). Seguir las instrucciones indicadas en LTSEnablementStack Para instalar el kernel de Saucy y actualizar el servidor X a la vez, habría que correr este comando en una terminal:
sudo apt-get install --install-recommends linux-generic-lts-saucy xserver-xorg-lts-saucy libgl1-mesa-glx-lts-saucy
Si solo se quiere actualizar el kernel, el comando sería:
sudo apt-get install --install-recommends linux-generic-lts-saucy
Con Ubuntu 14.04 o posterior, no hay que cambiar ni actualizar nada.

2) Instalar el firmware del chipset

Para instalar el firmware que requiere el dispositivo, lo más simple es al menú "Configuración del sistema...", y abrir la ventana "Controladores adicionales". Luego de buscar controladores, aparecerá la opción para habilitar el "Firmware para tarjetas DVB". Seleccionarlo y hacer clic en el botón "Habilitar". El estado debería cambiar del color gris al verde.

3) Conseguir el archivo de frecuencias y generar la lista de canales para VLC

Hay que bajarse el archivo de frecuencias (descargar aquí). Luego se corre el programa scan para generar la lista de canales que hay disponibles en la zona. Esto debemos hacerlo cada vez que cambia la grilla de canales. Correr este comando en la terminal:
scan frec_canales.conf > canales_tda.conf 
Si el programa 'scan' no está instalado, se instala con el siguiente comando:
sudo apt-get install dvb-apps

4) Ver la TDA con VLC

Para ver la TDA, solamente hay que abrir la lista de canales con VLC 2.0.x o posterior, y elegir cualquier canal. Generalmente el canal de la TV Pública SD o Encuentro tienen las señales más fuertes, y son los mejores para empezar a probar. Si la señal es pobre, reorientar la antena o cambiarla de lugar, o cambiar de antena, hasta tener una buena señal. Para abrir VLC con la lista de canales desde, se puede escribir en la linea de comandos de la terminal:
vlc canales_tda.conf
Para la zona de La Plata, Buenos Aires, el archivo de canales puede ser así: (descargar aquí)

5) Antenas

La antena que viene con el adaptador, puede servir si hay muy buena señal. Si es de las que tienen una base magnética, como la que se muestra en los kits de arriba, es muy importante que se apoye sobre una superficie de metal, como el lateral del gabinete, o en el marco de una puerta o ventana metálica. Al apoyarse sobre una superficie tal, se completa el dipolo.

Si se necesita una mejor antena, hay muchas variedades de antenas comerciales en el mercado:

 
Pero para abaratar costos o como solución inmediata, se puede hacer rápidamente una antena muy económica y efectiva usando un fragmento de cable coaxil (el mismo de la TV por Cable), pelando el extremo como se ve en las imágenes siguientes:  


Más información: ¿Cómo puedo ver TV Digital con el sintonizador Geniatech MyGica S870 en Ubuntu 12.04LTS?

Actualización 16/06/2014:
Hay una interesante aplicación en Android para facilitarnos orientar mejor nuestra antena de TDA. Usando el GPS del celular o la tableta, nos indica dónde se encuentra la antena más cercana, a qué distancia, y en qué dirección. Es un dato muy útil cuando no estamos seguros hacia dónde debemos orientar nuestra antena. La aplicación se llama Antenas TDA y la pueden instalar directamente desde tienda de aplicaciones Play Store de Google. Es una aplicación libre, bajo licencia GNU GPL v3, así que pueden colaborar con su desarrollo y reportar cualquier bug en el sitio del proyecto en GitHub. A continuación, un par de capturas de pantallas de esta aplicación:
Gracias a Emiliano Vazquez por recordarme esta buena utilidad.

jueves, 3 de enero de 2013

¡Firefox Share: levántate y anda!

ACTUALIZACION: a partir de Firefox 20 no sirve más esta modificación de Share, por otros cambios más extensos que ahora invalidan este parche :(
Nota original:
Con las últimas versiones de Firefox, al menos desde Firefox 16, no funciona más la extensión "Firefox Share" :(.
Es una lástima, porque era un excelente agregado, que permite compartir en las redes sociales (o enviar por correo) la página que estamos visitando, de una forma muy simple y elegante.
Por un tiempo probé otras alternativas, pero la verdad que ninguna me convenció, no encontré nada tan rápido y eficiente como esta "vieja" extensión. Así que un día decidí investigar el problema por mi cuenta.
Encontré que la extensión fallaba en el arranque, cuando intentaba agregar algunas entradas en el menú contextual y en el menú principal, dentro de la sección "enviar página"... ¡que casualmente no existe más! Rápidamente mi solución salomónica fue eliminar todo ese segmento de código :D. Y ahora funciona de maravilla. Por mi parte jamás usé ese menú, porque prefiero acceder al icono de compartir que se crea en la barra asombrosa, así que para mi no fue ninguna pérdida.
Para hacer la corrección ustedes mismos, sigan estos pasos:
  1. Descargar el archivo .xpi de la última versión de la extensión publicada a la fecha, que es la versión 0.2.3(alpha) desde https://addons.mozilla.org/es/firefox/addon/firefox-share-alpha
  2. Internamente la extensión es un archivo .zip. La descomprimen y editan el archivo /resources/fx-share-addon/lib/overlay.js con cualquier editor de texto. 
  3. Eliminan o comentan todo el código JavaScript desde la linea 114 hasta la linea 176 inclusive.
  4. Después vuelven a comprimir todo de nuevo en un archivo zip, sin cambiar la estructura de directorios ni ninguna otra cosa, renombrando luego la extensión del archivo .zip a .xpi como estaba originalmente.
Para instalar el archivo .xpi en Firefox pueden hacer arrastrar y soltar desde el escritorio, y soltarlo en cualquier ventana de Firefox. O usar el menú Archivo -> Abrir archivo..., como prefieran.
Si no se animan a hacer los cambios ustedes mismos, y me tienen confianza (muejeje :D), les dejo enlazado aquí el archivo .xpi resultante. No tiene ningún otro cambio, pero no hay garantías de ningún tipo, ni me hago cargo de ningún daño que les pueda producir. Personalmente lo vengo usando hace varios meses, y recién ahora me tomé el tiempo de escribir y documentarlo en el blog para compartirlo. Que lo disfruten :)

lunes, 19 de septiembre de 2011

Google + Intel = Android x86

Recientemente hay varias noticias que hablan de la alianza entre Google e Intel para desarrollar Android en los procesadores x86. Ya había un proyecto de la comunidad de desarrolladores para portarlo, que estaba dando sus frutos, y ahora se suma esta iniciativa conjunta de estos dos pesos pesados.

Estaba leyendo una nota al respecto, y pensaba que acá el problema es que Intel tiene que resolver el mayor consumo de los procesadores Atom, si se los compara con los efectivos y rendidores diseños de ARM. Intel necesita dejar de perder mercado en los sectores móviles, donde la arquitectura ARM es hoy por hoy el rey absoluto, y esta alianza con Google, puede llevar a Android a nuevos sectores.

jueves, 4 de agosto de 2011

Invitación a Android Connect

Esta vez los quiero invitar a conocer el blog de Android Connect, una comunidad Android que se gestó en La Plata y está empezando a dar sus primeros pasos. Van a encontrar todo tipo de información, desde el usuario hasta el programador. Les copio el mensaje de bienvenida y espero encontrarlos por allá también :-)

Bienvenidos a esta nueva comunidad Android. La idea nace desde un grupo de usuarios y desarrolladores de Android en La Plata, Argentina, con la misma inquietud de compartir ideas, trucos y tips, consejos, soluciones a problemas encontrados, ejemplos de programas para hacer tus propios desarrollos, noticias de interés para la comunidad y mucho más.

Android Connect sos vos y todos los interesados en este fascinante mundo de Android. Te invitamos a participar de esta joven comunidad, un punto de encuentro donde podamos compartir nuestro conocimiento y hallazgos, brindar consejos y participar de proyectos juntos, un lugar donde podamos intercambiar ideas y experiencias.

¡Bienvenido!

Fuente: Android Connect

miércoles, 25 de mayo de 2011

Juegos en JavaScript: frameworks, recursos y ejemplos

Si bien los juegos en JavaScript no son nuevos, ahora con la introducción de HTML5 y todas las novedades que trae la nueva generación de navegadores,  se están convirtiendo en una alternativa cada vez más seria, muy tentadora por la posibilidad de llegar a todo tipo de plataformas: escritorio, portátiles, celulares, tabletas, consolas de videojuegos, etc.

Tal vez el caso más conocido por todos es el recientemente presentado Angry Birds Webapp, que en una alianza entre Rovio (la creadora del exitoso juego) y Google (como promoción de su navegador Chrome) han publicado de forma gratuita en versión web del ya clásico juego.

Aunque se promociona como un juego para Chrome, también es cierto que funciona con otros navegadores modernos que soporten Canvas de HTML5 y Flash. Por ejemplo, le he probado en Firefox 4 sobre Linux y funciona perfectamente.

¿Pero porqué requiere Flash? Bueno, precisamente una de las APIs que están más verdes en este momento es la API de audio, o al menos su funcionamiento está muy variable entre distintos navegadores. Por lo cual han recurrido a una solución pragmática y temporal hasta que madure este tema: usar un pequeño fragmento de Flash para controlar el audio, y hacer todo el resto con HTML5.

En la implementación han usado el framework open source ForPlay, que es un nuevo proyecto Java creado por Google y Rovio para este desarrollo, y que permite a partir del lenguaje Java, generar o compilar distintos tipos de salidas: Desktop Java, HTML5 Browsers, Android y Flash. Esta idea de generar código HTML o Flash a partir de código Java, ya la hemos visto antes en Google GWT (con el cual tiene bastante que ver) o en Adobe Flex.

Como amablemente han publicado este framework bajo una licencia open source, va a permitir que cualquier desarrollador pueda reutilizarlo y mejorarlo, y pronto empezaremos a ver muchos otros proyectos que lo usen o que estén basados en él.

Pero si queremos hacer juegos o aplicaciones que usen HTML5 Canvas, vamos a encontrar que hay muchos otros frameworks open source y/o bajo licencias libres, cada uno con sus propias características. Algunos ejemplos interesantes son:
  • gameQuery. es un framework JavaScript basado en jQuery. No parece tan maduro como las demás opciones, pero es muy natural y fácil de asimilar para quienes ya tienen experiencia con jQuery.
  • RPG JS: un framework para realizar los clásicos juegos RPG 2D, con características muy completas para este tipo de juegos. Tienen una demo muy bien lograda.
  • Akihabara: es un framework JavaScript para HTML5 muy maduro, para realizar todo tipo de juegos clásicos arcade de 8/16 bit. Tienen muchos ejemplos fantásticos de los arcades clásicos, que vale la pena probar :-)
También hay mucha documentación para quien quiera hacer sus primeros pinitos con Canvas. Algunos recursos para empezar pueden ser:
  • Tutorial de Canvas de Mozilla MDC: es un excelente recurso, que además se encuentra en castellano y en varios idiomas.
  • Canvas Tutorial de billmill.org: es un mini-curso en inglés muy rápido y didáctico, que a través de la construcción paso a paso del clásico juego del breakout, nos enseña todo lo básico para comenzar a realizar nuestros propios juegos. Lamentablemente no explica demasiado los ejemplos, pero el código es muy claro y está armado de tal forma que nos permite experimentar con él sin salir de la página.
  • HTML5CanvasTutorial: un tutorial en inglés más extenso, que nos enseña con más detalle las posibilidades de Canvas, con algunos muy buenos ejemplos.  No está tan orientado a juegos, pero es muy buen recurso.
Algunos frameworks incluso combinan varias APIs y técnicas, desde Canvas de HTML5 hasta DHTML, incluso WebGL también. En cuanto a técnicas para implementar juegos, hay muchos sitios para ello, y toda esa experiencia es trasladable a cualquier lenguaje, API o plataforma. Entonces para eso mejor referirse a sitios específicos sobre diseño de juegos.

Los dejo con un catálogo de juegos en JavaScript, donde hay una sección específica con varios ejemplos realizados con Canvas. Hay muchos juegos clásicos y algunos novedosos. Algunos permiten acceder al código fuente para aprender de ellos, otros no, pero igualmente la mayoría son entrenidos :D

Para los que les gustan los juegos solitarios con cartas de póker, encontrarán un fantástico ejemplo de una buena implementación en WorldOfSolitaire, no es libre, está basado en YUI, y está muy bien hecho. La única contra es que aún no tiene un buen soporte de dispositivos móviles (me fue imposible jugarlo en Android).