martes, 26 de octubre de 2010

Grandes juegos nunca mueren

Después de enterarme de que dejaban de fabricar walkman's, aparte de sorprenderme que todavía lo estuviesen produciendo, me llevó a recordar las cosas que teníamos hace unos cuantos años. A partir de ahí, guardo un gran recuerdo de la Super Nintendo (SNES), ya que pese a haber tenido otras consolas, es la con la que más horas he disfrutado.


Pero lo mejor de todo es la existencia de los emuladores para PC. Me parece increíble que todos esos juegos que tanto costaba conseguir (recuerdo comprarme el International Superstar Soccer por 10.000 pesetas!!) ocupen tan poco y se puedan jugar prácticamente en cualquier ordenador/plataforma. Existen multitud de emuladores, destacando MAME, capaz de emular diversos tipos de consolas de entre los que destacaría SNES y NEO-GEO. ¿Cuántas horas habré gastado hasta pasarme completamente el Super Mario World o los 3 juegos de Donkey Kong de SNES? (y varias veces cada uno!!) ¿y los Metal Slug de NEO-GEO? sin contar los piques que nos pegábamos con juegos como Windjamers, Soccer Brawl, Aero Fighters, Street Hoop, ...

Lo que terminó de sorprenderme es la posibilidad de jugar online a estos juegos (roms), concretamente gracias al emulador de Super Nintendo ZSNES, que ofrece esta característica. Os recomiendo volver a jugar a alguno de estos juegos, y si es de forma online con algún amigo de la época, ya veréis como os nace una sonrisa que no os podréis quitar.

domingo, 24 de octubre de 2010

Qué es el Software Libre

A raíz de la anterior entrada en la que recomendaba usar software libre y tras algunos comentarios, es cierto que en la misma se confunde el software libre con software gratuito. Así que voy a intentar explicar en qué consiste el software libre. Llevo muchos años utilizando software libre y tengo asimilado el concepto, pero dado que conlleva cierta ambigüedad y para transmitir correctamente la filosofía que promueve, me voy a basar en la completísima definición que aparece en la web del proyecto GNU

En primer lugar, ¿cómo se produce software? ¿qué es eso del código fuente? A grandes rasgos, el software se desarrolla mediante un código escrito en un determinado lenguaje de programación que describe lo que un programa hace. Así, a partir de dicho código fuente se genera el programa ejecutable deseado mediante un proceso llamado compilación.

Citando la definición del proyecto GNU, 
"El software libre es una cuestión de la libertad de los usuarios de ejecutar, copiar, distribuir, estudiar, cambiar y mejorar el software."
El asunto es que para disponer de muchas de esas libertades, el acceso al código fuente es una condición necesaria. El software libre no solo defiende la libertad de utilizar el programa para cualquier propósito o distribuirlo libremente, sino que también pueda ser estudiado y modificado. Además, que las versiones modificadas del software original puedan ser distribuidas de nuevo. Las implicaciones de estas libertades son enormes. Significa, que un programa que tenga una licencia de software libre, no solo puede usarse y distribuirse con total libertad, sino que la comunidad podrá aprender del mismo y mejorarlo, realimentando la producción de software y resultando en el beneficio de todos. También es importante destacar que software libre no significa que no sea comercial. Se puede pagar (o no) por obtener copias de software libre, pero independientemente siempre se tiene la libertad de copiar, modificar e incluso de vender copias.

Llegados a este punto ya se tiene una idea de qué es el software libre, pero hay muchos matices que hacen que la definición de software libre no sea tan clara. Una buena muestra de ello es la variedad de licencias que existen y sus particularidades, como lo puede ser el tema del copyleft. Esta entrada no pretende ser una definición rigurosa de lo que es el software libre, sino para que personas ajenas a este movimiento comprendan la filosofía y razones éticas que hay más allá del coste o funcionalidad de los productos. En internet hay cantidad de información sobre el software libre, y muchos debates abiertos al respecto. Os recomiendo principalmente el tema del dinero público invertido en software privativo y acerca de las patentes de software.

Para terminar una última frase de la definición del proyecto GNU:
El «software libre» es una cuestión de libertad, no de precio. Para entender el concepto, debería pensar en «libre» como en «libre expresión», no como en «barra libre».

sábado, 23 de octubre de 2010

