Archivo para mayo de 2010

¿Mejoras en la interfaz de Android?

Una noticia rápida: Matías Duarte se ha pasado de Palm (ahora HP) a Android. Y diréis “¿Quién coño es Matías Duarte?”. Pues es el responsable (o uno de ellos) de la interfaz gráfica de usuario del sistema operativo WebOS que traen los Palm Pre.

Sin duda es una buena noticia para los teléfonos Android, porque, como comenté hace algún tiempo, había ciertas cosas que me gustaban más en WebOS que en Android, como el hecho de poder cambiar entre aplicaciones de una forma sencilla.

Así que esperemos que con esta incorporación mejore la interfaz de Android para darle ese pequeño empujón que creo que le falta.

Daniel Cohn-Bendit criticando la actuación del Parlamento Europeo con Grecia

Impresionante el vídeo donde el parlamentario europeo Daniel Cohn-Bendit critica con dureza la actuación de sus colegas ante la crisis de Grecia. Les dice muchas cosas, pero directamente les llama hipócritas al saber que Francia y Alemania les han vendido armas a Grecia que pagarán con el propio dinero que éstos le han prestado. Hipocresía pura y dura.

Además, da claves e invita a la iniciativa del propio parlamento a tomar cartas en el asunto de la crisis, no sólo de Grecia, sino mundial. Y todo esto se resumiría en dos cosas. La antes mencionada, iniciativa, y, la segunda, la transparencia de las operaciones.

Pero claro, de toda la cámara, seguro que este es el único parlamentario que tiene integridad, por lo que, por mucho que se diga, al final, como siempre, no harán nada.

Por cierto, el vídeo, aunque está en frances subtitulado al español, es muy recomendable.

Escrúpulos

La gente es muy escrupulosa, todo el día bebiendo del mismo vaso de cachi y luego quieren una boquilla nueva para el control de alcoholemia.

Un compañero de trabajo, esta mañana, comentando la noticia del “ahorro de boquillas”.

¿Copia Mercedes Benz una idea para su anuncio de la tecnología “Blue Efficiency”?

Pues resulta que haciendo un poco de zapping por las distintas cadenas de nuestra nueva y flamante TDT, me encuentro con el nuevo anuncio de Mercedes que muestra sus nuevas tecnologías de “Blue Efficiency” (por cierto, todavía no he encontrado el vídeo de dicho anuncio, así que si alguien lo tiene que lo comente, que lo enlazo aquí).

En ese anuncio aparece la idea de que a principios de siglo, el estiércol de los caballos era un grave problema en las ciudades debido a su acumulación, hasta que llegó el coche de gasolina, pero hoy en día es el coche de gasolina, que nos salvó en su momento, el que produce los problemas de contaminación. Y, claro, ahí es donde Mercedes muestra sus nuevas tecnologías no contaminantes (o, al menos, no muy contaminantes): las “Blue Efficiency”.

Este anuncio no tendría nada de especial si no fuera porque hace muy poco puse una cita en el blog comentando ese mismo hecho, cuya referencia era la entrada “¿Cuál fue el medio de transporte que más problemas causó a la humanidad?” del blog Genciencia.

¿Y esto ha sido una mera coincidencia o resulta que los responsables de marketing de Mercedes lo han leído (no necesariamente en Genciencia) y lo han aplicado a su campaña? Si es lo segundo ¿hasta qué punto podría ser un plagio? Porque todos sabemos lo que suelen hacer las compañías con Internet: como está ahí, es de todos y lo puedo coger para hacer lo que quiera. Porque lo de las licencias Creative Commons (y compañía) es como si no existieran.

Dale de comer a los peces

Esta chorrada (que, como todas estas cosas, puede llegar a ser adictiva) me la encontré leyendo por qué, sin verte, pueden multarte con esos nuevos radares que cronometran un tramo (que nada tiene que ver con esto). Y todo gracias al teorema del valor medio o de Lagrange. Pero no nos desviemos del tema, vayamos a la chorrada del día:

Y este desarrollador tiene más gadgets con los que perder el tiempo pasar el rato ;) .

Tercera ley de Clarke

Cualquier tecnología suficientemente avanzada es indistinguible de la magia.

Arthur C. Clarke (1917 – 2008), escritor y científico británico.

Me lo recordó un vídeo (en inglés subtitulado) de Richard Dawkins hablando sobre la humildad de la ciencia y la arrogancia de la fe.

Jugando en el casino

Ahora no se fabrica, no se da trabajo y riqueza a la zona, se juega en el casino.

Rosa María Artal, en una entrada de su blog criticando el hecho de por qué no se puede incomodar a los ricos españoles.

Pareidolia

