Dev&Down
De bueyes perdidos sobre desarrollos (y algunas descargas también…)
.
Scanner 3D mediante estereoscopía y luz estructurada
Luego de varios meses de trabajo (bueno, en realidad años) en conjunto con compañeros de laboratorio, pudimos cerrar el prototipo inicial que buscábamos desarrollar.
El mismo logra obtener una nube de puntos 3D a partir de 2 secuencias de video 2D. La herramienta fue desarrollada en C++ apoyados en la librería openCV para la funcionalidad de calibración de cámaras y triangulación. Aca un par de ejmplos donde estamos escaneando una taza y un rostro; y su visualización en un browser que cuenta con un plug-in para VRML: Rostro.zip y Taza.zip
..
Isytok

El Isytok es un programita que permite enviar mensajes e imágenes sobre una LAN, tanto de manera privada como masiva. Es un pequeño programa de chat, con la funcionalidad adicional de poder enviar una imagen que esté en el clipboard a un host destino… o a todos los hosts!!
Años atrás, en la oficina trabajábamos con Microsoft Windows en los puestos de trabajo, pero hace un par de años cambiamos a Linux, más específicamente Ubuntu. La verdad es que ya estábamos bastante acostumbrados a usar un programita llamado AChat, el cual permitía justamente chatear o enviar imágenes por la LAN. En un lugar de trabajo donde hay varias oficinas, es más cómodo enviar un screenshot de la pantalla que pedirle a un compañero de trabajo que se acerque
Y dado que no encontramos un buen reemplazante para Linux, nació el Isytok. Algunas noches de trabajo en casa lo concibieron. El origen de su nombre es bien sencillo: soy poco imaginativo
En realidad sería la forma en que se pronuncia easy talk en inglés. La y, y la k en el nombre es simplemente para hacerlo más cool. No se muy bien que tiene que ver dicha frase con este programa, pero ya todos le dicen así.
Para usarlo simplemente hay que modificiar – en cada PC donde se esté corriendo – el archivo preferences.properties del directorio config (del bin, no del src obviamente) indicando el hostname e IP de la PC en cuestión. Hubiera quedado mejor una ventana de selección de interfaces… pero hay que tener en cuenta que está desarrollado “por uno y para unos pocos”, no es para un tercero. Es una herramienta de trabajo, y si se cuelga… se reinicia. Como siempre les digo a los chicos, es la Community Edition, en la Professional eso no pasa
Los fuentes y binarios para su descarga están en SourceForge.
Autopong
Cuando me hago un tiempo, leo algún capítulo de Killer Game Programming in Java, de Andrew Davison. Probando algunas cosas que comenta en los primeros capítulos sobre el API de Java2D armé lo que yo llamo Autopong, algo así como la versión berreta del Arkanoid; pero con dos pads y sin ladrillos.
El tema es más que atrapante, y la performance que presenta JAVA para desarrollar juegos es cada vez mas atractiva. Si alguien quiere hecharle un vistazo a los fuentes, aca están.
.
Asteroids
Luego del Autopong, y extendiendo un tanto los fundamentos del Killer Game Programming, era inevitable una pequeña remake un tanto versionada del viejo Asteroids (el cual yo nunca llegué a jugar en su release original eh! ojo que no soy tan viejo).
Aunque bien podría haber levantado imágenes y directamente aplicar transformaciones para las rotaciones, pensé que el trabajo artesanal de utilizar graficos vectoriales iba a quedar un tanto mejor. Este detalle me permitió rememorar ciertas fórmulas básicas – para realizar el renderizado de la nave y los asteroides según el heading de éstos – que hacía tiempo no utilizaba.
El juego lo pueden acceder desde este link, y si alguien quiere chusmear los fuentes (beta), los pueden descargar desde este enlace.
Lines
Lines es una mini aplicación que se parece mucho a los típicos protectores de pantalla que hay por ahí. El código fuente es principalmente una copia de uno de los ejemplos presentados en el libro: Tricks of the Windows Game Programming Gurus, del reconocido André LaMothe.
A quien le interese desarrollar aplicaciones 2D/3D mediante Microsoft Software Develpoment Kit, éste es un libro muy interesante para iniciar el camino. Lo más destacable del libro es que no solo explica cómo programar juegos, sino a hacerlo realizando un uso correcto de las estructuras y recursos; optimizando el código cuando es necesario.
El libro es realmente extenso, y es una excelente fuente de información. Aunque desde mi punto de vista, es también una fuente de inspiración e ideas.
La aplicación, aunque un tanto sencilla, brinda una pauta de lo que es la base para el loop de eventos de las aplicaciones gráficas. A quien le interese la aplicación y el código, lo pueden descargar desde aquí.
.
Clipboard Expert
Unos años atrás, recuerdo haber dedicado un tiempo realizando una aplicación en Borland Delphi que me permita jugar con varios portapapeles a la vez, tanto de texto como imágenes.
Ya he olvidado el motivo que me llevó a implementar este programita. Sin embargo, un tiempo después este concepto fue una herramienta muy utilizada en programas como el Microsoft Word.
Ojo: no estoy diciendo que soy un innovador que inventó el concepto y estoy pidiendo el pago de un canon!! Me refiero a que muchas veces un producto hecho a medida, tal como lo necesitaba en ese momento, es mucho mejor.
Como valor agregado, recuerdo haberme peleado (y aprendido) bastante para lograr que la aplicación pueda minimizarse a la tray bar.
Obviamente la aplicación es freeware, así que quien quiera probarla y usarla, la pueden descargar desde acá. (La dirección de mail en el About sigue existiendo!).
.
SpeedUpKeyboard
Realizado en Delphi, este es un lindo ejemplo de que es posible usar una herramienta para un fin totalmente distinto del que fue concebido!
También es un ejemplo de que algunos años atrás tenía más tiempo libre del que tengo ahora.
En fin, la idea es bien sencilla, ayudar al muchacho en el largo camino hasta su amada… ejem. Para esto es necesario (no se por qué) teclear correctamente las letras que aparecen en el cuadro central (con una tipografía tamaño XL !!).
La finalidad es aprender la distribución del teclado de manera divertida; “aprender jugando” le dicen. Vale aclarar que la música e imágenes no son diseños mios, ya no recuerdo donde los conseguí, sólo los efectos especiales sonoros son de mi autoría.
.
Vintage development
Apenas quince años atrás las cosas eran muy diferentes, en esa época me encontraba desarrollando bajo lenguajes como dBase o Clipper. Uno de los típicos trabajos que debí realizar es… ¿quién adivina? El sistema para un videoclub!
El ejemplo de videoclub es muy usado generalmente porque puede utilizarse para enseñar una gran variedad de conceptos, como la cardinalidad en bases de datos relacionales, el patrón type object en POO, etc. Por supuesto que por aquel entonces todavía no contaba con los fundamentos universitarios que años después adquiriría. En ese momento tuve que “intuir” una solución mas que diseñarla.







