GXY Domain

El Dominio de GXY Nuevas y no tan nuevas tecnologias, videojuegos, informatica, experiencias personales y cualquier cosa que considere pertinente puede aparecer y tal vez aparecera en este sitio... toma asiento y disfruta del espectaculo ;)

26 febrero, 2006

El arte de la condensacion

(no negareis que me estoy currando los titulos xD)

Estos dias pasados, hacia principios de la semana que se esta acabando, tuve que ayudar a mi estimado "vecino" y amigo alex en una importante empresa, la cual me tuvo bastante atareado durante un par de noches.

La tarea? hacer resumenes...pero unos resumenes un tanto peculiares. Por motivos de discrecionalidad no dare el detalle completo de los resumenes que tuve oportunidad de realizar, pero si hablare aqui del metodo que se siguio y de los resultados. Me gustaria comentar el tema sobre todo con gente que este en el rollo de la programacion y el desarrollo de aplicaciones, y especialmente en el tratamiento de cadenas de texto, creo que hice un trabajo bastante bueno a pesar de no contar con las aplicaciones mas apropiadas.

El objetivo consistia en la compresion de cadenas de texto con preguntas y respuestas en un formato lo mas exiguo posible.

pongamos el siguiente ejemplo, que he tomado de una pregunta al azar de los tests que estoy haciendo estos dias para la LCC (de esto hablare aqui cuando el tema este terminado)

"Si nos encontramos con un agente de espaldas con ambos brazos extendidos, ¿Que debemos hacer si deseamos seguir de frente?"

bien, imaginemonos que tenemos un compendio de digamos, 90 preguntas de las cuales esta seria una de ellas...cual seria el mejor metodo para identificar cada una de ellas de manera unica y diferenciada de las otras?

Bueno, aunque seguramente habria otros metodos mejores, el que elegimos alex y yo fue el de la codificacion utilizando columnas clave. Para ello, primero elimine los espacios entre palabras en el texto:

"Sinosencontramosconunagentedeespaldasconambosbrazosextendidos(...)"

Con esto, tenemos una larga cadena de texto. Ahora, se trata de elegir algo que permita distinguir a una linea de todas las demas y que sea una referencia fija (sino, podriamos volvernos locos a la hora de "decodificar"), para ello, habria que elegir las columnas donde mas variaciones hubiera, esto es, necesitaremos determinar en cuales de ellas se producen mas variaciones (hay menos veces las mismas letras) para poder disponer de mas claves diferentes. Por ello no son buenas las primeras letras, ya que muchas preguntas empiezan igual y por tanto, ofrecen poca variacion.

asi pues, en nuestro ejemplo de antes, dadas las siguientes lineas...

"sidejamose"
"sinosencon"
"podriaadel"
"cuandoseci"
"enqueposic"
"segunestas"
"cuandoadel"

obtenemos las siguientes lineas de "columnas clave" (esta hecho a mano, tal vez tenga algun error)

"sspcesc"
"iiouneu"
"dndaqga"
"eornuun"
"jsidend"
"aeaopeo"
"mnasosa"
"ocdestd"
"soeciae"
"enlicsl"

y aqui vemos, por ejemplo, que en el 8º grupo, no hay ninguna coincidencia, seria un buen candidato.

En el caso de nuestro estudio, resulto que la 7º columna era bastante prometedora, habiendo otras interesantes (10º, 12º, 14º, 15º, etc)

aqui hubo que resolver varias cuestiones.

* en primer lugar, y para esto solo sirvio el ensayo y error, hubo que buscar las columnas que, combinadas entre si, no tuvieran coincidencias (dos lineas diferentes que, dadas unas determinadas columnas tuvieran el mismo resultado).

* en segundo lugar hubo que elegir la longitud de la clave. esto es: cuantas columnas debian elegirse...aunque en principio parecia posible resolverlo con 2 columnas, finalmente se hizo necesario el utilizar 3 columnas.

* otra cuestion es que en la muestra, habia tanto cuestiones muy largas (con mas de 300 caracteres) como otras muy pequeñas (menos de 15). Esto hizo imposible utilizar una sola solucion para toda la muestra, ya que con la pequeña longitud de algunos de los elementos, era imposible resolver coincidencias entre otros elementos de la muestra... que empezaban con las mismas 15 letras :P

