Spiga
Blog Widget by LinkWithin

Explosión Creativa

Hay épocas en las que uno está menos creativo, y otras en las que las ideas fluyen solas y casi uno se siente agobiado por la cantidad de cosas que se quieren hacer y el poco tiempo que hay. La verdad que con los temas de la empresa y las investigaciones que hacemos, llevamos un tiempo haciendo muchísimas cosas, pero estas últimas semanas están siendo de verdadera explosión creativa, y no hago más que apuntar ideas en post-its (y también en Google Wave, aunque con miedo a que eso desaparezca en cualquier momento :P) que llevo pegados al portátil.

Unos días especialmente creativos fueron los días en los que estuvimos en el RecSys en Nueva York. Aprovechando los descansos, Frankie y yo empezamos a divagar sobre todo lo que podíamos hacer en temas de recomendación y de tantas ideas que surgieron al final pudimos sacar 3 líneas de investigación a seguir en Sistemas de Recomendación en función de nuestros intereses actuales. Así pues, tenemos trabajo de investigación para rato, y encima investigación muy aplicada, como a nosotros nos gusta.

Por otro lado, hoy mismo se ha pasado Luis Ignacio, un ex-alumno, buen amigo y un verdadero crack de todo lo que hace. Estuvimos hablando de sobre qué podía coger como tema de tesis, y al final salió una fusión entre realidad aumentada y web social que encima podemos aplicar a Wipley. Todavía no se si al final se decantará seguro por esta vía para el doctorado, pero la verdad que me gustaría poder trabajar con él en estos temas, ya que creo que podría salir un sistema muy interesante.

Luego están los frutos de lo que llevamos tiempo haciendo. El workshop en Minería de Datos sobre medios sociales (1st International Workshop on Mining Social Media), que propusimos hace tiempo como una especie de "ida de olla", ahora es una realidad y se celebrará el día 9 de Noviembre en Sevilla, donde se presentarán 10 artículos muy interesantes con distintas ideas sobre cómo aprovechar al máximo los datos de la web social. De la organización de este workshop nos ha salido la posibilidad de preparar un número especial de una revista científica, la International Journal of Electronic Commerce, también en temas de Mining Social Media. Y hay también perspectivas de que salgan mas temas relacionados, junto con las cosas que ya han salido, como la charla que organizamos en la UEM con William Cohen, o nuestra participación en las IV Jornadas MAVIR.

Luego preparando Wipley, poniéndola guapa para su estreno en el FICOD, donde haremos la presentación oficial, no paran de surgir ideas y más ideas con funcionalidades de todo tipo. Y cada día está más cerca el día que verá la luz, y eso nos ilusiona muchísimo.

Algunos piden semanas de 30 horas, y a mi me gustaría poder tener días de 60. O al menos que el tiempo pasara un poco más despacio, ya que apenas damos de si para todo lo que tenemos que hacer. Pese a todo el curro que queda por hacer, hacía tiempo que no me encontraba tan ilusionado.

Javier Cuervo@IV Jornadas de Informática de la UEM

Por fin puedo colgar otra de las charlas de las IV Jornadas de Informática de la UEM. Esta vez toca la charla de Javier Cuervo, que en su momento dirigía la oficina de emprendedores de Madri+D y ahora está en el Parque Digital de la EOI. Su charla se centró en los emprendedores de base tecnológica y resulta de gran interés para todos aquellos que tratamos de montar empresas innovadoras.

IV Jornadas MAVIR: "Acceso a la Información en Redes Sociales"

Lo acabo de comentar en el blog de SGP (nuestra empresa) y en el de Sistemas Inteligentes@Madri+D, pero también quiero comentarlo aquí desde una perspectiva más personal. El 19 y 20 de Noviembre se celebran las IV Jornadas MAVIR, este año centradas en el "acceso a la información en Redes Sociales". Moderaré la mesa redonda de redes sociales y Francisco Carrero (CEO de SGP) participará en la mesa redonda de empresas del consorcio.

Si a alguien le apetece pasarse, estaremos encantados de veros por ahí.

El Futuro de los Sistemas de Recomendación [HUMOR]

4 días en una conferencia de Sistemas de Recomendación te vuelven incluso más friki en algunos temas, y en este momento no puedo dejar de poner en el blog este chiste sobre el "futuro de los sistemas de recomendación" que enlazaba Barry Smith esta mañana.