Por qué recomiendo usar software libre

Hoy en día, la mayoría de personas utilizan el ordenador para navegar (buscar algún tipo de información, leer noticias, ocio), relacionarse con amigos/familiares vía redes sociales(facebook, tweeter), mensajería instantánea (messenger) o VoIP (skype), realizar algún tipo de tareas multimedia (descargar/ver/escuchar música y películas, gestionar/editar/compartir fotos, videojuegos) o algún tipo de trabajo (office). Asimismo, el sistema operativo más extendido sigue siendo Windows, pero... realmente ¿es necesario?

El sistema operativo de Microsoft necesita una licencia de usuario que cuesta entre 199€ y 319€. Lo mismo ocurre con muchos de los programas que se utilizan en el mismo, como Microsoft Office o Photoshop, cuyos precios respectivos son de 139€-699€ y 850€-1.200€. Evidentemente, muy poca gente adquiere las licencias, lo que provoca la necesidad de buscar algún tipo de crack que muchas veces lleva a problemas de virus. Además, cada vez más personas usan ordenadores portátiles, y en ellos se incluye una versión original de Windows por la que por supuesto se paga.  Encontrar un portátil que no incluya Windows es complicado, y no suele reflejarse en el precio. Y respecto a la seguridad,  Windows suele tener problemas, por un lado por las vulnerabilidades que aparecen de vez en cuando, por otra parte, porque por lo general (en una instalación estándar) cualquier usuario puede modificar/tocar todo el sistema.

¿Por qué digo todo esto? Porque afortunadamente existe el Software Libre. 


Podemos conseguir libremente un sistema operativo GNU/Linux a coste cero, legalmente, descargado de su propia página web. Asimismo, existe cantidad de aplicaciones alternativas (sin problemas de licencias) de todo tipo como:
  • OpenOffice (suite ofimática al estilo Microsoft Office)
  • Gimp (editor de imágenes tipo Photoshop)
  • Skype (tiene versión para linux)
  • Firefox, Chrome, Opera (navegadores web)
  • emesene, mercury, empathy, aMsn (clientes msn messenger)
  • audacious, amarok (reproductores audio)
  • smplayer, vlc player (reproductores video)
  • torrent, emule, jdownloader (tienen versiones en linux)
  • k3b, brasero (grabadores de CD/DVD)
  • audacity, avidemux (editor de audio y video, respectivamente)
  • ...
y además otras funcionalidades que no tiene windows
  • No es necesario antivirus.
  • Para instalar algo, o modificar archivos "importantes" es necesaria contraseña. Para tener mejor control del sistema.
  • Gracias a los gestores de paquetes, instalar un programa es tan fácil como buscarlo utilizando un programa que se encarga de descargar e instalar todo lo necesario para que funcione
  • Escritorios virtuales para tener mas organizado las aplicaciones.
  • Herramientas de desarrollo de aplicaciones.
  • Consume menos recursos, por lo que suele ser más rápido.
Ya pero... algún truco tendrá, no? Para nada, lo único que se puede decir en su contra es que DirectX (que es propiedad de Microsoft) no tiene versión para Linux, por lo que no es posible jugar a ningún juego que lo necesite. Igualmente, si necesitas algún programa específico (como Autocad) deberías consultar si tiene versión para Linux. Pero realmente, estas cosas son externas al propio sistema operativo, no puede controlar que otras empresas no hagan algo.

Para terminar, una reflexión que hace años que se hace mucha gente... ¿por qué no se adopta Software Libre en la administración pública? se ahorrarían millones de euros en licencias, pero desgraciadamente las empresas poderosas tienen mucha influencia en los gobiernos.

Si os animáis a probar Linux, empezad por Ubuntu. También podéis usar aplicaciones libres en windows, hay muchas muy buenas.

Nota Personal:
Si tenéis al típico familiar que únicamente utiliza el ordenador para navegar, buscar ciertas cosas en internet o hablar con algún hijo en el extranjero, estas personas aprenden a usar lo que les enseñan. Pienso que es una buena idea que aprendan con un sistema linux, porque evitas problemas de virus, de seguridad (no pueden modificar nada del sistema si no le das unos permisos), es gratis, libre y si va más rápido!! Mi madre usa linux muchas veces sin saberlo.

martes, 19 de octubre de 2010

