B4A

sábado, diciembre 09, 2006

Nuevas versiones de A1


















En estos últimos tiempos recibí pedidos y preguntas sobre variaciones de mi producto A1-CMS, a raíz de las cuales estuve trabajando en dos nuevos sabores del mismo, que les quiero comentar en esta nota:

A1-Expedientes: Es una versión específica para una necesidad muy común en estos tiempos: la digitalización de documentos. De esta forma se ahorra tiempo, se gana en exactitud y confiabilidad y por sobre todo, se evita la impresión indiscriminada, ahorrando papel lo cual constituye no sólo una ventaja económica, sino un humilde grano de arena en pos de cuidar el medio ambiente.

A1-Desktop: Es la versión para PCs de escritorio de A1-CMS especialmente indicada para empresas o comercios que necesiten tener un catálogo de productos flexible, ágil y configurable, corriendo en una PC local o en una red de PCs. Pequeñas empresas, en lugares geográficos sin la posibilidad de un acceso a Internet de tiempo completo, pueden beneficiarse en gran medida de esta versión.

Como siempre, ambos productos están desarrollados en Squeak, con interfaz web, utilizando Seaside y si bien estas son versiones preliminares, hay unas cuántas características interesantes previstas para desarrollar.

domingo, noviembre 19, 2006

Notable mejora en el rendering de fonts TTF coloreados


Para quienes usan fonts Truetype de colores (como en Shout+TTF fonts o como en la imagen de Small-Land), Andreas Raab liberó un fix para un problema existente con el cacheo de esos colores.

Este fix acelera el rendering del texto coloreado con TTF notablemente.
Diego Gómez Deck tomó el fix, lo ordenó dentro de un changeset para evitar algunos problemas que existían con el fix original y se puede descargar e instalar en imágenes 3.8 y 3.9.

Abriendo un transcript ANTES de instalar el .cs se puede evaluar el siguiente código:

