03 junio 2008

La pila

Hola a todos. Hoy voy a hablar de libros, de libros que tengo por leer.

Hace casi dos semanas que me compré una consolica portátil, la Nintendo DS, principalmente porque me salió por 88 €, pero también por envidia de la que tiene Pilar. El caso es que entre probar mil juegos (porque la nds es muy fácil de piratear) y jugar con Regaliz, casi no tengo tiempo para leer.

Y es que esto del tiempo libre es muy problemático. Es un recurso muy limitado, cuando la gente de negocios inventó lo de "el tiempo es oro", se referían sin duda al tiempo de ocio, no al de trabajo.

Mi problema es simple: quiero hacer demasiadas cosas. Como no tengo tiempo suficiente para hacerlas todas, tengo que priorizar. Por ello decidí no acumular muchos libros para poder jugar a la nds y con el gato, que aun es muy pequeño y necesita atención permanente. Yo normalmente tengo entre 1 y 3 libros acumulados en pila esperando a ser leídos. Esto es en parte por la auto-presión de leer 50 libros en un año, pero también porque siempre voy recolectando libros y nunca digo que no cuando alguien se ofrece a prestarme uno.



Hace dos semanas, cuando sólo tenía uno por leer, decidí no acumular más libros ...
Ahora mismo tengo una pila de seis libros. Pero todo tiene una explicación.

Hace tiempo quería leer El fin de la Eternidad de Asimov que tenía Fernando y no me había leído aun. Voy por la mitad y, bueno, está entretenido, he leído mejores de Asimov. Me mata las horas muertas en el trabajo y eso vale mucho.

El otro día fui al Corte Inglés a comprar un cargador español para la nds porque me la compró Carlos Costa cuando fue a los USA, y ya que estaba allí pensé en mirar los libros en inglés que había, porque no es fácil encontrar sitios donde vendan libros en inglés. Vi la segunda novela de Khaled Hosseini, A Thousand Splendid Suns (Mil soles espléndidos) y no pude evitarlo, lo compré. Luego busqué algo de Lorca y compré una edición baratera del Romacero gitano y, cuando ya me iba, vi un libro al que no pude resistirme, The Third Twin, de Ken Follet. Lo tenía todo. Un libro gordaco, en inglés, de un autor que me gusta y por 6 euros. ¡A la saca!


Por otro lado está el libro que compré en Círculo, esa pequeña secta que me es innecesaria pero a la que de momento mantengo mi adhesión. Compré el libro Vida y Destino de Vasili Grossman, que parece un clásico, aunque ya veremos.


Y para completar la pila, le compré un libro a un gitano por un euro en el rastro. El domingo, como me aburría un poco de jugar con Regaliz, me bajé al rastro de Mestalla, que me pilla al lado de casa, a ver que baratijas ofrecían. Fuera de toda previsión encontré, entre las novelas de vaqueros de hace cuarenta años, un libro bueno: Extraños en un tren, de Patricia Highsmith. Estuve ojeando que estuviese en buen estado, y cuando el gitano me dijo que "los libros a un euro", no lo dejé escapar.


Eso es todo. No sé si este año llegaré a los cincuenta, pero de momento la pila no baja, al contrario, parece que cuando menos tiempo tengo, más crece y crece sin control.

FUNDOOOOOOOOOOOOO


(por cierto, el Señor de las Tinieblas sigue igual que siempre)

Un saludo.
Sed felices.

31 mayo 2008

Subtitulador automático

Situación:

McClane acaba de conseguir el último capítulo de Perdidos y arde en deseos de verlo cuanto antes. Como lo ha bajado de un foro cutrero poco profesional, resulta que el capítulo está en versión original. Resulta paradójico que McClane domine todos los lenguajes de programación pero sólo hable castellano, y eso a pesar de tener un nombre tan inglés.
¿Qué hará McClane en esta peliaguda situación? Muy sencillo, ir al menú Reproducir -> Subtítulos -> Activar subtítulos automáticos. Al cabo de un instante los subtítulos empiezan a aparecer pero... ¡horror! los subtítulos salen también en inglés.

