Arquitectura de JavaFX en Second Life

•diciembre 8, 2008 • Dejar un comentario

El proximo 9 de diciembre de 2008 a las 4 pm hora Colombia,1 pm Second Life se llevara acabo una charla acerca de JavaFX realizada por Sun Microsystems.JavaFX

Tomado de :
http://developers.sun.com/events/secondlife/index.jsp

Transmision por UStream.tv :
http://www.ustream.tv/channel/sun-java-fx

Program for the Future

•diciembre 8, 2008 • Dejar un comentario

Listo para evento en SecondLife
Program for the Future

Teletransportarse a Second Life
http://tinyurl.com/TheTech2

Ver en Streaming
http://www.ustream.tv/channel/program-for-the-future

Blog en Educacion

•diciembre 8, 2008 • Dejar un comentario

Esta es mi primera entrada en edublogs un sitio dedicado a blogs creados por estudiantes, profesores, inverstigadores y todo aque que algo tiene que ver con educacion.

Decidi abrir este blog para colocar todas aquellas entradas que tienen que ver con la parte de educacion y mis experiencias en la docencia en la Universidad Autonoma de Manizales y en otros lugares dando conferencias, charlas o dictando cursos rapidos. Me di cuenta de la existencia de este sitio gracias a que el proximo 20 de diciembre de 2008 se llevara a cabo la ceremonia de premiacion de edublogs 2008 en la isla de Jokaydia donde soy residente, asi que ya estoy listo para comenzar a publicar noticias aqui, aunque ya estamos finalizando labores academicas por este año.

Enlaces :

Subiendo Imagenes a OpenSimulator

•diciembre 8, 2008 • Dejar un comentario

Una de las tareas que tengo que hacer es poder subir una serie de imagenes automaticamente a OpenSimulator, asi que me di a la tarea de buscar como hacerlo y hacer un pequeño programa que ilustre los pasos que se deben seguir.

Se deben tener algunas consideraciones antes de comenzar, la primera es con respecto al tamaño de las imagenes, las cuales deben tener un tamaño divisible por dos y deben ser cuadradas o rectangulares respetando ciertas reglas en la relacion del ancho y el alto, tambien se debe tener encuenta que una imagen mayor a 1024 pixeles se considera muy grande y es dificil de cargar en el cliente, se recomiendan tamaños como 256×256, 512×512.

Para mayor informacion :
http://wiki.secondlife.com/wiki/Image_System
Image Sizes for Second Life

Tambien debemos tener encuenta el formato de codificacion de la imagen, ya que el cliente utiliza imagenes JPEG-2000, si se tiene un editor de imagenes que genere este formato es ideal utilizarlo, pero la mayoria de las veces las imagenes a subir estan en formatos PNG,JPG entre otros, por lo que se debe convertir la imagen utilizando por ejemplo la libreria openjpeg.

Continuar leyendo ‘Subiendo Imagenes a OpenSimulator’

Capturar Escritorio en Ubuntu 8.10

•diciembre 7, 2008 • Dejar un comentario

Para poder hacer el video donde muestro como funciono mi primer intento de utilizacion de la libreria licopenmetaverse debi instalar el software para capturar la pantalla y para convertir el video en un formato compatible con las principales paginas de publicacion de videos.

Instalacion Software :

  • Instalar software de captura del escritorio en Ubuntu :
    sudo apt-get install gtk-recordmydesktop
  • Instalar software para convertir archivos
    sudo apt-get install mencoder

Captura del Escritorio :

  • Para capturar el escritorio vaya al menu
    Applications -> Sound & Video -> gtk-recordMyDesktop
  • Puede seleccionar la ventana a capturar con el boton Select Window o especificar la region a capturar utilizando el mouse sobre la pantalla de visualizacion.
  • Para comenzar a grabar pulse el boton Record o el circulo rojo en la barra de aplicacion del escritorio
  • Esto comenzara a grabar la region seleccionada
  • Para detener la grabacion, abra el gtk-recordMyDestop y pulse el boton Stop o pulse donde estaba el circulo que ha cambiado por un cuadro
  • A continuacion el software procesa el video y lo almacena en su directorio home

Convertir Formato :

