Colección de Imagenes / Portafolio

  • strict warning: Non-static method view::load() should not be called statically in /home/codecomp/public_html/codecompiling.net/mai.www/sites/all/modules/views/views.module on line 906.
  • strict warning: Declaration of views_handler_filter::options_validate() should be compatible with views_handler::options_validate($form, &$form_state) in /home/codecomp/public_html/codecompiling.net/mai.www/sites/all/modules/views/handlers/views_handler_filter.inc on line 607.
  • strict warning: Declaration of views_handler_filter::options_submit() should be compatible with views_handler::options_submit($form, &$form_state) in /home/codecomp/public_html/codecompiling.net/mai.www/sites/all/modules/views/handlers/views_handler_filter.inc on line 607.
  • strict warning: Declaration of views_handler_filter_boolean_operator::value_validate() should be compatible with views_handler_filter::value_validate($form, &$form_state) in /home/codecomp/public_html/codecompiling.net/mai.www/sites/all/modules/views/handlers/views_handler_filter_boolean_operator.inc on line 159.
  • strict warning: Declaration of views_plugin_style_default::options() should be compatible with views_object::options() in /home/codecomp/public_html/codecompiling.net/mai.www/sites/all/modules/views/plugins/views_plugin_style_default.inc on line 24.
  • strict warning: Declaration of views_plugin_row::options_validate() should be compatible with views_plugin::options_validate(&$form, &$form_state) in /home/codecomp/public_html/codecompiling.net/mai.www/sites/all/modules/views/plugins/views_plugin_row.inc on line 134.
  • strict warning: Declaration of views_plugin_row::options_submit() should be compatible with views_plugin::options_submit(&$form, &$form_state) in /home/codecomp/public_html/codecompiling.net/mai.www/sites/all/modules/views/plugins/views_plugin_row.inc on line 134.

Esta página contiene imágenes, videos y descripciones de algunos de los proyectos en los que he trabajado. Es posible hacer click en todas las imágenes para verlas más grandes.

Aproximación Elipsoidal / Visualización

El proyecto giró en torno a la tesis de grado de Andrés Acosta y fue dirigido por el Dr. Pedro Contreras. Mi participación fue como co-director de la tesis y mi trabajo fue integrarme al equipo para desarrollar/implementar la visualización.




El proyecto completo se encuentra en bitbucket. Desde el repositorio se puede descargar la última versión del producto y el documento de tesis que fundamentó la visualización.

Arriba, Andrés en la defensa de su tesis. Al centro se ve proyectada la visualización. Yo estoy de espaldas a la derecha.

TimeTable Designer

TimeTable Designer es una aplicación que permite editar horarios de clases. La desarrollé como parte de mi trabajo como coordinador de inscripciones en la ULA. En realidad no tenía que haberla desarrollado, pero me molesta mucho hacer ciertas tareas de forma ineficiente (nunca hagas el trabajo de una máquina), y era más fácil resolver el problema haciendo software para resolver el problema que resolver el problema repetitiva y laboriosamente una y otra vez. El software me ahorró a la larga mucho tiempo, armar los horarios tomaba de dos a tres semanas, con TimeTable Designer reduje esos tiempos a unos dos o tres días.

La aplicación básicamente permite registrar los salones, profesores, materias, secciones y organizar los distintos bloques horarios de cada materia. La idea es que detecta automáticamente colisiones de horarios, profesores, salones, materias del mismo semestre, etc. Además es posible visualizar los horarios por salón, profesor, y materia. También genera un reporte en excel de todas las materias y sus horarios.

Por cierto que, siento que la arquitectura quedó bastante bien hecha. En general, la arquitectura de los árboles de la izquierda es Modelo-Vista y la arquitectura del editor gráfico se basa en MVC, emulando lo más posible la arquitectura que usa GEF (eclipse).

Mi trabajo en la Universidad de Los Andes (ULA)

Es difícil resumir todo lo que he hecho en la Universidad de Los Andes (ULA).

Me he dedicado a enseñar lo que se y a aprender aún más en el proceso. Entre otras cosas he dictado los cursos de Ingeniería de Software, Bases de Datos, Computación Gráfica y Sistemas Computacionales. He profundizado mis conocimientos en las áreas de Computación Gráfica, Ambientes Virtuales y Visualización Científica. También he avanzado con CLEDA, que es un framework que desarrollo desde el 2005 y del que hablo más abajo. Me he dado el gusto de desarrollar, con mis estudiantes y en el contexto de los cursos que he dictado, Juegos de Computadora en 2D y 3D. Además he participado activamente en el desarrollo de nuevas estrategias de enseñanza y aprendizaje. Por otro lado, he aprendido mucho sobre el desarrollo ágil de software, fui organizador del Agile Tour 2011 en Mérida, participé en varios cursos y obtuve mi certificación CSM y PSD de la ScrumAlliance y la Scrum.org respectivamente.

En fin, estoy seguro de que estoy olvidando mencionar muchas cosas. A continuación algunas imágenes, videos y enlaces sobre mi trabajo:

Productos RAIS:

Algunos artículos que he escrito en mi blog sobre productos RAIS:

Misterios de Munrrael
Compañías y Productos RAIS en el A2011
Compañías y Productos RAIS en el A2011 (conclusión)

Cleda

