Entradas con la etiqueta Software

Relanzamiento de Google Wave

Hace algo más de un año que hablábamos por aquí de Google Wave. Tiempo ha pasado ya desde su lanzamiento y ha sido uno de los productos de Google de los que más se ha hablado y, al mismo tiempo, menos se ha utilizado.

¿Qué problema ha tenido? En primer lugar, no es útil una herramienta si no tiene un número mínimo de usuarios con los que interactuar. ¿Y como conseguir estos usuarios? Pues ofreciendo algo que no tengan ya otras plataformas. El elenco geek estaba sumamente interesado en Wave desde el inicio, y nos registramos cuan horda nada más salir pero, ¿qué nos ofrece wave? ¿Por qué no hemos seguido usándolo tras unas semanas de trastear con él?

El principal fallo, desde mi punto de vista, es que se trata de una herramienta totalmente desacoplada de nuestras herramientas cotidianas. Quitando el hecho del acceso compartido a nuestros contactos de Google, se hacía necesario entrar todos los días en Wave para ver si teníamos algún nuevo mensaje. Si ya estamos acostumbrados a hacer esto con el correo electrónico ¿para qué marear más la perdiz? Personalmente poco a poco, y debido tambien a la falta de actividad de Wave, fui dejando de acceder al servicio. Instalé una extensión de Firefox que me avisara cuando tenía nuevos waves, pero como nadie utilizaba el servicio ahí se quedó. Posteriormente Google, en un intento de recuperar masa crítica de usuarios, implementó avisos via email de la existencia de un nuevo wave.

Y mi pregunta es. ¿Por qué no integraron Wave en Gmail? ¿Qué problema había? No olvidemos que, en el caso de una comunicación asíncrona, casi no hay diferencia entre el mail de toda la vida y Wave. De haber sido así, la cantidad de gente que hubiera utilizado el servicio hubiera sido mucho mayor. Teniendo toda la base de usuarios de Gmail, otros webmails e incluso clientes de escritorio habrían implementado un servidor Wave para poder utilizar esta nueva forma de comunicación.

¿Y qué pretenden ahora? Según lo publicado, parece que Google quiere relanzar Wave, como una aplicación independiente. Recordemos que, en principio, el protocolo era abierto, pero su implementación cerrada. Daban la posibilidad de que otros fabricantes implementaran su propio servidor Wave, pero ellos ya llevaban la delantera en este sentido. Ahora, liberarán el código de su servidor para que cualquiera pueda usarlo. Espero que realmente sea adoptado por la comunidad y se termine utilizando. No quiero recordar lo que ocurrión con mi querido (y prácticamente difunto) Jaiku.

Etiquetas: , , , , ,

¡Feliz dia del programador!

Entre las fiestas “geeks” que poblan nuestro calendario (aquí en versión Google Calendar), hoy toca celebrar el día del programador. Se ha establecido dicha celebración el día 256 del año (o 2^8, o 1111 1111). Así que enhorabuena a todos aquellos moradores de sótanos, cubículos, o despachos sin luz natural. La siguiente tira va dedicada a vosotros (nosotros realmente):

Etiquetas: , , , ,

Mi PFC

01_ventana_principal

Entre las cosas pendientes que hice el año pasado y no llegué a publicar por falta de tiempo está mi Proyecto de Fin de Carrera. Lo presenté en Marzo del 2009 en la ETS de Ingeniería Informática de la UNED, en Madrid.

El título del proyecto es “Análisis, Aplicación y Evaluación de un Algoritmo Evolutivo”. Concrétamente, se centra en el uso de algoritmos genéticos por medio de la implementación de un problema clásico en computación como es el de la mochila, tratando de analizar qué parámetros del algoritmo genético afectan en mayor medida a su resolución.

Un algoritmo genético no es más que un algoritmo tal que, partiendo de una serie de soluciones factibles o no factibles, las hace evolucionar, generando nuevas soluciones que tienden a mejorar las iniciales. Se utilizan fundamentalmente cuando el espacio de soluciones es muy amplio y no necesitamos la mejor solución, sino que con una buena aproximación obtenida en un espacio de tiempo acotado nos es suficiente.

En el caso concreto del problema que elegí, el problema de la mochila, lo que tratamos de hacer es llenar un contenedor con una capacidad limitada (la mochila) con una serie de objetos, de forma que el valor total de los objetos introducidos en la mochila sea el máximo posible. Cada uno de los objetos tiene un valor y un peso o volúmen asociado. Podemos observar como esto conduce a que pueda haber muchas soluciones posibles, pero estamos buscando aquella que nos proporcione la colección de objetos de mayor valor posible.

Para hacernos una idea de como funciona el algoritmo en este caso, y la manera de trabajar de un algoritmo genético genérico podemos pensar en el siguiente escenario como ejemplo:

  • Tenemos una mochila que queremos rellenar que tiene una capacidad máxima C.
  • Tenemos una lista con los objetos que podemos meter en la mochila. Cada objeto tiene asociado un valor V y un volúmen Vol.
  • Tenemos que llenar la mochila con objetos, de forma que la suma de los volúmenes de los objetos no supere a la capacidad de la mochila y, además, que el valor total de los objetos introducidos sea el máximo posible.

