Jul 27

Ya se encuentran disponibles las primeras versiones publicas de las Aplicaciones para Nodos (Ambiente Distribuidos para la Creación Colaborativa) las cuales permiten controlar dispositivos que soporte el protocolo OSC (Open Sound Control) a través de una aplicación de escritorio o móvil a manera de control remoto, permitiendo el control de aplicaciones que permitan la comunicación con OSC, dispositivos como sintetizadores que soporten el protocolo y aplicaciones que sirvan de puente entre OSC y otros protocolos de control.

Camaleon Desktop Editor 0.7.1

Las aplicaciones de Nodos esta dividia en tres grandes productos :

  • Camaleon Desktop Editor :
    Editor de interfaces graficas que pemite crear los archivos que contienen las descripciones de los controles a ser visualizados en la aplicación de control. Permite la creación de interfaces con controles como Sliders, PushButtons, ToggleButtons, XY, MultiSliders, MultiToggles, Rotary, Labels
    http://www.sensorlab.org/nodos/sitio/camaleon/desktop-editor
  • Camaleon Desktop Player :
    Aplicación de Escritorio que hace las veces de control remoto para el manejo de las aplicaciones con soporte OSC. Utiliza las interfaces generadas por el editor para controlar diferentes aplicaciones y dispositivos.
    http://www.sensorlab.org/nodos/sitio/camaleon/desktop-player
  • Camaleon Android Player :
    Aplicación para dispositivos moviles basados en la plataforma Android que pemite el control remoto de aplicaciones con soporte OSC que esten en la misma red inalambrica que el dispositivo movil.
    http://www.sensorlab.org/nodos/sitio/camaleon/android-player

Las versiones del Player y el Editor pueden ser ejecutadas rápidamente a través de Java Web Start (se necesita instalar Java para su funcionamiento)

Enlaces :

Tagged with:



En July 27 de 2011, Marlon J. Manrique escribió acerca de Nodos : Editor y Cliente de Escritorio Publicados.
Jul 27

Ya se encuentran disponibles las primeras versiones publicas de las Aplicaciones para Nodos (Ambiente Distribuidos para la Creación Colaborativa) las cuales permiten controlar dispositivos que soporte el protocolo OSC (Open Sound Control) a través de una aplicación de escritorio o móvil a manera de control remoto, permitiendo el control de aplicaciones que permitan la comunicación con OSC, dispositivos como sintetizadores que soporten el protocolo y aplicaciones que sirvan de puente entre OSC y otros protocolos de control.

Camaleon Desktop Editor 0.7.1

Las aplicaciones de Nodos esta dividia en tres grandes productos :

  • Camaleon Desktop Editor :
    Editor de interfaces graficas que pemite crear los archivos que contienen las descripciones de los controles a ser visualizados en la aplicación de control. Permite la creación de interfaces con controles como Sliders, PushButtons, ToggleButtons, XY, MultiSliders, MultiToggles, Rotary, Labels
    http://www.sensorlab.org/nodos/sitio/camaleon/desktop-editor
  • Camaleon Desktop Player :
    Aplicación de Escritorio que hace las veces de control remoto para el manejo de las aplicaciones con soporte OSC. Utiliza las interfaces generadas por el editor para controlar diferentes aplicaciones y dispositivos.
    http://www.sensorlab.org/nodos/sitio/camaleon/desktop-player
  • Camaleon Android Player :
    Aplicación para dispositivos moviles basados en la plataforma Android que pemite el control remoto de aplicaciones con soporte OSC que esten en la misma red inalambrica que el dispositivo movil.
    http://www.sensorlab.org/nodos/sitio/camaleon/android-player

Las versiones del Player y el Editor pueden ser ejecutadas rápidamente a través de Java Web Start (se necesita instalar Java para su funcionamiento)

Enlaces :

Tagged with:



En July 27 de 2011, Marlon J. Manrique escribió acerca de Nodos : Editor y Cliente de Escritorio Publicados.
Jul 15

Visualizar Texto dentro de objeto (también llamado Prim) dentro de un mundo virtual como Second Life parecería fácil, desafortunadamente no existen funciones que permitan escribir directamente texto sobre un objeto y no existe forma de cargar una textura generada dinamicamente con el contenido texto, tampoco existe una forma de generar la imagen de forma externa y cargarla directamente dentro del objeto; por este motivo mucho del contenido encontrado dentro de los mundos virtuales son imágenes con el texto a visualizar que son generadas con editores de imagen y que son subidas al simulador de Second Life por $10 Lindens cada una, pero afortunadamente existe una forma de visualizar texto dentro de un objeto en Second Life.

