05 diciembre 2009

Determine file type with Ruby and libmagic (aka how the hell get the correct content-type from a browser-uploaded file)

At woices, we needed something to determine the file type of a file in Ruby, as content-type provided by browsers is, well, not the best out there :D

We wanted something like the command file -b --mime-type but without executing this command from ruby (starting a process from ruby is expensive for our needs).

So, libmagic to the rescue! This is the lib which the file command is based on. For ruby, there is a binding in the ruby-filemagic gem, but we need to install first libmagic-dev package to let the gem install properly:
$ sudo apt-get install libmagic-dev
$ sudo gem install ruby-filemagic
Now we can determine mime-type like this:


This script will set the value "audio/mpeg" to the content_type variable.

The syntax is strange and ugly, but the param to the open method is a flag (or a ORed set of flags) that affect behaviour of other libmagic functions. As we needed only the mime type, we pass the MAGIC_MIME_TYPE flag (if not, a textual description of the file will be returned by the file function).

The rest of the flags are explained in libmagic manpage:
$ man libmagic
This was tested with Ubuntu 9.10 Karmic Koala.

23 septiembre 2009

Configuración MMS e Internet en Nokia N85 con Simyo

El Nokia N85 lleva como sistema operativo Symbian OS v9.3 y como interfaz de usuario un S60 3rd Edition, Feature Pack 2, con lo cual, las opciones de configuración están algo cambiadas respecto a 3rd Ed original o el FP1. Estas instrucciones deberían servir para otros S60 3rd Ed. FP2.

Configuración de los MMS

Menu > Herramientas > Ajustes > Conexión > Destinos > Punto de acceso > Paquete de datos

En el paso "Punto de acceso", si os pide comprobar automáticamente si hay puntos de acceso disponibles, decid que "No".

07 septiembre 2009

El Circuit de Catalunya en Forza Motorsport 3

Alucinado me he quedado al ver el siguiente video de una carrera en El Circuit de Catalunya en el próximo FM3.



Muy conseguidos los detalles como la publicidad de LKXA o RACC.

Por cierto, el coche que aparece es ni mas ni menos que un Lamborghini Gallardo. Ahí es ná...

05 septiembre 2009

Arreglando problemas de fuentes con Chromium en Ubuntu Jaunty 9.04

Problema: Si tenemos en Ubuntu seleccionada como fuente de aplicación la Bitstream Vera Sans, Chromium tendrá problemas detectándola y no se iniciará correctamente:


oleguer@imhotep:~$ chromium-browser
[7085:7085:2011175710:FATAL:/build/buildd/chromium-browser-4.0.207.0~svn20090904r25449/build-tree/src/app/gfx/font_skia.cc(90)] Check failed: tf. Could not find font: Bitstream Vera Sans


Este es un problema conocido y aunque lo han marcado como resuelto, a mi sigue sin funcionarme correctamente.

Solución: Hay que cambiar la fuente de aplicación de Gnome, por ejemplo a Devjavu Sans (yo he usado el estilo Book)

Menú Sistema -> Preferencias -> Apariencia -> Tipografías -> Tipografía para la aplicación

18 julio 2009

Curiosidad - WTF: 5 captchas en 1 formulario

Habitualmente se utiliza un captcha (Completely Automated Public Turing test to tell Computers and Humans Apart) para proteger los formularios de registro y evitar los registros automatizados por bots.

Pero lo de esta gente ya es pasarse un poco: tienen 5 captchas en una misma página!!
Las pruebas para demostrar nuestra humanidad son:
  • Verificación visual (el más habitual)
  • Pregunta: ¿Vives en el planeta tierra?
  • Test matemático: una suma sencilla
  • Deja este campo sin rellenar (este es particularmente bueno, aquí pican todos los bots)
  • Pregunta: ¿Eres un humano?


Imagino que será efectivo al 120%: no entrará ningún robot y puede que tampoco algunos humanos...

13 julio 2009

"Bueno, esto es embarazoso."

Un curioso error de Firefox 3.5 que me ha mostrado al no poder recuperar las pestañas y ventanas que tenía abiertas tras una saliza forzosa.


Al menos reconocen que es embarazoso, cosa que pocos desarrolladores dirían de pasarles en sus programas XD

09 junio 2009

Tomaduras de pelo by Apple -y de empresas americanas en general-

Ayer fue la WWDC de Apple, donde presentaron iPhone 3G S y los nuevos Mac Book Pro entre otras cosas.

Una de las novedades fueron los precios más baratos para los portátiles, acorde con los tiempos de crisis...

Veamos el esquema de precios USA-España (precios "a partir de...", como no) para los MBP:
  • Mac Book Pro 13":
    • USA: $1199 (€855 al cambio*)
    • SPA: €1549 -> el "transporte" cuesta €694
  • Mac Book Pro 15":
    • USA: $1699 (€1211 al cambio)
    • SPA: €1749 -> sobrecosto de €538
  • Mac Book Pro 17":
    • USA: $2499 (€1782 al cambio)
    • SPA: €2249 -> sobrecosto de €467
Se ve que el transporte está muuuuy caro o que pretenden hacer pagar la rebaja que disfrutaran los americanos a los pringaos de los europeos... Espera, oh whait!!

Lo alarmante es que estos precios no son tan siquiera una conversión 1$ = 1€ a la que nos tienen acostumbrados los americanos, sinó que -exceptuando el MBP de 17"- el valor numérico del precio oficial en EUR es superior al valor de numerico del precio americano a pesar de que el dólar está más devaluado respecto al euro. ALUCINANTE.

