Un virus informático se comió mis apuntes...

Este blog está un poco patas arriba. Estoy rehaciendo el theme desde cero porque fui el más rápido del oeste con el comando rm y me fusilé unas cuantas cosas en el servidor.

De momento la Red de Minipost Distribuida no funciona :'( pero la arreglaré prontito

Hasta luego, y no olvides mineralizarte, supervitaminizarte y subscribirte a mi feed para recibir mis tonterías en un formato más cómodo. ¡Gracias!

¿Es el Universo una computadora o una computación? Interesante discusión entre Seth Lloyd, Leonard Susskind, Christopher Fuchs y Sir Tony Leggett. La importancia del tema central: la física de la información, se hace mayor conforme digitalizamos más y más aspectos de nuestras vidas.

Estamos a un paso de la era de la computación ubicua, un mundo en el que casi toda computación será realizada por nuestro entorno en todo momento, en cualquier lugar. Muy cerca de terminar de entretejer el metaverso con el mundo real.

Hace tiempo que todas estas ideas me vienen rondando la cabeza. Si te parece vamos a dar un paseo imaginario por el centro de una metrópoli cualquiera…
Es temprano, la mañana es fresca pero hoy se esperan temperaturas agradables, eso es lo que mis gafas muestran al detectar el gps que llevan integrado que estoy saliendo de casa, información meteorológica sobre el día que comienza. Nos dirigimos hacia el centro de la ciudad, por el camino nos cruzamos un tipo que nos llama la atención porque lleva un perro grandísimo sujeto a una correa. Pedimos a las gafas información sobre el animal, el collar emisor del perro muestra su nombre: “Gos”, raza, edad… ¿deseas saber más? un enlace parpadeante pero no molesto me indica la posibilidad de acceder a internet para buscar información sobre ese tipo de animales.
ñarfidosContinuando con nuestro paseo ya casi hemos llegado al centro de la metrópoli, por el camino recibimos una llamada de un amigo que sabemos que está ahora mismo a una manzana de distancia porque ambos hemos intercambiado nuestra geoposición, como estamos cerca y ociosos quedamos para desayunar juntos en el bar Ubiquity. Nuestras gafas nos muestran un plano con la ruta trazada hasta la cafetería y opcionalmente nos indicará cada calle que debemos tomar. Al encontrarnos enfrente de la cafetería echamos un vistazo a la lista de precios, caro como todas, no aparece información extra porque nunca he estado en este establecimiento, pido información de mi red de contactos sobre el sitio, aparece una puntuación: 7/10 “un sitio tranquilo, camareros majos” la nota es de un colega, confío en él tiene buen criterio para estas cosas. Durante el desayuno tenemos una conversación amena, discutimos sobre Historia Antigua y el papel de las matemáticas y la ciencia en la antigua Grecia, nuestro amigo accede un par de veces al metaverso para comprobar de quién era discípulo Platón y exáctamente cual era el punto fuerte de aquella historia de la caverna, yo por mi parte accedo a mi propia contextopedia para buscar referencias sobre el teorema de pitágoras y la norma euclídea, la conversación avanza con nuevas informaciones.
La mañana trascurre con normalidad, ya que estoy en el centro decido hacer algunas compras, paso por un pequeño mercado y adquiero las frutas que más me gustan, siempre que puedo compro a los mismos agricultores, el cajón de naranjas envía a mis gafas esa información. También compro algo de pescado, estoy completamente seguro de que es fresco, si en algún momento uno solo de esos peces se hubiese descongelado y puesto en situación de riesgo higiénico el árfido grapado a su aleta hubiese informado al vendedor para su inmediata retirada ya que automáticamente habría anulado su posibilidad de venta al público mediante pago electrónico. Desde hace tiempo cualquier objeto es más que un objeto, es un spime: un objeto informacionalmente significado.
Cuando llega la hora de volver a casa, agotado decido tomar el transporte público, inmediatamente obtengo la dirección a la que debo dirigirme para subir al autobus que en menos tiempo me dejará en casa. Ya en el autobús una niñita me sonríe con ojos traviesos, un mensaje junto a ella me informa de que me está retando a un tetris virtual, la “princesa Nell” (así ha decidio ella identificarse) quiere machacarme al tetris, le devuelvo la sonrisa negándole la partida, estoy algo cansado… bueno, ¡qué diablos! solo será una partida.