¿Cómo funciona un filtro de spam?

No hace falta nada más que consultar tu correo electrónico para comprobar que hoy en día hay una cantidad enorme de correos basura (spam). Pero afortunadamente, existen unos filtros que detectan este tipo de mails con muy poco margen de error, facilitándonos la tarea de deshacernos de ellos. Pero... ¿cómo funcionan?


La idea es sencilla. Utilizando técnicas de reconocimiento de formas (pattern recognition) se pretende aprender de forma automática qué tipo de correos son spam y cuales no. Para ello hacen falta principalmente 2 cosas: una representación de los correos y un modelo capaz de aprender a distinguirlos.

Normalmente se utiliza una representación llamada bolsa de palabras (bag of words) que consiste en lo siguiente. Dado un correo electrónico y un vocabulario (un conjunto de palabras), se cuenta cuantas veces aparece cada palabra y se divide por el número total de palabras. Así, se obtiene una representación numérica del correo. Dicha representación es una simplificación de la información contenida en el mail, ya que se pierde el orden entre las palabras, de ahí el nombre de bolsa de palabras (si metemos el contenido de un correo en una bolsa y las sacamos una a una, contándolas, obtenemos la representación). Lo interesante es que el spam suele incluir palabras clave como "gratis", "sex" o "viagra" que hacen que con esta representación sea posible reconocerlo correctamente. Por ejemplo, usando un vocabulario de 5 palabras para distinguir entre spam y un correo de este blog, un e-mail podría representarse como

 gratis  viagra  el   karma curioso
[ 0.07    0.04   0.0   0.0    0.0  ]

donde sin ver el mail original, claramente nos decantaríamos por mandarlo a correo basura.

Por último, se necesita disponer de ejemplos de correos ya etiquetados como spam o no-spam, y utilizar modelos como las redes neuronales, support vector machines o una distribución multinomial, que sean capaces de aprender a partir de las muestras. De este modo, dado un nuevo correo, utilizando un modelo entrenado, se decide si es o no spam. Por eso es importante marcar como spam cualquier correo basura que llegue a nuestra bandeja de entrada, porque el modelo aprenderá del mismo y se irá adaptando a las nuevas formas de publicidad en la red.

Si alguien quiere saber más acerca de este tema, además de consultar los modelos enlazados para el aprendizaje a partir de ejemplos, está el problema de la elección del vocabulario, además de la posibilidad de incluir en la representación otra serie de características (número de mayúsculas, signos de puntuación). Una base de datos etiquetada está disponible aquí.

sábado, 16 de octubre de 2010

El futuro del tabaco

Anoche tuvimos un intenso debate acerca del tabaco, en el que discutimos sobre el futuro que le espera al mismo. Evidentemente, el tabaco perjudica seriamente la salud de los fumadores tanto activos como pasivos. Asimismo, mueve una cantidad de dinero enorme que se reparte en diversas áreas. Por un lado están los que cultivan el tabaco y los distribuidores (estancos, bares, etc), personas trabajadoras y seguramente las menos beneficiadas en el proceso. Luego están las compañías tabacaleras, que manejan grandes cantidades de dinero y que repercuten en otros muchos campos a través de publicidad y patrocinios. Y por último los gobiernos, que manejan un arma de doble filo, puesto que mientras subvencionan la producción del tabaco y reciben mucho dinero a través de los impuestos, lanzan campañas de concienciación y aprueban leyes cada vez más restrictivas.


Bien, hasta donde yo sé, ese es el marco actual del tabaco en España y Europa (desconozco otras situaciones). En mi opinión,  con el paso de los años, el tabaco tenderá a desaparecer. Evidentemente, este proceso deberá ser paulatino y necesitará mucho tiempo, pero consiguiendo una conciencia social en la que fumar sea algo negativo y con las decisiones que toman los gobiernos que lo hacen cada vez más restrictivo, pienso que ese es el futuro que le espera. La verdad es que la mayoría de los tertulianos no estaban de acuerdo con que eso pudiese llegar a pasar nunca, y tienen razón en que hay muchos intereses involucrados: los trabajadores que viven de su producción, los ingresos de los gobiernos y las personas fumadoras que reclaman su derecho y necesidad de fumar. Comentaban que en todo caso podría acabar en la clandestinidad como algunas drogas blandas en la actualidad. Pero yo pienso que si la sociedad evoluciona en esa dirección, podría realmente a suceder.

