B4A

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.

martes, noviembre 29, 2005

Acentos en Seaside

Seaside es un poderoso framework para desarrollar aplicaciones web en Squeak.

Actualmente estoy desarrollando una interfaz web para una aplicación desktop existente, cuyos datos residen en MS SQL Server.

Es la primera que desarrollo en Squeak 3.8 (ya que las anteriores fueron con Squeak 3.7). A partir de Squeak 3.8 ya no es necesario enviar los mensajes #squeakToIso o #isoToSqueak para hacer la conversión de caracteres acentuados o especiales del idioma español, sin embargo Seaside (hablamos de versiones 2.5a o superiores) mostraba mal dichos caracteres.

Haciendo un poco de investigación en la lista de Seaside y con unas pruebas, aparecen dos opciones para solucionar este problema:

1) La manera "rápida y sucia"

Desde la versión 2.5a4/25a5 de Seaside ya no existe el prólogo XML y en su lugar el charset es fijado en un header Content-Type. Esto se encuentra en WAResponse>>initialize, de la siguiente manera:

contentType := 'text/html; charset=utf-8'

y lo debemos reemplazar por esta línea:

contentType := 'text/html; charset=iso-5589-2'

La desventaja de esta solución es que implica tocar una clase de Seaside (subclasificarla sería bastante complejo) y debemos recordar hacerlo en cada nueva imagen donde querramos usar nuestro código.

2) Una forma más prolija

Todos subclasificamos WASession para establecer nuestro modelo, entonces se puede sobreescribir el método #respond de la siguiente manera:

respond: aBlock
| resp |
^ super respond:
[:url |
resp := aBlock value: url.
resp contentType: 'text/html; charset=iso-5589-2'.
resp]

Ambos métodos fueron testeados y funcionan perfectamente, usando una imagen Squeak 3.8 #6665 y Seaside 2.5b8.

sábado, noviembre 19, 2005

Promoter ahora puede dar altas en Yahoo


A partir de hoy, Promoter soporta la adición de datos de su sitio en el buscador Yahoo.

La particularidad es que Yahoo requiere un usuario y password de Yahoo para permitir el alta, como se puede ver en la pantalla adjunta.

Suministrando dichos datos de identificación, se realiza el alta con la salvedad que luego se necesita presionar el botón Retroceder de su navegador para continuar con la tarea de promoción, y retornar a Promoter.

Aquí se puede ver el alta exitosa en Yahoo.

Cabe agregar que si, por ejemplo, teníamos en otra ventana del navegador nuestro usuario Yahoo conectado, entonces esta paso de pedir el usuario y la contraseña no se realiza, ya que el navegador tiene la identificación.

En la versión online de pruebas de Promoter ya está agregada la url de ejemplo para adicionar datos en Yahoo y todos los usuarios registrados de Promoter recibirán la actualización a la brevedad.