La solución típica sería calcular todas las posibles combinaciones de objetos, con el valor total de la solución, y quedarnos con el mejor. Esta es la solución correcta, y garantiza que el valor máximo ha sido encontrado. El problema aparece cuando tenemos listas con millones, miles de millones o billones de objetos. Calcular todas las posibilidades en este caso es demasiado costoso en tiempo. Existen problemas en los que es imposible obtener una solución con este tipo de cálculo extensivo en un tiempo lógico. Es aquí donde hacen aparición los algoritmos evolutivos y donde resulta especialmente interesante su utilización. El algoritmo genético parte de una serie de soluciones básicas y, a partir de estas, irá mejorando la solución global del problema. La ejecución del algoritmo terminará cuando nosotros lo especifiquemos (un número determinado de generaciones, cuando no siga mejorando la solución tras un número dado de generaciones, en un tiempo fijo… etc)

En nuestro caso, para calcular la solución, partimos de una serie de soluciones iniciales que representan colecciones aleatorias de objetos. Calculamos para todas estas soluciones el valor total de los objetos introducidos en la mochila. El algoritmo genético tomará estas soluciones y realizará operaciones entre ellas, con la intención de ir mejorándolas. Iría tomando objetos de una y otra solución, y calcularía el valor de esta nueva solución. Las nuevas soluciones generadas, se comparan con sus antecesores, y nos vamos quedando con las mejores. Para compararlas se utiliza el valor total de los objetos introducidos en la mochila.

La “población” de soluciones se va mejorando de forma similar a como lo hacen las distintas especies animales en función de la teoría de la evolución de Darwin: por medio de la supervivencia del más apto. De hecho, la generación de nuevas soluciones es el equivalente computacional a la reproducción: dados n progenitores, mezclamos su “código genético” para generar un número determinado de descendientes. A estos descendientes, a su vez, aplicamos operadores que simulan mutaciones, eliminación de los elementos de mayor “edad”… etc

El fichero con la presentación que realicé podeis verlo a continuación:

Por lo demás, aquí os dejo un enlace a la memoria, y otro al software de simulación de la mochila.

El código fuente lo subiré próximamente, en cuanto pueda añadirle un fichero con la licencia y demás parafernalia.

Etiquetas: , , , , , ,

Probando Windows Live Writer

Sí, sí, aunque parezca mentira, estoy obligado durante unos meses a vivir exclusivamente con Windows. Y me he dicho “ya que estamos aquí, ¿por que no probar el Live Writer del que tanto habla la gente”?

La verdad es que en principio tiene buena pinta. Ando un poco perdido en cuestión de saber como introducir determinados códigos que estoy acostumbrado a meter a mano, como añadir etiquetas, programar entradas. De momento me arreglo con una pestaña que permite acceder al código puro y duro.  En resumen, que aún me queda mucho por trastear. A ver si me sirve para escribir más cómodamente y recuperar la afición al posteo indiscriminado.

Technorati Tags: , ,

Etiquetas: ,

KDE4

Kwin Transparency

Por fin ha sido publicada la versión 4.0 de KDE (exáctamente se publicó el día 11 de Enero). Tras haber leido las novedades que incorpora en cuatro artículos publicados en Genbeta, me picó el gusanillo y ayer mismo la instalé de un plumazo. Cinco minutos me ha durado. No me puedo permitir ahora mismo tener un escritorio sin configurar y en el que no me sienta cómodo. Tengo demasiadas cosas pendientes.

La primera impresión no es mala. Quizás un poco lento, y la integración en la distribución un poco tosca. Pero con cinco minutos, no puedo juzgarla, la verdad. Se supone que incluye bastantes novedades y estoy deseando disponer de algo más de tiempo para echarle un ratillo. Ya se sabe que al principio, cuando instalas un escritorio, tocan un par de jornadas de configurar y que quede todo manejable y al gusto de cada cual (por eso tampoco he terminado usando Compiz).

Lo que no se puede negar es que estén trabajando para añadir todas las mejoras posibles de manera continuada. En 24 horas esto es lo que me escupe mi querido apt cuando le pido que me actualice el sistema.