fuentes:
http://www.apple.com/macbookpro/ (USA)
http://www.apple.com/es/macbookpro/ (España)

* Tomada como base de conversión: 1 € = 1.40250 USD, a fecha del post.

10 abril 2009

Arreglando audacity en Ubuntu 8.10 Intrepid Ibex

El paquete que trae Ubuntu 8.10 para audacity no funciona correctamente con el nuevo servidor de sonido PulseAudio: cuando se carga cualquier audio y se intenta reproducir, la barra de progreso se mueve, pero no se escucha sonido alguno por los altavoces. Y tratándose de un editor de sonido, pues no es plan... XD

Buscando por el internete, he encontrado otra versión del paquete de audacity empaquetada por un tal David Henningsson en su Launchpad's Personal Package Archives (PPA) que sí funciona.

Los pasos para instalar dicha versión son:

PASO 1: Añadimos el origen del PPA al final del sources.list. Para ello, abrimos este fichero con gedit, (como root) poniendo esta línea en la consola:
$ gksudo gedit /etc/apt/sources.list
Al final del fichero, añadimos esta línea, guardamos y cerramos gedit:
deb http://ppa.launchpad.net/diwic/ppa/ubuntu intrepid main

PASO 2
: Añadir las claves del PPA de David en nuestro sistema. Ponemos esta línea en una consola:
$ sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com F62476D8

PASO 3: Actualizamos los paquetes. Si usamos Synaptic sólo debemos abrirlo, darle al botón "Recargar" primero, luego a "Marcar todas las actualizaciones" y finalmente "Aplicar". Podemos abrir Synaptic desde el menú Sistema -> Administración -> Gestor de paquetes Synaptic o poniendo esto en la consola:
$ gksudo synaptic

PASO 4: Abrimos audacity, escogemos Editar -> Preferencias en el menú. Luego, vamos a la pestaña Audio E/S y escogemos el dispositivo ALSA: pulse dentro del recuadro Reproducción. Escogemos el mismo dispositivo en el recuadro Grabación.

Con esto deberíamos poder abrir cualquier audio soportado por audacity y escucharlo correctamente al reproducirlo.

06 marzo 2009

Instalar JMF 2.1.1 Linux Performance Pack en Ubuntu

Este tutorial es para la version 2.1.1e de JMF en su versión Linux Performance Pack (fichero con el nombre jmf-2_1_1e-linux-i586.bin).

Resulta que el instalador oficial no funciona correctamente en Ubuntu, dando el siguiente error:
Unpacking...
tail: no se puede abrir «+309» para lectura: No existe el fichero ó directorio
Extracting...
./install.sfx.30138: 1: cannot open ==: No such file
./install.sfx.30138: 1: ==: not found
./install.sfx.30138: 3: Syntax error: ")" unexpected
La solución es simple:

PASO 1: Bajamos el Java Media Framework de su web y lo guardamos por ejemplo en /home/usuario/jmf-2_1_1e-linux-i586.bin

PASO 2: Arreglar el instalador: a este le falta el parámetro "-n" al comando tail que usa internamente. Mejor usar sed que editores interactivos como vim o gedit, pues estos pueden alterar el instalador:
$ cd /home/usuario
$ cat jmf-2_1_1e-linux-i586.bin | sed 's/tail +309 $0 > $outname/tail -n +309 $0 > $outname/' > jmf-2_1_1e-linux-i586.bin.fixed 
PASO 3: Ejecutar el instalador arreglado concediéndole antes permisos de ejecución:
$ chmod u+x jmf-2_1_1e-linux-i586.bin.fixed
$ cd /directorio/donde/queremos/instalar/jmf
$ /home/usuario/jmf-2_1_1e-linux-i586.bin.fixed
Luego podemos pasar a configurar JMF siguiendo los pasos de este enlace (esta entrada cubre solamente el paso que falla 2: Run the Installation program to extract JMF to a directory).

31 enero 2009

Google ha roto Internet...

Señor@s, el caos se ha apoderado del mundo el día de hoy (al menos durante un ratito, hacia las 16:10 CET) :

¡El buscador de Google no funcionaba correctamente!

Parece que alguien la ha liado parda con el servicio que tienen para la detección de sitios fraudulentos o peligrosos, pues durante un rato todos los resultados de las búsquedas aparecían como sitios dañinos:

¡OMG, woices puede dañar mi equipo!
(que raro, no recuerdo haber implementado esa feature...)

Al hacer clic sobre los resultados aparecía una página como esta (pongo la de ejemplo de google, no he pensado en capturar la versión española):


Bueno no es para tanto, pero no deja de ser curioso cómo se le puede haber colado semejante
bug al todopoderoso Google, y encima en su producto estrella, el buscador.


Vaya, sólo con mencionar woices, una página se vuelve peligrosa...
Mmm, interesante...

Para más inri, y mientras algún ingeniero reconstruía cierto índice -sudando la gota gorda se entiende-, resulta que o este problemilla no afectaba a los productos de Google o que estos tenian prioridad para ser arreglados (fijaos que los únicos enlaces no dañinos son los de Youtube):


Conspiranoias a parte, con sucesos como este uno se da cuenta de la "dependencia" que llega a adquirir con ciertos servicios de internete, menos mal que siempre nos queda la competencia.

Cierro el post citando una reflexión de un filósofo-genio moderno:
¡Interneeeeeeeeeeeeeeeeeeeeeeeeee!....

05 enero 2009