| text morph form|
text :=
('Hello World\' withCRs asText addAttribute: TextColor red),
('Hello World\' withCRs asText addAttribute: TextColor green),
('Hello World\' withCRs asText addAttribute: TextColor blue).
text addAttribute: (TextFontReference toFont:
((TextStyle named: 'BitstreamVeraSans') fontOfSize: 24)).
morph := TextMorph new contentsAsIs: text.
form := Form extent: morph fullBounds extent depth: 32.
Transcript cr; show: (
[1 to: 1000 do:[:i| morph fullDrawOn: form getCanvas]] timeToRun
).

el cual puede evaluarse nuevamente luego de instalar el .cs para notar las diferencias.

En mi imagen 3.8 donde desarrollo habitualmente, cargada de cosas, los valores en milisegundos fueron:

Antes: 10963
Después: 714

El thread completo, de donde bajar el .cs es este.

sábado, octubre 21, 2006

Pequeña contribución al osCommerce


Entre las muchas soluciones que brinda el software libre al mundo de los negocios está el muy reconocido producto osCommerce, prácticamente un estándar en productos de comercio electrónico que incluye catálogo de productos, carrito de compras, múltiples medios de pago y un sinfín de características más.

Además del producto en sí, existen contribuciones que desarrollan usuarios del mismo, una de ella es una lista de precios completa que no viene con el producto estándar. Yo necesitaba esa lista de precios completa pero no como se desarrólló originalmente, sino con una pequeña modificación que, por las bondades del software abierto que permite disponer del código fuente, pude hacer sin mayores inconvenientes (aunque el php no sea mi fuerte!).

En la imagen adjunta se puede apreciar como cómo queda la lista de precios con el agregado en cuestión.

domingo, octubre 01, 2006

Instalación de Squeak en Ubuntu


El linux que uso a diario para todas mis tareas, tanto sea Desarrollo de Software, como edición de textos, como navegación web, como cualquier otra cosa que haga con mis computadoras, es Ubuntu, una versión de Debian con muchas facilidades de uso y un excelente instalador que detecta (al menos en mi experiencia personal) cualquier hardware donde se lo desee instalar.

Además, la novedosa forma de instalación, que bootea un live Linux presentando un escritorio con la aplicación de instalación facilita mucho el trabajo, sobretodo para principiantes con el sistema operativo del pingüino.

Luego de instalado, los squeakers, necesitamos Squeak :), el que se puede instalar "a mano" tomándolo desde la página de lan Piumarta o, mucho más fácil, desde repositorios donde ya estén tanto la VM, como la imagen, el changes y el sources en formatos .deb.

Para ello debemos arrancar el programa Synaptic que viene por default con Ubuntu, seleccionar Configuración y luego Repositorios y agregar en la solapa Soporte de Instalación los canales que no se encuentren chequeados.

Presionando el botón Añadir, de la misma solapa, debemos tener chequeados los canales Soportado oficialmente y Copyright restringido, como se ve en la imagen adjunta.

Luego de ello podemos buscar squeak desde el botón Buscar de Synaptic y proceder a la instalación del mismo.

sábado, septiembre 30, 2006

Video "Smalltalk en la Industria"

David Buck, de Simberon ha producido un video (en inglés) llamado Smalltalk in Industry, el cual es el primero de una serie que se publicará en el sitio Smalltalk Central.

El video muestra cómo Smalltalk es usado en diferentes aplicaciones y sectores de la industria. Uno de sus objetivos es introducir a los interesados en el uso de Smalltalk en los diferentes tipos de aplicaciones que se pueden desarrollar.

Finalmente, cabe comentar que en dicho video se reseñan 3 de los productos de software de ArSol, los cuales están desarrollados con Smalltalk, a saber: Promoter, ClavesPC y A1-CMS.

El video, que puede ser visto desde aquí, tiene una duración de 7:38 minutos, ocupa 18 MB y requiere Flash Player.

miércoles, septiembre 20, 2006

Espejitos de Colores Versión 2006

Hoy charlaba con un amigo que es del rubro de la informática. Es decir, conoce perfectamente de lo que estamos hablando. Sin embargo, pareciera ser que el trabajo de lavado de cerebros del imperio de las ventanas es realmente mucho más devastador de lo que yo mismo imaginaba.

Mucha gente toma como normal usar esos productos propietarios, mucha gente que conoce de lo que hablamos, ni siquiera se plantea hacer el esfuerzo de intentar un cambio. Peor aún, están conscientes que sus propios hijos van a seguir ese camino de dominación, de miles y miles de personas que salen de las escuelas argentinas clamando por usar "Word" y "Excel" porque es lo único que les enseñaron.

Las industrias, empresas, organizaciones y el estado también son cómplices perdedores en esta alianza nefasta, donde el único que gana es el que cobra por las licencias fortunas que se van del país a llenar otros bolsillos y cubrir otras necesidades.

Me pregunto: ¿A casi nadie le parece importante romper esta dependencia? Se trata NADA MAS que de programas para computadoras!!!! No hablamos de medicamentos o cosas imprescindibles para la vida........son absurdos programas de computadoras, los espejitos de colores de nuestros tiempos, aquellos por los que se pagan enormidades de dinero que, increiblemente, no se utilizan ni se vuelcan para posibilitar trabajo local.

Muchas universidades argentinas forman "ingenieros en sistemas" que apenas son usuarios de algún viejo basic con nombre nuevo, pero que ni siquiera se permiten soñar con producir tecnología, sólo se conforman con consumir lo que otros hacen y nos venden.

Parece que inexorablemente el poder económico siempre puede más, aún en algo tan prescindible, tan fácil de reemplazar o inclusive no usar como los programas para computadoras (nuestros nuevos espejitos de colores, a cambio de los cuales se llevan nuestro oro).

viernes, septiembre 15, 2006

Software Libre

Cuando comencé con este blog, pensaba en dedicarlo solamente a Smalltalk. Sin embargo hoy siento que tengo el deber de aportar mi granito de arena a los temas relacionados con el software libre que cada vez adquieren mayor importancia, en tanto y en cuánto cada vez se los ignora más en muchos ámbitos donde es imprescindible que ello no ocurra, por ejemplo en la educación.

¿Qué es el software libre? ¿Por qué es importante para las naciones del tercer mundo como nuestra Argentina? Muchos de estos interrogantes, compendiados en un resumen excelente, están respondidos en este video (de casi 90MB) de un reportaje a Diego Saravia, uno de los creadores de Ututo, la primera distribución Linux de Argentina.

viernes, agosto 04, 2006

Lanzamiento primer sitio A1



En el transcurso de esta semana quedó operativo el sitio de nuestro primer cliente que incluye el administrador de contenidos A1. Se trata de Inmobiliaria Cagliero, prestigiosa y tradicional firma del rubro bienes raíces, de la ciudad de Sunchales.

Muchas Gracias Alejandro por confiar en nuestro producto A1 para gestionar el sitio web de tu empresa.

martes, julio 04, 2006

Ya comercializamos A1!


En el día de hoy estamos lanzando el sitio web de nuestro producto A1 - Gestión de Contenidos. El mismo se puede visitar presionando aquí.

Dicho producto, inicialmente ajustado para el rubro de compañías inmobiliarias, permite que las mismas auto-gestionen el contenido de sus sitios, manteniendo actualizados los datos y fotografías de las propiedades que disponen para la venta y/o alquiler.

El producto está enteramente desarrollado en Squeak, utilizando Seaside, Mewa, y algunos otros frameworks disponibles.

Se comercializa con un costo inicial dependiendo de la cantidad de propiedades que el mismo administrará y un canon mensual que incluye el hosting (alojamiento del sitio), el desarrollo de un sitio estático institucional para la compañía inmobiliaria usuaria, soporte técnico y mantenimiento así como derecho a nuevas versiones del producto.

Con el correr del tiempo tendremos disponibles versiones específicas para rubros diversos como agencias de automóviles, máquinas agrícolas, equipos industriales, agencias de turismo y otros rubros diversos.

jueves, junio 29, 2006

Algunos tips sobre manejo de gráficos en Squeak y Seaside

Una forma de mostrar gráficos (png, jpg) es leyéndolos desde el disco rígido, sin embargo, es mucho más cómodo incluirlos en algún método de nuestros objetos en forma de código fuente, de manera que los podamos tener disponibles cada vez que instalemos nuestro código en una nueva imagen.

La forma de hacerlo es la siguiente:

myMethod



x := Form fromFileNamed:'reload.png'.

xArray := x bits asArray.



^ ShoreForm

extent: 32@32

depth: 32

fromArray: xArray

offset: 0@0.


El código es muy simple y se explica por si mismo (en el ejemplo reemplazamos el logo de ShoreComponents por uno propio).

Como usamos la clase Form para esta tarea y la misma trabaja con imágenes de tipo gif, seguramente vamos a tener problemas de definición en los íconos que veamos desde Seaside, lo cual se arregla reemplazando el método asMIMEDocument de la clase Form, de la siguiente manera:

asMIMEDocument

| aStream rw |

aStream := RWBinaryOrTextStream on: String new.

rw := PNGReadWriter on: aStream.

rw nextPutImage: self.

rw close.

aStream reset.

^MIMEDocument contentType: 'image/png' content: aStream contents

Gracias a Diego por este último tip.

lunes, junio 26, 2006

MiniToDo Versión 1.1


Hace unos años, como ejercicio para el aprendizaje de Squeak y su interfaz gráfica Morphic, me puse a hacer una pequeña aplicación tipo "Lista de Tareas Pendientes".

La aplicación no tiene nada de novedoso ni de original, pero responde a aquel viejo adagio de los verdaderos programadores, que hizo posible el desarrollo de tantos y tantos productos de software: "Construirás tus propias herramientas" (además de posiblitar la diversión :).

La uso a diario tipo "bloc de notas" para suplantar el papel y como ayuda memoria, pero tengo en mente desarrollar características adicionales cuando el tiempo me lo permita.

Por lo pronto hoy he publicado algunas mejoras:
1) Se pueden "exportar" las tareas a un archivo externo, para luego importarlas en otra imagen Squeak.
2) Se puede generar un archivo html con la lista de tareas, para ir a la reunión con el "jefe" o los clientes.