- Tranquilo McClane
,--piensa con calma-- sólo tengo que configurar los subtítulos.

Así pues, McClane vuelve al menú Reproducir -> Subtítulos -> Configuración... y una vez allí, selecciona Español como idioma preferido. Un instante después los subtítulos cambian de idioma y McClane ya puede ponerse cómodo para disfrutar de su serie preferida.

Y todo gratis con sólo hacer unos cuantos clicks.

LA IDEA


El relato anterior no tiene nada de increíble.

Hace años que existe el reconocimiento del habla (me recuerdo hará unos diez años en mi pentium 600 leyendo páginas del Quijote para "entrenar" a mi ordenador) aunque sus aplicaciones sean escasas a día de hoy, pero reconoced que alguna vez le habéis dicho información a una máquina teleoperadora.
La teoría básica del reconocimiento no es muy compleja, lo malo es que los sistemas actuales son propietarios y desarrollar uno desde cero es costosísimo, aunque con algún buen trato se podría intentar usar un sistema ya hecho. También se puede usar un sistema libre, aunque va a ser mucho más malo. De todas formas, aunque haya un porcentaje de palabras no reconocidas, tampoco pasa nada, yo he bajado subtítulos de calidades lamentables y estaban hechos por humanos (o quizás por monos esclavos).

El otro tema es la traducción automática. Aquí la cosa se complica. Muchos hemos usado el traductor de Google con pésimos resultados. Y eso que Google está apostando muy fuerte por la traducción, con la intención de que en un futuro se pueda buscar información en TODA la red sin importar en qué idioma fue creada. Pero bueno, una cosa es que la traducción sea mala y otra que no se pueda hacer, y poder se puede.


EL PROCEDIMIENTO

Ahora que sabemos que todo lo fundamental para nuestra idea ya existe, sólo nos queda desarrollar el software de aplicación, que ya aviso no tiene nada de misterioso. Hay programas comerciales que hacen ambas cosas por separado. Algún día que tenga tiempo, haré los primeros ensayos del subtitulador paso a paso, aunque la idea es hacerlo todo autómatico en un filtro del reproductor.

Del archivo de vídeo se extrae el audio mientras el vídeo se guarda en memoria. Se procesa el audio con el subsistema de reconocimiento de voz. En caso de que no corresponda con el idioma a mostrar se traduce. Se empieza a mostrar el vídeo que tenemos en memoria con el audio procesado y se incorporan los subtítulos.
Tachán!




Notas Finales

  • Antes de comenzar la reproducción hay que esperar que se procese una cierta cantidad de información.
  • Una cosa que merece la pena destacar es que el tiempo necesario para el proceso no depende de la entrada, vamos, que da igual qué vídeo tengas, siempre tardará lo mismo, con lo que no se crean parones a mitad de la reproducción.
  • Como he dicho, el reconocimiento de voz no es sencillo, pero a las malas se puede extraer el vídeo en un archivo y meterlo como entrada en algún programa ya existente. Lo malo es que tardaría más en comenzar el vídeo.
  • La traducción se puede hacer también con un programa externo ya existente, aunque la calidad seguramente será mala.
  • El sistema también sirve para crear archivos de subtítulos en varios idiomas. Aunque luego haya que corregirlos, el trabajo pesado ya lo hace él solo.

24 mayo 2008

Dos nuevos compañeros de piso


23 mayo 2008

A medio camino

Hay quien odia el Chiki-Chiki y se avergüenza de que nos represente mientras que otros muchos estamos muy contentos de que quede claro qué significa Eurovisión para la mayoría.

Se decidió que el representante saliese por votación popular y así ha sido. O eso piensan muchos.


