miércoles, 9 de noviembre de 2011

Fiabilidad

Estaba cerrando algunas pestañas del editor de textos (gedit) que utilizo en mi puesto de trabajo (Ubuntu 10.04 LTS), cuando me ha aparecido un mensaje que seguramente no es muy habitual.

Mejor dejo una captura de pantalla...


Robustas y fiables. Así deben de ser las herramientas de trabajo. De este modo, uno se puede centrar en hacer el trabajo y no en mantener la herramienta. Leer más...

lunes, 14 de febrero de 2011

Cursos de alemán online

Desde que se anunció la disponibilidad de ofertas de trabajo para personas dispuestas a viajar a Alemania, se ha multiplicado el número de interesados en aprender alemán.

Dependiendo de las fuentes consultadas, la matriculación en las academias ha aumentado entre un 10% y un 40%. Aunque no haya acuerdo en las cifras, lo que es innegable es que la demanda de aprendizaje de este idioma se ha multiplicado, y en algunas ciudades hay lista de espera para poder acceder a una plaza en una academia de alemán.

Para todos aquéllos interesados en dicho idioma, independientemente de si han conseguido o no plazas en academia, seguro que resulta de interés saber que hay múltiples recursos disponibles en Internet para ayudar en el aprendizaje del idioma.

En lo que respecta al alemán en particular, no podemos dejar de nombrar el sitio web de Deutsche Welle, que vendría a ser algo equivalente al Radio Nacional de España. En esta web podemos encontrar cursos "radiofónicos" (inicialmente pensador para difundir por radio) disponibles para su descarga por Internet. Estos cursos están disponibles de forma pública, pudiendo ser descargados de forma completamente legal y gratuita.
Gran parte del material,ha sido desarrollado de forma conjunta con el Instituto Goethe (algo así como el Instituto Cervantes), con lo cual, podemos asegurar que el rigor y la calidad de los mismos cuentan con las máximas garantías.

Podemos encontrar cursos de diferentes niveles, pero en particular, para quienes se inician en el idioma, podríamos apuntar los siguientes:



Warum nicht?
Curso con diferentes niveles, dirigido tanto a estudiantes como a usuarios avanzados.
- sitio web
- Podcasts (formato RSS o iTunes)

Radio D:
"...está pensado para principiantes sin o con escasos conocimientos previos y cubre los niveles comprendidos entre el A1 y el A2 del Marco de referencia europeo."
- Sitio web
- Enlace Podcasting (formato RSS o iTunes)

Mission Berlin:
Otro curso de iniciación, con un formato un poco diferente a los anteriores.
- Sitio web
- Enlaces podcasts (formato RSS o iTunes) Leer más...

viernes, 17 de septiembre de 2010

Square: Soporte nativo de 64 bits en Flash

Con fecha 15 de septiembre, en un blog de Adobe se anunciaba la disponibilidad de Flash Player Square: Una versión preliminar del reproductor de Flash, que ofrece como característica más interesante el soporte nativo para arquitecturas de 64 bits.

Podemos encontrar más información acerca de sus características, así como los enlaces para descargarlo en la web de Adobe.

Dado que las instrucciones de instalación para sistemas Linux son más bien escuetas, publico las siguientes instrucciones para aquellos que deseen instalar el reproductor en equipos con Ubuntu.

Instalación de Flash Player "Square" en Ubuntu 10.04 x86_64


Si echamos un vistazo al sistema de ficheros de nuestro Ubuntu buscando la ubicación del reproductor de flash, veremos referencias al mismo en múltiples sitios. Además podremos observar que la instalación se ha realizado con el sistema de alternatives, del cual nos vamos a beneficiar instalando la versión "square" sin necesidad de desinstalar la versión estable que tengamos alcualmente. Este es precisamente el objetivo del sistema alternatives: permitir que convivan diferentes alternativas que ofrecen un mismo servicio.

En el sistema de ficheros, podemos observar las siguientes entradas relativas al reproductor de flash (Estamos hablando de un sistema con una distribución de 64 bits):

En primer lugar, la librería que contiene la versión 32 bits del reproductor:
/usr/lib/flashplugin-installer/libflashplayer.so

Por otra parte, una entrada para poder ejecutar el reproductor mediante un wrapper (envoltorio) que permite la ejecución de código de 32 bits en entornos de 64 bits:
/var/lib/flashplugin-installer/npwrapper.libflashplayer.so