Para terminar, aclarar que no he fumado nunca, no necesito probar algo para saber que no es bueno y suelo ser el amigo pesado que te anima a dejar de fumar, pero igualmente entiendo que las cosas no se pueden cambiar de un día para otro, y que la concienciación social es el primer paso para acabar con un producto que tiene tantos perjuicios y pocos (si es que los tiene) beneficios.

viernes, 15 de octubre de 2010

Inteligencia Artificial

Seguramente al leer el título han venido a tu mente imágenes y pensamientos de robots capaces de actuar como un ser humano. Pero lo siento, esta entrada no va de eso, sino de la inteligencia artificial real que se estudia y aplica en diversos campos de la actualidad, como un campo de las ciencias de la computación. Además, existen dos ramas que comento a continuación de forma muy general.

Inteligencia Artificial Clásica 
Está basada en la lógica y en simular el razonamiento humano. De este modo, los sistemas desarrollados realizan procesos deductivos sobre un conocimiento adquirido a partir de un humano experto. Es decir, dado un determinado problema, se recurre a un experto en la materia que intenta plasmar en reglas lógicas los razonamientos que lleva a cabo para resolver un caso determinado.

Por ejemplo, si se desea realizar un sistema experto para diagnostico de enfermedades, como base de conocimiento se tendrían los síntomas que presenta el paciente. Después, un médico crearía reglas del tipo

Si existe síntoma A y síntoma B entonces se deduce hecho C
Si existe hecho C y síntoma D entonces se deduce hecho E

de forma que se realizarían deducciones hasta llegar a una conclusión. Además de este tipo de sistemas de razonamiento, existen los problemas de satisfacción de restricciones (CSP), los sistemas multiagente, o los algoritmos genéticos, entre otros.

Reconocimiento de Formas
Está basado en la teoría estadística de la decisión y se centra en la percepción humana. Los sistemas de reconocimiento de formas utilizan procesos inductivos de modo que el conocimiento se aprende a partir de ejemplos. Siguiendo esta aproximación, para resolver un problema se necesitan ejemplos de casos del mismo y un modelo capaz de aprender a partir de ellos y predecir nuevos casos.

Siguiendo el mismo ejemplo del diagnóstico médico, se necesitaría por un lado un conjunto de ejemplos que podrían definirse de distintas formas. Por ejemplo, escogiendo una serie de síntomas de interés e indicando la presencia o no del mismo. Imaginemos que existen 3 enfermedades A, B, C y se tienen en cuenta 10 síntomas, los ejemplos serían de la forma

[Sí, No, No, Sí, No, No, No, No, No, Sí, A]
[No, No, Sí, Sí, No, No, Sí, No, No, No, B]
[No, Sí, Sí, No, No, No, Sí, No, Sí, No, B]
...
[No, Sí, No, No, No, No, No, Sí, No, Sí, C]

Con un conjunto suficientemente grande (cuanto más mejor) se podría aprender un modelo que dado un nuevo caso

[No, Sí, No, No, No, Sí, Sí, No, No, No, ?] => B

devolviese una predicción de la enfermedad con el mínimo error posible. Existen muchos tipos de representaciones y modelos (Redes Neuronales, SVM, HMM, Gramáticas, Árboles de decisión, y más).

miércoles, 13 de octubre de 2010

¿Por qué aparecen las hormigas voladoras?

Estos días hay una plaga de hormigas voladoras, y la mayoría de gente desconoce su procedencia. Además, este fenómeno se repite año tras año y tiene una explicación muy sencilla: la creación de nuevos hormigueros.


Un hormiguero está formado por una colonia de hormigas que desempeñan distintas labores. De entre todas ellas, destaca la figura de la reina, que es la única fértil (las obreras son hembras estériles). Así pues, en la rutina de un hormiguero la reina se encarga de poner huevos para obtener nuevas obreras, pero llegada la primavera pone unos huevos distintos que dan lugar a las famosas hormigas voladoras. Éstas hormigas, además de volar, son fértiles y pueden ser tanto machos como hembras.