Probando Scripts para la Visualizacion de Texto

Algunas Formas :

  • Un letra por Objeto :
    Crear una textura (imagen de 512x512 pixeles) con los caracteres del abacedario a utilizar en la fuente a utilizar, se pueden crear una textura mas grande si el conjunto de letras es muy extenso o varias texturas con diferentes conjuntos de letras, como también se pueden crear texturas por cada fuente a utilizar aunque se recomienda utilizar fuentes donde los caracteres tengan las mismas dimensiones ya que todos aparecerán dentro de objetos del mismo tamaño que conforma el mensaje a utilizar. Luego se debe crear un script que asigne a cada objeto la letra que se quiere visualizar, calculado su posición dentro de la textura y aplicarla al objeto.  Lo malo de esta estrategia es que para mostrar el mensaje "Hola Mundo" se necesitarían diez objetos para la construcción del visor, así que si queremos un tablero de 180 caracteres debemos tener 180 objetos lo cual es una gran cantidad debido a que este recurso es limitado y degrada el desempeño del servidor del mundo virtual.
  • Una Letra por Lado del Objeto :
    Esta estrategia permite colocar varias letras dentro del mismo objeto, esto se logra tomando el objeto cubo que tiene seis caras (en cada cara se puede colocar una textura diferente) y aplanando este, para que por un lado se puedan ver hasta cinco texturas, esto se logra deformando el cubo con las herramientas de edición, una vez que tenemos el cubo podemos colocar un carácter en cada cara, logrando tener un máximo de cinco caracteres por cada objeto, de esta manera podemos colocar el mensaje "Hola Mundo" utilizando dos objetos lo que reduce en una quinta parte el uso de prims y se reduce a una textura con el conjunto de caracteres a visualizar.
  • Varias Letras por Lado del Objeto :
    Otra estrategia a utilizar es colocar dos caracteres por cada cara del objeto, en este caso podríamos obtener diez caracteres y nueva mente reducimos a la mitad el consumo de objetos para la visualización de texto, aunque aumenta el numero de texturas a utilizar ya que debemos crear todas las posibles combinaciones de dos letras lo cual nos demanda una gran cantidad de texturas pero reduciendo el numero de objetos a utilizar. Esta ultima estrategia es la mas usada en la visualización de texto dentro de objetos de SecondLife y de cual existen varios scripts.

Scripts Disponibles en Second Life :

Existen gran cantidad de soluciones para este problema, algunas utilizan mas recursos como prims y scripts lo que puede causar que el rendimiento del simulador se vea afectado (LAG), mientras otras versiones utilizan mas recursos como texturas que no afectan el funcionamiento del simulador pero afectan al cliente, el cual debe descargar gran cantidad de texturas para poder visualizar la información, otro problema adicional es la necesidad de crear nuevas texturas de acuerdo al conjunto de caracteres que se necesitan y aunque los scripts con soporte de UTF mejoran el uso de caracteres especiales, se deben crear las texturas necesarias para su visualización.

Se tomo la decisión de probar XyyyyzText para la creacion basica de los tableros de texto mas adelante se explorara con mas detalle la creación dinámica de texto utilizando otras herramientas. 

Tagged with:



En July 15 de 2010, Marlon J. Manrique escribió acerca de Pulsar Project : Visualizar Texto en un Prim.
Jun 27

Mi Primer Overclocking

http://valid.canardpc.com/show_oc.php?id=1264129

Después de casi un año de haber comenzado el proyecto de modding, me di a la tarea de hacer los primeritos pasos de overclocking, claro esta que  la idea es aprender un poco, cacharriarle al cuento, sin llegar a buscar romper marcas y llegar a velocidades exorbitantes, nada de eso.

IceSpider cuenta con un procesador Intel 5200, el cual tiene una velocidad de 2.5 GHz, el overclocking trata de modificar la velocidad de los componentes del computador (entre ellos el procesador) para hacerlos funcionar a mayores velocidades, eso si, haciendo que estos llegue a sus limites de funcionamiento lo que puede acortar su tiempo de vida. Para poder llegar hacer overclocking se necesita unos buenos componentes de hardware y principalmente una motherboard que soporte cambiar los multiplicadores del procesador, las velocidades y los voltajes, afortunadamente mi board una ZOTAC nForce 630i-ITX WiFi, trae una funcionalidad minima para hacer overclocking y es esta la que estoy probando actualmente.