Y por último, las entradas para diversas aplicaciones que pueden requerir el reproductor de flash:
/usr/lib/iceape/plugins/flashplugin-alternative.so
/usr/lib/iceweasel/plugins/flashplugin-alternative.so
/usr/lib/firefox/plugins/flashplugin-alternative.so
/usr/lib/midbrowser/plugins/flashplugin-alternative.so
/usr/lib/mozilla/plugins/flashplugin-alternative.so
/usr/lib/xulrunner-addons/plugins/flashplugin-alternative.so
/usr/lib/xulrunner/plugins/flashplugin-alternative.so


Observando estas entradas, vemos que no son más que enlaces simbólicos al directorio donde se almacena la configuración de la utilidad alternatives:

/etc/alternatives/iceape-flashplugin
/etc/alternatives/iceweasel-flashplugin
/etc/alternatives/firefox-flashplugin
/etc/alternatives/midbrowser-flashplugin
/etc/alternatives/mozilla-flashplugin
/etc/alternatives/xulrunner-addons-flashplugin
/etc/alternatives/xulrunner-flashplugin


A su vez, todas estas entradas son enlaces simbólicos a un único punto: La librería preparada para ser ejecutada a través del wrapper que comentabamos anteriormente:

/var/lib/flashplugin-installer/npwrapper.libflashplayer.so

Lo que vamos a hacer es respetar toda esta instalación y añadir como nueva alternativa la versión square. Esto evitará que tengamos que desinstalar la versión que tengamos actualmente. Además permitirá que en caso de aparecer problemas o resultar inestable, podamos volver atrás de manera sencilla y que el sistema siga viendo y actualizando la versión estable.

Instalación:

Nos dirigimos a la página indicada anteriormente y descargamos la versión de 64 bits para Linux:

Creamos un directorio de instalación (con un nombre y ubicación consistente con la versión estable) para dejar en éste la nueva versión:


sudo mkdir /usr/lib/flashplugin-square
cd /usr/lib/flashplugin-square
sudo tar -xzf ~/Descargas/flashplayer_square_p1_64bit_linux_091510.tar.gz

A continuación instalamos las alternativas para aquellos programas en los que deseemos utilizar el nuevo reproductor. Comentar que Firefox (al menos la versión 3.6.x) no utiliza la entrada firefox, sino la entrada mozilla. Es decir, si únicamente queremos hacer las pruebas en Firefox, bastará con ejecutar el siguiente comando:

sudo update-alternatives --install /usr/lib/mozilla/plugins/flashplugin-alternative.so mozilla-flashplugin /usr/lib/flashplugin-square/libflashplayer.so 60


Si reiniciamos el navegador, veremos que ya tenemos una versión de 64 bits (en particular se trata de la versión 10.2.161.22), que se ejecuta sin ningún tipo de wrapper.

En cualquier momento podemos conmutar entre una y otra versión con el siguiente comando:
sudo update-alternatives --config mozilla-flashplugin


Y por último, si queremos realizar la misma operación con cualquier otro producto que pueda hacer uso del reproductor de flash, basta con repetir estas operaciones para el producto en cuestión:


sudo update-alternatives --install /usr/lib/iceape/plugins/flashplugin-alternative.so iceape-flashplugin /usr/lib/flashplugin-square/libflashplayer.so 60
sudo update-alternatives --install /usr/lib/iceweasel/plugins/flashplugin-alternative.so iceweasel-flashplugin /usr/lib/flashplugin-square/libflashplayer.so 60
sudo update-alternatives --install /usr/lib/firefox/plugins/flashplugin-alternative.so firefox-flashplugin /usr/lib/flashplugin-square/libflashplayer.so 60
sudo update-alternatives --install /usr/lib/midbrowser/plugins/flashplugin-alternative.so midbrowser-flashplugin /usr/lib/flashplugin-square/libflashplayer.so 60
sudo update-alternatives --install /usr/lib/xulrunner-addons/plugins/flashplugin-alternative.so xulrunner-addons-flashplugin /usr/lib/flashplugin-square/libflashplayer.so 60
sudo update-alternatives --install /usr/lib/xulrunner/plugins/flashplugin-alternative.so xulrunner-flashplugin /usr/lib/flashplugin-square/libflashplayer.so 60


Tras haber realizado unas cuantas pruebas los resultados son excelentes: El reproductor es sumamente estable y todo parece funcionar correctamente.

Para quienes deseen probarlo, dejo un enlace a un sitio interesante que puede servir a modo de test (pues indica tasa de FPS así como memoria RAM utilizada).

(English version of the article here)

