miércoles, 26 de noviembre de 2008

Mas fotos sobre Smalltalks 2008

Les paso un link a fotos de James Foster sobre el congreso, la cena y la salida al delta:  http://picasaweb.google.com/WeybridgeWay

martes, 25 de noviembre de 2008

Smalltalks 2008 en el diario La Razón

Salió una referencia a la conferencia en el diario La Razón. Se puede ver en http://www.ee.larazon.com/ediciones/2008/11/25/default.asp
Tienen que elegir la sección UAI (donde dice Tapa, arriba a la izquierda) y luego ir a la página 3 de ese suplemento.
Gracias Gonzalo por haber hecho posible esta referencia.

viernes, 21 de noviembre de 2008

martes, 18 de noviembre de 2008

Tip 1: Create an Isomorphism between objects and entities

Este fue el primer tip de la charla de Smalltalks que presenté el viernes pasado. Voy a tratar de repasar todos los tips durante las próximas semanas escribiendo los comentarios que obtuve en el congreso y también esperando que ustedes aporten algún comentario.
Este tip tiene como objetivo "lograr un buen modelo". En realidad, la definición de "buen modelo" que dí está basada en las ideas que Einstein escribe en "Física, la aventura del pensamiento", donde básicamente argumenta que un buen modelo es aquel que soporta todas las observaciones que se realizan de la realidad correctamente. Esta idea combinada con la que Norman ofrece en "The Design of Everyday thing" donde básicamente habla sobre la importancia del "mapping" entre los "entes del modelo mental" que uno se realiza de "la realidad" es que aparece este tip.
La idea es que si logramos mapear correctamente cada ente de la realidad a objetos del modelo computable que estamos haciendo estaremos logrando un buen modelo, puesto que cada observación será mapeada directamente a los objetos existentes, y en caso de no poder ser mapeada es porque aprendimos algo nuevo y por lo tanto hay que crear los objetos correspondiente para soportala. 
Algo que hay que tener en cuenta sobre este tip, que no comenté en la charla, es que este es un objetivo, es lo que se debe buscar puesto que lograr ese isomorfismo es casi imposible (sino imposible) puesto que siempre habrá algo nuevo para aprender de la realidad o una nueva manera de organizar lo que entendimos. 
Otro punto a tener en cuenta es que realmente uno no mapea los objetos con los entes de la realidad sino con el modelo mental que uno realiza de la realidad, es por ello que existen varios modelos del mismo problema que son pensados desde distintos puntos de vista. Es por este motivo que utilizar metáforas para realizar ese modelo mental es fundamental, puesto que guiará nuestra representación e interpretación de la realidad, nos dará una herramienta para entenderla, cuadrarla. El tema de la metáfora es tan importante que hay filósofos post-modernistas que dicen que no pensamos sino a través de metáforas. Representan a estas como "meta-ideas", o sea ideas sobre ideas.
Uno de los comentarios que recibí sobre este tip fue que en el modelo siempre existen objetos que no aparecen en el dominio del problema. En cierta forma es verdad, hay muchos objetos que aparecen en el modelo que no forman parte del dominio de problema funcional, pero muchos de ellos corresponden al hecho de estar haciendo un modelo computable, o sea que son objetos que representan entes de otro dominio de problema, el computable. No tengo manera de probar que siempre estos objetos serán de este dominio pero mi intuición de dice que si.... 
Si no fuese así, debería cambiar el "isomorfismo" por aquella relación utilizada para indicar que todos los elementos del codominio se mapeaban al dominio (no recuerdo la palabra ahora).
Más allá de este detalle (no despreciable por cierto), lo importante es no olvidar la consigna de mantener este mapeo como objetivo y recordar la importancia de tener una metáfora que nos guie en el proceso...

A personal Computer for Children of All Ages

Ese es el paper escrito por Alan Kay en Agosto del 72 donde presenta su idea de la Dynabook. Nunca lo había leído y luego de haberlo hecho no cabe duda de la visión que tuvo en su momento. La parte que más gracia me causo fue la que dice "seguramente una de las primeras aplicaciones que harían sería para evitar que aparezca propaganda..." (palabras más palabras menos, no encuentro exactamente lo que dijo ahora) cuando se refería a la conectividad de la computadora. Vale la pena leer esta paper historico.

lunes, 17 de noviembre de 2008

Adios Smalltalks 2008

Como ustedes sabrán, Smalltalks 2008 ha terminado. La verdad que han sido 3 días maravillosos, de charlas muy interesantes y de reencuentros muy lindos. Mi intención era hacer un resumen de todas las charlas pero no podrá ser. Vi que Andrés Valloud hizo una serie de comentarios sobre las mismas en su blog, así que pueden leer sobre ellas ahí.
Algunas charlas que recuerdo sin ningún orden particular son:
1) Claudio Acciaressi y Nicolás Butarelli que hablaron sobre la reimplementación de Collection para traits. Se notó que prepararon mucho esa presentación y fue muy chistosa
2) Dan Rozenfarb que presentó ExpertCare. Es muy interesante ver como Dan fue cambiando el diseño de la aplicación desde utilizar un árbol de decisión a modelar reglas con algo cercano a lógica de primer orden.
3) Gabriel Cotelli que habló sobre la herramienta reflexiva para generar reportes que usamos en XTrade. Gabriel subió a YouTube una filmación de la charla
4) Monty Williams que dió el keynote y comentó casos de éxito de usar Smalltalk en distintos sistemas. Hay sistemas de misión crítica y con miles de transacciones que ni siquiera sabía que usaban Smalltalk/GemStone, muy impresionante
5) DX Browser Tool de Bruno Buzzi o como implementar herramientas de Smalltalk para administrar web services y archivos XML. Bruno mostró cómo se puede simplificar el uso de herramientas que el hombre hace complejas.
6) Ambiente de Aprendizaje de Objetos de Fernando Olivara y Juan Burella. La presentación fue interesante y llegaron a mostrar el ambiente (en una versión anterior) funcionando en Croquet. Si embargo como se encuentran en medio de una gran refactorización la presentación no se lució tanto como podría haberlo hecho.
7) Glorp, de Alan Knigth. Fue muy intersante como mostró este framework, lástima que no haya presentado temas más relacionados con el diseño que creo que hubiese estado lindo.
8) Los roadmaps de GemStone y Cincom Smalltalk. En de GemStone en particular estuvo muy interesante cuando James mostró una herramienta parecida a WebVelocity pero que corre en GLASS
9) Andrés Valloud nos motró como modelo en coding contest y todas las opciones que tuvo en cuenta para hacerlo, una charla muy interesante para aquellos que trabajamos en el problema
10) Leandro mostró como se puede tener comportamiento por instancia en VisualSmalltalk. El truco es muy interesante y la verdad que la decisión de VisualSmalltalk de que los objetos conozcan un method dictionary en vez de su clase directamente me parece una decisión muy acertada. Como dijo Leandro, es darle más importancia al comportamiento que a la clasificación.
11) La charla de Richie sobre SqueakNos, impresionante. Yo había visto correr SqueakNos antes pero esta vez estuvo muy bien presentado y mucho más estable. En la charla mostro como acceder al boot sector de un disco IDE y todo desde Smalltalk! Ojala podamos hacer crecer este proyecto
12) La mejor charla de todas, por lo menos así fue elegida por la gente, la de Gabriel Honoré que mostró un Emulador de Commodore 64 hecho en VisualWorks! La gente aplaudió como loca con cada chiche que mostraba como el sonido, los juegos, podes controlar la pantalla desde un inspector, etc. Una presentación y trabajo impecable, de exportación!!
También estuvieron las charlas sobre MOOSE, Percolación, SqueakDBX, el trabajo de Tesis de Carlos Ferro, Zafiro y la mia.
Respecto de la mia, creo que generó bastante polvo, por lo menos luego de darla estuvimos hablando sobre varias ideas con Valeria y Richie y las diferencias sobre lo que ellos hacían. También tuvimos unas conversaciones intersantes con Andrés Fortier que me ayudaron a entender como transmitir mejor el mensaje que quería transmitir. Por supuesto, como me ocurre ultimamente, me quedé sin tiempo... es que quiero decir muchas cosas!!! pero fue una lástima porque no pude mostrar ejemplos concretos que hubiesen ayudado a asentar lo que transmitía.
Por supuesto estuvo el coding contest que ganaron Guillermo Amaral y Guido Chari. Lamentablemente yo no le encontré la vuelta aunque conseguí un certificado positivo pero de solo 2 millones contra 26 que consiguieron los ganadores. Creo que hubo varios factores que influyeron en que no lograse encontrar la solución: el cansancio y el hecho de no haber estado trabajando en el modelo por casi dos semanas... pero calavera no chilla! y estoy muy contento de haber participado y programado nuevamente después de unos meses de solo contestar mails, puaj!
Por último, el domingo llevamos a Monty, June, James, Alan y Victor al Tigre. Los llevamos a remar hasta la isla Rufino Elizalde, del Buenos Aires Rowing Club. Estuvo espectacular! creo que lo disfrutaron muchísimo y hasta comimos un asado. Lástima que por la sudestada del sábado el agua había inundado la isla y por lo tanto estaba todo barroso, pero igual creo que fue una experiencia inolvidable para ellos.

Espero que todos hayan disfrutado de esta conferencia tanto como lo hicimos nosotros. Los comentarios que me llegaron así lo dicen... y ya estaremos trabajando para Smalltalks 2009!!!

Nos vemos!

miércoles, 12 de noviembre de 2008

Ya llega!! Ya llega!!

Si señores y señoras, mañana es el día!! mañana empiza la segunda edición del congreso Argentino de Smalltalk!!! Smalltalks 2008. No dejen de ir y participar, les aseguro que estará muy bueno y también se van a divertir mucho!! y habrá muchas sopresas!
Los veo ahí!

PD: Voy a intentar postear un resumen sobre cada charla para mantenerlos al tanto a los que no fueron.

martes, 4 de noviembre de 2008

Smalltalks 2008 - Descripción de Charlas

Me olvide de comentar que en la sección "Charlas" del sitio del congreso hay un link llamado "Ver Propuestas Aceptadas" que lleva a una página con descripciones de las distintas charlas que se darán.

Smalltalks 2008 - Corrección

En el post anterior puse mal la dirección al sitio web del congreso, el mismo es:  http://neuquina.lifia.info.unlp.edu.ar:8001/Smalltalks-2008

lunes, 3 de noviembre de 2008

Smalltalks 2008 - Inscripción y Cronograma

Ya está disponible el cronograma del congreso Smalltalks 2008!!! Creo que quedó muy bueno, hay charlas muy interesantes como el Emulador de Commodore 64 escrito completamente en Smalltalk!! (lo vi funcionando y es una masa!) o SqueakNos, la mía por supuesto :-), los temas de persistencia como SqueakDBX y Glorp, sin olvidar los tutorials (uno sobre la arquitectura de GemStone y otro de Futbol de Robots) y las charlas de gente de afuera como Monty Williams (arquitecto de GemStone), Alan Knight y James Forster nuevamente. (El cronograma lo pueden ver en http://neuquina.lifia.info.unlp.edu.ar:8001/ tab Cronograma)
No dejen de inscribirse puesto que por cuestiones de seguridad vamos a ser más estrictos este año con el ingreso.