Esta semanita por Nueva York

Ya lo comentaba Frankie en su blog, esta semanita nos toca estar por Nueva York para poder atender al ACM RecSys 2009, que empieza el jueves. De paso aprovechamos para conocer la ciudad y hacer algunas compras, que con el cambio tan favorable para los europeos, hay que aprovechar la oportunidad. Ya antes de venir vendí mi Canon EOS 350D para poder comprarme aquí a 500D por poco más de lo que saqué con mi cámara antigua.

Ayer estuvimos por la zona del Empire State, el Chrysler Building, y el edificio de la ONU, y hoy bajaremos a ver la estatua de la libertad, y toda la zona de Wall Street, etc.

En cuanto tenga algo de tiempo iré procesando y subiendo algunas fotitos del viaje, que aquí casi todo llama algo la atención y estamos exprimiendo las cámaras :)

¿Tienen sentido las arquitecturas de 128 bits?

En the Inquirer comentan que Microsoft está preparando una versión nativa de 128 bits para sus próximos sistemas operativos compatible con la plataforma de 64 bits actual, y en colaboración con Intel, AMD, IBM o HP, haciendo referencia a las arquitecturas Intel IA-64 e IA-128.

Al final del artículo, se postula que si bien la arquitectura de 128 bits tiene ventajas teóricas, no las tiene a nivel práctico por la falta actual de controladores y aplicaciones para 64 bits. Ahora bien, ¿realmente tiene sentido?

El gran inconveniente de las arquitecturas de 32 bits es que solo dejan direccionar 4GB de memoria RAM, por lo que limitan enormemente las capacidades de los ordenadores, en los que a día de hoy ya encontramos esos 4GB instalados por defecto casi de forma estandar. Con 64 bits, nos vamos a 16 exabytes (16 millones de terabytes o 16.000 GB). Desde luego, esta cantidad es más que suficiente para mucho tiempo, especialmente si tenemos en cuenta que según algunos estudios, Internet actualmente tiene un tamaño aproximado de 500 exabytes. Así pues, desde el punto de vista del direccionamiento de la memoria RAM (principal limitación de la arquitectura), no resulta necesario ampliar esta cantidad.

Ahora bien, si tratamos el tema desde el punto de vista del tamaño de los registros, así como del tamaño de las direcciones de memoria, la cosa cambia. Muchas aplicaciones, en particular las que se refieren a la criptografía, hacen uso de enteros de 128 bits, por lo que trabajar de forma nativa con este tamaño de registros implica un notable incremento en el rendimiento de algunas aplicaciones.

Así pues, cuando nos hablan de arquitecturas de 128 bits resulta un tanto ambiguo, y no queda claro cuál va a ser el soporte que pretende ofrecer Microsoft a los 128 bits. Muy seguramente lo que estén haciendo es dar soporte a registros de almacenamiento de 128 bits, pero trabajando con un direccionamiento a 64 bits.

Si bien una arquitectura de direccionamiento de 128 bits no va a tener sentido durante mucho tiempo, si que lo tiene que tanto los fabricantes de hardware como los desarrolladores de software trabajen de forma conjunta para soportar el trabajar con registros de un mayor tamaño, que permitan incrementar la eficiencia de los programas, especialmente cuando parece que hemos llegado a un punto donde a los procesadores les cuesta crecer en términos de velocidad y han de crecer en términos de paralelismo, ya bien sea con varios procesadores/cores, o con arquitecturas de un mayor número de bits. A este respecto, el que la arquitectura actual de 64 bits no esté 100% consolidada no debería ser un punto en contra, si no un aliciente ya que las variaciones sobre la arquitectura actual no implicarían tirar mucho software "a la basura". Quedan unos añitos de cambios a nivel de arquitectura, y también de que los desarrolladores nos acostumbremos a desarrollar con los 64 bits de direccionamiento en mente, y con los bits que vengan a nivel de registro, ya que hasta la fecha no conseguimos sacarle un buen partido a las nuevas arquitecturas.

Contra esa locura que son las Patentes de Software

Si bien el planteamiento actual y global de la legislación actual en materia de protección intelectual me parece un tanto obsoleta y demasiado proteccionista para con los editores (por mucho que nos vendan que es para con los autores), aún se le puede ver un cierto sentido. Pero si hay una parte concreta que si que no tiene ningún sentido en el momento actual en el que vivivmos es el tema de las Patentes de Software.