MiniToDo se puede instalar directamente desde SqueakMap o desde el repositorio SqueakSource.

MiniToDo es completamente libre, ya que está bajo la licencia MIT.

miércoles, junio 14, 2006

¿Por qué Smalltalk?

Recientemente me uní a la OISV y recorriendo el foro, una persona preguntaba por opciones en herramientas de desarrollo ya que no está tan seguro de seguir con la que usa actualmente.

Las respuestas que había eran cortas y variadas, pero fundamentalmente cortas, concretas, así que no pude resistir y traté de escribir en pocas líneas el porque de usar Smalltalk.

Palabras más, palabras menos, lo que escribí es lo siguiente:

Yo uso una herramienta "marginal" (no es un lenguaje, sino mucho más que un lenguaje) llamado Smalltalk.

Smalltalk existe desde hace mucho tiempo y en varios sabores y (para mí al menos) tiene dos ventajas principales:

1) Smalltalk me pone fuera de la rueda comercial de las grandes compañías que fabrican y venden herramientas de desarrollo (Microsoft, Sun, IBM, etc) y le da valor a mis productos y sistemas y no a la herramienta con la que están desarrollados.
Es una forma de no dejarse "empujar".

2) Smalltalk, siendo tecnología de objetos pura (no solamente "orientado a objetos") es realmente poderoso y flexible para hacer cambios y mantener los sistemas en cualquier momento.