root@lolo:/home/manolo# apt-get dist-upgrade
Leyendo lista de paquetes… Hecho
Creando árbol de dependencias
Leyendo la información de estado… Hecho
Calculando la actualización… Listo
Se instalarán los siguientes paquetes NUEVOS:
cryptsetup dmsetup ksysguardd-kde4 libkonq5-templates libqca2-plugin-ossl
python-qt4-common
Se actualizarán los siguientes paquetes:
dolphin-kde4 gwenview-kde4 kamera-kde4 kappfinder-kde4 kate
kcolorchooser-kde4 kcontrol kdeartwork-emoticons-kde4 kdeartwork-kde4
kdeartwork-misc-kde4 kdeartwork-style-kde4 kdeartwork-theme-icon-kde4
kdeartwork-theme-window-kde4 kdebase-bin kdebase-bin-kde4 kdebase-data
kdebase-data-kde4 kdebase-kde4 kdebase-kio-plugins kdebase-workspace
kdebase-workspace-bin kdebase-workspace-data kdegraphics-kde4
kdenetwork-kde4 kdepasswd kdepasswd-kde4 kdeprint kdesktop
kdewallpapers-kde4 kdm kdm-kde4 kfind kfind-kde4 kgamma-kde4 kget-kde4
khelpcenter kicker klipper klipper-kde4 kmenuedit knewsticker-kde4
kolourpaint4-kde4 konqueror konqueror-kde4 konqueror-nsplugins
konqueror-nsplugins-kde4 konsole konsole-kde4 kopete-kde4 kppp-kde4
krdc-kde4 krfb-kde4 kruler-kde4 kscan-kde4 kscreensaver-kde4 ksmserver
ksnapshot-kde4 ksplash ksysguard ksysguard-kde4 ksysguardd kwin kwin-kde4
kwrite-kde4 libkonq4 libkonq5 libokularcore1-kde4 libplasma1 libpq5
libsearchclient0 libstreamanalyzer0 libstreams0 libstrigihtmlgui0 libxml2
okular-kde4 python-libxml2 python-qt4 python-qt4-dbus python-sip4
strigi-daemon systemsettings-kde4
81 actualizados, 6 se instalarán, 0 para eliminar y 0 no actualizados.
Necesito descargar 111MB de archivos.
Se utilizarán 1708kB de espacio de disco adicional después de desempaquetar.

111 megas de archivos. No está mal la cosa.

Los artículos que mencionaba de Genbeta podeis encontrarlos aqui:

Etiquetas: , , , ,

I love this OS

Lo que me encanta de Ubuntu (Debian) y sin lo cual no puedo vivir es la herramienta apt. Como me he estado acordando de LyX, he querido volver a instalarlo y probarlo a ver qué tal. Tirando de apt, solo he tenido que ejecutar lo que está en negrita. Con este comando, el sistema ha buscado todos los paquetes necesarios, los ha bajado de internet y los ha instalado y configurado…

root@lolo:/home/manolo# apt-get install lyx
Leyendo lista de paquetes… Hecho
Creando árbol de dependencias
Leyendo la información de estado… Hecho
Se instalarán los siguientes paquetes extras:
libaiksaurus-1.2-0c2a libaiksaurus-1.2-data libboost-filesystem1.34.1
libboost-regex1.34.1 libboost-signals1.34.1 libkpathsea4 lyx-common
tex-common texlive-base texlive-base-bin texlive-common texlive-doc-base
texlive-latex-base
Paquetes sugeridos:
rcs dvipost tex4ht hevea tth latex2html groff libtiff-tools gnuhtml2latex wv
chktex noweb menu sgmltools-lite linuxdoc-tools texlive-latex-extra
Paquetes recomendados
texlive-latex-recommended texlive-fonts-recommended preview-latex-style
dvipng imagemagick latex-xft-fonts dvipdfmx lmodern perl-tk
Se instalarán los siguientes paquetes NUEVOS:
libaiksaurus-1.2-0c2a libaiksaurus-1.2-data libboost-filesystem1.34.1
libboost-regex1.34.1 libboost-signals1.34.1 libkpathsea4 lyx lyx-common
tex-common texlive-base texlive-base-bin texlive-common texlive-doc-base
texlive-latex-base
0 actualizados, 14 se instalarán, 0 para eliminar y 0 no actualizados.
Necesito descargar 55,0MB de archivos.
Se utilizarán 123MB de espacio de disco adicional después de desempaquetar.
¿Desea continuar [S/n]?

Tras esto, he abierto LyX, he compilado el texto de ejemplo en PDF y me ha salido con la configuración en español y todo (tildes y caractéres propios de nuestra lengua). ¿Seguro que Linux es más difícil que Windows? En total, creo que he tardado 3 minutos entre decidir instalar LyX y tener el texto generado (incluyendo por supuesto la descarga de los 55 megas de internet… jejeje) El resultado:

lyx

Historias del abuelo cebolleta:

  • En mis tiempos sí que era chungo instalar todo el tema de LaTeX. Cuando los hombre eran hombres y escribían sus propios drivers, una vez que lo tenías todo andando, llegaba el suplicio de ponerle el soporte a español. ¡Insufrible! Y claro, tampoco existía Google. Ibas avanzando en la configuración con las cosas que te iban diciendo los colegas de facultad y alguna cosa que por casualidad aparecía en internet
  • Existen versiones de apt para distribuciones de linux no basadas en debian (apt4rpm). Recuerdo haber tenido apt instalado en SuSE y Mandriva. Francamente recomendable. Yo ya no puedo vivir sin él :-)
  • En lugar del comando que he tenido que ejecutar en consola para instalarlo todo, tambien se puede hacer con un bonito asistente gráfico. Pero uno ya tiene la mala costumbre de tirar de consola, y no vamos a intentar cambiar a la vejez, ¿no?

Etiquetas: , , , , , , , ,

Escuchando

Ultimamente no he escuchado nada

Tags Musica

Cache is empty.
lastfm logo

Fotillos

T9
Fotillos...

Fotillos por RSS 2.0