Una patente es un derecho que concede un estado a un inventor que le permite proteger sus invenciones de forma que durante un periodo de tiempo nadie más pueda hacer uso de la tecnología inventada salvo permiso expreso (generalmente a cambio de importantes royalties). En su concepción se vieron claras algunas ventajas (extraídas de la Wikipedia):
  • Motiva la creatividad del inventor, ya que ahora tiene la garantía de que su actividad inventiva estará protegida durante 20 años y será el único en explotarla.
  • Si la patente tiene buen éxito comercial o industrial, el inventor se beneficia con la o las licencias de explotación que decida otorgar a terceras personas.
  • Evita el plagio de sus inventos.
  • Debido a que la actividad inventiva no se guardara o sólo se utiliza para sí evitando su explotación industrial; el inventor siempre dará a conocer, publicitar y explicar los beneficios que su invento tiene.
  • Por su parte el Gobierno a través de la patente promueve la creación de invenciones de aplicación industrial, fomenta el desarrollo y explotación de la industria y el comercio así como la transferencia de tecnología.
Desde un punto de vista teórico, las patentes pueden tener cierto sentido, especialmente en aquellas áreas del conocimiento donde el desarrollo de una nueva tecnología supone importantes inversiones de tiempo y recursos por parte de las empresas. Al poder proteger estas nuevas tecnologías, las empresas pueden rentabilizar la inversión mediante la explotación en exclusiva de sus resultados. De esta forma se motiva a las empresas a invertir en I+D+i, y los estados se permiten reducir sus propias inversiones en esta materia al estar sustentado el desarrollo tecnológico por las propias empresas.


Sin embargo, todo lo relacionado con el software, no encaja bien dentro del supuesto de "grandes inversiones en tiempo y recursos para desarrollar una nueva tecnología". El software es bastante iterativo en su desarrollo, y la mayoría de las nuevas tecnologías dentro del software no dejan de ser pequeñas o medianas revisiones de tecnologías anteriores, o combinaciones de varias de ellas. Dentro del software las empresas no dedican 10 años a desarrollar una tecnología y otros 5 a probarla para asegurar su funcionamiento, entre otras cosas porque en esos 15 años el mundo del software ha cambiado por completo, y lo que 15 años antes iba a ser una revolución, ahora se ha quedado sin mercado.

Además, con el tema de los tiempos en el desarrollo de software, permitir a una empresa la explotación en exclusiva de una tecnología durante 20 años significa que la va a explotar durante mucho más tiempo que el propio ciclo de vida de esa tecnología. En otras áreas, como pueda ser la industria farmacéutica, el ciclo de vida de las tecnologías y descubrimientos, es mucho más largo, como pueda ser el caso de la Aspirina, que lleva más de 1 siglo entre nosotros.

Ceder en exclusiva la explotación de una tecnología/descubrimiento a la empresa que lo ha descubierto durante los primeros años de la explotación puede tener sentido. En ese momento el producto final será novedoso, más caro y solo accesible para los "early-adopters" (en casos no tecnológicos estos "early-adopters" serán los países desarrollados). Sin embargo, hay que permitir que durante el ciclo de vida útil de cualquier descubrimiento, éste sea accesible para otras áreas de la población, por eso antes de que acabe este ciclo de vida útil, debe expirar la patente para que otras empresas puedan comercializar productos basados en la tecnología patentada a costes muy inferiores, al no tener que amortizar la inversión.

Ceder la explotación de una tecnología a una empresa más allá de su ciclo de vida útil repercute en contra del desarrollo de la Sociedad en general, especialmente de aquellas partes de la Sociedad más debilitadas, aquellas sin recursos para permitirse el acceso a estos nuevos descubrimientos. Por esto, las patentes de software se pueden hasta ver como un ataque a los derechos humanos.