Cuando alguien te venga con el cuento (sí, el cuento) de que ve la cara de Jesús (el Jesús de los católicos) en una tostada, o que ve a la virgen en una pared, o cualquier otra tontería similar aduciendo que es por intervención divina, no os echéis para atrás y contadle la verdad: tienen pareidolia.

La pareidolia es un fenómeno psicológico consistente en que un estímulo vago y aleatorio (habitualmente una imagen) es percibido erróneamente como una forma reconocible (definición de la Wikipedia).

Este fenómeno no sólo pasa en místicos que en cualquier lugar ven a los seres imaginarios que gobiernan su vida, sino es que algo más bien común: todos hemos visto más de una vez formas reconocibles en las nubes. La diferencia con los fanáticos es que a nosotros no nos marcan el camino a seguir. Simplemente son formas con las que pasar el rato.

De todas formas, si conseguís ver la cara de Jesús o la virgen en cualquier sitio, no desperdiciéis la oportunidad y vendedlo. Siempre habrá un tonto que os lo compre.

Privacidad en Facebook

Estoy harto de ver en las noticias que si a Facebook no le importa tu privacidad, que si es inseguro, que si tus datos los ve todo el mundo… tonterías.

Todos los datos de Facebook los ve quién tú quieras que los vea. Eso sí, tienes que perder gastar un poco de tu tiempo que configurarlo como debe, porque Facebook no va a hacer el trabajo por ti. Basta con ir a tu perfil, leer lo que pone (remarco leer porque nadie lee lo que pone y luego van al pringao informático de cabecera a preguntar) y marcar las opciones que creas oportunas.

Pero, como hay opciones que parecen la letra pequeña y está un poco ocultas, existen herramientas que te ayudan en la tarea de la configuración, como por ejemplo Reclaim Privacy (gratis, que yo sepa).

Esta página te insta a que añadas un enlace en tu barra de marcadores del navegador para luego irte a tu cuenta de Facebook (estando ya autentificado) y, al darle al enlace que acabas de añadir, te saldrán una serie de comprobaciones indicado si las opciones que tienes hacen seguro o inseguro tu Facebook. En caso de que no lo sea, simplemente sigue las instrucciones que te marca.

Opciones de Reclaim Privacy para la privacidad de Facebook

Y listo.

Internet, Facebook o cualquier otra herramienta social no es mala, no distribuye nuestros más íntimos secretos a través de la Red. Quienes lo hacemos mal somos los usuarios que no nos paramos a ver qué es lo que estamos usando y como nos afecta. Porque si una herramienta no hace realmente lo que nosotros queremos o necesitamos, simplemente dejamos de usarla (excepto con Windows, que eso no pasa; seguimos usándolo aunque nos pierda todos los datos).

Además, como dijo en su momento alguien de Google (creo recordar, no me hagáis caso): “si no quieres que algo se sepa, no lo hagas.

Día de Internet

Hoy, 17 de mayo, es el Día de Internet.

Pero no debería llamarse “Día de Internet”. Internet es una red que interconecta otras redes de datos. No más que eso. Internet es la infraestructura, tanto física (cables) como lógica (protocolos) que posibilita el libre (de momento) intercambio de información.

Por lo que el “Día de Internet” debería llamarse el “Día del libre intercambio de información”.

Sentarse recto es malo para la espalda

Es la segunda vez que veo algo similar en las noticias; eso de sentarse en la silla en ángulo de noventa grados entre la espalda y las piernas no es del todo bueno. Y no lo digo yo, lo dice un estudio realizado entre investigadores escoceses y canadienses.

Posición sentado

El resumen es algo así como que la posición de noventa grados hace que haya mayor peso sobre los discos intervertebrales con lo que se facilita que estos se muevan provocando dolor de espalda, mientras que con la posición más tumbada, se consigue descargar este peso y que se reduzcan los dolores.

Aunque, en definitiva, resumen el estudio con que “el cuerpo humano no está hecho para ser sedentario”. Así que ya sabéis sabemos, hay que hacer ejercicio físico ;) .

Detectores

Las pulseritas mágicas son un detector de encefalogramas planos terminales.

La mejor definición que he visto del timo de las pulseras Power Balance.