Asi que al final hubo que hacer una clave para las preguntas cortas y otra para las largas, pero no adelantemos acontecimientos... el caso es que, tras un ominoso proceso de busqueda de columnas no coincidentes, obtuvimos un resultado fiable tomando las columnas 14, 24 y 34 (la 7 hubo que descartarla por lo indicado anteriormente de las "varias lineas que empiezan todas por las mismas palabras". Asi, 24 resulto ser la primera columna que variaba en estas lineas de una manera significativa.

Asi conseguimos claves de esta guisa...

aeh
aek
aes
ain
aob
atc
cgn
chh
cnl
dpj
eab
ece

etc...

las cuales, permitian "descomprimir" cualquier pregunta del listado, por ejemplo, para nuestro ejemplo anterior...

"Sinosencontramosconunagentedeespaldasconambosbrazosextendidos(...)"

la clave seria...

"mel"

no esta mal, comprimir todo ese tochon a "mel" (mas bien, que "mel" distingue a esta lechuga entre cualquiera de las otras 90 :-P) pero aun queda la respuesta, esa parte la hizo alex, no yo, asi que no puedo hacer una descripcion pormenorizada del invento, pero si dire que la metodologia basica es la "descripcion diferencial".

por ejemplo, dadas 3 respuestas...

"si"
"no"
"no, excepto para salir"

es evidente que..

* las respuestas son demasiado cortas e iguales (muchos "si" y "no") como para usar una clave basada en columnas fijas.

* evidentemente, solo hay una respuesta correcta.

* tambien evidentemente, no tenemos el problema que con las preguntas, de que pudiera haber preguntas iguales, aqui todas son diferentes en algo

pondre el ejemplo para los 3 casos posibles.

Si la respuesta correcta fuera "si"...que lo distingue de las demas?

pues para empezar, que empieza por S y no por N, asi que ya solo con "s" tenemos la clave, si esta fuera la respuesta.

el problema es que fuera una de las otras dos la respuesta correcta, ya que es bastante mas dificil distinguir un "no" del otro "no"...

hay que buscar "que tiene un "no" que el otro no tiene" ? pues toda la coletilla, asi que cogiendo una letra cualquiera de esa coletilla, distinguiremos a ese valor.

asi que por ejemplo "x". para la 3º respuesta.

como eliminacion, la clave para la 2º seria una que no fuera valida ni para la primera, ni para la tercera, asi que podra ser la "n" o la "o".

Asi tendriamos una combinacion de pregunta respuesta tal que (por ejemplo) "mel=x"

Que para que sirve esto? usad vuestra imaginacion! :D

Pensandolo un poco...creo que me ha quedado un poco fistro este texto, pero no tengo ganas de arreglarlo mas, ea, el que quiera, que me pregunte xD

Y para concluir, como hacian no mucho tiempo ha algunos buenos amigos, recomendacion musical!

"The Voice (Eimear Quinn)"

Saludos cordiales y hasta el proximo post!

pd. este panel de texto de blogger es un poco petardo con los estilos de texto a veces...

19 febrero, 2006

Los virgenes han perdido su virginidad

Y no, no es una frase apócrifa, ni un pensamiento metafisico, ni siquiera es un alegato sobre la integridad humana...

...Estoy hablando de discos, discos virgenes, CD-R para ser mas exactos, y el asunto en cuestion viene por un nuevo miembro en la ya muy diversificada y numerosa panoplia de formatos, subformatos, implementaciones y revisiones de sistemas y tecnologias de medios derivados o pertenecientes al "compact disc".

El nuevo miembro es el "Self Media Recordable" de Traxdata. Un disco que puede grabarse a si mismo...si, si, como lo oyen.

Yo del asunto no tenia ni idea, pero me entere rapido. Por medio de Alexandro y su fiel media naranja, que, oh craso destino, han sido inocentes victimas de un despiadado ejercicio de medias verdades, marketing y precios bajos.

El asunto es que era necesario hacer duplicaciones de unos discos de audio, y no habian CD-R en casa, asi que aprovechando un paseito por el Alcampo, aparecen unos CD-R notablemente baratos (9.95€ la tarrina de 25, cuando el precio normal es facilmente el doble)...bueno alexandro, perdoname si te digo como extremo "pro-marquista" que soy, que de entrada ya los hubiera descartado por ser traxdata, y no una marca realmente fiable como verbatim, TDK, maxell o fujifilm... y de segundas, me hubiera mosqueado el ver un disco cuyo precio es notablemente mas barato que el de todo el resto de competencia...tal vez por que no incluyen canon?!?.

...pero claro, yo no estaba alli para ejercer uno de mis tipicos momentos de "me estoy mosqueando y aun no se porque"...pero bueno, el caso es que los discos llegaron a mis manos, y yo, como buen (ex)informatico experto, pase un kilo de leer indicaciones..."el readme es para cobardes, los valientes ejecutan" como decia la frase...en realidad ni siquiera pensé tanto, simplemente eran discos virgenes, porque no iban a serlo?

Y bueno, pues nada, cogi uno de los discos a copiar, hice la pertinente imagen, meto el disco virgen (presuntamente) para grabar...

"el disco no esta vacio, por favor inserte otro disco"

...WTF?? ¬_¬

meto otro disco de la pila...

"el disco no esta vacio, por favor inserte otro disco"

...einnnnnnn?!?!?!? O_o

despues de tres o cuatro intentos, salgo de nero, y meto un disco de la pila en la grabadora, y me sale una ventanica de softR seguida de un precioso programita, que amablemente me invita a... proceder a crear un disco de datos.

...pero un momento...este disco no esta vacio!

y aqui es donde ya abandone definitivamente el objeto de mi misión y me embarque, como tantas otras veces, a la búsqueda de la verdad, y fue asi como encontre este enlace en kriptopolis y este otro de la propia traxdata, en el que se nos informa que...

"El CD-Soft-R es un disco híbrido, que contiene un sencillo programa de grabación en su parte ROM y 700 MB disponibles para grabar cualquier tipo de archivo, ya sea música en MP3, fotos en cualquier formato u otro tipo de datos, exceptuando música en formato CD-Audio. El software es compatible con Windows XP y con cualquier tipo de grabador de CD. No requiere la instalación de ningún tipo de driver y se ejecuta automáticamente al introducir el disco en una unidad de grabación de CD."

en resumidas cuentas...NO ES VIRGEN!!!
. Enciendan las almenaras! que suenen las alarmas!! nos violan y roban!!!

Vale, pues asi estan las cosas, un disco virgen que no es virgen, amen de que puedes crear una compilacion con el, pero no puedes usarlo para generar una copia directa de un disco con copyright (ni sin el) con este disco... y vuelvo a repetir...tal vez es porque no esta bajo el influjo del canon del maligno? tal vez en un futuro proximo todos los medios grabables sean asi y asi sea mucho mas dificil y menos evidente "copiar un disco con copyright"... tal vez alguien en tx, traxdata, think xtra o como se quieran hacer llamar tenia mucho tiempo libre?

Y leyendo el texto de kriptopolis, muchas cosas que pense al ver este disco funcionando, se confirmaron... que tu quieres copiar un CD Audio? te jodes, porque con este disco no puedes. Que utilizas mac o linux? te jodes, porque este disco es para windows, que lo utilizan igualmente 90ypico de cada 100 personas, pero da igual porque antes o despues un honrado usuario de otro sistema operativo se encontrara que ha obtenido con su dinero el mismo efecto que el meterlo directamente en una picadora y darle al boton de encendido (me remito, de nuevo, a kriptopolis)...y si esto es la punta de lanza de una conspiracion para vendernos discos virgenes que realmente son hibridos que solo nos permiten hacer la mitad de lo que se supone que podemos hacer?

En resumen niños, la moraleja de hoy, no por menos repetida es menos correcta, y es que lo barato sale caro y que sigue siendo mejor y mas recomendable, sobre todo en esto de la tecnologia, confiar en aquellos mas confiables, y es que una tarrina de 25 discos, raramente es mas barata solo por nuestro beneficio.

Un caluroso saludo en esta fresca tarde/noche, y hasta muy pronto ;-)