Tampoco debemos olvidar que el "juego de las patentes" es un juego pensado para los grandes, con suficiente capital como para costear las patentes y para pagar a un ejército de abogados para que defiendan sus patentes. Para cualquier empresa pequeña o mediana, las patentes son poco prácticas, y quizás solo útiles para venderse como empresas de I+D+i o para acceder a subvenciones públicas que valoran positivamente el tener patentes a nombre de la empresa. Pero, ¿qué va a hacer una PYME si Google o Microsoft utilizan una tecnología que han patentado? Incluso teniendo el suficiente coraje como para enfrentarse a uno de estos grandes, a cualquier gran empresa le resultaría muy fácil pillar a la PYME por estar utilizando alguna otra tecnología que ellos mismos han patentado (la mayoría de las patentes de software están en manos de unos pocos).

Todavía queda ver el punto de vista de si realmente las oficinas de patentes están preparadas para las patentes de software. Dudo mucho que en las oficinas de patentes estén preparados para casi ninguna tecnología (eso supondría tener verdaderos expertos en las materias revisando las solicitudes de patentes), pero el caso del software es particular. Cada día surgen nuevas tecnologías, infinidad de siglas y combinaciones de siglas, y todo muy relacionado entre sí. A los que somos técnicos y estamos metidos en el mundo del desarrollo software ya nos cuesta muchas veces seguir todas las tecnologías, comprender las similitudes y las diferencias, o entender el posible impacto de cada tecnología. Así pues, ¿cómo pueden unos no técnicos evaluar un documento en el que se describe una tecnología y ser capaces de decidir si es una tecnología realmente novedosa o no? En los últimos años ha habido muchos casos de patentes relacionadas con el software que no hacían más que patentar tecnologías que llevaban mucho tiempo en el "dominio público" del desarrollo de software.

Un caso de este tipo de patentes, es un caso muy reciente, en el que la empresa EOLAS ha demandado a un montón de grandes empresas entre las que se encuentran Adobe, Apple, Amazon, Google, etc. por violar una patente que les acaban de conceder que encaja con el funcionamiento de cualquier aplicación desarrollada con AJAX. Lo curioso es que la patente (que les acaban de conceder) fue presentada en Agosto del 2002, y la historia de AJAX se remonta a varios años antes. De hecho en Marzo de 1999, Microsoft introducía esta tecnología en el Internet Explorer 5, y en Agosto de 2001, dentro del IE6 ya venía la especificación final del objeto XmlHttpRequest sobre el que se basa AJAX como tal.

Si ya resulta estúpido que se les conceda una patente de software a una tecnología que ya tiene estado del arte previo por parte de otras empresas, más patético resulta aún que la patente en su concepción (basta leer el resumen) sea lo suficientemente general como para encajar con tecnologías incluso anteriores. Y el colmo del patetismo es que la empresa que ha pedido la patente se ponga a pelearse con medio mercado del software para defender algo que ellos no han inventado.

Si alguien le encuentra algún sentido a las patentes de software, por favor, que me lo diga, porque para mi son únicamente una locura que perjudica a la industria del software, enturbia el desarrollo tecnológico y nos hace perder el foco de lo importante.

Las nuevas series de esta temporada

Mucho se está hablando estos días de FlashForward, que promete ser la nueva Lost y parece haberse hecho un hueco como la nueva reina de las series fantásticas. Pese a que tengo ganas de verla, por unas cosas o por otras, la he ido dejando, pero si que he empezado a ver algunas otras series nuevas que me parece, cuando menos, muy interesantes.

Defying Gravity es una serie de Ciencia Ficción situada en el año 2052, donde una tripulación de 4 hombres y 4 mujeres son mandados a un viaje de 6 años recorriendo todo el sistema solar en una nave llamada Antares. La serie es todo un homenaje a las obras más clásicas de la Ciencia Ficción, y de hecho me recuerda a algunos libros de Stanislaw Lem, o incluso en algunos momentos a la saga de Marte de Stanley Robinson.



Leverage no es exáctamente una nueva serie, ya que este año emiten ya su segunda temporada. Sin embargo, el año pasado no me enteré de que salía una serie de este tipo, así que la estoy descubriendo ahora. La serie trata de una serie de ladrones profesionales que acaban uniéndose para ayudar a personas necesitadas, en una especie de Robin Hood actualizado. Tiene un punto fanfarrón y desenfadado, y me recuerda un poco a la saga de Ocean's. Como a mi me encantan las películas de robos, estoy disfrutando de lo lindo con esta serie, que además resulta un tanto "light" por no tener un hilo argumental continuo muy fuerte, lo cual se agradece con tantas otras series que te dejan con necesidad de ver más y más capítulos.