17 pequeñas notas sobre programación en C++

  1. C++ no es C. Usa el que más te convenga en cada momento.
  2. Si programas en C++, usa su librería estándar, STL, siempre que puedas.
  3. No reinventes la rueda, si necesitas mayor funcionalidad, usa librerías que la proporcionen y que estén en un estado de madurez suficiente, como la librería boost.
  4. No se recomienda que los castings se hagan de forma implícita o de la forma que lo hace C. Se recomienda usar su nueva sintaxis: static_cast, dynamic_cast, const_cast y reinterpret_cast.
  5. Un casting con static_cast se evalúa en tiempo de compilación y es el más parecido al casting implícito de C. Se usa para convertir un tipo de dato en otro.
  6. Un casting con dynamic_cast se usa para hacer castings en tiempo de ejecución pero sólo para objetos polimórficos, esto es, para recorrer la jerarquía de clases. No funcionará con tipos básicos.
  7. Un casting con const_cast no cambia de tipo sino que cambia los modificadores const y volatile.
  8. Un casting con reinterpret_cast se usa para hacer cambios de tipo a nivel de bits, es decir, para convertir entre tipos totalmente distintos.
  9. Una función dentro de una clase que tenga el modificador const (por ejemplo void MiClase::MiFuncion() const { ... }) no modifica el contenido del objeto (no modifica los campos del objeto). Esto se usa para ejecutar funciones dentro de instancias constantes.
  10. Una función virtual pura debe ser declarada como virtual e igualada a cero dentro de la clase: virtual void MiFuncionVirtualPura() = 0;. Este tipo de funciones deben ser implementadas en las clases derivadas. Además, no se pueden instanciar clases que tengan funciones virtuales puras.
  11. Las variables miembro (propiedades) estáticas de una clase deben ser definidas fuera de la clase para que funcionen correctamente (si no se definen así, el error lo produce el linker: Undefined reference to MiClase::count):
    class MiClase {
    	public:
    		static int count;
    }
    
    int MiClase::count = 0;
    
  12. Las clases y funciones con plantillas se deben declarar e implementar en el mismo archivo ya que, como el código se genera en tiempo de compilación, si se declara en un .h y se implementa en un .cpp, es el linker el que no encuentra el código generado. Hay más soluciones, pero ninguna es buena del todo.
  13. Usa el sistema de gestión de excepciones de C++ y evita en lo posible el uso de valores de retorno indicando errores y sentencias if ya que son mucho más propensas a errores.
  14. Las excepciones deben representar el error que se produce, no quién las lanza o desde donde se lanzan.
  15. Siempre que puedas, usa objetos creados en el stack en lugar de en el heap. Con esto evitarás fugas de memoria (memory leak en inglés) ya que los objetos se destruyen cuando finaliza el ámbito de los mismos.
  16. Usa herramientas automatizadas para probar y depurar las aplicaciones (como valgrind para fugas de memoria).
  17. Nunca confies en que lo has revisado todo.

Actualización a Ubuntu 10.04 Lucid Lynx

Imagen de inicio de Ubuntu 10.04

Hoy me he actualizado a Ubuntu 10.04 desde la versión anterior, la 9.10, mediante el actualizador automático, y me he encontrado con algún que otro problemilla:

  • Ha tardado casi cuatro horas. Esto no es un problema realmente, pero entre las descargas y la instalación con dpkg se ha tirado un buen rato. Bien es cierto que tengo unos cuantos paquetes de desarrollo como gcc, g++, apache, mysql,…
  • Después de instalar, en el reinicio, no se me veían los bordes de las ventanas, con lo que no las podía mover, ni cerrar, ni nada. Eso era porque al darle a instalar tenía activado Compiz, y en el reinicio se desactivó. Para solucionarlo, basta con ir al Menú principal > Sistema > Preferencias > Apariencia y ahí, en la solapa Efectos visuales, seleccionar cualquiera que no sea el básico (luego ya se configurará al gusto) para activar de nuevo Compiz.
  • En otro ordenador que también instalé, tuve el problema de que en el reinicio no cargó correctamente el tema Ambiance ya que yo tenía un tema personalizado. Basta con seleccionar de nuevo el tema a aplicar en Menú principal > Sistema > Preferencias > Apariencia y listo.

Por cierto que el cambio de los marrones a los morados y grises me parece muy acertado; excepto, por supuesto, el cambio de los botones de las ventanas de la derecha a la izquierda (y estuve un rato probándolos, pero no me apaño). Para cambiarlos, en la aplicación gconf-editor se va a la ruta /apps/metacity/general/button_layout y se cambia el texto close,minimize,maximize: por el texto menu:minimize,maximize,close.

A parte de esto, ningún problema. Eso sí, eso de los 10 segundos en arrancar todavía les queda un poco lejos. Cierto es que arranca rápido, más rápido que la versión anterior, pero que no se echen tantos faroles. Esperemos que la próxima versión sea la vencida.

Vídeo en alta definición en contenedores mkv en televisores Samsung