Hay mucho que decir al respecto, pero lamentablemente hay poco escrito (eso es algo que hay que resolver). Aquí hay un artículo un tanto viejo y desactualizado del año 2007 y una presentación del 2009. He estado trabajando recientemente en el proyecto, tanto por mi cuenta como en el curso de Sistemas Computacionales del semestre A2012, concentrándome principalmente en añadir algunas funcionalidades importantes, implementar y mejorar las pruebas unitarias (Selenium / JUnit) y el build del proyecto (usando Maven).

Aunque debo decir que las pantallas son la parte menos importante del producto, a continuación se muestran algunas capturas de pantalla de CLEDA:




El proyecto está actualmente en dos repositorios:

http://sourceforge.net/projects/cleda
https://bitbucket.org/demiangutierrez/cleda

Aunque la versión más reciente es la de bitbucket.

Varios Sistemas Web (CDI / BusStop)

En Minotauro (y en mis tiempos de freelancer antes de Minotauro) desarrollé una buena cantidad de aplicaciones, algunas de escritorio y otras WEB. En esos tiempos trabajé mucho con Swing, Struts, Hibernate, Selenium y JFreeChart (entre muchas otras seguramente). También comencé a trabajar con Echo2 y luego con Echo3. Los inicios de CLEDA fueron en Minotauro, utilizando Struts 1 e Hibernate. Lamentablemente no tengo capturas de ninguna aplicación WEB desarrollada con esta versión primigenia de CLEDA. Tampoco tengo capturas de pantallas de muchos de los proyectos interesantes que se hicieron en esa época.

Una lista de algunos de los proyectos en los que trabajé en Minotauro se puede encontrar aquí

Hace no mucho, Alejandro Salas me facilitó algunas capturas del BusStop, que fue un proyecto de Minotauro en el que trabajamos entre el 2007 y el 2008. Alejandro ha continuado trabajando como freelancer en el proyecto y las capturas que muestro a continuación son de la tercera versión (en la que yo no participé). Yo estuve involucrado en la primera y en la segunda versión, como desarrollador y líder de proyecto.





¡Gracias Ale por las capturas!

Fenix Soft

FenixSoft fue un “Sistema de Gestión de Producción” que se desarrolló en Janus Sistemas (Mérida-Venezuela) entre el 2005 y el 2007. No tengo capturas de pantalla pero conservo el manual de usuario.

No tuvimos mucho éxito comercial (por circunstancias que no vienen al caso), pero desde el punto de vista técnico es un proyecto del que me siento particularmente orgulloso. Fue desarrollado en PHP utilizando un MVC y un ORM, que para lo que se solía hacer en PHP para la época era decir bastante. Se implementó usando CLEDA, por lo que fue necesario migrar el framework y el motor de flujos de trabajo a PHP. De hecho, este proyecto aportó muchas ideas interesantes para el desarrollo posterior de CLEDA en su versión en Java.

Fui miembro fundador de la compañía y mi rol en el proyecto fue el de consultor técnico y consultor en el área de Ingeniería de Software. Igualmente, más a mi disgusto que a mi gusto, debo decir que fui bombero y apagué unos cuantos fuegos.

La compañía está actualmente "hibernando", estamos a la espera de tener mejores vientos y algo de financiamiento, aunque no creo que eso suceda en un futuro cercano.

QASGraph




QASGraph-Demo.pdf

Vale la pena mencionar que este proyecto se desarrolló utilizando un framework para implementar editores gráficos llamado Acuarela que desarrollé en el 2003. Actualmente el framework está abandonado y seguramente hoy existen alternativas mucho mejores (comenzando por GEF), pero en su época resultó ser un proyecto interesante que ahorró mucho trabajo.

PLO (Pallet Loader Optimizer)



AVM

Debo decir que viví durante algún tiempo del AVM. Es uno de esos “proyectos escuela” de los que se puede aprender mucho. Siempre recordaré con cariño al viejo AVM.



Hay dos artículos (con un tono bastante humorístico) dedicados al AVM:

Sueño de una noche de AVM (parte 1)
Sueño de una noche de AVM (parte 2)

Good and Old Petri Net Editor and Execution Engine



Esta fue mi tesis de grado. Con este proyecto obtuve el título de Ingeniero en Sistemas. El documento de tesis se puede encontrar aquí.

Por cierto, al igual que el QASGraph, este proyecto también fue desarrollado usando Acuarela. De hecho, Acuarela nació de este proyecto.

Algunos Juguetes/Chatarra que he Programado:

Un programador o desarrollador de software que no escribe algo de chatarra o algunos pequeños juguetes de vez en cuando no es un programador serio. Al menos es es mi opinión al respecto. A continuación algunas capturas y videos de la chatarra que he escrito (más que nada durante mi trabajo en la ULA).

Buscando caminos con A* usando un mapa de bits como grafo:



Jugando con algunos algoritmos geométricos

Nada importante realmente, aquí tengo mucho que aprender.



Otros juguetes:



Algunos videos:

El código de todo esto está en algún lugar de mi repositorio en Google Code (buena suerte encontrando cada cosa).

Lego Models (LDraw) Loaded from Java

Este es mi juguete favorito:

Hay un articulo completo en honor a este proyecto. Allí hay información sobre como obtener el código fuente y ponerlo a funcionar.

Citas...

Luna (Diane Keaton): - Erno is going to lead the revolution and head the new government.

Miles (Woody Allen): - Don't you understand? in six months we'll be stealing Erno's nose, political solutions don't work, I told you that it doesn't matter who is up there, they are all terrible...

Sleeper, 1973

Cursos