Archivo de la categoría Software Libre

Leer particiones ext2, ext3 y ext4 desde Windows

Estoy haciendo backup de los datos de mi viejo ordenador al nuevo. Bueno, relativamente nuevo, porque creo que ya tiene como año y medio, pero tenía pendiente pasar la mayoría de los datos del anterior a este. No creo que haya nada de vital importancia porque durante este tiempo no he echado nada en falta pero ¡más vale prevenir que curar!

Como ya comenté alguna vez por aquí, con el nuevo equipo pasé de usar Linux en mi sistema principal a Windows 7. Siempre me ha gustado más Linux, pero el pragmatismo manda y, para trabajar decentemente con software fotográfico, me hacía falta pasar a un sistema propietario tipo Windows o MacOS. El caso es que tengo un par de discos duros del equipo antiguo, que he sacado y conectado a la torre en dos conectores SATA externos que tengo para los backups y ¡vaya! ¡No recordaba que Windows no ve por defecto particiones de otros sistemas más exóticos! En este caso se trata de varias particiones en formato ext4. Buscando un poco por internet he encontrado dos soluciones.

La genérica pasa por descargar un software y ejecutarlo como administrador del equipo. Se trata de ext2read y nos muestra las particiones existentes en formato ext2, ext3 y ext4 del sistema. Podemos movernos por los directorios y copiar los ficheros que queramos a cualquier otra partición.

La solución más particular es un plugin de Total Commander (software que me encanta y que uso contínuamente en mi equipo). En la sección de plugins podemos descargar un par de plugins diferentes para poder ver estas particiones. Descargamos el plugin que nos interese en versión 32 o 64 bits y lo instalamos desde Configuración -> Opciones -> Complementos. Arrancamos de nuevo Total Commander como administrador y ¡ahí están nuestras queridas particiones!. Un gustazo poder copiar todo de un plumazo entre discos SATA sin el cuello de botella del USB2.0 del equipo antiguo.

¡Espero que os pueda ser útil a alguno!

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: , , , , ,

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: , , , , , ,

Last.fm, dimiten sus fundadores

Llevo unos cuantos años usando last.fm. Aunque tiene una infinidad de aplicaciones y usos, en mi caso únicamente se reduce a permitir que guarde la información de toda la música que escucho. Una obsesión como cualquier otra, vaya. Si luego además la puedo usar para generar una nube de tags, pues mejor que mejor.

Me entero a través de Meneame que los fundadores y principales responsables del portal han dimitido. Esto hace que me replantee la posible pérdida de los datos que han estado atesorando sobre mis hábitos musicales durante los últimos años (37704 canciones escuchadas desde Noviembre del 2005, ¡casi nada!). Llegado el caso podría llegar a replicar la funcionalidad y tener un servidor propio que realice la misma función pero, ¿cómo consigo los datos que ya he ido generando?

He estado investigando distintas posibilidades hasta dar con un proyecto que pretende realizar una implementación libre de last.fm. Libre.fm es su nombre y tambien se han estado planteando el tema de la exportación de los datos de last.fm para importarlos en su sistema. Es así como he descubierto esta página del wiki de libre.fm que proporciona un par de scripts para exportar los datos de last.fm e importarlos en libre.fm. Todavía no he tenido tiempo de probarlo, pero tiene buena pinta.

Technorati Tags: , , ,

Etiquetas: , , ,

Google Wave

Por fin he tenido un rato para ver la presentación de Wave, el nuevo producto que Google ha presentado en la Google I/O.

Realmente parece muy interesante. Es una nueva herramienta, con ánimo de crecer a partir de desarrollos por parte de terceros (se van a liberar las especificaciones del protocolo así como el código del motor) que podríamos calificar como una mezcla entre correo electrónico, web social y chat. Su principal ventaja es que auna las características de todos estos servicios a través de una única interfaz, de manejo bastante sencillo, y con la posibilidad de poder extenderse por medio de desarrollos adicionales de cualquier miembro de la comunidad.

No nos engañemos. No es que la cosa sea realmente novedosa. El ver lo que escribe otra persona en tiempo real lo llevo viendo desde los tiempos del talk de unix. ¡Hasta recuerdo que hice algún cliente via telnet! Pero lo que sí que queda patente durante la charla es que, hoy en día, lo que prima es simplificar las tareas cotidianas y el presentar sistemas usables y potentes de cara al usuario. Si además todo ello viene reforzado por unas especificaciones abiertas y la posibilidad de usar la plataforma para nuestros propios fines ¡bienvenido sea!

Lo que más me llama la atención como desarrollador es el ingente trabajo que debe haber detrás de un sistema distribuido de este tipo, con gestión de seguridad y permisos y la capacidad de presentar un objeto distribuido a distintos servidores. Estos harán uso de él de forma transparente sin que el usuario final sepa si el contacto con el que se está comunicando tiene una cuenta en la plataforma de Google o está usando el servidor de su empresa como pasarela (especialmente remarcable el momento en el que empiezan a comunicar servidores wave entre sí y uno de ellos ¡presenta un interfaz de cliente en ncurses!). Además de esto, publicar un API para poder hacer desarrollos aprovechando las ventajas de la plataforma y que esta vaya expandiendose poco a poco. ¡Incluso se va a liberar la propia plataforma!.