Como ya comenté por aquí anteriormente, mi televisión (yo la quería más grande, pero…) usa Linux como sistema operativo y tiene implementado una interfaz de usuario y un reproductor multimedia que permite la reproducción de archivos de audio y vídeo directamente desde el aparato a través de una conexión USB. De hecho, esa fue una de las principales características por las que la compré.

Según el manual, además de reproducir los típicos formatos (AVI, DivX/Xvid, mpeg,…) también reproduce archivos Matroska (con extensión mkv) con vídeo en alta definición 1080p.

Como no tengo reproductor de Blu-ray (ni ganas que tengo de comprarlo) ni cable HDMI, pues he decidido bajar una película ripeada de Blu-ray en alta definición, para probar más que nada, así que me he badado Matrix (la mejor película de ciencia ficción de todos los tiempos, por cierto) en HD.

Un archivo normal de película ripeado desde DVD con resolución 720p codificada en formato Xvid y con sonido en MP3, ocupa entre 1,5 y 2 GB, dependiendo del tamaño de la película y de la calidad del ripeo. La película que me he bajado está codificada en H264 y con sonido en AC3 y ocupa ¡12 GB!

La televisión en cuestión, aunque la película tiene un bitrate de 15 Mbps (según VLC), no tiene ningún problema para reproducirla, todo lo contrario, la fluidez con lo que lo hace es pasmosa (mejor que mi ordenador). Y la calidad… pues sí, se aprecia. Se ven detalles que con la televisión normal o, incluso, con un DVD no se verían. Se aprecia la calidad en sí misma.

Pero como dije antes, esto era sólo para probar. No me voy a bajar cada película que quiera ver en HD con sus correspondientes diez o doce gigas y, ni mucho menos, me compraré un reproductor de Blu-ray (formato que, en mi opinión, morirá pronto). Seguiré bajando mis dos gigas por película a la espera de que la TDT transmita en alta definición. Aunque creo que tendré que esperar bastante :P .

SamyGO, el proyecto de mejora del software de televisores Samsung

Vaya, ¿todavía no he hablado escrito aquí de SamyGO? Si es que no me había dado ni cuenta…

Al grano. SamyGO es un proyecto de software que, mediante ingeniería inversa, intenta mejorar el software que gestiona los televisores Samsung, como el mío.

Para meternos en harina, Samsung en sus televisores usa procesadores ARM y una versión de Linux propietaria como el sistema operativo que los gobierna. En definitiva, una televisión de este tipo es como un ordenador pequeño con una pantalla muy grande. Mi teléfono móvil tiene un hardware parecido, pero con una pantalla un poco más pequeña :D .

Además de modificar Linux, Samsung ha desarrollado un módulo para el dicho kernel para gestionar su hardware (principalmente la tarjeta de vídeo, la pantalla y el sintonizador de televisión) y el software necesario para crear la interfaz de usuario. Además, ciertos modelos de televisor llevan incluida la capacidad de reproducción de archivos multimedia a través del puerto USB, con lo que también han desarrollado un reproductor multimedia (basado en ffmpeg, como se intuye por su página de descargas de software libre).

El proyecto SamyGO trata, como he dicho antes mediante ingeniería inversa, de sacar más partido al software de Samsung, solucionado ciertos errores y añadiendo más características a los televisores, como acceso a la televisión a través de telnet (esto sólo apto para frikis) o montar unidades compartidas (para reproducción) a través de Samba/CIFS.

Inicialmente el proceso es bien sencillo de realizar: te bajas la actualización de Samsung para tu modelo de televisor, le pasas el parche de SamyGO, y actualizas el aparato con este software modificado.

Pero claro, todo tiene sus problemas y si no sabes lo que estás haciendo, puedes dejar tu recién adquirido cine-en-casa como un ladrillo. Un ladrillo muy caro. Hay formas de revivirlo, pero según el wiki no son nada sencillas.

Yo de momento no lo he hecho, por el motivo de antes, pero me impresiona mucho que haya gente que no se conforma con lo que hay establecido (en materia de tecnología) y se ponga a mejorarlo. Y no sólo se ponga, sino que lo consiga. Hay gente muy inteligente y, sobre todo, con mucho tiempo libre.

De todas formas, estoy seguro de que a Samsung no le ha gustado nada este proyecto. Eso de violar su software por profanos… pero la lectura que deberían de hacer es bien distinta: ¿por qué no aprovecharse de este trabajo para mejorar sus televisores? ¿Por qué no abrir todo su software para que los hackers lo puedan estudiar y casi seguro que mejorar, y luego aprovecharse de ello?

Ya sabemos que al mundo de la empresa lo único que le importa es tener beneficios y poco sus consumidores, pero me gustaría que al menos viesen este proyecto como algo positivo. Y no sólo esta empresa.