Actualización (20110117): Modificado el enlace de descarga, para apuntar a la nueva ubicación de Flash Player Square Leer más...

sábado, 21 de agosto de 2010

Android: Medidor de inclinación para vehículos

Hace escasamente unas horas, acabo de publicar mi primera aplicación desarrollada para Android. Seguramente Android no necesitará ser presentado para los lectores que terminan leyendo este blog. El conocido sistema operativo de Google para teléfonos móviles, libre, de fuentes abiertas y basado en Linux está dando mucho que hablar en blogs y webs sobre temas tecnológicos.

Hace algunos meses, descargué el conjunto de herramientas para desarrolladores interesados en crear aplicaciones para Android (o simplemente hacer alguna prueba). Tras algunas pruebas iniciales, como el tradicional "Hola mundo" o ejemplos copiados y modificados a partir de tutoriales, he ido poco a poco sintiendo un mayor interés por este entorno, y las posibilidades que ofrece, tanto Android en sí, como los smartphones o teléfonos de última generación, que poco a poco se van pareciendo cada vez más a un ordenador personal en cuanto a funcionalidades y posibilidades.



El primer fruto de las horas invertidas, es una aplicación que muestra la orientación del teléfono basándose en la lectura de los datos proporcionados por el sensor de aceleración. A partir de estos datos, se puede obtener la inclinación (tanto frontal como lateral) del mismo. La cosa se complica un poco al añadir una opción de calibración (ajuste de cero). Esto me ha obligado a repasar cuestiones de álgebra y geometría que por mi parte llevaban ya algún tiempo en el olvido.

Aunque el objetivo principal es utilizar el teléfono como dispositivo indicador en vehículos 4x4, se puede utilizar en cualquier contexto que requiera medidas de ángulos.



Como comentario, por lo que he averiguado al buscar referencias sobre estos instrumentos, parece ser que fueron popularizados a mediados de los 80 por los vehículos 4x4 de la casa Toyota.
Para quienes estén interesados, la aplicación está disponible en Android Market y se puede acceder a ella fácilmente a través de su código QR:



Actualización (16/09/2010)
:
Dejo algunos enlaces a webs en las que se muestran los programas disponibles en el Android Market, con la referencia que hacen a esta aplicación: AppBrain, AndroLib, AndroidPIT, AndroidZoom e incluso PCWorld.

Actualización (08/10/2010)
:
Recientemente se ha actualizado la aplicación a la versión 1.0.1. La actualización incluye traducciones a varios idiomas, además de soporte para Android 1.5 (la versión 1.0.0 requería al menos Android 1.6). De hecho, en la foto se puede ver la aplicación ejecutándose en un terminal GeneralMobile DSTL1 con Android 1.5.

Leer más...

martes, 20 de abril de 2010

Rotación de fotos sin pérdidas en Gnome (Nautilus)

Cada vez son más los modelos de cámaras digitales que incorporan un sensor de posición, capaz de determinar la orientación de la cámara (horizontal o vertical) en el momento de realizar una fotografía.

Conocida la orientación, es fácil registrar en el correspondiente campo EXIF de la foto los datos de la misma, para que así el software de visualización la pueda mostrar con la orientación correcta sin necesidad de ninguna intervención manual.



Dado que hay infinidad de cámaras digitales que no cuentan con este tipo de mecanismos, y que la tarea de rotar fotos se vuelve un poco pesada cuando manejamos series grandes, se ha tratado de preparar una herramienta para facilitar o al menos hacer un poco más llevadera la tarea de orientar correctamente nuestras fotos.

Parece bastante razonable asumir que nadie quiere que sus fotos se degraden, de modo que vamos a efectuar esta reorientación con herramientas que realizan las modificaciones necesarias sin necesidad de aplicar de nuevo algoritmo de encodado (nos referimos a imágenes en formato Jpeg, el cual implica una compresión con pérdidas). En Linux contamos con dos utilidades que pueden realizar este tipo de tareas sin afectar a la calidad de nuestras fotografías: jpegtran y exiftran.

Para quienes utilizamos Ubuntu, la primera de estas utilidades parece la más indicada, ya que aunque ambas están incluida en los repositorios oficiales, sólo jpegtran cuenta con soporte de Canonical. Sin embargo, exiftran parece más recomendable, ya que a juzgar por la descripción, realiza las modificaciones de una forma más consistente, dejando la información contenida en los campos EXIF acorde con la nueva orientación que hemos dado a la fotografía.

