Aprende idiomas con Rhythmbox

Sigo dándole duro al inglés, aprovechando todos los recursos que brinda la red. A decir verdad, hoy en día no tenemos excusa: programas de televisión (subtitulados y sin subtitular), películas, podcasts, revistas escaneadas y en formato audio-libro, cursos online de inglés hablado, escrito, gramática… y el truco que os voy a contar hoy: cómo acceder a la letra de las canciones de esos grupos que te interesan de la forma más cómoda posible…

El truco se basa en un plugin de Rythmbox. Este player de audio es espectacular, tiene de todo (cada día le descubro una funcionalidad nueva). Entre otras cosas, es extensible por medio de plugins que podemos configurar en  Edit / Plugins. El plugin que quiero comentaros hoy es el llamado Lyrics. ¿Qué hace? Busca en Internet las letras de la canción que estés oyendo en el momento. Hasta ahora, lo que yo hacía era buscar en Google el título de la canción, el nombre del grupo y la palabra Lyrics y casi siempre salía algo, pero era un engorro hacerlo por cada canción. Luego era también un fastidio el tener que copiar, pegar y grabar en un archivo de texto el resultado. Rhythmbox hará todo esto ‘automágicamente’ por nosotros 🙂 Lo primero, activa el plugin:

rhythmbox_1.png

Lo segundo, configúralo  (indica los repositorios de lyrics y carpeta del disco duro donde se guardarán)

rhythmbox_2.png

Y lo tercero, para ver las letras de una canción que esté sonando: Botón derecho sobre la canción / Propiedades / Pestaña Lyrics

rhythmbox_3.png

¿Conocías este truco/funcionalidad? ¿Algún plugin más de Rhythmbox que te guste?

HackIt! 2007 : nivel 4: solución

Vamos allá: estábamos trabajando en el nivel 4 del concurso . Sabemos que hay un formulario integrado en un componente Flash (swf). Nuestra suposición: el código que valida al usuario está en el propio swf (no se hacen llamadas a otro servidor), por tanto, aplicaremos ingeniería inversa sobre el binario .swf, descifraremos el algoritmo usado y pasaremos al siguiente nivel. Facil, ¿no? Pues no… ahora veremos por qué.

Si trabajamos en Windows, podemos encontrar varios descompiladores de ficheros Flash swf. Si trabajamos en Linux, sólo he encontrado uno, Flare 0.6, que al usarlo, dejaba como resultado código ininteligible. Al parecer el .swf del nivel 4 tiene alguna protección que hace que la ingeniería inversa no sea trivial.

Buscando en el sabio, encontramos que Sothink SWF Decompiler es una de las herramientas de ingeniería inversa sobre Flash que más se usan. Lo instalamos en Windows y … ¡ah! no, mejor lo instalamos en Linux. ¿Cómo? con WINE, y no, WINE no es un emulador.

Una vez instalado, veremos que al lanzar Sothink SWF nos sale una alerta indicando que falta el componente flash.ocx. Buscando en el sabio encontramos que es necesario instalar el FlashPlayer para Windows (otra vez desde WINE).

activex.png

Ya tenemos todas las herramientas instaladas. Abrimos el fichero login.swf. Y aquí nos damos cuenta de que el código ActionScript  descompilado también deja mucho que desear. ¿Se acabó? No, nos queda una última bala, Sothink permite exportar todos los recursos que hayan podido descompilarse a partir del .swf . Lo hacemos.

exportar.png

La versión de evaluación de Sothink nos avisa: ojo, esta versión sólo exporta los dos primeros frames. Esperemos tener suerte 😉

warning_swf.png

Le indicamos a Sothink que deje en /tmp/login/ los resultados de la descompilación (parcial). Veremos que hay bastantes directorios. Ahora toca pensar… a ser posible con un poco de café al lado 😉 . Resumiendo la mini-reunión que tuvimos el día de la competición: ¿qué palabra podríamos buscar en todo lo exportado que tenga que ver con el procedimiento de validación del user y password? Lo primero que se nos viene a la cabeza: «pass» o bien «user» . Vamos a probar suerte…

$ cd /tmp/login
$ grep -irn user *
Coincidencia en el fichero binario Frame/frame1.swf

Vamos a ver qué hemos pescado. Filtremos las cadenas «legibles», busquemos user y pidamos un contexto de +-5 líneas:


$ cd Frame
$ strings frame1.swf | grep -C5 user
E/d@
EnterButton
Button
C~D^F
./level5-bUrm4nfl4x.html
username
password
UserName
Password
Button
KJ

¿La suerte también cuenta? 😉

eduroam con las broadcom bcm94311mcg y bcm4318

Aitor Cuartango vuelve a contribuir con un artículo sobre Eduroam y EHUX, esta vez comentando la mejora del soporte en las tarjetas con drivers bcm94311mcg y bcm4318:

«Como algunos desafortunados sabréis, una partida de portátiles de la Facultad se pidió con una tarjeta que incorpora un chip broadcom bcm94311mcg marca Dell. Bueno, al fin hemos conseguido buenos resultados con esta tarjeta con el nuevo driver b43. Además tenemos unas tarjetas de préstamo linksys wpc54g ver.3 que funcionan con el mismo driver. Estos chips de broadcom….