Pero yo no estoy del todo contento. El Chiki-Chiki está bien pero no es lo mejor que podíamos haber elegido. Como le he dicho a muchos, no hemos quedado a medio camino. Ya que pasamos de ir con un cantante serio y vamos a dar la nota, tendríamos que haber llevado a La Pajarraca. Pero sin votación, directamente.


Cuenta la leyenda (que yo contaba como cierta aunque tras investigar dudo de su certeza) que cuando se decidió que el representante se elegiría por votación a través de internet, el ganador fue El Gato pero lo eliminaron acusado de hacer tongo, ya que de un día a otro le aparecieron un millón de votos de forma irregular y sospechosa. Una vez eliminado El Gato el ganador era La Pajarraca, pero también la eliminaron alegando que "eso" no era una canción, por lo que al fin el vencedor fue el famoso Chiki-Chiki.


Ahora ya es tarde. Eurovisión es mañana.

De todas formas quiero romper una lanza a favor de la que ahora es mi melodía del móvil, para que la gente sepa qué pudo ser y no fue. Lo que la cobardía de unos pocos ha relegado a una anécdota pudiendo haber sido un fenómeno de masas.
Con la esperanza de que cada vez menos gente me mire con cara rara cuando me suena el móvil y me preguntan qué es, os dejo el vídeo de La Pajarraca.






Imprescindible verlo con sonido. Vedlo hasta el final si es que podéis soportar tanto arte.

21 mayo 2008

Combatir una leyenda urbana

Hola amiguitos.

Hoy os planteo una duda que me asaltó el otro día y para la que aún no tengo respuesta satisfactoria.

Los hechos:
El pasado fin de semana fuimos a mi pueblo. Una tarde nos acercamos a saludar a mi tía y la encontramos en su casa con unos amigos. Como mi tía es muy atenta enseguida nos sacó un aperitivo y unas latas de cerveza. Entonces nos dijo:

Mi tía: Esperar un momento que os traiga unos vasos.

Yo: No te molestes, no hace falta.

Amiga de mi tía: No hay que beber directamente de la lata.

(1) Yo (que ya sabía lo que iba a pasar, pero poniendo cara de inocente): ¿Por qué?

Amiga de mi tía: Porque en los almacenes, las ratas se mean en las latas.

Yo: Eso es una leyenda urbana.

Amiga de mi tía: Es verdad, que lo he leído y me lo han contado.

Yo: ... mmm ... Bueno tía, cuéntame qué tal están mis primos...


Bien. Expuestos lo hechos yo me pregunto qué podía haber dicho, cómo tenía que haber actuado para desmentir esta patraña. Se me ocurrieron varias alternativas.

Alternativa 1:
Podría habérmelo tomado a risa, decir algo del estilo "qué crédula eres, no ves que eso es una mentira que se va contando por ahí" y ponerme a contar otras leyendas urbanas o a exponer razones por las que no me creo lo de las ratas.
Pero la situación es delicada. Yo, al preguntar en (1) dejo claro que no sé de lo que habla, por lo que la amiga de mi tía hace el papel del que explica algo. Y si tomo esta alternativa no sólo le estoy quitando la palabra y la razón, sino que encima la dejo como tonta.

Alternativa 2:
Intentar rebatir su argumento desde una posición neutral, sin decir que eso ya lo había oído. Esta alternativa puede ir bien si la amiga de mi tía no está muy segura. Pero este no era el caso por lo que el resultado hubiese sido una discusión estúpida sin sacar nada en claro.

Alternativa 3: (la que tomé)
Pasar del tema. Viendo que de verdad se lo cree, y habiendo dejado ver que yo no sé de qué va, una salida es cambiar de tema y no darle importancia. La amiga de mi tía puede pensar que nos ha enseñado algo o que ha dicho una tontería que nadie acepta, dependiendo de nuestra reacción y su predisposición. Probablemente siga creyéndolo y se lo vuelva a decir al próximo.