Overclocking con E5200 y ZOTAC nForce 630i-ITX WiFi :

  • Reiniciar el computador
  • Presionar la tecla DEL para entrar a la BIOS
  • Ir a la opción "Frequency/Voltage Control"
  • Ir a la opcion "FSB & Memory Config"
  • Ir al item "FSB - Memory Clock Mode"
  • Cambiar de Auto a Linked
  • Cambiar la velocidad de "FSB (QDR), MHz" a 900
  • Presionar ESC
  • Guardar y salir la configuración de la BIOS
  • Reiniciar

A través de esta sencilla opción que cambia la velocidad del bus frontal y que esta enlazada (Linked) con la memoria es posible cambiar la velocidad máxima del procesador de 2.5 Ghz a 2.8 Ghz

Es importante recalcar que mi board no tiene todos los componentes y opciones que hoy en día traen las boards diseñadas para realizar overclocking, que la refrigeración del procesador esta dada por el ventilador por defecto que trae y que todavía no he tratado de cambiar las opciones de memoria independientes, por lo cual a este procesador se le puede llevar a velocidades todavía mucho mayores.

Tagged with:



En June 27 de 2010, Marlon J. Manrique escribió acerca de IceSpider : Algo de Overclocking.
Jun 27

Ventilador del Procesador

La temperatura del procesador es un factor muy importante para mantener la vida del mismo y proveer la mejor solución de refrigeración, en el caso de IceSpider se esta utilizando el ventilador que viene con el procesador, el cual no es el mas elegante del mundo (como para modding), ni el de mejor desempeño (como para overcloking). Para mantener controlada la temperatura se debe tener encuentra la solución de refrigeración que se vaya a utilizar, ya sea pasiva con disipadores, activa con aire o líquidos, esto incide directamente en el diseño del modding que se tenga pensado hacer, como también incide en el nivel máximo de overclocking que se desea obtener.

Pero, como se vigila la temperatura del procesador ?

Existen varias aplicaciones para obtener la temperatura del procesador (aunque si se quiere ser un master del overclocking, existen boards que ya traen un visor donde se muestra la temperatura) en nuestro caso vamos a utilizar Core Temp para la plataforma Microsoft Windows,  aplicacion muy sencilla que permite visualizar la temperatura de cada nucleo del procesador

Instalacion :

  • Ir al sitio oficial
    http://www.alcpu.com/CoreTemp
  • Descargar la versión para su arquitectura
    Los enlaces están directamente en la pagina principal
  • Descargar el .zip
  • Descomprimir y ejecutar

Enlaces :

Tagged with:



En June 27 de 2010, Marlon J. Manrique escribió acerca de IceSpider : Vigilando la Temperatura del Procesador.
Jun 21

El servidor de desarrollo para el Pulsar Project esta destinado como plataforma para el desarrollo de las herramientas y aplicaciones para el apoyo a la educación en los mundos virtuales, este debe contar con el software necesario para permitir el desarrollo, así como tambien para realizar pruebas de las mismas, por este motivo el servidor debe contar con las siguientes caracteristicas :

  • Poderse mover de una maquina a otra para no depender de una maquina o una única instalación
  • Servir de linea base para la documentación de instalación y configuración de servicios
  • Permitir volver a versiones anteriores del estado del servidor
  • Facilitar el proceso de pruebas de las herramientas desarrolladas, permitiendo el cambio de configuraciones y componentes instalados
  • Permitir a otros usuarios la descarga desde Internet del servidor para que estos prueben las herramientas desarrolladas
  • Ser muy liviano para ejecutarse en maquinas con pocos recursos
  • Tener un tamaño pequeño para permitir la descarga rápida desde Internet o su copia entre maquinas
  • Ser software libre lo que permita su utilización sin requerimientos de licencia por parte de los usuarios.