La idea:
La tecnología RFID nos permite dotar a los objetos de capacidad de computación e interconexión entre ellos mediante árfidos obteniendo así computación en todo momento y lugar. Añadamos a cada objeto una capa de información transformándolos en spimes. Utilicemos gafas especiales como la interfaz de esta nueva nueva realidad ampliada. Finalmente hagamos invisible la herramienta y dejemos que emerja su utilidad.

“Las tecnologías que más calan son las que desaparecen. Se entrelazan en el tejido de la cotidianidad hasta que se vuelven invisibles”. Mark Weiser

Balance anual 2007

En este año que termina he aprendido muchas cosas, no puedo quejarme. Sin duda la mayor de ellas ha sido darme cuenta de la importancia de descubrir nuevos paradigmas para resolver problemas. La inercia y el absurdo sentido de propiedad nos dificultan gravemente la tarea de aprehender nuevas ideas que están en conflicto con otras antiguas, pero cuando finalmente hacemos el cambio ¡qué equivocados nos damos cuenta que estábamos! 2007 será para mi el año de las redes, el año en el que aprendí a aplicar modelos de red a todos los flujos de información que nos rodean.

Os deseo a todos un año 2008 lleno de fuerza y voluntad para alcanzar vuestros objetivos.

Ubiquity es la revista digital de la asociación ACM (Association for Computing Machinery), en ella encontré una entrevista interesante a Peter Denning (anterior presidente de la ACM) sobre el movimiento que lidera: el proyecto para asentar los grandes principios de la computación.

Actualmente la informática (computing) es considerada como una ingeniería, el propósito del proyecto es recoger el cuerpo de conocimiento necesario para establecer la computación como ciencia. ¿Por qué es importante reclamar la computación como una ciencia?, ¿realmente existe una diferencia fundamental entre considerarla ciencia o ingenierí­a? Denning da cuatro razones principales:

  • Proporciona credibilidad para la colaboración con los campos cientí­ficos con los que se trabaja estrechamente
  • Mejora la innovación porque clarifica los principios con los que encontrar soluciones
  • Centra la cuestión que nos ocupa (es decir, los procesos de información)
  • Asienta un lenguaje común con el que discutir

Hay una -cada vez menos fuerte- oposición a considerar la informática como una ciencia. El principal argumento en contra, que no trataba sobre aspectos naturales sino sobre una construcción humana, fue abolido hace más de un lustro, en el año 2001 cuando el Nobel de biologí­a David Baltimore dijo que los mecanismos celulares computan la lectura del ADN para construir nuevas células vivas.
Parafraseando a Djikstra: la computación es a las computadoras como la astronomía a los telescopios. Al igual que otras ciencias no tratan sobre los telescopios o microscopios sino sobre el Universo y la vida, la computación no trata sobre computadoras, estas son la herramienta para estudiar los procesos de información.

Los principios de la computación elaborados por Denning son siete, según él son como un edificio heptagonal con siete ventanas: computación, comunicación, coordinación, recolección, automatización, evaluación y diseño. Según esto cada vez que miramos algo dentro del edificio, como por ejemplo las redes, podemos hacerlo desde cada una de las siete ventanas, obteniendo un punto de vista distinto.
Denning, con el soporte de la ACM, ha elaborado una interesante página sobre los principios de la computación. En su blog de Wired, Bruce Sterling también hace su aportación al tema.
Ví­a Quantum Pontiff.

Me he encontrado un nuevo plugin para wp que permite separar los minipost del contenido principal del blog, tanto en la página como en los feeds. Faltan algunas cosas como el nombre del autor del minipost y su gravatar, pero me parece que va a simplificar el trabajo a muchos que nos estamos enredando modificando el núcleo de wp.