Me alegra que Google saque productos tan abiertos. Todavía no me fio de que cualquier día de estos me puedan quitar Gmail. El cliente, eso sí, porque de los datos hago copia periódica por precaución. Tampoco nos llamemos a engaño. Si se libera es porque interesa que se estandarice el protocolo, manteniéndose Google siempre en la cresta de la ola en cuanto a su desarrollo (sin ninguna duda, el cliente de Google será el mejor disponible durante bastante tiempo) y con poder de decisión a la hora de modificar/mejorar las especificaciones. Ya veremos luego como pretenden monetizar todo esto.

Y sin más rollos, os dejo con el video. Está en inglés. Si encuentro alguna versión subtitulada lo modificaré. ¡Ojo, que dura una hora y veinte minutos!

Technorati Tags: , ,

Etiquetas: , ,

H2BOX

Me estoy haciendo viejo. ¿Y cómo lo se? Pues porque ya no recuerdo cuando fue la última vez que compilé un kernel de linux. Una operación tan habitual antaño y abandonada en pos de la comodidad.

Hace unos 10 o 12 años, cuando conectarse un rato a internet costaba dinero y había que tener cuidado con el tiempo de conexión, solía hacer conexiones puntuales para bajar un determinado paquete de software que quería probar, junto con algún howto si es que existía. Además aprovechaba para enviar los correos en la cola de salida, recibir los nuevos y actualizar la lista de cabeceras del lector de news. Todo estaba automatizado para minimizar el tiempo de conexión. Tras estas operaciones online, tocaba entretenerse para montar y configurar… que te digo yo… la versión de sendmail que acababas de bajar, un servidor de ftp, o aprovechar esa nueva opción del kernel para ajustar la configuración de la tarjeta de sonido y que por fin se escucharan los ficheros midi. Todo muy entretenido. La ayuda además era limitada… ¡no existía Google! En el mejor de los casos, contabas tus penas en en es.com.os.linux.*, de forma offline, eso sí, porque hasta la siguiente conexión no se publicaba y quizás tocara esperar unos días a que llegara alguna respuesta.

Como decía, atrás quedaron esos tiempos. Fueron muy interesantes, pero una vez aprendido como configurar todo ese software ¿para qué complicarse la vida haciendo lo mismo? Os lo aseguro, sendmail es divertido las primeras dos o tres veces que lo montas. Después es una lata. ¿Qué pasó? Pues comenzaron a aparecer las primeras distros “para el usuario de a pie”. SuSE, Mandrake y, posteriormente, Ubuntu, me hicieron ir abandonando mi querida Debian. Muchos puristas se quedaron con Debian, y eso está bien, pero llegado el momento hay que ser pragmático. Ya no era tan imprescindible guardar celosamente una copia del directorio /etc y del home de tu usuario habitual para poder configurar todo de vuelta. Todo se volvió más sencillo y el tiempo dedicado anteriormente a depurar y afinar podía emplearse en hacer nuevas cosas.

Todo esto viene en relación a un proyecto que he estado siguiendo estas últimas semanas y que tiene bastante buena pinta: H2BOX. Llevo tiempo queriendo montar un HTPC en el salón y creía que, en pos de simplificar los quebraderos de cabeza lo más posible, que tendría que meter un Windows en casa (¡que vergüenza!) con MediaPortal, por ser la solución más rápida y sencilla de implementar.

Y es en este punto donde me he encontrado de bruces con el proyecto H2BOX, que pretende crear una plataforma compuesta por un hardware estándar y una distribución Ubuntu, integrada con MythTV y XBMC. La concepción original del proyecto implica que sea un equipo plug and play. Tan sólo llegar, enchufar y disfrutar. En el caso en que haya que reinstalar o subir de versión el software, se instala desde el cd/dvd de H2BOX y listo, otra vez funcionando. Suena bien, ¿verdad?

¿Qué ventajas aporta todo esto?

  • En primer lugar, se venderá un equipo bastante estándar por un precio ajustado (de hecho, el precio inicial que se ha barajado es MUY interesante). Aún así, las especificaciones del equipo serán públicas. Tú mismo puedes ensamblar un equipo a tu gusto e instalarle el software de H2BOX (que será software libre).
  • No hay tampoco costes de licencia de software ya que corre sobre Linux.
  • Podemos beneficiarnos de todas las mejoras que vayan incorporándose al software a lo largo del tiempo ya que la imagen de H2BOX podrá ser descargada.
  • Aunque el software enmascare al sistema operativo, es decir, que encendiendo el equipo automáticamente tengamos el software de gestión del HTPC funcionando, por debajo tenemos un Linux corriendo. Podemos conectarnos remotamente, compartir directorios, instalar servidores P2P… etc. Puede resultar muy interesante para los que nos gusta complicarnos la vida de vez en cuando, pero en el caso en que no sea así, la concepción original es “enchufar y listo”.