Al analizar todas las características del servidor se tomaron las siguientes decisiones :

  • Crear un maquina virtual lo cual permite mover y ejecutar la maquina virtual en diferentes computadores de una forma fácil y rápida, como también permite volver a estados previamente almacenados y puede ser distribuida para que otros usuarios la puedan utilizar,
  • Instalar en la maquina virtual con un Servidor Linux para lo cual se selecciono la plataforma Ubuntu Server 10.04 gracias a la gran experiencia que se tiene en el uso de esta plataforma y a que provee todas las herramientas necesarias para desarrollar el proyecto.
  • Realizar una instalación mínima de maquina virtual la cual permite crear una maquina virtual que ocupa poco espacio en disco gracias a que solo instala los componentes necesarios para su ejecucion, ademas de tener un núcleo diseñado especialmente para ejecutarse en ambientes virtualizados.
  • Se selecciono VirtualBox como plataforma de virtualizacion por su fácil, rápida y liviana instalación, ademas de ser multiplataforma lo que permite utilizar cualquier computadora como potencial servidor de pruebas.

En cuanto a la plataforma de desarrollo el servidor debe contar con los siguientes servicios y plataformas de desarrollo :

  • Servidor Web para la publicación de la aplicación web de soporte a las herramientas de los mundos virtuales y aplicaciones de terceros que se comunicaran con las herramientas en los mundos virtuales.
  • Servidor de base de datos para la aplicación web y las aplicaciones de terceros.
  • Servidor de correo para permitir el envió local de mensajes entre aplicaciones.

Se han seleccionado las siguientes herramientas básicas para comenzar el desarrollo del proyecto, las cuales cumplen con las características necesarias para el desarrollo de proyecto.

  • Servidor de Terminal Segura OpenSSH, el cual permite realizar conexiones seguras para la administración remota del servidor y el envió de archivos.
  • Servidor de Base de Datos MySQL muy popular en el mundo del software libre y el cual utilizan muchas de las herramientas a utilizar dentro del proyecto.
  • Servidor Web Apache2 con soporte para PHP, el cual permite desarrollar e instalar aplicaciones muy populares en el mundo del software libre.
  • Servidor de Correo Postfix para el envío y recepción de correo.

Hasta el momento se han seleccionado las herramientas tecnológicas que responden en su mayoría a herramientas de software libre que pueden ser usadas y modificadas, así como también herramientas sencillas de manejar y ampliamente utilizadas en el mundo del desarrollo de software.

Tagged with:



En June 21 de 2010, Marlon J. Manrique escribió acerca de Pulsar Project : Servidor de Desarrollo.
May 10

Hace ya algún tiempo no hacia algo de desarrollo para Mobile Processing (de todas formas en este tiempo en la Universidad he dado algunos mini cursos y también algunas conferencias), algunas de las librerías ya están lo suficientemente maduras y no por motivos de tiempo no había podido pensar en otras cosas para adicionar hasta el viernes que me dispuse a leer sobre la versión para Android de Processing (pronto estare hablando de este proyecto), principal competencia ahora de Mobile Processing y que pronto se convertirá en el estandard para móviles abriendo las puertas del mausoleo para Mobile Processing.

En la pagina de Processing para Android, en la parte de instalación se debe descargar una versión especial de Processing que trae el modo Android para el desarrollo de aplicaciones móviles y que para que todo funcione debe descargarse el SDK de Android, pero que este en un futuro sera adicionado a la distribución evitando la necesidad de descargar el software esto siguiendo los lineamientos de Processing de mantener la herramienta simple y fácil de usar. Recorde que ese mismo dia me habia contado un estudiante que habia tenido problemas con la instalacion del ambiente en Windows y que tambien he sido victima de la instalacion dispendiosa de los requerimientos del mismo.

Mobile Processing esta basado en el ambiente de desarrollo de Processing el cual esta desarrollado bajo Java y utiliza Jikes como compilador Java, de tal modo que utiliza el JRE solo para la ejecucion del editor, la version Mobile adiciona la necesidad de un ambiente de desarrollo para J2ME lo cual cubria el Wireless Toolkit que necesitaba de un JDK; sumando todo esto para instalar el ambiente de desarrollo se necesitaba instalar un JDK y el WTK y luego expandir el archivo de Mobile, ejecutar y configurar el ambiente de desarrollo para utilizar el WTK.