Alternativa 4: (sólo para aburridos psicólogos)
Intentar aturdirla con absurdos. Este es un juego peligroso porque podemos ser considerados como tontos o locos si no nos sale bien. Consiste en no sólo hacer ver que creemos lo de las ratas, sino en aportar más datos. Decir que también lo hemos oído pero en nuestra versión si bebes de la lata contraes una enfermedad extrañísima incurable, que hay dos afectados en un pueblo de Lugo, que las ratas mean aposta porque están infectadas por un parásito o que dependen del color de la lata se mean o no.
El objetivo es que tomen por estúpido lo que decimos e intente rebatirnos, en ese momento darle la vuelta a la tortilla y aprovechar para mostrarlo todo como una patraña. Lo malo es que nuestro rival puede tomar la alternativa 3 a nuestros argumentos (cambiar de tema) dejándonos como los tontos del grupo.





Otra cosa que se me ocurre, lo malo es que muy tarde, es que la mejor forma de defensa en esta situación es un buen ataque. En (1) yo tenía que haberme adelantado, pues ya intuía que lo que iba a decir y haber atacado sin piedad diciendo algo del estilo "no me irás a contar la historia esa de las ratas de los almacenes, jajajaja"
Creo este ataque a la yugular la frenaría en seco. Al haber expuesto antes que ella el mismo hecho pero dejándolo como patraña en vez de algo serio, tendría mucho más difícil imponerlo. Podría, no obstante, decir que sí es cierto, pero ya empezaría la discusión con desventaja.








Y para terminar, un fragmento de terror:

"La autopsia ha revelado que se trataba de una leptospirosis fulminante, provocada por beberla directamente de la lata que había consumido, sin vaso, en el barco. El examen de las latas ha confirmado que estaban infectadas con orina de ratas y, por lo tanto, de leptospiras"

09 mayo 2008

Mi vida a partes te enseña: ¿qué es el Magic Eye?

Viernes por la tarde. En désedos hay cuatro gatos.

Me obligo a mi mismo a poner algo por si algún parásito de internet se aburre tanto o más que yo.

A ver, novedades de mi vida... mmm... sólo se me ocurre que Carlos se ha ido hoy a E.E.U.U. y cuando me ha dicho: "quieres que te traiga algo? que allí está barato" yo le he respondido "oh, pues una nintendo DS me vendría bien".

Así que puede ser que la próxima semana sea el propietario de una DS rebajada más de un 30% pero con enchufe americano.


Bueno, vamos al meollo del post: ¿qué es el Magic Eye?

El otro día puse una imagen buenísima, pero por los comentarios que recibí en persona creo que nadie sabía a que me refería. Y eso que lo puse claramente en el título del post.

Magic Eye es una serie de libros que contienen imágenes en 3D. Realmente son imágenes normales en 2D, pero forzando la vista podemos lograr ver una figura que sobresale (o se hunde) en la imagen. Es un efecto óptico muy sencillo, aunque la primera vez que lo vi con 12 años hasta yo pensé que tenía algo de mágico.

Un ejemplo. En la siguiente imagen hay que ver un dinosaurio:


¿Cómo hago para ver al dinosaurio?

El secreto es ponerte un poco bizco, no centrar la vista en la imagen sino un poco "detrás" de ella. Si focalizamos los ojos a la distancia adecuada, veremos que parte de la imagen sobresale formando al dinosaurio.

También se puede hacer al revés, focalizando los ojos "antes" de la imagen, con lo que veremos el dinosaurio hundido como si fuera un molde. Desde que descubrí esta segunda modalidad, siempre la uso para hacerme una idea inicial porque me resulta mucho más rápido y nítido que la forma clásica.

¿Qué hago si llevo una hora y no veo nada?

Lo mejor es que te vayas al cuartito a llorar.
Esto no es ponerse una pierna detrás de la cabeza, es sólo enfocar los ojos. Todo el mundo lo hace diariamente. Otra cosa es forzarlo tú a voluntad. Yo creo que la dificultad de hacer esto es como comer pipas. Si no sabes eres muy rarito. O como no saber escupir (os juro que hay gente).

