martes, 1 de abril de 2014

Aplicaciones Moviles y Realidad Aumentada... :S

He comenzado mas proyectos de los que puedo contar con una mano... y terminado menos de los que me gustaría :( pero bueno, una vez mas estoy empezando unos proyectos... conseguí un trabajo interesante y ahora tengo que manejar tecnologías moviles (Android e iOS) junto con Vuforia(una plataforma de desarrollo de realidad aumentada) y Unity 3D.

Espero estar escribiendo un poco mas seguido para ir dejando una constancia de mi avance, que en algún momento le sirva a alguien mas.

martes, 11 de febrero de 2014

Cursos.... calentando un poco. MongoDB University

Bueno comencé unos cursos en linea y gratis... se miran interesantes, por el momento creo que abarque mas de lo que puedo apretar, y por esto batallare para avanzar con los cursos.

El primero es de MongoDB ya saben por que esta de moda, al menos en mi mundo, las bases de datos NOSQL el enlace para inscribirse es MongoDB University son varios cursos, mongodb para java y node,js entre otros, por el momento estoy en el curso básico "MongoDB for Developers" la idea es crear una aplicacion con python, bottle, pymongo y mongodb para aprender sobre mongodb.


Me inscribí en otros dos... no creo poder terminarlos pero el intento se hará.




lunes, 27 de enero de 2014

Recorrido Virtual con OpenNI 1.5, Unity y Kinect

Como ya escribi en una entrada anterior, un amigo y yo  estuvimos trabajando sobre un proyecto que nos permitiera titularnos, un proyecto que involucraba NUI (Interfaces Naturales de Usuario, por sus siglas en ingles) y Mundos Virtuales, el cual fue titulado "Recorrido Virtual controlado por Interfaz Natural utilizando Microsoft Kinect" el titulo es descriptivo, para mi gusto. Como parte de los que nos pidieron todo el entorno del Recorrido Virtual tenia que ser desarrollado por nosotros.

A continuación, un vídeo de como quedo el Recorrido Virtual.



La aplicacion esta compuesta por el Mundo Virtual(MV) y por la Interfaz Natural, proporcionada por el Kinect.

La mayoría de las tecnologías, si no todas, son tecnologías Open Source o en su defecto con licencias permisivas. Para poder realizar el MV fue necesario la creación de los objetos virtuales, para esto usamos el Software de Modelado 3D Blender, (BlenderGuru y CGCookie, fueron comunidades donde aprendimos mucho).  Una vez se tuvieron los objetos virtuales, se procedio  a montar el MV con su física, para este fin decidimos usar el software para la creación de videjuegos Unity 3D, esto por el hecho de que Unity proporcionaba buena compatibilidad con la librería del Kinect que habíamos decidido usar.

Para implementar la Interfaz Natural usamos el framework OpenNI en su version 1.5, este framework permite interpretar los datos captados por el sensor. OpenNI proporciona API's en distintos lenguajes, entre ellos C#, que era el que nos interesaba, ya que Unity soporta el desarrollo de scripts en este lenguaje.

Una vez teniamos el MV y podiamos leer los datos del sensor, se procedio a desarrollar algoritmos que permitieran convertir los datos captados, en interacciones con el MV. El desarrollo de estos algoritmos puede ser muy complicado, pero poniendolo de manera sencilla, lo que mayormente se hizo fue usar reglas de 3 simples, que nos permitieran convertir cambios en coordenadas en el mundo real a cambios y transformaciones en el MV.

A grandes rasgos ese fue nuestro proyecto de titulacion, el codigo lo pueden encontrar aqui. tambien se pueden descargar ejecutables de Windows desde aqui.

El proyecto quedo desactualizado ya que cuando lo finalizamos, OpenNI libero su version 2. y dejo de dar soporte a la version 1... espero poder meterle mano pronto.

domingo, 26 de enero de 2014

La Lista.

Todos tenemos deseos de aprender, hacer o comprar cosas, esta es una breve lista de las cosas que me gustaría tener, o aprender todas ellas relacionadas con la tecnología:

Por Aprender:

  • C
  • C++
  • Vim
  • Bash
  • Android
  • iOS
  • Windows Phone
  • JavaScript
  • Python
  • Vision por Computadora
  • Apache Cordova
  • WebSockets
  • Ingles
  • HTML5
  • CSS3




Por Tener:

  • Printer 3D
  • Lap
  • Deskotp
Espero ir actualizando esta lista pronto.

jueves, 23 de enero de 2014

Estoy de vuelta!!!

Solo escribo esta brevísima entrada, ha manera de reintroduccion, pienso retomar la saludable costumbre de llevar un registro de mis andanzas como pica-código que pueden ser de utilidad a alguien... muy probablemente a mi y mi pésima memoria.

domingo, 4 de agosto de 2013

Eliminando un archivo del historial de commits en git

Esta entrada es un mas bien una recopilacion de los conocimientos adquiridos para resolver el siguiente problema necesitaba eliminar un archivo del historial de commits, es decir de cada commit realizado, ya que el archivo fue agregado en el commit inicial y hasta ahora no había presentado problemas.


El primer intento de como resolverlo fue con las siguientes instrucciones git rm --cached rutadelArchivo/nombreArchivo la cual hace que git deje de trackear ese archivo pero dejándolo en el disco. Después se ejecuta git commit --amend -CHEAD el cual agrega al commit actual el cambio que se acaba de hacer, un nuevo commit no funciona. Posteriormente puede hacer el git push.

Esta solución no me funciono ya que el archivo que necesitaba eliminar no estaba en el ultimo commit,si no en uno muy anterior.

Entonces encontré la siguiente solución, la cual si funciono.
Una sola instrucción, un poco larga y no entiendo del todo que hace cada parte solo se que funciona.
git filter-branch --force --index-filter \
  'git rm --cached --ignore-unmatch rutaArchivo/nombreArchivo' \
  --prune-empty --tag-name-filter cat -- --all
con esa sola instrucción solucione mi problema :)

Links Utiles.
Archivo Grande
Arreglar commits
git filter-branch

martes, 18 de septiembre de 2012

Proyecto Recorrido Virtual Con Kinect

Actualmente estoy desarrollando un proyecto que servirá para que un amigo y yo nos titulemos. Este proyecto es sobre el Kinect, a grandes rasgos es un recorrido virtual controlado con el Kinect. por el momento estoy trabajando en un código de prueba para poder controlar un cubo por medio del Kinect y se los comparto aqui

El proyecto final, si es que algún día logro terminar este proyecto de prueba, pretende usar como motor gráfico Unity3D. y por esto el proyecto de prueba que les comparto esta hecho en Unity3D, el Player/Cubo sera controlado por medio de Kinect(aun no definimos la interacción, por el momento la meta es que el Cubo rote conforme rota el usuario).

Unity soporta como lenguaje de programación C#, Boo y JavaScript. OpenNI y Nite(Ambos desarrollados en C y C++) cuentan con Wrappers de C#

Continuare Actualizando...

Actualice el código de git ahora se puede manipular la rotación del cubo por  medio de la rotación del torso del usuario, aun que ese código tiene un detalle menor presenta una extraña oscilación que aun no puedo arreglar.

por ahora me centrare un poco en el hand tracking.