Actualmente uso dos Smalltalks:

a) Squeak: Es un Smalltalk open source (con el cual también se puede desarrollar "closed"), muy adecuado para todo tipo de desarrollos, pero ahora muy aggiornado al desarrollo web incluyendo Ajax y todas las cosas del "estado del arte" de la web 2.0.

b) Dolphin Smalltalk: Para desarrollos para ambientes Windows (aunque las aplicaciones Dolphin también corren en Wine bajo Linux).

No se si será la forma más concreta de definir porque usar Smalltalk, pero son los dos argumentos que considero de mayor peso. No obstante cualquier opinión al respecto me interesa.

jueves, abril 20, 2006

Nueva versión de Promoter

En el día de ayer, 18/04/2006, liberé la versión 1.06 de Promoter, la cual incluye algunos cambios, a saber:

Para el usuario: Se integró completamente la posibilidad de dar altas en cualquiera de los sitios de Yahoo e InfoTiger. Además ahora el producto se entrega con 17 buscadores en idioma español configurados y listos para usar.

Desde el punto de vista técnico se actualizó el instalador para que incluya la VM 3.7.1 de Squeak para Windows, se entrega en una imagen Squeak 3.8 y se actualizaron todos los paquetes que se usan en el producto (Seaside, Yaxo, Mewa, Komanche y SIXX).

Desde el punto de vista comercial se modificó sustancialmente el precio, vendiéndose ahora a $25 para los residentes en Argentina y usd 11,90 para el resto del mundo. Además se brinda en forma ilimitada sin costo la versión anterior (1.05), pero la versión actual (1.06) sólo se puede obtener mediante la compra de la misma.

Hay más características planificadas para agregar en futuras versiones, pero sin fecha cierta de implementacion.

Como siempre el código fuente se halla disponible en el repositorio SqueakSource y es gratuito para propósitos y usos no comerciales. Sin embargo cualquier uso comercial del mismo requiere el correspondiente pago de la registración.

El pequeño importe que se cobra sirve para seguir desarrollando el producto y a cambio del mismo se obtiene soporte técnico por mail, descuentos en futuras versiones y un instalador que incluye una imagen comprimida y optimizada, así como todos los paquetes funcionales e instalados.

domingo, abril 16, 2006

Primera versión del proyecto A1

Tal como había comentado en un post anterior, estoy trabajando en un pequeño CMS (Administrador de Contenidos) que pueda usarse en diferentes rubros. El primer negocio que cubre es el de Bienes Raíces (o Inmobiliarias, como se conoce en mi país Argentina).

Estamos trabajando con el primer cliente que lo usará en los detalles finales, pero la primera versión está prácticamente lista.

La idea es que el menú de la izquierda se arma con las categorías que configura el propio usuario, que luego asigna a las propiedades que tiene en su cartera de negocios.

El sitio que se ofrece al cliente se complementa con un grupo de páginas html con algunos efectos javascript y se ingresa a la aplicación A1 sólo en el momento que el visitante del sitio desea ir a ver las propiedades.
Esto facilita el uso del sitio, a la vez que brinda mejor desempeño en lo que a performance se refiere.

A1 ofrece al propietario del sitio un panel de control que le permite realizar las operaciones básicas necesarias para el mantenimiento del catálogo de propiedades, por ejemplo: ABM de Categorías, SubCategorías y Propiedades, Resguardo de Datos en línea, Exportación / Importación de datos a archivos externos en formato XML y optimización de recursos mediante la limpieza de cachés en forma automática.

Desde el punto de vista tecnológico, la solución está desarrollada en Squeak, utilizando varios de los frameworks y utilidades existentes y, como no podía se de otra manera, NO se utilizan bases de datos relacionales, lo que evita un sinnúmero de inconvenientes asociados con esta "tecnología" algo caduca en nuestros tiempos.

Respecto del desempeño en un servidor web de uso compartido, se realizaron diferentes pruebas de stress con la versión gratuita de la herramienta Webserver Stress Tool, los cuales arrojaron resultados muy alentadores para los parámetros utilizados.

Finalmente, desde el punto de vista comercial, la solución se ofrece de diferentes maneras, pero siempre como servicio y no como un mero producto de software, ya que la idea es que para que la solución resulte exitosa, se necesita no sólo el producto, sino un conjunto de factores técnicos asociados.

A1 es un producto en fase inicial, con una primera versión lista para ser usada, sin embargo aún existen muchas características para agregarle, que espero puedan ver la luz en un futuro no demasiado lejano.

martes, marzo 14, 2006

AJAX en Seaside en línea!


Para quienes se preguntaban qué se puede lograr con una aplicación Seaside y AJAX, usando Scriptaculous, ahora tenemos este demo, gentileza de Lukas Renggli.

Pet Store en Seaside


Entre las muchas aplicaciones interesantes existentes en el nuevo hosting gratuito para aplicaciones no comerciales desarrolladas usando Squeak / Seaside, que se pueden ver en el sitio http://www.seasidehosting.st, por el menú Support y luego Accounts encontramos una similar a la archifamosa Java Pet Store.

EL demo principal está en la dirección http://rising.seasidehosting.st/seaside/saltspray y se trata de una aplicación similar al PetStore, pero implementada en Seaside, usando ShoreComponents.

Hosting gratuito para aplicaciones Seaside


Tradicionalmente fue un problema alojar aplicaciones Seaside ya que los proveedores de hosting compartido no ofrecen la opción de Squeak / Seaside.

Ahora existe una alternativa, la gente de Netstyle y ESUG ofrecen hosting gratuito para aplicaciones Seaside NO comerciales. (También tienen la opción de hosting pago para soluciones comerciales).

En la versión gratuita se accede a 128 MB de estapcio en disco para guardar la imagen Squeak y los archivos estáticos, como fotos u hojas de estilo que sean parte de la aplicación. Mas información y la posibilidad de registrarse gratis en: http://www.seasidehosting.st/.

sábado, marzo 11, 2006

AJAX en Seaside


Desde hace un tiempo, se habla de la Web 2.0, es decir las nuevas formas de desarrollar aplicaciones web que brinden al usuario una experiencia tan buena como la que tradicionalmente sólo brindaron las aplicaciones desktop.

Esto es así de necesario ya que desde hace un tiempo y, al parecer, por mucho tiempo más, las aplicaciones nuevas de todo tipo "viven" en la web.

Para este salto que intenta cerrar la brecha con las aplicaciones desktop es central el uso de lo que se ha dado en llamar AJAX, acrónimo de Asynchronous JavaScript + XML.

AJAX no es en si mismo una tecnología, sino la reunión de varias, cada una aportando su valor, para unirse en poderosas nuevas formas de desarrollo, como se puede ver, por ejemplo en Google Suggest, Google Maps, Netvibes, Gmail, Amazon y muchos otros sitios.

AJAX incorpora:

  • presentación basada en estándares usando XHTML y CSS;
  • exhibición e interacción dinámicas usando el Document Object Model ;
  • Intercambio y manipulación de datos usando XML and XSLT ;
  • Recuperación de datos asincrónica usando XMLHttpRequest ;
  • y JavaScript poniendo todo junto.

Como no podía se de otra manera, AJAX ya está disponible para usar en nuestro ambiente preferido de desarrollo web, Squeak/Seaside, a través de Scriptaculous (bibliotecas javascript para dotar a sitios y aplicaciones web de tecnologías Web 2.0).

En el propio sitio de Scriptaculous, Lukas Renggli documentó cómo integrarlo con Seaside y puso disponibles los paquetes para tal efecto.

Las pantallas que acompañan el presente artículo muestran algunos ejemplos de dicha implementación.


viernes, enero 27, 2006

Ya está armado mi "Arduino"!

Introducción

Tiempo atrás me enteré, fortuitamente y por un compañero de trabajo, que existe un proyecto libre cuyo nombre coincide con mi apellido, "Arduino".

Como la electrónica también se cuenta entre las cosas que me gustan, interesan y en las que he trabajado, me puse en contacto con la gente del "Arduino", con la idea de ver la posibilidad de acceder a un equipo de esos y desarrollar alguna interfaz desde Squeak.

David Cuartielles, uno de los padres del proyecto, muy amablemente, me envió de regalo un "Arduino", pero desarmado, o sea la placa por una parte y los componentes por el otro, así que doble diversión para mi!. Primero armarlo y luego tratar de usarlo/programarlo con Squeak.

Que es el "Arduino"

El "Arduino" básicamente es una plataforma de computación de fuente abierta basada en un board i/o simple y un ambiente de desarrollo que implementa el lenguaje Processing/Wiring. El "Arduino" puede ser usado para desarollar objetos interactivos standalone o puede ser conectado a software en su computadora y uno de sus campos de acción es la educación.

Es decir, un excelente compañero para el Squeak!.

Mi "Arduino"

Así llegó:




















(Las fechas de estas dos primeras fotos están mal porque olvidé configurar la cámara cuando le puse las baterías. El sobre me llegó cerca de fin del año 2005).

Aprovechando las muy calurosas tardes (y alguna mañana) del Enero 2006 sunchalense, me puse a ensamblar los componentes, y en aproximadamente dos tarde y una mañana, lo tuve listo, aprovechando para repasar algunos conceptos de electrónica que tenía un poco olvidados.

A continuación, la secuencia de como fui armando el "Arduino":































A la izquierda podemos ver un detalle de las soldaduras, como me enseñaban mis maestros de electrónica, soldaduras brillantes indican que se hicieron con la temperatura adecuada (mucha).

Las soldaduras opacas y en forma de gotas no permiten buenos contactos e indican que faltó temperatura.








Finalmente, el trabajo terminado, mi " "Arduino"
terminado y descansando sobre mi viejo y fiel
alicate.













Ahora, en la medida que pueda tener algunos tiempos libres, los próximos pasos serán ver cómo funciona con el software con el cual fue diseñado y luego, si puedo, ver cómo "trabajarlo" desde Squeak.

No prometo tiempos, sólo intenciones.

domingo, enero 01, 2006

El proyecto A1

Un cliente me pidió un presupuesto para hacer un sitio web para su empresa.

Se trata de una compañía inmobiliaria que opera en el rubro de ventas y alquileres de departamentos, casas, campos y otros bienes raíces.

Este tipo de proyectos necesita indispensablemente de una aplicación que permita al propietario del sitio autoadministrarlo, es decir, incorporar, modificar y eliminar información todo el tiempo.

Se me ocurrió desarrollar una solución genérica, que sirva para resolver el problema de diferentes tipos de empresas que necesitan mostrar sus productos por Internet, pero que no incluyen carrito de compras, ya que son operaciones de magnitud que difícilmente se concreten en forma online. Por ejemplo: Inmobiliarias, Agencias de Autos, Máquinas Agrícolas, etc.

Así que manos a la obra mediante y luego de aproximadamente unas 12 horas netas de trabajo, ya tengo un prototipo de la aplicación, tanto del lado del administrador (el que maneja el contenido del sitio) como del navegante (lo que ve quien accede al sitio web).

Una vez más aprovecho las bondades de Squeak y el framework Seaside para el desarrollo de aplicaciones web, usando varios otros paquetes también, principalmente Mewa y ShoreComponents.

Mewa es un paquete manejado por metadatos para construir aplicaciones web en forma sencilla y facilmente mantenibles. Más información sobre Mewa en el siguiente pdf: http://www.adrian-lienhard.ch/files/mewa.pdf

ShoreComponents, en cambio, es un paquete que contiene bloques reusables para obtener interesantes efectos en la interfaz de usuario para aplicaciones web.

Las imágenes que acompañan este artículo corresponden a la versión para Inmobiliarias y muestran por un lado la aplicación para el administrador, que posibilita el mantenimietno de los inmuebles, categorías y subcategorías, y por otro la apariencia que tendrá el sitio web, tal como lo verá el navegante.


Aún falta mucho trabajo y muchas cosas por definir, pero es importante destacar que, no siendo yo mismo un Smalltalker demasiado experimentado, en sólo 12 horas de trabajo pude desarrollar todo lo comentado.