Finalizando el verano, llegan las temperaturas otoñales, y tras un periodo de lluvia las hormigas voladoras abandonan el hormiguero con el objetivo de fundar otros nuevos. La mayoría de éstas mueren (la totalidad de los machos), pero las que consiguen realizar el vuelo nupcial, buscan un lugar adecuado para iniciar un nuevo hormiguero, dejan sus alas y la historia empieza de nuevo...

Y esa es la razón de que estos días aparezcan esas plagas de hormigas voladoras. Como curiosidad añadida, he leído algunos comentarios acerca de que "Antiguamente eran el indicativo para los agricultores para saber cuando la tierra estaba en su estado óptimo de humedad para poder sembrar la simiente" de donde reciben el nombre de hormigas de la sementera. Ya sabéis, la naturaleza es sabia.

Fuentes: Wikipedia, Center for Insect Science Education Outreach, Asociación Ibérica de Mirmecología

domingo, 10 de octubre de 2010

Dropbox: La caja mágica

Os voy a comentar una de las herramientas que desde hace unos meses se ha convertido en imprescindible para mi


Dropbox es un sistema de alojamiento de archivos en la nube (sí, eso del cloud computing que está tan de moda) de forma que permite sincronizar una misma carpeta en varios dispositivos, al mismo tiempo que mantiene una copia en la red. Además, es multiplataforma (Linux, Mac, Windows, iPhone) e incluye otra serie de funcionalidades, como que cuando se modifica/borra un archivo se almacenan versiones anteriores de los mismos, de forma que puedes recuperar información que de otro modo perderías.

Para mí es indispensable porque suelo manejar 3 ordenadores: en el trabajo, en casa y el portátil. Teniendo dropbox instalado en todos, da igual en cual me mueva, porque la información se sincroniza entre todos y al mismo tiempo tengo copia de seguridad y control de versiones. Incluso si explotasen todos los ordenadores al mismo tiempo, instalando el programa de nuevo obtendría la información intacta (aunque empezaría a dudar de mi karma).


Entre otras de las características está la posibilidad de manejar la información desde la web, compartir carpetas entre usuarios, disponer de una carpeta pública para alojar archivos y enlazarlos, e incluso presentar carpetas con fotos como un álbum online. La opción básica proporciona 2GB de almacenamiento y el historial de archivos se mantiene durante 30 días. También puedes elegir cuenta de pago con historial ilimitado y 50GB o 100GB. Asimismo, existe un sistema de recompensa de 250MB de capacidad por cada amigo que invites a dropbox, limitado hasta 8GBs extra (pudiendo llegar a los 10GB gratuitos).

Más información en la web de Dropbox. Ubuntu One es un sistema parecido que se está promocionando con el conocido sistema operativo de GNU Linux (que por cierto, hoy sale la versión 10.10 en un curioso día)

jueves, 7 de octubre de 2010

Los Toros: blanco o negro.

En los últimos tiempos y en especial tras la prohibición llevaba a cabo en Cataluña, el debate acerca de los toros en España está haciendo correr ríos de tinta. Continuamente aparecen noticias de colectivos anti/pro-taurinos manifestándose de algún modo. Más todavía, hoy se ha votado en el senado si se declaraba los toros como Bien de Interés Cultural, siendo esta propuesta rechazada. En mi opinión, la cuestión que rodea este asunto es lo de siempre, se mezclan opiniones con intereses políticos y se convierte en otra cuestión. Para muchos, no es tan importante si los toros se prohíben o no, sino que el resultado de la batalla dará como ganador a cierto color político.

A mi no me gustan los toros, y me parece mal la forma en que son tratados en una corrida, pero también pienso que en la vida el respeto es muy importante. Si actualmente existe un conflicto entre dos ideologías (razonables), lo lógico sería buscar una solución de compromiso, que ambas partes cedan. No es cuestión de utilizar un determinado número de votos para imponer una decisión, sino que en mi opinión, en el término medio está la virtud. ¿Por qué no se mantienen las corridas de toros pero se eliminan las banderillas y la muerte por estoque? yo lo veo más que razonable, de este modo, los aficionados seguirían celebrando sus corridas y ningún animal sufriría.

Pero volvemos a lo mismo, parece que la política solo sirve para enfrentar a las personas, cuando lo que deberían hacer los políticos es debatir, consensuar, dado que cada uno de ellos representa a un conjunto de los ciudadanos, aunque parece que lo hayan olvidado.