El archivo es almacenado en formato en un archivo out.ovg, el archivo esta almacenado en formato Ogg donde el video tiene formato Theora y el sonido esta en Vorbis, desafortunadamente este tipo de archivos no es posible subirlo a los sitios de publicacion de videos por tal motivo debemos convertir el archivo por ejemplo a video xvid y sonido mp3.

  • Convertir archivo :
    mencoder out.ogv -oac mp3lame -ovc xvid -xvidencopts pass=1 -o video.avi

Ahora puede subir el video.

Creando el Primer Bot con LibOpenMetaverse

•diciembre 7, 2008 • Dejar un comentario

Despues de compilar la libreria de linopenmetaverse me dedique hacer el primer programa con la libreria, donde un avatar se autentique con el servidor y permanezca en el mundo un determinado tiempo y despues salga de este, esto con el fin de conocer el uso de la libreria y los pasos requeridos para compilar el programa.

Al principio solo dejaba al avatar cinco segundos en el mundo, pero al tratar de entrar de nuevo el servidor me sacaba diciendo que el avatar ya estaba logueado, entonces probe con 60 segundos, 30 segundos, al final me quede con 15 segundos asegurando asi que el proceso de autenticacion y loqueo se cumpla totalmente, para luego proceder a cerrar la conexion.

  • Abrir una consola
  • Crear el directorio para nuestro programa
    mkdir MyBot
    cd MyBot
  • Copiar las dlls necesarias de la libreria libopenmetaverse compiladas anteriormente
    cp <directorio libopenmv>/trunk/bin/OpenMetaverse.dll .
    cp <directorio libopenmv>/trunk/bin/OpenMetaverseTypes.dll .
    cp <directorio libopenmv>/trunk/bin/OpenMetaverse.StructuredData.dll .
    cp <directorio libopenmv>/trunk/bin/log4net.dll .
  • Crear el programa en C#
    vi MyBot.cs

    using System;
    using System.Threading;
    using OpenMetaverse; // Libreria de Acceso OpenSimulator
    
    public class MyBot
    {
            public static void Main()
            {
                    // Crear cliente
                    GridClient client = new GridClient();
    
                    // Informacion acerca del avatar y la aplicacion
                    LoginParams loginParams =
                             client.Network.DefaultLoginParams(
                                    "Juan","Perez","1234","MyBot","0.1");
    
                    // Colocamos la direccion de nuestro simulador
                    loginParams.URI = "http://192.168.1.3:9000/";
    
                    // Tratamos de entrar
                    if(client.Network.Login(loginParams))
                    {
                            // Si entramos sacamos un mensaje,
                            // esperamos 15 segundos
                            // y salimos del mundo
                            Console.WriteLine("Entrando ...");
                            Thread.Sleep(15000);
                            client.Network.Logout();
                    }
                    else
                            // Si no fue posible loguearse, mostrar error
                            Console.WriteLine(client.Network.LoginMessage);
            }
    }
  • Compilar el programa :
    gmcs -lib:. -r:OpenMetaverse.dll MyBot.cs
  • Ejecutar el programa :
    mono MyBot.exe

Para verificar que esto esta funcionando puede abrir el visor y entrar con un usuario a la zona inicial de la region, cuando ejecute el programa Juan Perez aparecera por unos momentos.

Compilando LibOpenMetaverse en Ubuntu 8.10

•diciembre 7, 2008 • Dejar un comentario

Para comenzar a desarrollar con la libreria libsecondlife, tome la decision de mejor pasarme de una vez a libopenmetaverse, no encontre binarios disponibles asi que me di a la tarea de compilar la libreria.

Preparativos :

  • Abrir una terminal
  • Debemos instalar el cliente de subversion para poder descargar los fuentes del repositorio
    sudo apt-get install subversion
  • Debemos instalar lo paquetes para compilar la libreria
    (He instalado ya tantos paquetes de mono que la verdad no se con cuales es lo minimo)
    sudo apt-get install nant mono-2.0-devel libmono-winforms2.0-cil