WareHouse 13 es una de las nuevas series de SyFy (la antiguo SciFy reconvertida a un punto más fantástica). WareHouse 13 tiene un punto con Fringe por lo "paranormal" de su argumento, pero mezclado con algo de historia, mitología (no solo clásica) y una estética un tanto steam-punk. En WareHouse 13, un grupo de agentes deben encontrar objetos que producen algún tipo de actividad paranormal y almacenarlos en WareHouse 13, un almacén lleno de extraños objetos que pertenecieron a gente como Escher, Tesla, Edison. La primera temporada acabó de emitirse el 22 de Septiembre pero ya han renovado para una segunda temporada.



Además de estas 3 series, tenemos a FlashForward (que todavía tengo pendiente de "probar"), y las nuevas temporadas de otras series como Big Bang Theory, Fringe, Lost, How I Met Your Mother, Californication, etc. que o bien acaban de salir o les queda poco.

¡Vuelve la diversión! :)

5 claves para no pifiarla al escalar


En esta interesante entrada de High Scalability, comentan 5 claves para que cuando tratemos de escalar nuestra base de datos no la acabemos pifiando. Parecen cuestiones simples, pero muchas veces las obviamos, y luego vienen las penas. Como siempre, todo es muy dependiente de tu aplicación en concreto, pero merece la pena tenerlas siempre presentes:

1.- No pienses síncronamente. Introduce comunicación asíncrona, paralelización y estrategias para lidiar con datos aproximados o un poco desfasados.

2.- No pienses de forma vertical. Escalar con máquinas cada vez más grandes no funciona. Intenta escalar de forma horizontal, y con arquitecturas asíncronas desde el principio, ya que te permitirá ir añadiendo más capacidad en función de la demanda.

3.- No mezcles transacciones con Business Intelligence. Las transacciones y las analíticas son inherentemente distintas. Separa distintos tipos de datos en distintas bases de datos. De hecho, para los temas de BI y Minería de Datos, necesitarás arquitecturas OLAP, mientras que para transacciones de datos más comunes te bastará con bases de datos relacionales (o no relacionales).

4.- Evita mezclar datos "calientes" y "fríos". Los datos estáticos y aquellos que cambian muy rápidamente son inherentemente distintos. Separa también estos distintos tipos de datos en distintas bases de datos.

5.- No te olvides del poder de la memoria. Haz que tus datos estén accesibles en RAM mediante un particionado inteligente de los datos en los servidores.

Autobombo

Más allá de que la palabra 'autobombo' me encante, sobre todo después de aquellos tétricos tiempos de Meneame, aprovecho que aún queda tiempo para las votaciones de los premios bitácoras 2009 para hacer autobombo de los blogs que gestiono y/o en los que participo. Si alguno consideráis relevante votar a alguno de estos blogs porque os parezcan interesantes, os animo y agracezco que lo hagais :)

Mi blog personal, el presente, JoSeKBlog, está más o menos bien situado en la categoría de blogs personales. Os dejo el botón para votarlo:



El blog que gestiono dentro de Madri+D, Sistemas Inteligentes, esta mejor situado en la categoría de educación:



El blog de nuestro proyecto Wipley, donde comentamos las novedades sobre el proyecto, y también sobre noticias del mundo de los videojuegos, no es que esté particularmente bien posicionado, pero encaja en la categoría de Tecnología:



Nuestro blog corporativo, SGP Blog, esta bien situado en la categoría de Software y Seguridad:



Lo dicho, no sientas la obligación de votar a ninguno de estos blogs, ni mucho menos, pero si te apetece votarlos porque los consideras relevantes, o por cualquier otra razón, serás bienvenido y agradecido :)

La Ciencia en España no necesita recortes: 2 visiones, 2 razones


Como no puedo estar más de acuerdo con esta iniciativa surgida desde la Aldea Irreductible, os dejo un enlace con dos de mis razones para que no se recorte el presupuesto para la I+D+i en este país (de hecho propongo que se incremente, leñe). Una de las razones es una razón a futuro, no hipotequemos el futuro de este país, la otra, viene más desde la perspectiva de las empresas de base tecnológica que estamos tratando de subsistir. ¿Cómo narices vamos a dar empleo y reducir el paro a futuro si no nos dejáis respirar?