¿Cómo funciona?

Es más sencillo de lo que parece. La imagen se forma a base de repetir horizontalmente un patrón. En determinados sitios el patrón es ligeramente distinto al patrón anterior.
Al enfocar los ojos lo que haces es percibir una franja horizontal con cada ojo como si fuese la misma. Si son iguales te parecerá plano, pero si hay un pequeño cambio en un punto de un patrón (esto sólo lo ves con un ojo) se te forma una imagen plana (lo mismo en ambos ojos) con ese puntito superpuesto (porque tu cerebro que sólo lo ve con un ojo no lo asigna al fondo).
Más o menos.

29 abril 2008

Maestreando expresiones regulares

A veces que me doy cuenta de porque hay gente que me llama friki. Sólo el hecho de haber estudiado teleco y trabajar en désedos ya es bastante friki. Y aunque yo me considero bastante normal (¿quién no?) tengo que reconocer algunas cosas que me delatan, como el libro que os presento.

Pues resulta que como la semana pasada tenía tiempo libre en el trabajo y en désedos hay una biblioteca bastante generosa, he empezado a leerme un libro que estoy seguro que el 80% o más de los que leéis el blog no vais a entender ni de qué va. Ni aun cuando os lo cuente. (Y pobres los del 20% que sí lo hagan.)

El libro en cuestión se llama Mastering Regular Expressions.


Las preguntas inmediatas son:
- ¿Qué leches es eso de Regular Expressions?
- ¿Para qué sirve eso?

Siento avanzar que no tengo respuesta satisfactoria para ninguna de estas dos preguntas.

Aun así vamos a intentarlo.

Las expresiones regulares son... esto... unas cosas... es... como un toro!

Veamos un ejemplo a ver si así es más fácil empezar a coger la idea:
Cuando en el Windows buscas archivos .bmp, pones en el buscador que busque archivos llamados *.bmp, queriendo decir que * puede ser cualquier cosa. Esto no es una expresion regular, pero la idea se acerca.


Las expresiones regulares se usan en muchos lenguajes de programación para buscar patrones en variables o archivos de texto. Se parece a la utilidad de los editores de texto de buscar palabras, sólo que lo que buscamos no son palabras concretas, sino trozos de texto que cumplan con una serie de fórmulas que queremos.

Y como se desprende de lo dicho, las expresiones regulares sirven, entre otras cosas, para buscar cadenas de caracteres concretas en ficheros y para comprobar si una variable tipo texto cumple (es igual o parecida) unas determinadas características.

¿Ni idea?
Veamos un par de ejemplos que yo mismo uso. Uno es más o menos fácil de ver y el otro nos puede sonar a chino si no sabemos de qué va esto de las expresiones regulares.


- En mi trabajo, todos los días por la mañana analizamos los resultados de los tests que se han pasado a la versión diaria del software que hacemos. Estos resultados son archivos de texto (algunos de varios megas) que contienen la salida de los distintos subtests.
Aunque cada archivo tiene un informe al final, yo sólo tengo que escribir un comando para ver en pantalla los subtests que han fallado en todos y cada uno de los archivos sin tener que abrir uno por uno los ficheros. Para ello escribo en la consola:
egrep 'SubTest.+FAILED!' *version_20080421*
donde egrep es el comando de Linux que busca un patrón en un archivo, *version_20080421* es el conjunto de todos los archivos que contienen la versión que me interesa y SubTest.+FAILED! es la expresión regular que sólo me localiza las líneas que contienen al mimo tiempo la palabra SubTest y la palabra FAILED!. Así puedo ver, en unos segundos, qué cosas han fallado y me ahorro tener que abrir y analizar los ficheros donde todo ha ido bien.