Compilar LibOpenMetaverse :

  • Descargar la version actual de la libreria por medio de subversion
    svn co http://openmetaverse.org/svn/omf/libopenmetaverse/trunk/
  • Ir al directorio trunk
    cd trunk
  • Ejecutar un shell que prepara el proyecto y lo compila
    sh runprebuild.sh nant
  • Aqui tenemos un problema, el script lanza el siguiente error :
    [: 11: ==: unexpected operator
    [: 18: ==: unexpected operator
    Parece ser que el shell no entiende los operadores ==
  • Para corregir esto ejecutamos con el shell bash
    bash runprebuild.sh nant
  • Los binarios de la libreria esta en el directorio bin

HolaMundo con Ubuntu 8.10 y Mono

•diciembre 7, 2008 • Dejar un comentario

La libreria Libsecondlife que necesito para hacer algunos desarrollos con SecondLife y OpenSimulator para un trabajo que estoy realizando y que en un futuro estare publicando, esta escrita en C# y puede ser utilizada en Ubuntu con Mono, asi que ha escribir codigo en C#, bueno al menos ya soy Desarrollador 5 Estrellas :p

Instalar Compilador de C# :

  • Abrir una consola
  • Debemos instalar el compilador de c#,
    esto debe instalar la plataforma mono si no se ha instalado previamente :
    sudo apt-get install mono-mcs
  • Voila !!!

Escribir, Compilar y Ejecutar Programa :

  • Crear el archivo HolaMundo.cs
    vi HolaMundo.cs
  • Escribir el siguiente programa en C# :
    using System;
    
    public class HolaMundo
    {
            public static void Main()
            {
                    Console.WriteLine("Hola Mundo");
            }
    }
  • Compilar el Programa
    mcs HolaMundo.cs
  • Ejecutar el Programa, nos debe salir en consola el mensaje Hola Mundo
    mono HolaMundo.exe

Compartir public_html en Ubuntu con NFS

•diciembre 6, 2008 • Dejar un comentario

Despues de instalar el servidor web y php para comenzar a desarrollar una aplicacion, no es muy util estar editando los archivos en el servidor a traves de consola con el editor vi, tampoco es muy bueno copiar al servidor los archivos modificados pues toma mucho tiempo de hacer y la idea es ir haciendo los cambios y verlos en funcionamiento, por este motivo decidi compartir el directorio de paginas de mi cuenta en el servidor con mi maquina de desarrollo a traves de NFS.

Compartir Directorio por NFS :

  • Debemos instalar en el servidor el NFS
    sudo apt-get install nfs-kernel-server
  • Editar el archivo para exportar el directorio
    sudo vi /etc/exports
  • Adicionar el directorio que queremos exportar, adicionar la linea
    /home/<usuario>/public_html <IpCliente>(rw,sync,no_subtree_check)
  • Reiniciar el servidor NFS
    sudo /etc/init.d/nfs-kernel-server restart

Montar Directorio Compartido :

  • En la la maquina cliente, abrimos una consola e instalamos el cliente de NFS
    sudo apt-get install nfs-common
  • Nos pasamos al home del usuario
    cd
  • Creamos el directorio local
    mkdir public_html
  • Montamos el directorio remoto en el local
    sudo mount <IpSevidor>:/home/<usuario>/public_html public_html
  • Ahora podemos acceder localmente a los archivos remotos, Voila !!!!

De esta forma ahora puedo realizar los cambios a los archivos de la aplicacion web desde mi maquina local de una forma transparente. Cabe anotar que mis dos maquinas tienen la misma version de Ubuntu, y los mismos usuarios.

Pagina de Prueba en PHP5

•diciembre 5, 2008 • Dejar un comentario

Para probar que nuestro servidor este respondiendo a los scripts php, creamos dos paginas de prueba, la primera es el tipico hola mundo, mientras la segunda visualiza las informacion referente a la configuracion y extensiones habilitadas en el servidor.

Hola Mundo en PHP :

  • Abrir una consola
  • Cambiar al directorio de paginas
  • Crear el archivo test.php
    vi test.php
  • Escribir el siguiente codigo :
    <?php echo ‘Hola Mundo’; ?>
  • Abrir el navegador favorito y colocar la direccion :

    http://<IpServidor>/~<usuario>/test.php

Informacion de PHP :

  • Crear el archivo info.php
    vi info.php
  • Escribir el siguiente codigo :
    <?php phpinfo(); ?>
  • Abrir el navegador favorito y colocar la direccion :

    http://<IpServidor>/~<usuario>/info.php

 
Seguir

Get every new post delivered to your Inbox.