Lo que se plantea en este artículo es lo siguiente: Preparar unos scripts para realizar la rotación de las imágenes e integrarlos en Nautilus para que su uso sea cómodo y sencillo para usuarios de cualquier nivel.

En primer lugar, instalaremos el paquete exiftran, bien desde Synaptic o desde la línea de comandos:

$ sudo apt-get install exiftran

A continuación preparamos los scripts que se ocuparán de realizar la rotación. Para integrarlos en Nautilus, deberán de estar en la ubicación adecuada: ~/.gnome2/nautilus-scripts

Dado que podemos tener otros scripts, puede resultar conveniente agruparlos en un nuevo directorio:

$ mkdir ~/.gnome2/nautilus-scripts/jpeg-ls

A continuación creamos es script con nuestro editor favorito, p.ej:

$ vi ~/.gnome2/nautilus-scripts/jpeg-ls/lrotate


#!/bin/bash

for URI in $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS;
do
MIME_TYPE=`file --mime-type -bp $URI`;
if [ $MIME_TYPE == "image/jpeg" ]
then
exiftran -2i $URI
fi
done


Este primer script realiza la rotación a la izquierda (lrotate: Left Rotate), y del mismo modo creamos el script rrotate, en el cual simplemente cambiamos un parámetro de la llamada al comando exiftran:


exiftran -9i $URI


El script únicamente se ejecuta sobre los ficheros seleccionados cuyo mime-type sea image/jpeg Una vez creados los scripts, basta con darles permisos de ejecución

$ chmod +x ~/.gnome2/nautilus-scripts/jpeg-ls/?rotate

Y ya tenemos un menú en Nautilus para rotar nuestras fotos de manera muy simple. Para acceder al menú, se seleccionan las fotos a rotar y con el botón secundario del ratón, en la categoría scripts, se indica el script a aplicar. Con hacer esto la fotografía estará ya rotada, aunque Nautilus no siempre es consciente de los cambios y en ocasiones es necesario forzar un refresco para que se muestren las nuevas miniaturas, ya correctamente orientadas. Leer más...

domingo, 28 de febrero de 2010

Novedades en Ubuntu 10.04

El pasado día 25 de febrero se publicó la versión alfa 3 de Ubuntu 10.04. En ella ya podemos ir viendo algunos de los cambios que nos vamos a encontrar cuando, dentro de algo menos de dos meses, se publique la versión final.


Arrancamos el ya veterano Asus Eee PC 701 con dicha versión del sistema operativo. Observamos que éste incluye la versión 2.6.32 del kernel, así como Gnome 2.29


En los menús del sistema (sistema → preferencias) encontramos opciones para gestionar las preferencias de mensajería y VoIP


Con respecto al navegador, se incluye Firefox 3.6, en el que podemos observar que el buscador predeterminado ha cambiado: Google ha sido reemplazado por Yahoo. No obstante, podemos fácilmente elegir entre varios buscadores, tal y como venía sucediendo hasta ahora.


Como anécdota, comentar que entre los juegos se incluye Gbrainy: Un juego de entrenamiento mental similar a los que se han popularizado con alguna consola portátil.


El resto del software, también se ha actualizado. Por ejemplo, se incluye la última versión disponible actualmente (3.2) de la suite ofimática OpenOffice.org.


Quizás el cambio más destacable en cuanto a software incluido esté en el apartado de imagen y multimedia: Se ha eliminado GIMP y se ha incluido un editor de video: PiTiVi


Otro software que llama la atención es onBoard: Un teclado en la pantalla, relacionado con cuestiones de accesibilidad. Me quedo con la duda de si será utilizable desde una pantalla táctil.


Mención especial merece la ya de por sí valiosa utilidad de discos. Dicha utilidad ha sido ampliada y mejorada, de manera que se convierte en un punto de entrada rápido para casi cualquier operación o test que queramos hacer a nuestros dispositivos de almacenamiento de datos. Como comentario, indicar que estas últimas pantallas se han capturado en un equipo Asus Eee PC 1005HA (equipado con un procesador Intel Atom N270).


Un último comentario relacionado con multimedia y codecs: El sistema, en su versión actual no es capaz de reproducir videos. Tras haber probado con diferentes formatos (h264, xvid, mpeg) observamos que el sistema ni siquiera puede obtener unos codecs mpeg1. Suponemos que es algo propio de la versión alfa y esperamos no encontrarnos en la versión final con limitaciones o restricciones en cuanto a los codecs disponibles. Leer más...

lunes, 25 de enero de 2010

El timo de las memorias flash