- Tengo que comprobar que el contenido de una variable es un email válido (no que exista, simplemente que siga la fórmula nombre@servidor.dominio). Con hacer la siguiente comparación me sobra:
variable =~ /\w[-.\w]*\@[-\w]+(\.[-\w]+)*\.\w+/


Para mí las expresiones regulares son como escribir a máquina: no es necesario usarlas, pero ahorran mucho tiempo y una vez que sabes, te das cuenta de que hasta el momento has estado haciendo el canelo.


En mucho libros de programación dedican unas páginas a enseñarte qué son las expresiones regulares y cómo se usan en un determinado lenguaje. Pero cuando vi que había un libro exclusivamente dedicado a esto, me pregunté hasta dónde se puede llegar con las expresiones regulares, si pueden ahorrarme aun más trabajo, si me volveré loco aprendiéndolas, etc.

En fin, no pude resistir mi curiosidad y elegí este libro. Por eso y porque mis otras opciones eran Linux Kernel Development y Building Embedded Linux Systems.


Un saludo.

25 abril 2008

Esa rutina que viene sin avisar

Después de 5 meses trabajando en désedos he alcanzado plenamente la rutina diaria (en la que lamentablemente no está escribir en el blog). Lo que antes era novedoso ahora es lo de siempre. Las caras que antes no conocía ahora tienen nombre.
Todo parece estabilizarse, aunque sé que es pura ilusión. De hecho, ya noto las cosas a mi alrededor prepararse lentamente para cambiar sin rumbo predecible. Como decía Álvaro:

La vida juega contigo cuando parece que todo está bajo control. En contadas ocasiones, ganamos conciencia de lo que en realidad somos: cascarones de nuez al antojo del viento de un destino que no podemos comprender.

Por cierto, ya hemos terminado la validación con buenos resultados. Sí, ya tengo más tiempo. Esta última semana no tenía casi trabajo y aun así no he escrito na de na. Y mis ánimos blogeros no parece que vayan a crecer mucho. O sí. Eso también está al antojo del destino.

Sin nada más que contar de momento.

Sed felices.

18 abril 2008

Desbancando a los veteranos

Hoy han mandado el siguiente comunicado al email de todos los de la empresa donde trabajo. Imaginaos los comentarios que estoy aguantando todo el día. Y lo que me queda...


Hola a todos.
Por favor, revisad la información que tengáis en el recurso /users del servidor ya que hay compañeros que se estan viendo afectados por falta de espacio.

Esta limpieza deberiamos hacerla todos, pero en especial los siguientes usuarios deberian bajar de 1GB de ocupacion.

2.3G jriquelme
1.7G fgarrido
1.5G jcarrasquer
1.4G icampos
1.3G afeltstrom
1.3G luis
1.2G aivars
1.2G asalas
1.2G jlgm
1.2G mmartinez
1.2G vzeib

Saludos,

17 abril 2008

Desafío: ¿dónde no está Wally?

En Vancouver unos señores han puesto un Wally gigante encima de su
tejado y retan al mundo a encontrarlo usando el Google Maps:
http://whereonearthiswaldo.wordpress.com/


El caso es que el Google Maps aun no ha actualizado la foto de Vancouver dónde está el Wally gigante.
¿Qué cómo lo sé?
Pues porque el otro día, en mi tiempo libre, intenté buscar al Wally y llegué a encontrar el tejado donde lo han puesto, pero sin Wally.


Y aquí viene el desafío:
Partiendo de las fotos del tejado que se pueden ver en el blog de arriba, buscar el tejado donde no está Wally (pero estará).

Aquí os dejo el enlace al mapa de Vancouver en el Google Maps:
http://maps.google.es/maps?f=q&hl=es&geocode=&q=Vancouver&jsv=107&ie=UTF8&t=k&z=12&iwloc=addr

Aviso: Vancouver es muy grande, aun así yo tardé menos de 5 minutos en encontrarlo, eso sí, con mucha suerte. Carlos puede dar fe de ello.

Adjunto la foto de prueba: