julio 26, 2007

G Framework y CapableObjects

Hoy estuve presente en la "Hora Delphi" que regularmente organiza CodeGear, y esto porque hablarían de un tema que particularmente me interesa y es el de los Frameworks de Desarrollo.

Le hicieron una entrevista a Steve Kramer, quien desarrolló un framework para aplicaciones basadas en web llamado G. Este es un framework OpenSource, muy práctico, en el que solo se definen las clases del modelo con las reglas de validación y el framework se encarga del resto. Pueden ver de que va viendo las dos presentaciones que se encuentran disponibles y que muestran lo sencillo que resulta su uso.

Si, es un poco como Ruby on Rails; solo que en Rails hay que definir un controlador para cada clase, mientras que en G la aplicación es el controlador, y solo se ocupa uno del modelo y la vista. Se ha tratado de simplificar las reglas más comunes de validación, así como las formas más comunes de búsquedas en las entidades para dejar que lo simple siga siendo simple. También maneja un esquema de plantillas para poder presentar los datos a nuestro propio gusto, y se ve muy flexible.

Me parecio muy curioso que cuando le preguntan a Steve que cosas le gustaría que tuviera el lenguaje que le facilitarían el desarrollo de este framework, entre otras cosas mencionó las Variables de Clase y que objetos que fueran variables locales en los procedimientos se liberaran automáticamente cuando el procedimiento terminara, como lo hace algunas implementaciones de C++.  Buenas observaciones aunque tal vez yo hubiera agregado muchas cosas más.

Por si fuera poco, G usa Firebird como motor de Base de Datos, y tiene una muy particular manera de manejar la persistencia de los objetos, y la concurrencia en las operaciones de actualización, lo cual lo hace una muy buena opción a considerar. Sin lugar a dudas un excelente framework que esperemos crezca mucho, mucho mas. A mi me parecería fantástico poder ver en este framework un editor de clases como el que integra InstantObjects, estaría de lujo y entonces si sería un SuperWebRad!!

Y a proposito de Frameworks, tambien se dió a conocer la noticia de que el equipo que desarrollaba ECO, se ha separado de CodeGear para formar una nueva empresa llamada CapableObjects. Particularmente me parece una muy buena noticia, se abren las puertas para que la tecnología de ECO se pueda integrar en ambientes como Visual Studio donde auguro que podría tener una mejor acogida, siendo este ambiente el mas apropiado para el desarrollo en .Net; ECO es un gran framework, pero el estar atado a Delphi .Net era un lastre que no le permitia salir a donde realmente se le apreciara.

Y quien sabe tal vez en un futuro no muy lejano pudieran liberar una versión para Win32. Difícil, tal vez, pero uno nunca sabe.

junio 22, 2007

#E un escritorio hecho en Delphi

Muchas veces se ha dicho que con Delphi se puede hacer casi cualquier cosa, bueno este es un claro ejemplo de que tal aseveración es completamente cierta.

 #E (SharpE) es un Shell de escritorio para Windows hecho en Delphi completamente personalizable, puedes configurarlo a tu gusto con las opciones que más utilizas para hacer tu trabajo con Windows más accesible y cómodo.

Pero quizá la mejor parte de el asunto es que se puede descargar el código fuente de la aplicación y aprender enormidades de el. Sobre todo para los casos en que pretendes que tus aplicaciones se integren mas "naturalmente" al ambiente de Windows.

La URL svn para descargar el código fuente es:

"https://sharpe.svn.sourceforge.net/svnroot/sharpe"

Y si, si me ha pasado por la cabeza hacer una adecuación de este programa para basarlo en OpenGL y hacerlo un tanto más al estilo de las modernas interfaces 3D que están tan de moda últimamente; ya veremos que tal =:-)

febrero 24, 2007

El Dragón Trovero

Ya es muy conocida en el ambiente la historia de los programadores matando un dragón y todas las estrategias que sigue cada uno de los diferentes tipos de programadores, bien aqui esta el punto de vista "trovero" de la misma historia, (recordarán que soy un fan de la música de trova, y en general de la poesía y me pareció curioso este hallazgo) Rodrigo Solis nos narra su poesía "El Dragón"... disfrutenla

noviembre 13, 2006

Video-Tutorial del Visor Volumétrico de Imágenes Médicas

Como lo había prometido he puesto en linea un Video-Tutorial del programa Visor Volumétrico de Imágenes Médicas que ya antes había mencionado por aqui.

La presentación quedó un poco grande pues con el Wink no pude usar una paleta de colores que presentara de manera decente todas las frames del video, asi solo es tener paciencia a que el navegador cargue la presentación. Por esta razón solo se explican las funcionalidades básicas, en posteriores ocasiones si es posible pondré tutoriales sobre otras funciones más específicas, cuando pueda encontrar una buena paleta de colores para el Wink.

Aún no se si es debido a la máquina donde realicé el video o es debido al programa Wink que se degrado levemente la calidad de las imágenes, es decir que todo se ve mas claro en el programa real, pero para fines demostrativos la calidad del tutorial es más que buena.

Les sugiero que vean de que se trata este programa, vean el Tutorial y
podrán formarse un juicio de la relevancia que tiene una aplicación de este tipo.

Ahora si, vean el poder de Delphi + GLScene + Varios Algoritmos Matemáticos y de Tratamiento de Imágenes en acción!!!

noviembre 08, 2006

Distribuciones Estadísticas


En esta unidad de Delphi se encuentra la implementación como una jerarquia de clases para el manejo de una buena cantidad de distribuciones estadísticas.

El hecho de que sea una jerarquia de clases le agrega una gran versatilidad a lo que ya de por sí es una herramienta estadística muy poderosa, ya que se pueden extender sus funcionalidades tan solo agregando nuevas clases a la jerarquia o bien sobreescribiendo algunos métodos que aparecen en las clases ancestras como métodos virtuales.

Una distribución muy común es la Chi Cuadrada, ó Ji Cuadrada, muy útil para hacer pruebas de hipótesis, analisis de dependencias, correlaciones, entre otras cosas. El siguiente ejemplo muestra lo sencillo que es hacer cálculos sobre la distribución usando esta herramienta:



Pero esta es solo una de las muchas distribuciones disponibles, entre las distribuciones continuas se encuentran la Normal, Gamma, Beta, F, T de Student, Exponencial, y muchas otras, y además tambien ofrece distribuciones discretas como la hipergeométrica, Binomial, Poisson, etc.

Las posibilidades que ofrece esta herramienta son muchisimas, pues las distribuciones estadísticas tienen muchos usos en cuestiones de predictibilidad, analisis de relaciones y dependencias entre diferentes datos, definitivamente estar familiarizado con conceptos estadísticos te puede dar una gran ventaja sobre otros programadores pues puedes ofrecer productos que brinden mucha más información útil a tus clientes y con esto tener un excelente valor agregado en tus programas.