Recientemente se está extendiendo un nuevo tipo de fraude del que, yo al menos, no había tenido conocimiento hasta ahora.

Todo comenzó estas navidades, cuando decidí autoregalarme un reproductor musical (mp3). Dado que no soy especialmente melómano y que mi presupuesto era bastante limitado, pues me dediqué a buscar por eBay ya que aparentemente se pueden comprar directamente en China reproductores de tipo mp3 / mp4 a precios impensables en España.

Aproximadamente dos semanas después de hacer mi compra, me encuentro con el aviso de Correos, y en cuanto tengo ocasión voy a recoger mi nuevo reproductor.

En este caso, se trata de una copia mala del iPod de Apple. No me sorprendió la mala calidad de los acabados, ni el nulo parecido entre el software del original de Apple y esta burda copia. Esto eran cosas con las que ya contaba. Sí que me sorprendió, sin embargo el hecho de que el aparato era prácticamente imposible de utilizar: Tras horas de carga, tenía autonomía para unos pocos minutos. Esto me hizo comenzar a mirar en foros sobre posibles quejas relativas a este aparato, y fue entonces cuando me enteré, de forma casual, de la existencia de una estafa a gran escala consistente en vender todo tipo de dispositivos basados en memoria flash (memorias USB, tarjetas de memoria, reproductores mp3 / mp4, etc) totalmente fraudulentos.

El fraude consiste en modificar el controlador de memoria para que el sistema informe de capacidades absolutamente irreales. En mi caso, mi dispositivo cuenta con un módulo de memoria de 2GB pero se vende como un dispositivo de 8GB. El sistema operativo lo detecta como 8GB y el fraude es imposible de detectar hasta en el momento en que el usuario graba más de 2GB y trata de acceder a los datos grabados.

Buscando un poco más, me encuentro con que multitud de usuarios han sufrido este mismo problema y se han creado sitios web para tratar de poner freno a este tipo de fraudes SOSFakeFlash, FakeFlashNews, TechChips, FlashDriveFacts, FlashFakeCentral, e incluso hay sitios (p.ej. FixFakeFlash) en los que se dan instrucciones para intentar "reparar" estos dispositivos y tratar al menos de aprovechar su capacidad real de memoria.

Como nota, indicar que en un reciente informe (diciembre de 2009), España aparece en cuarto lugar (y primer país no angloparlante) en número de víctimas de este tipo de fraude.

¿Y qué podemos hacer si hemos comprado un dispositivo flash? Me consta que mucha gente ha comprado reproductores de música y / o vídeo, tarjetas de memoria para sus cámaras o teléfonos móviles o simplemente memorias USB. Ahora mismo, la mejor herramienta para salir de dudas con respecto a la capacidad real del dispositivo parece ser la siguiente:

El programa h2testw (descarga aquí) parece ser la herramienta aconsejada en todos los sitios. El programa está en alemán e inglés, y la página sólo en alemán pero con algún traductor online se puede entender lo suficiente.

En mi caso, tras aplicar el programa a mi reproductor musical, me encontré con lo siguiente:

Warning: Only 7438 of 7519 MByte tested.
The media is likely to be defective.
1.6 GByte OK (3523960 sectors)
5.5 GByte DATA LOST (11709064 sectors)
Details:5.3 GByte overwritten (11297406 sectors)
0 KByte slightly changed (< 8 bit/sector, 0 sectors)
201.0 MByte corrupted (411658 sectors)
32 KByte aliased memory (64 sectors)
First error at offset: 0x0000000000000000
Expected: 0x0000000000000000
Found: 0x00011a4543425355
H2testw version 1.3
Writing speed: 10.9 MByte/s
Reading speed: 12.7 MByte/s
H2testw v1.4


En definitiva: De los supuestos 8GB del dispositivo, algo menos de 2GB resultaban ser usables.

El programa, muy prudente, aplica la presunción de inocencia y nos dice que la memoria puede estar defectuosa. Tras ver estos resultados, decidí abrir el dispositivo y esto es lo que me encontré:

Podemos ver la pegatina indicando que el dispositivo tiene supuestamente 8GB, y de hecho así es como la controladora de memoria se lo notifica al sistema operativo. La sorpresa está en el interior:



El chip de memoria flash es un Hynix H27UAG8T2ATR. Buscando en Internet, éste resulta ser un módulo de 16Gbit, es decir de 2GB de memoria flash. Obviamente estamos ante un fraude. El sistema ha sido manipulado para informar que cuenta con mayor cantidad de memoria (en este caso, 8GB). Leer más...