17 febrero, 2006

Alternativas libres

Buenas noches, apañeros!

Estaba yo admirando los (minusculos) cambios que he estado haciendo en el weblog, cuando se me ocurrio la brillante idea de comentaros esto, y asi ya abrir fuego de una vez con el tema de "añadir contenidos". ;)

Bien, el tema es que en ocasiones, por el motivo que sea, pues te interesa buscar una "alternativa libre" a un programa comercial dado, bien por motivos economicos, bien porque te ha dado por razonar que no quieres poner programas piratones en el PC, bien porque te estas migrando a linux... o por lo que sea.

Ademas, como la web en cuestion actua tambien ademas como un pequeño repositorio de enlaces de los programas que cita, pues sirve no solo como fuente de conocimiento y enlistado, sino tambien como enlace a descarga ;)

Y sin enrollarme mas, he aqui el link -> http://alts.homelinux.net/

saludos cordiales.

pd. efren (o alguien) necesito una mano con algunas cosillas tecnicas ;)

13 febrero, 2006

Probando...probando...

Se me lee bien... no?

Bueno, finalmente he cedido a las sugerencias y presiones de algunos compañeros, y he decidido crear mi propio "weblog" (la palabra "blog" me suena un poco petarda).

GXY Domain (el Dominio de GXY) es este nuevo sitio de internet que espero mantener fresco y en funcionamiento por bastante tiempo.

Bienvenidos a todos a mis dominios, sientanse como en casa.

Edit: he aprovechado uno de mis "ratos de no hacer nada durante las noches" (ejem...) para toquetear algunas cosas aqui en el weblog... concretamente he añadido la seccion de links a weblogs amigos (y pronto metere otra seccion de enlaces) y cuando me termine de pelear con esa cosa del hello, podre poner una foto en el perfil ;)

Un caluroso saludo. (x2)