La idea era crear una distribucion que al igual que Processing la cual solo fuera expandir y ejecutar, para esto se utilizo de base el directorio de Mobile Processing al cual se le adiciono el directorio java, donde se instalo el JDK 6 Update 20, ademas de instalar en el directorio wtk la version 2.5.2 del Wireless Toolkit el cual debio ser modificado para que utilizara la version de java instalada anteriormente, adicionamente se modifico el codigo del llamado al verificar y emulador utilizado en Mobile para que tomara el WTK instalado desde la primera ejecucion del ambiente, estos pasos fueron relativamente faciles y se crearon las versiones para Windows y Linux de 32 bits, las cuales se probaron satisfactoriamente en maquinas virtuales sin software pre instalado de Windows XP, Windows 7 y Ubuntu 10.04 con esto se crearon las distribuciones respectivas las cuales tenian un tamaño de 109 MB, pero teniendo en cuenta que en Google Code el maximo de tamaño permitido por archivo es de 100 MB se procedio a quitar documentacion y ejemplos del WTK y el JDK llegando a un tamaño de 78 MB.

Demasiadas explicaciones, pero es mejor documentar todo el proceso, :)
Para los que estaban esperando ansiosos los links de descarga aqui estan :

Descarga :

Enlaces :

Tagged with:



En May 10 de 2010, Marlon J. Manrique escribió acerca de Mobile Processing, Expandir y Ejecutar.
Apr 12
Sismos recientes en Colombia

Sismos recientes en Colombia

Sismos recientes en Colombia es una aplicación de agregación de contenido que permite visualizar de manera gráfica en la geografía Colombiana la ubicación de los sismos que han sucedido en el territorio nacional, tanto los [últimos diez] destacados por su intensidad como la actividad sísmica completa de la semana anterior.  Esta información se actualiza casi en tiempo real, con una diferencia de al rededor de 3o minutos después del suceso, gracias a los servicios de la Red Sismológica Nacional del Instituto Colombiano de Geología y Minería.

La base del proyecto fue desarrollado en una semana de descanso utilizando casi por completo Software Libre.  Se construyó utilizando PHP, HTML/CSS/Javascript/AJAX, jQuery, CodeIgniter, SwiftMailer, SQLiteEclipse PDT y Google Maps.  La aplicación aún se encuentra en progreso, alias beta, así que aún tengo pensando hacerle varias mejoras y complementos.

Actualmente el sitio web permite consultar la información de los sismos destacados y de los sismos diarios de la semana en curso, la información georreferenciada se despliega en el mapa gráficamente desde donde se puede acceder a la información disponible del sismo.  El último sismo destacado sucedido cuenta con un enlace a la RSNC donde se amplía su información.  Las fechas y horas hacen referencia al territorio colombiano, es decir, GMT-5.  Adicionalmente la aplicación cuenta con un sistema de caché que permite agilizar la presentación de información cuando esta se encuentra fresca en el sistema y de refrescarla en ciertos intervalos, disminuyendo la consulta a las fuentes de datos y el tiempo de generación del contenido.

He planeado realizar las siguientes mejoras a la aplicación sin ningún orden necesario.

  • Mejorar los colores de la presentación.  Los actuales son de prueba, estoy buscando a alguien que si sepa del tema para que me asesore.
  • Establecer tooltips informativos para facilitar la utilización del sitio.
  • Verificar la viabilidad de crear un mapa del sitio (sitemap) que facilite las búsquedas de contenido en el sitio.
  • Establecer un procedimiento cron que actualice la inforamción aún sin la consulta de visitantes.
  • Establecer la comunicación con otras aplicaciones como Twitter.
  • Establecer valores finales para la duración de los cachés de información.
  • Implementar un módulo de Contáctenos.
  • Crear una versión móvil que muestre la información resumida.
  • Implementar un indicador que le muestre al usuario en que sección del sistema se encuentra.
  • Verificar el cumplimiento [en lo posible] de XHTML.
  • Establecer la viabilidad de incluír información de sismos de otros lugares del mundo como valor agregado al sitio.

La aplicación, [con optimismo] al igual que las cosas buenas del mundo, se encuentra licenciado bajo CC NC-SA así que su código será liberado tan pronto como termine de implementar las principales mejoras y lo documente para dejarlo apto para el consumo humano.

Si alguien tiene alguna sugerencia acerca de como mejorar esta aplicación me gustaría mucho que lo compartiera conmigo.

Enlaces.

Tagged with:



En April 12 de 2009, Jorge Iván Meza Martínez escribió acerca de Presentación de Sismos recientes en Colombia.