Me informa Alex sobre un nuevo proyecto de la fundación Mozilla: se llama Weave, conceptualmente es una nube de metadatos (marcadores, historial de navegación, configuraciones, etc) que se refleja de forma transparente en cualquier dispositivo que utilice el navegador firefox.
Curiosamente nosotros ya llevábamos un par de semanas discutiendo el concepto, incluso planteándonos si podríamos desarrollar algo parecido a un navegador ubicuo con firefox, pero los chicos de Mozilla se nos han adelantado (algo estupendo porque es un trabajo que nos ahorramos y ellos lo pueden hacer mejor que nosotros).
the cloud
Todo está muy verde pero el proyecto promete, y el hecho de que tanto nosotros como la fundación hayamos tenido la misma idea es significativo: esa gran red de metainformación que estamos construyendo tendrá mucho más sentido cuando consigamos despegarla totalmente de un dispositivo (o varios) en concreto. En realidad si vamos un poco más lejos se puede pensar que este es un paso necesario para la computación ubicua mediante polvo inteligente.

Hace unos meses Nokia propuso la exclusión del formato OGG/Vorbis del estandar web W3C. Los W3C son muy probablemente los estándares antipropietarios más puros que existen, Nokia argumentó (falazmente) que OGG es un formato propietario cuando es en realidad un formato libre y en la práctica sin patentes. Esta es la estrategia pro-DRM del lobby Apple-Nokia. A punto está de excluirse OGG de HTML5 y debemos reaccionar: la comunicación libre debe ser un derecho fundamental humano.

Varios son los problemas del software matemático (herramienta diaria de físicos, matemáticos, ingenieros, economistas, biólogos y otros muchos). Los grandes: Matlab, Maple, Mathematica y Magma piden el pago de altas licencias por su uso, y el problema mayor es que estos programas no siempre revelan cómo se han realizado las computaciones. -Otros científicos no pueden investigar el código para verificar cómo se ha llegado al resultado, esto es como no publicar las pruebas de un Teorema, es absurdo- dice William Stein, quien dirige el equipo que ha desarrollado Sage, la herramienta matemática libre que promete revolucionar el campo.

Respondiendo a la petición de David he escrito un breve tutorial para instalar un metaverso opensim propio en un sistema GNU/Linux. Espero que os sea muy útil a todos los exploradores.

Tutorial con los pasos para conseguir instalar un metaverso propio en un sistema GNU/Linux.

Hace un tiempo Linden liberó el código de Second Life. Desde ese día se ha ido tejiendo alrededor del software una comunidad muy interesante de hackers que están trabajando en la creación de metaversos distribuidos. En esta entrada voy a mostrar los pasos para conseguir instalar un metaverso propio en un sistema GNU/Linux.
openslComenzamos en el wiki del proyecto opensimulator. Opensim es un programa escrito en C# (por tanto multiplataforma) capaz de servir metaversos soportando múltiples clientes y servidores. Después de instalar el servidor podremos ejecutarlo en diferentes modos, el modo autista, que permite un único visitante y el modo grid que permite la conexión de más personas al metaverso. Una vez tengamos el “grid” funcionando nos conectaremos con nuestro cliente de secondlife habitual.

¡Manos a la obra!

Primero descargarmos el código del repositorio subversion con el comando

svn co http://opensimulator.org/svn/opensim/trunk opensim

Para esto tendrás que tener instalado svn (subversion) en tu sistema. También hay versiones estables disponibles, pero no te proporcionarán ese cosquilleo en la barriga de ver tu metaverso saltar por los aires con tus amigos dentro.

A continuación construimos el software:
cd opensim
./runprebuild.sh
nant

Asegurate de que tienes el programa nant instalado.
En el wiki hay más información para activar la física ODE (Open Dynamics Engine), de la que vamos a pasar por el momento. Si algo no te ha funcionado ve a la sección de problemas de opensim e instala todos los programas de mono que ponen allí.

Un metaverso cualquiera