No es un driver libre, ya que se basa en un firmware binario que proporciona la casa broadcom. Pero funciona. Con lo cual no recomendamos comprar tarjetas broadcom con driver propietario sino tarjetas como las intel que tienen drivers libres (y muchas otras marcas).

Al tajo:
Hemos instalado un ordenador con la versión beta de ubuntu, la 8.04 y hemos ido al menu donde pone «Gestor de drivers de hardware» donde hemos seleccionado que use el driver propietario de nuestra broadcom.

Tras esto el kernel se queja de que no tiene el firmware propietario instalado. Entonces hemos ido a la web oficial del driver b43 en el apartado que nos interesa para nuestra tarjeta:
http://linuxwireless.org/en/users/Drivers/b43#devicefirmware

Y hemos seguido las instrucciones en un terminal como root:

export FIRMWARE_INSTALL_DIR=»/lib/firmware»
wget http://downloads.openwrt.org/sources/broadcom-wl-4.80.53.0.tar.bz2
tar xjf broadcom-wl-4.80.53.0.tar.bz2
cd broadcom-wl-4.80.53.0/kmod
b43-fwcutter -w «$FIRMWARE_INSTALL_DIR» wl_apsta.o

reiniciamos para que carge los drivers en el inicio del sistema, et voila!
Entramos en el network manager y configuramos la red como siempre. Y ahora sin problemas de reconexiones.»

Recordemos  que EHUX es en esencia una Ubuntu Gutsy actualmente, y por tanto cualquier usuario que use Ubuntu podrá seguir las mismas instrucciones que Aitor comenta en este post. Y por lo que veo, en general, cualquier usuario Linux con el chipset que se comenta en el post. Agradecería que comentárais vuestras experiencias como comentarios a este mini-howto, para que queden por escrito y sirvan a más gente.

Convertir ficheros Visio a PDF

Hoy he necesitado con cierta urgencia convertir un fichero Visio (formato .vsd) a algo legible en Linux. Sigue siendo complicado… Afortunadamente hay alternativas a usar CrossOver o Wine con el visor de Visio de Microsoft: convertirlo a PDF, de forma online. Lo que me ha salvado ha sido el sitio web FreePDFconvert.  Funciona perfectamente: puedes subir el fichero .vsd y al cabo de aproximadamente un minuto, está disponible para su descarga o bien te lo envían por email. No obstante, echo en falta la posibilidad de abrir los .vsd con alguna herramienta nativa que me permita editarlos.

TopCoder UML Tool: publicado el código fuente

TopCoder UML ToolTopCoder.com publica semanalmente varios retos relacionados con distintos aspectos de la ingeniería del software. Retan a los ingenieros informáticos de todo el mundo a ofrecer soluciones de diseño de aplicaciones, diseño de componentes, ensamblado de componentes, programación de dichos diseños, programación de algoritmos,… Todos (o casi todos) los retos vienen acompañados de recompensas económicas. Lo más importante, en mi opinión, es que todo el material que se genera en esos retos suele publicarse (a veces sólo durante la fase de revisión pública, como algunos diseños), de tal forma que si te has atascado en algún reto o bien quieres ver cómo han solucionado otros informáticos el problema, puedes hacerlo. Me resulta especialmente interesante ver y estudiar el código de los problemas de algoritmos más duros, así como los diagramas UML de algunos diseños, de los cuales, se aprende todos los días algo jugoso. Una gran web y un gran recurso formativo.

Hecha la presentación de TopCoder me gustaría hablaros ahora de una herramienta que, a pesar de llevar ya algún tiempo publicada, no ha sido hasta hace unas semanas cuando TopCoder ha decidido publicar su código fuente: se trata de la aplicación TopCoder UML Tool, una herramienta que permite generar distintos diagramas UML: diagramas de clase, de secuencia, de casos de uso, …

Hasta la aparición de TopCoder UML, los diseñadores debían de usar Poseidon para generar los diagramas UML solicitados. Gran herramienta, basada originalmente en ArgoUML, ésta última software libre (y que participó el año pasado en el Google Summer Of Code para añadirle algunas funcionalidades que no poseía, como la posibilidad de realizar diagramas de secuencia).

Lo bueno de la ‘liberación’ de TopCoder UML no sólo es que han publicado el código fuente, sino que en el esfuerzo han abierto para la comunidad toda la documentación generada en su proceso de construcción: casos de uso, diagramas de actividad, documento de especificación de requerimientos, prototipos, plan de gestión de la calidad, diagramas de secuencia, diagramas de componentes, diagramas de interfaces, especificación de componentes, … Estudiar esta documentación nos puede servir para hacernos una idea muy concreta de lo que supone construir una aplicación moderna, hoy en día, siguiendo una metodología, es decir, justo lo que interesa a cualquier alumno de ingeniería del software. Eso sí, hay que tomárselo con calma y mucho café al lado, dado que hay mucho material 😉