lunes, 4 de octubre de 2010

Por qué no tengo facebook...

Sí, así es, no tengo facebook y cada vez tengo más razones para no tenerlo. En estos últimos tiempos las redes sociales han sido todo un fenómeno, y facebook representa su máximo exponente. De hecho, hoy mismo he visto en las noticias que han sacado una película acerca de la supuesta historia de la creación de la famosa red. Siento la necesidad de exponer mis motivos para ver si alguien coincide conmigo, y lo voy a hacer con un ejemplo.

Digamos que ahora me hago cuenta en facebook, y con la euforia inicial empiezo a buscar a familiares, amigos, amigos de amigos... y consigo un montón de amigos (para ser cool). Así que cuando quiero darme cuenta tengo, además de mis amigos, a mi tía la cotilla del pueblo, a un chaval al que no veo desde los 9 años y montón de gente desconocida entre sí.

Vale, ahora llega el fin de semana, y me voy de fiesta el sábado, y tengo comida familiar el domingo. Resulta, que mis amigos cuelgan las fotos de la salida nocturna y me etiquetan. Mi tía la del pueblo, que es experta en cotilleos, las ve, y se las enseña a toda la familia el día de la comida y se entera de todo lo que he hecho. Al mismo tiempo, mis amigos ven la comilona que tuve el domingo y como mi abuela me estira del moflete. Pero además, gente con la que no hablas nunca, pero una vez agregaste, está al corriente también de todo esto...

No tengo nada que esconder, pero simplemente me gusta que lo que hago con mi familia, quede en familia; lo que hago con amigos, con ellos; y si con una persona no tengo trato, no quiero que se entere de mi vida... En fin, también he de reconocer que soy una persona reservada.

Y por último, he estado en situaciones donde amig@s están comentando que si Pepito ha puesto tal frase en el facebook de Juanito después de haber hablado de tal cosa, o que Luisito ha borrado a Manolo porque éste borró a la novia del otro porque le caía mal...

En conclusión, sabiendo que puede resultar útil para asuntos como retomar el contacto con personas que habías perdido la pista, o seguir personas famosas, grupos, etc; me reafirmo en mi decisión de no tener facebook ni sucedáneos, para evitar cotilleos y conflictos semiadolescentes.

viernes, 1 de octubre de 2010

WebP: Nuevo formato de imagen de Google

Leo a través de genbeta que Google ha presentado un nuevo formato de imagen llamado WebP. La motivación es que la transferencia de imágenes representa gran parte del tráfico de internet, de modo que utilizando un método de compresión mejor, disminuiría la carga de la red. Tanto en la noticia de genbeta como en la propia web del formato, se presentan algunos resultados que muestran que el ratio de compresión es menor que el del JPEG, pero he querido probarlo por mí mismo. De la web puedes bajar la herramienta webpconv para transformar imágenes de distintos formatos a WebP, BMP, JPEG y PNG. Tiene algunas opciones, entre las que se encuentra la calidad de compresión. Así que he realizado varios experimentos cambiando la calidad y utilizando un conversor diferente para JPEG. El conjunto de imágenes para el experimento lo he obtenido de esta página, concretamente este.


Experimentos
Compresor JPEGCompresor WebPCalidadGanancia Media
convertwebpconv2562.23
convertwebpconv5053.47
convertwebpconv10077.24
convertwebpconvauto65.67
webpconvwebpconvauto30.18

Donde convert es una herramienta de ImageMagick, y la ganancia media se refiere al porcentaje de mejora del tamaño archivo en WebP respecto al formato JPEG, en promedio para los archivos del corpus. En total la ganancia media conseguida es del 57.76% respecto al formato JPEG. Por último, dado que es un formato nuevo y en desarrollo, no existen visores para el mismo, pero con la herramienta webpconv se puede transformar a PNG, por ejemplo, para observar si se ha producido pérdida de calidad. Y a la vista de las mismas se puede concluir que el formato no deteriora la calidad de las imágenes.

En conclusión, parece que el nuevo formato reduce significativamente el tamaño de las imágenes respecto al JPEG, pero la tremenda difusión de este último es un handicap para que se introduzca en el uso cotidiano. Eso sí, qué mejor padrino que el todopoderoso Google para entrar en el mundo?


Resultados Detallados aquí