Ahora mismo ya podremos lanzar nuestro metaverso autista ejecutando opensim:

cd bin
mono OpenSim.exe

Y conectarnos a él mediante nuestro cliente de secondlife:

secondlife -loginuri http://localhost:9000

Aquí por algún motivo tienes que introducir tu usuario de secondlife (en el modo grid no). Bien, los seguideres de Nación Solipsista seguramente estarán más que satisfechos con esto, pero nosotros queremos más, queremos un metaverso con amigos… así que matemos el programa y vamos a configurar el modo grid.

Lo siguiente que necesitamos es un gestor de bases de datos mysql en el que crear una base de datos y almacenar la información del grid. Si necesitas ayuda para instalar mysql, en el wiki encontrarás más información.
Si no, conectate a mysql y crea una base de datos con las tablas que encontrarás en opensim/share/sql de la siguiente manera:

$ mysql -u root -p -h localhost
mysql> create database opensim;
mysql> use opensim;
mysql> source mysql-agents.sql;
mysql> source mysql-inventoryfolders.sql;
mysql> source mysql-inventoryitems.sql;
mysql> source mysql-logs.sql;
mysql> source mysql-regions.sql;
mysql> source mysql-users.sql;
mysql> quit

[Actualización 16:00 8 Diciembre]
Necesitaremos volcar también a la base de datos los ficheros UpgradeItemsTableToVersion2.sql y UpgradeFoldersTableToVersion2.sql que se encuentran en la ruta OpenSim/Framework/Data.MySQL/Resources. En posteriores revisiones/versiones no será necesario, actualmente (en la revisión 2621) sí.

Ahora editamos el fichero mysql_connection.ini

[mysqlconnection]
hostname=localhost
database=opensim
username=tu_usuario_de_mysql
password=tu_clave
pooling=false
port=3306

Ya casi está todo, ahora abre 5 consolas distintas, ejecuta en cada una los siguientes programas, en el orden que sigue y esperando para ejecutar el siguiente a que el primero te devuelva el prompt:

OpenSim.Grid.UserServer.exe devuelve el prompt OpenUser#
OpenSim.Grid.GridServer.exe devuelve el prompt OpenGrid#
OpenSim.Grid.AssetServer.exe devuelve el prompt OpenAsset#
OpenSim.Grid.InventoryServer.exe devuelve el prompt INVENTORY#
OpenSim.exe -gridmode=true

mi metaverso

Todos estos procesos te pedirán opciones, dales la que viene por defecto pulsando intro a discrección. Vete a la primera consola OpenUser# y crea un usuario para cada visitante con el comando create user, te pedirá nombre, apellido, clave y posición cartesiana, puedes asignar (1000,1000) al primero, (1050,1050) al segundo y así sucesivamente. Nos bastará crear un par de usuarios para hacer las pruebas. ¿Preparado? Conecta cada visitante (local) con tu cliente secondlife habitual, ahora el puerto de conexión es distinto:

secondlife -loginuri http://localhost:8002/

Por último si quieres que se conecten a tu servidor de metaversos desde fuera de tu red local, lo primero que tendrás que hacer es asegurarte que les proporcionas una IP correcta y que tu router está redirigiendo el tráfico de los puertos que utiliza opensim a tu equipo servidor (sé valiente y abre todos los puertos : P ). Además tendrás que editar el fichero xml de regiones opensim/bin/Regions/fichero.xml y escribir la IP externa en el campo “external_host_name”. (Yo he tenido a mi hermano estrellándose contra el portón cerrado de mi metaverso de pruebas durante un buen rato, tú no te olvides de esto).

Ya has creado tu propio metaverso. Ahora puedes seguir explorando, desde el wiki de opensimulator se accede a servidores de grids de metaversos, canales irc de la comunidad y demás. Yo te recomiendo, al igual que me recomendaron a mi, que leas Ciudad Permutación, ahí se esconde la esencia de todo esto y tal vez, por qué no Snow Crash, que explora menos las implicaciones pero es mucho más divertido.