Y en esas estamos, esperando ansiosamente nuevas noticias de este proyecto, que tiene muy buena pinta. Para terminar, aquí teneis un video sobre la interfaz de XBMC.

Enlaces:

Etiquetas: , , , , , ,

CentOS, alternativa real a RHEL

A casi todos os sonará Red Hat. Esta distribución de linux es de las más veteranas, ya que apareción allá por el año 1994. Una de sus características fundamentales es su orientación comercial de unos años a esta parte. No se si estaré en lo cierto, pero creo que fue la primera compañía que trató de montar un modelo de negocio basado en Linux.

¿Cual ha sido su estrategia? Básicamente cobrar por servicios, es decir, soporte a la distribución, y llegar a acuerdos con distintos fabricantes para certificar sus aplicaciones para Red Hat. La certificación de un determinado software en Red Hat implica que el fabricante admite como compatible dicha distribución y no achacará al sistema operativo cualquier fallo que puedas tener.

En entornos de producción es imprescindible trabajar sobre versiones certificadas por razones más que evidentes. Bastante dura es ya la vida de un administrador como para añadirle más emoción.

Aún así, Red Hat se dividió en dos distribuciones:

  • La comercial denominada RHEL (Red Hat Enterprise Linux)
  • La versión de escritorio, adoptada por “la comunidad” y renombrada a Fedora Core.

La comercial es de libre copia y distribución, pero si no se paga la licencia correspondiente se carece de soporte (que en principio no sería un gran problema) y no permite la sincronización de paquetes con los servidores de Red Hat. Esto último ya es más problemático. Uno se acostumbra a tirar de repositorio y le da pereza resolver dependencias a base de bajarse a mano paquetes.

En mi caso concreto, he tenido que instalar recientemente un entorno de producción de Oracle eBusiness-Suite. Para ello hemos pagado religiosamente nuestra licencia de RHEL por 3 años y toda la implantación ha ido como la seda. El problema ha surgido a la hora de montar los distintos entornos de prueba y desarrollo. Para dichos entornos no necesito ningún tipo de soporte. Son entornos prescindibles y sobre los que se va a clonar la instancia de producción cada cierto tiempo. Aún así, interesa tener la misma distribución en todos para no multiplicar los posibles problemas que pudieran aparecer.

Dándole vueltas a este asunto, descubrí CentOS. Esta distribución es a RHEL lo que Fedora Core es a Red Hat. La comunidad se ha encargado de coger todos los fuentes de RHEL, que son de libre distribución, los ha compilado y ha creado sus repositorios correspondientes. Gracias a esto, podemos tener un entorno completamente compatible con RHEL pero sin depender del Red Hat.

Suena bien ¿verdad?. Desde la página de CentOS se pueden descargar las distintas versiones de la distribución. En mi caso he optado por la 4.6 (la última versión de RHEL soportado por la eBusiness Suite es la 4.5, así que vamos un poco por detrás), aunque ya está disponible desde hace bastante la versión 5.

Etiquetas: , , , , , , , ,

Ubuntu certificada para Oracle

En mis últimas búsquedas por la web, casi de casualidad, he encontrado ciertos artículos relativos a Ubuntu y Oracle bastante interesantes:

La novedad no es que se pueda instalar, que parece ser que sí se puede desde hace tiempo. Lo verdaderamente interesante es que sea un producto certificado. De esta forma, se puede obtener ayuda de soporte para dicha distribución. Y es que una cosa es instalar el núcleo de base de datos (cosa relativamente fácil) y otra muy distinta poder instalar un entorno eBusiness-Suite completo. Me encantaría poder instalar servidores de producción de Oracle en Ubuntu o Debian, ya que ahora mismo tengo que ceñirme a Red Hat y SuSE y, sinceramente, me siento mucho más cómodo con distribuciones basadas en Debian.

Por lo demás, si hay alguien interesado en instalar el núcleo de la base de datos en Ubuntu:

Technorati Tags: , ,

Etiquetas: , ,

Ubuntú y Fairfó

Ni el título le he cambiado a la entrada de Mundo Geek. Nunca he sufrido la obsesión por intentar que todo el mundo conozca lo maravilloso que es Linux. Símplemente habrá gente a la que por el uso que le vaya a dar o por sus conocimientos le interese más una opción u otra. Ya hemos pasado el punto crítico en el que nos tienen en cuenta a los usuarios de software libre a la hora de sacar drivers de productos, así que no tengo la necesidad de estar rodeado de Linux por todas partes. Además, la diversidad añade diversión ;-)

Lo que sí es interesante de este tipo de mensajes es que vaya calando en la gente que hay algo más allá de Windows y está al alcance de cualquiera. Así podrán decidir cual es la opción que mejor se adapta a sus necesidades.

[Via Mundo Geek]

Etiquetas: , , ,

Escuchando

Ultimamente no he escuchado nada

Tags Musica

Cache is empty.
lastfm logo

Fotillos

T9
Fotillos...

Fotillos por RSS 2.0