miércoles, diciembre 27, 2006

Transcript del Chat sobre AJAX en developerWorks

Hace un par de semanas participé de un chat público sobre AJAX que hosteo Bill Higgins en developerWorks, la verdad que estuvo muy bueno, y como todo lo bueno... se termina muy rápido. El chat contó con presencia de grandes eminencias del software como Grady Booch (uno de los creadores del UML entre otras cosas). Tambien participaron desarrolladores y líderes de frameworks y tools muy interesantes como de Dojo y AFT (Ajax Toolkit Framework). Aca les dejo el transcript que les puede resultar interesante se charló principalmente de:
  • Dojo
  • DWR (Direct Web Remoting)
  • AJAX and REST integration
  • Accessibility
  • Eclipse ATF
  • AJAX Maturity
  • JSON as data interchange mechanism
  • Open Laszlo and Dojo integration

jueves, diciembre 21, 2006

Impacto de Clientes RIA en los Atributos de Calidad


La semana pasada dimos una charla en IBM sobre Rich Internet Application en general, describiendo un poco de que se trata este nuevo tipo de cliente, desde una visión arquitectónica. Tambien pasamos por las tecnologías disponibles para crear RIA, JavaScript/Ajax, Flash (Flex y OpenLazslo) y Browser Objects. Uno de los puntos que más me interesó armar fue el del impacto que tienen estos tipos de clientes en los atributos de calidad.
Debido a que la charla no era sobre esto, no pudimos bajar mucho a detalle, asi que les dejo algo de lo que pudimos armar:
Performance
  • Better latency because of less data interchanged
  • May decrease bandwidth
  • Delta processing on Server Side (More CPU Cycles)
  • Stateful applications, needs more memory to keep screen on server side
  • Needs more resources on Client Side, processing (renderization) and screen state (memory)
  • More than one transactions could be triggered at the same period of time, so more resources on server we will needed to support it
  • Start Managing concurrency on Browser Side
Usability
  • Improve users experiences
  • Adapting the system to user needs and Personalization
  • Support more input events
  • User has the control
  • RIA allows GUI Effects on a browser (i.e. drag & drop, real progress bar, etc)
  • Interactive applications
  • Partial reloading
  • Reverse AJAX concept, Server can update the screen
Portability
  • Cross browser compatibility
  • Operating System portability (I.E. Flash 9 was not supported on Linux Desktop)
  • W3C Standards
  • Open Ajax Alliance (http://www.openajax.org/)
Accessibility
  • Use of Images (SVG) and Media (RDF) contents
  • Access Keys
  • GUI Effects
  • Event Handling
  • Partial update
  • XForm and XHTML2
  • Web Accessibility Initiative for Rich Internet Application (http://www.w3.org/TR/aria-roadmap/)
En algún momento me gustaría escribir un paper sobre esto y sobre los otros atributos de calidad, algún comentario?? cosas para agregar??

miércoles, diciembre 20, 2006

martes, diciembre 19, 2006

Software Estimation: Demystifying the Black Art


Me acaban de regalar este, tan esperado, libro de Steve McConnells!!!!! Todavía no lo puedo creer, este fue uno de los mejores regalos de este cumpleaños!!! Lo hizo uno de mis mejores amigos, Muchas gracias Gastón Escobar!!!!!. Este podría ser el libro que marque un punto de inflexión en la ingeniería en software y para dejar de pensar y utilizar métodos rusticos y artezanales en la estimación de software. Aunque no tengo espectativa alguna que leyendo este libro me estimar un proyecto de gran embergadura (con más de 6 ceros a la derecha, sin tener los requerimientos claros y plazos de 2 años), ya que creo que ese no es el objetivo del libro y aparte no es mi estilo de construir software...
Tengo la plena confianza que Steve debe haber creado una excelente obra... como ya ha hecho, tal es el caso de Rapid Development, biblia de la ingeniería en software. Por suerte tengo tiempo y muchas ganas de leerlo, calculo que para febrero lo voy a terminar y dar un feedback a todos los que tengan ganas de leerlo. Este libro es bastante nuevo, ya que salió en marzo de este año (2006).

lunes, diciembre 18, 2006

I'm back @ MDQ


Despues de un mes y medio volví ;=) no fue que no quise escribir pero como estuve en mediode de la mudanza y sin internet en casa se me complicaba mucho postear... y por otro lado como ultimamente no estoy recibiendo muchos comentarios en los posts tampoco me motivaba mucho seguir escribiendo, ya que uno de los objetivos del blog es la colaboración principalmente a traves de comentarios. Muchos me responden por mail o por chat y son cosas muy interesantes, pero lamentablemente si no se hacen a traves del los comentarios no queda plasmado en el blog y otros lectores no se enteran.
Para contar lo que paso en estos días:
  • Finalmente compramos (junto con el banco hipotecario) el hermoso PH en Palermo Viejo o Soho
  • Nos mudamos, por suerte pudimos pintar...
  • Terminó la cursada de APIT y ya tomamos finales, la verdad que un muy buen cuatrimestre
  • Nos vinimos a MDQ, yo voy a trabajar dos semanas y en Enero empiezo mis tan ansiadas vacaciones
En estas semanas estuve avanzando un poco en Rails, viendo Antipatterns para TDD y RIA, por supuesto, creo que tengo bastante para contar, nos vemos pronto!

lunes, noviembre 06, 2006

26 años

Hoy 6 de noviembre estoy cumpliendo mis 26... la verdad que me siento en un cumpleaños bastante atípico, pero en fin, quería compartir un balance del año:
  • Allá por el 6 de noviembre del 2005 hemos puesto la semillita :P de lo más hermoso que me dió la vida
  • Por Enero, se nos informa desde USA que una gran parte de la release de Blue Horizon iba a ser desarrollada completamente en Argentina (PM, Arquitectura, Diseño y Código), la verdad que estuve con bastantes responsabilidades y por suerte salio todo muy bien, terminamos antes de lo previsto y el proyecto pudo arrancar los 16 diferentes tipos de testing dos semanas antes de lo planificado, el team tuvo una respuesta increíble... TDD, IoC y Design evolutivo y por contratos fue la clave de exito...
  • Por Febrero del 2006, viaje a Mardel tengo un accidente terrible en la Ruta 2, con Mecha embarazada... pero por suerte no paso nada, el auto solo el tren delantero, solo una costillita que todavía en los días de humedad me molesta (Muchas gracias a Gerardo, Lucas, Barby, Los Pibes... por el apoyo, ayuda y contención)
  • En abril, finalmente, me dieron el título, ahora si soy Ing. Gustavo André Brey
  • 26 de Junio, me casé con la mujer que más me maravilló y me atrajo en toda la tierra
  • Por Julio, APIT tomo un nuevo camino, se nos unieron al team mentes brillantes que ya están dejando destellos de su profesionalismo, y esto recién empieza
  • Me puse a ver mas de cerca Ruby y luego con Ruby on Rail (de esto voy a postear algo en la semana)
  • También por Julio, arrancamos en mi proyecto, Blue Horizon Web Configurator, ver mas de cerca temas como RIA/AJAX, si bien ya veníamos charlando con los Geeks de IBM, lo pudismos ver más de cerca y hemos trabajado bastante, he dado presentaciones e investigado bastante, pero esto también recién empieza....
  • Mas cerca de la fecha, el 8 de Agosto nació Andrés
  • 25 de octubre, firmé el boleto de compraventa de mi futura casa, pensé que para esta fecha ya estaría mudado, pero la maldita AFIP sacó la fucking resolución 2148, con lo cual todavía no pude mudarme
  • El proyecto en el que estoy como líder (local) está creciendo de manera exponencial, ya es el proyecto con mayor cantidad de profesionales del area, estamos incorporando gente con capacidades increibles, me encanta poder seguir creciendo y mantener la calidad de profesionales que este proyecto siempre se caracterizó.
  • En Noviembre, presenté la nueva materia en la UTN-FRBA, Arquitectura de Software I
Que año agitadito que tuve ehh..... si me arrepiendo de algo? Si, la verdad que si, con todo esto me privé de ver a personas a las cuales aprecio mucho, como los Pibes, ex-compañeros de trabajo, ex-compañeros de la facu.

domingo, noviembre 05, 2006

Arquitectura de Software I (ex-APIT)

Como comenté en el post APIT, a partir del año que viene la idea es dividir la materia en dos, una para el primer cuatrimestre de quinto y otra para la segunda, o sea, Arquitectura de Software I y II. Ambas en calidad de materia electiva y donde la uno la voy a seguir un poco más yo y la otra Nicolas Passerini.
Esta semana presentamos la primera de ellas formalmente, siguiendo el nuevo procedimiento.
Aca muestro el programa de lo que se viene para AS1... no me gusta esa sigla, me parece que la voy a seguir llamando APIT ;)

PROGRAMA ANALITICO

  1. Introducción y Repaso de Ingeniería en Software
    1. Project Management
    2. SCM (Software Configuration Management)
      1. Baseline
      2. Change Management
      3. Defect Management
      4. Release Management
    3. Análisis de Riesgo
    4. Testing
    5. Introducción a Métricas
    6. QA
  2. Metodologías de Desarrollo
    1. Introducción a las metodologías orientadas a Iteraciones
    2. Proceso Unificado
    3. Metodologías Ágiles de Desarrollo
      1. XP - eXtreme Programming
      2. Scrum
      3. Test Driven Development
    4. Buenas prácticas para el desarrollo de software y la Arquitectura
      1. Diferentes puntos de vistas según el rol en la Metodología
  3. Arquitectura de Software
    1. Concepto de Arquitectura de Software
      1. Tipos de Arquitectura y Ciclos de Generación de Arquitecturas
      2. Modelado y Vistas de Arquitecturas
      3. Principios de Arquitectura
    2. Atributos de Calidad. Requerimientos Funcionales y No Funcionales.
    3. Restricciones
    4. Capacidad y Volumetría
    5. Influencias de la Arquitectura
    6. Entorno Técnico y Estándares
    7. Primera solución técnica y primera percepción de la arquitectura.
  4. Creación de Arquitecturas de Software
    1. Implementar Atributos de Calidad
    2. Definir el Esqueleto de la arquitectura.
    3. Definir o seleccionar los Módulos, Componentes, Interacciones e Interfaces.
    4. Estilos Arquitectónicos y Patrones de Arquitectura (POSA)
    5. Definir nodos, tipos de nodo, conexiones y zonas de redes
    6. Definir y Alocar los módulos y componentes en unidades físicas.
  5. Frameworks de Arquitectura
    1. La importancia de la reutilización
    2. Frameworks y Roadmap de Arquitecturas
      1. Model View 4.1
      2. The Open Group Architecture Framework
      3. Zatchman Framework
    3. Software Product Lines
  6. Comunicación de la Arquitectura
    1. Concepto de Comunicación y Entendimiento de Arquitectura
      1. Comunicar la Arquitectura
      2. StakeHolders y Preocupaciones
      3. ViewPoints, Views y Modelos
      4. IEEE 1470
    2. Workproducts y Deliverables de la Arquitectura
    3. Metodologia de Documentación (Patricio)
    4. Armado del SAD
    5. Características de la documentación de la Arquitectura
  7. Evaluación de Arquitecturas
    1. En que consiste la evaluación
    2. Cuando y Por que.
    3. Riesgos, Costos y Beneficios de las evaluaciones
    4. Métodos de Evaluación de Arquitecturas
      1. Ejemplo ATAM
  8. Rol del Arquitecto de Software
    1. Diferentes niveles y tipos de Arquitectos
    2. Responsabilidades del Arquitecto.
    3. Rasgos y Características del Arquitecto
      1. Liderazgo y Mentoring
      2. Responsabilidades y Aseguramiento de la calidad del Arquitecto
    4. Tareas del Arquitecto a los largo del Desarrollo de Software
      1. Propuesta de Solución y Evaluación Técnica incluyendo Estimaciones y Métricas
      2. Procesos de Construcción de Software
      3. Mantenimiento de Software.
Cualquier comentario será muy bien recibido...

martes, octubre 24, 2006

Seminario de "Prototype Oriented Programming"

Hace varios días que no posteo nada... estuve un poco entretenido con la compra de la casa, participando en seminarios/cursos y obviamente disfrutando de mi hijo.
El Martes 17 de Octubre, la gente de APIT me invitó a un seminario de "Programación Orientada a Prototipos", todos los martes nos juntamos para discutir temas de la materia, pero como justo ese martes caia el seminario del grupo athenas.
Quien dió el seminario, fue el Lic. Hernan Wilkinson, muchas veces habia escuchado hablar de el en IBM, si hablas con la gente es casi un dios, todos los que están hace mas de 8 años lo conocen como un excelente arquitecto y evangelizador del eXtreme Programming y Smalltalk. Lamentablemente no tuve la oportunidad de conocerlo. y apenas estoy hace 3 años.

Con respecto a la charla, sinceramente, estuvo muy buena, casualmente el mismo día, sin saber que a la noche iba a ir al seminario, lo estuve charlando con Gona sobre el tema, el me estuvo explicando de que se trataba.
Lo que realmente me interesó fue la comparación que hizo entre la Filosofía y la Programación Orientada a Objetos, verdaderamente yo no estaba al tanto el mapeo que habia entre lo que Platon y luego Aristoteles que encaja perfectamente con la POO, con clases. No es una rebundancia decir "POO con Clases"?? NO, para nada, la POO no expecifica que tienen que existir clasificaciones de objetos, ahi viene la mayor diferenciación entre lo que todos conocemos por POO (Smalltalk/Java/C# etc) y la POO Orientada a Prototipos. En pocas palabras se puede decir que la Programación Orientada a Prototipos es un sub-grupo de la POO, que utiliza las mismas herramientas pero sin clasificar a los objetos, cada objeto tiene su propio comportamiento, que puede variar a lo largo de la ejecución. Si entiende más o menos el concepto (cualquier cosa UTFW)??
Si bien, no es la manera en la que nos enseñaron a programar, tiene cierto sentido pensar de esta manera. Si lo vemos desde el punto de vista del modelado y el aprendizaje de cierto dominio de una aplicación, tiene más sentido empezar a utilizar objetos especificos y concretos para ir prototipando e ir entendiendo el dominio de la aplicación que estamos desarrollando, que clasificar o abstraer antes de aprender o entender el dominio???
Actualmente trabajamos de esa manera, primero abstraemos para aprender un dominio, no digo que esté mal, pero tambien creo que deberiamos incorporar algunos conceptos de Prototype Oriented Programming. En el seminario se mostraron ejemplos de este paradigma, con Self y con JavaScript.

Basicamente eso es lo que me quedó del seminario... hubo una pregunta interesante sobre las desventajas que tiene esto, y obviamente la respuesta de alguna manera dió algunas pistas de por que no es usado y ampliamente extendido. Ya que una vez que entendemos y aprendemos del dominio ya estamos capacitados para clasificar/abstraer/jerarquizar los objetos por lo tanto los prototipos no son tan necesitamos como al principio del aprendizaje/modelado, es aqui donde falla, no hay herramientas para poder pasar de un modelo en prototipos a clases...

Algo interesante que podemos destacar de Ruby es que permite ambos paradigmas de objeto, tanto con clases como prototipos... es probable que con el crecimiento de este lenguaje dinámico se pueda solucionar la falencia de los lenguajes orientados a prototipos.

El disertante (Hernan) comentó que si bien Ruby permite ambas cosas tiene un problema de que este es críptico....

Realmente piensan que Ruby puede ser el lenguaje para utilizar este paradigma?? Que es criptico ;) ?

lunes, octubre 09, 2006

Libros que toda organización de desarrollo de software debería tener

Estos son los libros "técnicos"que toda organización que desarrolle o mantenga software no puede dejar de tener, básicamente son biblias, todavía no he leido todos pero los que no leí les di una mirada y muchos profesionales me los recomendaron.

Software Architecture in Practice, Second Edition
By Len Bass, Paul Clements, Rick Kazman. Addison Wesley, 2003, ISBN 0-321-15495-9.
Price: $50.99 + Envio a Argentina (en USA es Free)

Evaluating Software Architectures: Methods and Case Studies
By Paul Clements, Rick Kazman, Mark Klein. Addison Wesley Professional. ISBN: 020170482X Price: $50.99 + Envio a Argentina (en USA es Free)

Enterprise Integration Patterns: Designing, Building and Deploying Messaging Solutions

By Gregor Hoppe and Bobby Woolf. Addison Wesley, 2003, ISBN 0-321-20068-3
Price: $39.59 + Envio a Argentina (en USA es Free)

Software Estimation: Demystifying the Black Art. Redmond
By Steve McConnels. Microsoft Press, ISBN: 0-735-60535-1.
Price: $25.19 + Envio a Argentina (en USA es Free)

Domain Driven Design, Tackling Complexity in the Heart of Software

By Eric Evans. Addison Wesley, 2003, ISBN 0-321-12521-5
Price: $43.44 + Envio a Argentina (en USA es Free)

Object Design: Roles, Responsibilities, and Collaborations

By Rebecca Wirfs-Brock, Alan McKean. Addison Wesley. ISBN: 0-201-37943-0
Price: $42.42 + Envio a Argentina (en USA es Free)

Design Patterns: Elements of Reusable Object-Oriented Software
By GoF. Addison Wesley, 1995, ISBN: 0201633612
Price: $39.59 + Envio a Argentina (en USA es Free)

Working Effectively with Legacy Code
By Michael C. Feathers.
Price: $41.49 + Envio a Argentina (en USA es Free)

Refactoring: Improving the Design of Existing Code
by Martin Fowler, Kent Beck, John Brant, William Opdyke, Don Roberts
Price: $47.79 + Envio a Argentina (en USA es Free)

The Pragmatic Programmer
By Andrew Hunt, David Thomas
Price: $33.96 + Envio a Argentina (en USA es Free)

Code Complete, 2nd Ed
By Steve McConnels. Microsoft Press.
Price: $32.99 + Envio a Argentina (en USA es Free)

Como se habran dado cuenta no he agregado ninguno de de Java/C#/Ruby ni ninguno de PM o Metodologías, eso lo dejo para otro momento.

Que otro libro agregarían a esta lista??

viernes, octubre 06, 2006

El Bliki Martin Fowler me pone frenético

Suelo hablar muy bien de Martin Fowler, aprendí/aprendo mucho leyendo de el. Tiene excelentes libros y formidables articulos, pero si hay algo que me pone frenetico es que cada vez que leo el blog/wiki de Martin Fowler es que tengo que terminar leyendo otros 50 post debido a que en vez de llamar a las cosas por su nombre le pone nombre a todo.
No es mala la idea de linkear (al estilo Wiki) para determinadas palabras, pero si a eso le agregas terminos inventados (y ya existentes con otra nomenclartura) por el y que el solo usa, realmente me pone frenetico: vean este ejemplo:

El problema es que todos esos post linkeados a su vez tienen 10 más links...
En fin, de a poquito me voy enojando un poco más de este "guru" del diseño y metodologías. Otra cosa que me pasa con MF es que veo que le cambia los nombres a las cosas, ahora se me viene a la cabeza, IoC por DI, o DSL por Wrokbench Language, que se yo, eso me rompe un poco...
No puedo dejar de decir que es uno de los mejores escritores del software que he leido, y obviamente tiene una visión increible del software y por supuesto, lo voy a seguir leyendo, articulos como "Is design dead", "The new methodology" y "Continuos integration" son una reliquia.

Opinan lo mismo que yo o estoy equivocado?

lunes, octubre 02, 2006

Era de suponer...le costó un poco a Rational pero ya vino

Hace un año y un poquito más que vengo diciendo que IBM/Rational necesitaba alguna herramienta de Build and Release Management, en los ultimos tiempos muchas organizaciones fueron creciendo en madurez incorporando herramientas como Crouise Control, Maven, Custimizaciones de ANT , etc... pero IBM estaba muy atrasado en el tema, varios proyecto internos de IBM usaban herramientas customizadas para realizar esta tarea tan importante. Pero bueno, finalmente el area de software se dió cuenta que estaba perdiendo una gran parte importante del desarrolo y compró una empresa que tenía una herramienta de Build que parece muy interesante, ahora llamada Rational Build Forge, que tiene features muy interesantes y diferenciadores:
  • como la integración con varias herramientas de testeo automático (Test Manager, Robot, Performance, Unit, etc)
  • soporta diferentes "Source Control" y "Feature/Change/Defects Items" mas que cualquier otra herramienta de build, lo cual permite la tan importante trazabilidad
  • Lo que ellos llaman, "Build Acceleration" implementando paralelización de tareas y threads
  • Alta granuralidad para manejo de roles, diferencia de lo que es un tester, un build manager, desarrollador, lider, pm, etc.
Obviamente estoy obviando todos los features que una herramienta de build y release tiene que tener (automatización, countinous integration, IDE integration, etc). Una de las cosas "interesantes" de todo es que el grafiquito de Rational se sigue incrementando, ahora ya agregaron al Build Manager :)

lunes, septiembre 25, 2006

Nuevo Servicio de Google - Photos

Google sigue sacando productos gratuitos, digamos que lo que hizo no es nada bueno, lo mejor que tiene es que es de google, KISS y muy buen uso de AJAX basicamente....
Aparte se integra muy bien con el picasa, que es fat client para manejo de fotos, tambien de google.
Subi un par de fotos de mi hijo y la familia...

http://picasaweb.google.com/gusbrey

miércoles, septiembre 20, 2006

Indexador de Podcast - http://podcastindexer.blogspot.com/


Junto a Gonzalo De Pedro, hemos creado un nuevo blog, el objetivo es indexar, comentar y taguear podcast. Como ya saben suelo escuchar muchos de estos, y lo que me pasa es que luego de escucharlo, pasan unos días y olvido el contenido, el por eso que creamos el "Indexador de Podcast".
Por cada podcast vamos a describirlo muy por arriba, vamos a dar una opinión y vamos a taguearlo como para que quede accesible de una manera elegante. Espero que les guste y se sumen a la idea, si quieren participar como "Catalogadores" pongan un comentario en el primer post y los doy de alta.

miércoles, septiembre 13, 2006

Comentario: Offensive Coding

El autor de este blog es un grande, es quien escribió "Working Effectively with Legacy Code", es muy interesante como explica el concepto. Comparto su opinión, y sobre todo cada vez que leo sobre DBC, me gusta más...

Que opinan?

Este es el link: http://www.artima.com/weblogs/viewpost.jsp?thread=168511

Resumen: Tempted to code defensively? Maybe it's because you're dealing with offensive code.

sábado, septiembre 09, 2006

Joel on Software

Uno de los blogs mas interesantes que suelo leer es el de Joel on Software. Siempre tiene post interesantes que van desde tecnicos, metodológicos, project management, desarrollo ágil y trabajo en equipo. Varios de sus post me sorprendieron bastante, tiene una interesante redacción y mucha experiencia. Ultimamente todos sus post están relacionada con su empresa, llamada "Fog Creek", que tiene una visión muy interesante:
"Building the company where the best software developers in the world want to work"
En español: "Creando la compañia donde los mejores desarrolladores de software en el mundo quieran trabajar"
Si uno mas o menos sigue sus post plantea cosas muy copadas en lo que refiere al ambiente laboral, cultura y relaciones entre puestos, recomiendo leer este post, es genial, un poco largo pero muy interesante. Obviamente usa su blog para mostrar lo excelente que es su empresa y el excelente trato que tiene con el personal.
Igualmente, solo leyendo su blog me alcanza para querer laburar ahi. No se si todo lo que dice es cierto pero uno nunca sabe.
Bueno, les dejo esta recomendación y espero que les guste...
Justamente esta semana, creó dentro de su site un nuevo espacio para busqueda de trabajo, con determinadas particularidades que caracterizan a Joel, peguen una mira al post y al sitio de busqueda laboral.

domingo, septiembre 03, 2006

Arrancó otro cuatrimestre de APIT

Este es un post un poco tardío, ya que arrancamos hace 3 semanas aprox. Tenemos varias novedades:
  • Nicolas Passerini va a liderar la materia, yo no voy a poder dedicarle el tiempo que le venia haciendo debido a mi nuevo rol de papa :)
  • Tuvimos tres excelentes ingresos:
    • Prof. Jorge Bodoc, ya he mencionado su posible inclusión, trabajamos juntos en un proyecto que estaba incendiado y tuvimos muy buena onda, el era algo asi como el arquitecto del framework. Trabaja hace treinta años desarrollando software, toda una reliquia.
    • Ing. Hernan Liendo, le habia escuchado nombrar muchas veces y muy buenos comentarios, trabajó en cubika como arquitecto en un proyecto enorme con chile, ademas participó en la materia TADP
    • Lic. Gastón Coco, viene de la excelente universidad de tandil y la verdad que hubo muy buena onda, trabaja como Arquitecto en Cubika. Es increible lo que sabe, y lo que lee.
  • Nicolas Rossi, nos deja, debido a su emprendimiento personal, su nueva empresa llamada Identicum, Mucha Suerte!! estoy seguro que no la vas a necesitar...
  • Patricio Echagüe y Sei Wan Roh, debido a sus viajes personales/laborales tampoco van a poder participar.
  • La materia va a ser los Jueves en cambio de los viernes
  • Agregamos un TP en donde, aparte de crear una arquitectura, van a tener que codificar parte del sistema.
Con respecto al programa, es un poco lo que expliqué en otro post, la idea es dar algo mas técnico, lo que en algún momento vamos a dar en APIT 2. Describo un poco las clases:
  1. Introducción a Arq. de SW
  2. Metodologias
  3. Atributos de Calidad. Estilos Arquitectónicos
  4. Tacticas para lograr Attr. de Calidad
  5. Organización de la lógica de negocio
  6. Intefaz de Usuario (UI)
  7. Integración de Aplicaciones (EAI/SOA)
  8. Persistencia
  9. Testing
  10. Software Configuration Management
  11. Delirio (La idea es romper el estado del arte actual y pensar en lo que puede venir a futuro)
Con respecto a los papers de investigación, se pusieron temas bastante interesantes, la unica diferencia, es que el Tutor del paper va a participar de manera activa y va a ser parte del paper, estos son los temas que quedaron:
  • Automatización de Tests de Integracion
  • Por que Arquitecturas en Capas?
  • Cuando conviene RIA?
  • Clusterizacion de aplicaciones con GNU
  • Adaptive SOA
Tambien estamos viendo de mejorar la comunicación y hemos levantado un wiki en el lab de sistemas, pero como la red de la UTN está cada vez más descuidada... increible, quien lidera el Depto de Sistemas es Jefe de Catedra de Redes, sin palabras...

viernes, agosto 25, 2006

Ubuntu recien llegado

Acabo de recibir copias de la distro Ubuntu, lamentablemente no las puedo probar en este momento, pero apenas lo haga voy a dar algún feedback. No veo la hora para probarlo y seguir probando ruby/ror, pero esta vez sobre linux.
Me llegó la versión desktop (fue la que pedí gratuitamente) que es en formato live cd, que es lo unico que puedo usar en la laptop, por el momento.

Luego de la Charlar de TDD

Ayer, finalmente, dí la charla de TDD, muchas gracias por los comentarios, me sirvieron mucho. Creo que salio bastante bien, o al menos yo me sentí coforme y tuve buen feedback, quedó grabada, si en algun momento puedo ripearla a algún formato "reproducible" fuera de IBM lo voy a hacer.
En los temas que mas me focalicé que muchas charlar olvidan discutir:
- El origen del TDD y los problemas actuales
- Que ventajas tiene el TDD
- Y los problemas y como manejarlos que puede traer implementarlo en un proyecto (mas allá de usar o no XP)
Dejo las ventajas y los problemas para discutir:
Ventajas:
  • Tests determine what code you need to write
  • Constant Regression Testing
  • Improved Communication
  • Improved Software Design
  • Tests are well completion criteria
  • Facilitate software changes
  • Remove / Reduce reliance on the debugger
  • Reduced defects
Problemas a la hora de implementarlo (la mayoria fueron sacados del ibro Paragmatic Unit Testing):
  • It takes too much time to write the tests
  • It takes too long to run the tests
  • It's not my job to test my codeI don't really know how the code is supposed to behave so I can't test it
  • But it compiles!
    I'm being paid to write code, not to write tests
  • I feel guilty about putting testers and QA staff out of work
  • My company won't let me run unit tests on the live system
  • Dependency is complex to handle
Todos estos problemas obviamente pueden ser solucionados, eso lo explique en la charla.
Si encuentran alguno más para compartir bienvenido sea.

martes, agosto 22, 2006

Charla de Test Driven Development

Dentro de lo que es la comunidad técnica, en IBM, algo de lo que voy a hablar en algún post, el próximo jueves voy a dar una charla sobre TDD. Aca soy casi un evangelizador de esta práctica, por las ventajas que esta provee, y todavía no puedo creer que solo en mi proyecto y algún otro se use. No estaba previsto que yo de esta charla, sino la persona que más sabe de esto, que yo conozco, Emilio Costa Giomi, lo conocí trabajando en Telefonica el año pasado, y fue un placer discutir con un taliban de las metodologías ágiles y diseño, pero lamentablemente (para IBM) el ya no está más trabajando para IBM.
Como objetivo de esta charla es espero explicar que es TDD, y que ventajas tiene para se empiece a usar de manera mas seria. Esto va a ser más o menos la agenda que tengo, si alguno tiene algún tipo de consejo o ayuda, será bienvenida.

  • Global Delivery, Java Developer, the importance of TDD
  • Agile Methodologies and TDD. TDD is not just for Agile Methodologies
  • TDD Introduction. What is TDD? Buzzword. Hello world example.
  • TDD Process. Test First. Automating. Repeat. Flows and Stages
  • Using TDD inside a project and others best practices (Measurings, Refactoring, Continuous Integration, etc).
  • Dependency Management Techniques. MockObjects.
  • TDD as Design. Dependency Injection Patterns. TDD as Specification.
  • Tools, Books and Frameworks References
  • Two Common Problems Examples. (Web UI TDD and Data Access TDD)
  • Why TDD?

viernes, agosto 18, 2006

Gracias Centro de Estudiante!

No soy de meterme en política, menos en lo que a la UTN refiere, prefiero sumar por otros lados (lab y docencia), pero lo que me enteré la semana pasada a través de un mail, me dejó realmente muy mal... y es la renuncia de las principales cabezas del cuerpo docentes y ayudantes de la materia Sistemas Operativos de segundo año de Ing. en Sistemas de Información.
Todos sabemos el valor agregado que esta materia da a los estudiantes de la UTN es increíble, no solo, lo viví en carne propia, sino también lo viví desde el otro lado staffeando gente, cualquier estudiante que haya cursado y aprobado dicha materia es muy superior a cualquier otro estudiante a ese nivel de cualquier universidad. Es más creo que Sistemas Operativos (junto con otras) es la materia diferenciadora en cuanto a calidad educativa y formación de profesionales.
Sinceramente estoy muy dolido por que sin gente como Adrian, Diego, Maximo y Rosario a la cabeza nose si van a poder seguir tal excelencia. Yo pude ver desde muy cerca el esfuerzo que le ponen día a día a la calidad educativa y me saco el sombrero. Que tenían/tienen muchas cosas por mejorar, seguro, pero puedo poner mis manos en el fuego que Adrian se ocupó siempre de eso.
Solo quiero apoyar a la gente que lideró esta materia y cuenten conmigo para lo que sea, les debo mucho y creo que esto no se tiene que cortar.

Y por que del titulo del post? Debido a que la actitud que venían teniendo con esta cátedra era lamentable (incluido el jefe del depto), en vez de ocuparse de la calidad educativa y valor agregado en la industria, como otras veces doy fe que lo hacen, se ocuparon de agredir de diferentes maneras, espero muchachos que mejoren, no podemos seguir perdiendo la identidad.

jueves, agosto 17, 2006

Extensions Utiles para el Firefox (De Andrés Calabrese)

La semana pasada recibí un mail de un compañero de trabajo, y me pareció interesante para compartir:

Image Zoom
Te permite hacer zoom sobre las imagenes, sobre toda la página, setearle un tamaño específico, etc.

DownThemAll
Es un download manager integrado en el firefox. Hace varias conexiones para bajar el mismo archivo, tiene resume sobre los downloads, etc.

Restart Tabbed
Agrega dos opciones nuevas para reiniciar y para cerrar el firefox guardando los tabs existente. Útil cuando hay que reiniciar el firefox por alguna actualización.

Tab Mix Plus
Mejora mucho el manejo de tabs que tiene el firefox. Como el control de los links que se abren, para forzar que los cargue en un tab y no abra otro firefox. Agrega el manejo de sesiones (permite grabar un conjunto de tabs abiertos) y tambien guarda la última sesión utilizada (por ejemplo para recuperar los tabs cuando se cerró por un error el firefox).

Extended Statusbar
Barra como la de Opera que muestra, velocidad, porcentaje y tiempo de carga de la página (a mi no me anduvo muy bien)

Minimize To Tray
En vez de minimizar el firefox a la barra de tareas, lo agrega a la tray bar.

Venkman JavaScript Debugger

Este es un lujo para debuggear JS, es un entorno de debug muy parecido al del eclipse.

Fire FTP
Cliente FTP integrado en el firefox. Agrega más funcionalidad a la básica que ya tiene.

Dicen que el Firefox 2.0 ya va a tener varios de estos add ons incluidos...

lunes, agosto 14, 2006

La ultima y no jodo mas

Juro que es la ultima foto de mi hijo :) solo queria mostrarlo con su body de All Boys que bordó mi suegra, Naná. No es una hermosura??? Prometo escribir cosas tecnicas en los proximos posts, tengo pendiente escribir de Ruby, Portal/Porlets y RIA.
Posted by Picasa

domingo, agosto 13, 2006

Un nuevo hincha de All Boys!!!

Como muchos ya saben, el Martes 8 de Agosto, nació mi hijo, Andrés Brey. Obviamente esto me tuvo mas que entretenido la semana pasada. Por suerte salió todo muy bien, estuvimos en la clínica hasta el viernes y recibimos muchas visitas y regalos, desde ya les agradezco a todos los que vinieron y enviaron mensajes, mails, etc.
Les puedo asegurar que viví el momento más importante de mi vida. No se puede entender como una cosita tan chiquita creada a base de amor, te pueda hacer sentir cosas tan profundas e imposibles de explicar en palabras. Nunca voy a olvidar ese momento, en el quirófano de la Suizo (Clinica y Marternidad) donde lloré por 30 minutos seguidos y me sentí el hombre más feliz del mundo. Estas son unas fotos de mi chancho, y puedo asegurar que es igual al la 4D que hicimos en la semana 28.

jueves, agosto 03, 2006

Morphing

Alguien puede creer semejante panza?? Y todavía falta la de esta semana.... y no son dos!!! Andrés sos un pichon de mamut.....
http://www.brey.com.ar/Panza/

lunes, julio 31, 2006

Server X en un Browser????

Leyendo el Blog de Grady Booch llegué a una "tech talk" de google que me dejó la boca abierta. Muchos de los que me conocen saben de mi experiencia y gustó los el concern de UI en las arquitecturas, pero nunca me hubiese imaginado que se hubiese creado algo como lo siguiente, el nombre del proyecto es XML11, estos tipos se merecen un aplauso, literalmente...
Los tipos crearon en concepto inimaginado (al menos por mí) para el manejo de las aplicaciones Web. La "metáfora" de este proyecto es tener un Server X en el browser y aparte de eso, con este nuevo paradigma de aplicaciones web, RIA, tambien permite crear aplicaciones RIA/AJAX sin necesidad de programar JavaScript, pudiendo portar cualquier tipo de aplicación desarrollada en Java, en principio solo, AWT, en runtime, o sea, leen el .class y van generando código javascript. Está claro que en un post no se puede entender lo que estos muchachos han logrado, les recomiendo pegarle una mirada al sitio y mirár la tech talk por google video, aca les dejo el link a dicha tech talk, realmente vale la pena, los va a dejar con la boca abierta, se los aseguro, eso si, dura como una hora y veinte minutos.
XML11 Tech Talk
Viendo la presentación van a ver el potencial que tiene la herramienta, todavía les falta mucho para ponerla productiva, hay muchos temas de integración entre el browser y el server que no fueron del todo cerradas, pero están muy encaminados.
Me gustó mucho como manejan el Server Pushing o como le dice DWR, "Reverse Ajax".
Algo que me encanta cuando veo/escucho a estos capos/nerds es que se les cae la baba y se ríen al mismo tiempo cuando explican lo que hicieron.

domingo, julio 30, 2006

Se puede tener una cena romantica a los 9 meses de embarazo?


Y la respuesta es SI!
Como? Estando enamorado principalmente y como hace unos días que mecha no quiere ni salir de casa, tuvimos que armar un ambiente en nuestro depto:
1- hicimos una especie de Fondue (primero el quesos fundido con vino blanco)
2- los bocados: lomito, jamon, pan tostado, manzana verde,
3- compramos un Tinto espectacular (Lurton Reserva Malbec), obviamente mecha tomó dos sorbitos, solo para probar, no tuve problema en disfrutarlo yo solo.
4- y por ultimo la música de fondo, KT Tunstall, Dave Matthews Band, Dido, Norah Jones, etc.
La verdad que a todo esto, el tema de saber que dentro de su cuerpo tiene un hijo mío por momentos me sentí en el cielo y como nunca antes me habia sentido.

miércoles, julio 19, 2006

Podcasting

Todas las personas con las que me relaciono día a día (UTN Lab, IBM Martinez, IBM Huergo, IBM USA, APIT, MSN/GTalk) saben de mi fanatismo por los podcast. Este es uno de los principales medios de los cuales aprovecho para aprender y colaborar. Está demás decir que cualquier test de PNL que haga me dá como principal canal de recepción el auditivo, asi que los podcast pasaron a ser un medio fundamental para mi vida nerd. Si bien el podcasting puede venir en varios formatos:
- Video, generalmente MPEG. Generalmente son entrevistas o conferencias, tiene que estár muy buena para no aburrirme y ponerme hacer otra cosa, es muy tentador tener la laptop y solo estar viendo un video :D (recomiendo esta de Kent Beck)
- Flash/ActiveX/Applet, esto generalmente vienen con un Mp3 y una presentación que va pasando sola.
- Presentación con un Archivo MP3. Si el que habla no es muy claro y solo dice "next page" te perdés.
- MP3 pelado
El que a mi más me gusta es el que es un MP3 pelado, ya que de esta manera puedo aprovechar mucho mas el tiempo, debido a que el oído y parte de mi cerebro para procesar lo que llega solo tiene que estar atento. Por lo tanto:
  • Caminando. Amo hacerlo, es la mejor manera de aprovechar el tiempo... aunque a veces se complica por los colectivos/trenes/subtes, pero bue.. si el player permite volver atras por segundos es un golazo, el mío no lo permite :(
  • Manejando. Varios días a la semana voy a martinez, o sea que 120 minutos por día tengo para escuchar.
  • Codeando. Hace tiempo que no tengo que codear nada serio en java, pero cuando vengo un poco a full con Ruby es un lujo.
  • Maileando. Esto es básico.
Es muy raro que me tire en casa y solo escuche un podcast, a veces cuando el ingles es muy cerrado (no me queda otra) y lo hago, pero basicamente a los podcast los he metido como parte de mi vida, por semana como mínimo escucho 3 o 4 podcast, tal es asi, que ya estoy escuchando muchos de .NET por que del mundo de la arquitectura y Java no tengo mas :P
En blogs anteriores ya he mencionado mis fuentes principales de podcast, solo puedo agregar dos nuevas:
  • DeveloperWorks Podcast. Lo que me gustó de este son las entrevistas, es muy variado (dentro de lo que se puede esperar de IBM, vale la pena)
  • O'reilly Podcast, escuche muy pocos de aca, 1 o 2, pero apuntan mas a la creación de podcast por lo que pude ver.
A lo largo del post creo que se vieron muchas ventajas del podcasting, no hace falta enumerarlas, principalmente para nerds como yo que les jode un poco leer y prefieren escuchar. Lo que quizá a mi más me interesa es la aplicación de los podcast en el desarrollo de software, como algo integral, ya escuche cosas como Voice Driven Development, creo que aca se fueron al carajo... pero el concepto fundamental es poder tener comentarios en los entregables (documentos, diagramas, códigos, test cases), el nombre que más me gusta para esto es Voice Annotation, estoy viendo si puedo juntar gente para armar algún plugin para eclipse, aunque ya existe uno, pero es pago y solo anda en windows. Otro aspecto importante es la comunicación de la arquitectura, los podcast son increibles, cada persona que entre en vez de pasar uno o dos horas escuchandome, que se siente adelante de una compu y escuche el podcast. Esto pasa con todos, muchas veces poder dar ejemplo verbalmente son muchos más claros que textualmente.

Quiero decir que voy a seguir molestando con los podcast, estoy seguro que los articulos de mi sitio van a ser en formato podcast (aunque disminuya, por temas de accesibilidad). Y seguramente siga investigando sonbre como integrar el podcasting dentro del desarrollo de software, me parece una integración muy interesante, sobre todo para proyectos de offshoring entre diferentes países.

lunes, julio 10, 2006

Los aspectos de RIA (Rich Internet Application)

En este blog quiero exponer lo que yo pienso sobre los aspectos que tiene el paradigma de UI para la Web, RIA, principalmente de la rama de AJAX/DOM/AHAH.
  • Comunicación en Interacción entre el Browser y el Server
  • Actualización de la pantalla (DOM/AHAH)
  • Componentización de la Pantalla y Manejo de Eventos
  • Testeo Unitario
  • Portabilidad y Cross browser
  • Patterns y Errores Comunes
Comunicación en Interacción entre el Browser y el Server
A esto me refiero entre la comunicación que debe exister entre cualquier browser, los diferentes tipos de RPC. En lo que a la comunicación refiere, podemos detectar dos grandes tipos
- Client Pull : En donde el browser siempre hace pedidos al server
- Server Push: En donde el servidor actualiza la UI sin necesidad de que haya un evento desde el cliente.
Obviamente, el primero es el más común y el que se lleva bien con el protocolo HTTP. Aca vienen los diferentes concerns relacionados con el protocolo de comunicación, obviamente aca viene un poco el tema de los tipos de mensajes, tipo de interacción (sincrónica o asincrónica) y tipo de respuesta, esto está muy ligado a la compenentización y al manejo de evento (de componente o global). Para este tipo de concern existe un framework (java) que permite ambos tipos, este es DWR (Direct Web Reomoting) , dicho framework llama al Push, como Reverse Ajax. Y si no queremos aca hablar de algún framework podemos decir que los XML Request, dependiendo del Browser.

Actualización de la pantalla (DOM/AHAH)
Este concern refiere a como la pantalla se va actualizar luego de la interacción entre el browser y el server. Está claro que cada componete debería tener su manera de renderizarse, pero más alla de esa responsabilidad, hay que evaluar en cada caso que tipo de actualización vamos a hacer, es donde aca se debería definir estos tres tipos:
-Pantalla completa, el html se genera en el Server
-Manipulación del DOM, el html es un xml que se manipula por JS en el browser
-Uso de AHAH, este es el conocido innerHtml
Está claro que estos tres métodos pueden utilizarse una misma aplicación, es más, los tres se tienen que usar, deacuerdo al flow de la aplicación y sobre todo la performance y simpleza del código.

Componentización de la Pantalla y Manejo de Eventos
Este es uno de los conceptos más radicales para los que venimos trabajando orientados al MVC 2 o pagina completa u orientado a template. Aca volvemos un par de años atras cuando se desarrollaban GUI totalmente orientada a componentes y eventos, aca es exactamente lo mismo, las aplicaciones RIA posees mas componentes y eventos mucho más complejos. Está claro que aca es donde el tema se comienza a complejizar. No soy un experto en esto, pero es aca en donde los frameworks como Tapestry e implementaciones de JSF comienzan a tener un lugar en las UI Web, y por supuesto no puedo dejar de nombrar a Shale. Es aca en donde hay que tener mucho cuidado con la interacción entre el programador web con el diseñador de contenidos. Todavía no he encontrado una buena manera de poder definir una buena interacción entre ambos.

Testeo Unitario

Que lindo tema... pero que complicado tambien. Yo creo que aca hay que "divider and conquer" más que nunca, lamentablemente más alla de los "record and play" es muy dificil. Este es un campo bastante prematuro y que todavía no está resuelto para aplicaciones MVC 2, menos va a estar para RIA. Yo creo que el camino viene por separar el unit test de RIA en estos concern:
- Event Listeners (validar si el listener asociado con el evento llama al service/command específico)
- Comportamiento del Componente renderizado (como se darán cuenta, no tomo a la pagina como un todo, sino que mi unidad granular es un compoennte, ej. combo, boton, etc)
- Interfaz Completa (si o si creo que Record and Play es el camino, aunque lo odie ya que no me permite mockear nada) Aca estaría bueno poder moquear el acceso al negocio y generar todos los test cases necesarios de interfaz sin trabajar con el modelo... Como? rta. IoC.
- Como el componente se renderiza (uy que feo)
- Smoke Test desde la Interface, como todo, esto tiene que ser automático, miren esta tool, Selelium

Portabilidad y Cross browser

Está claro que este es un punto complicado, hace 7 años que trabajo con JS y esto es un plomo. No solo que el JS tiene que "compilar" sino que tambien tiene que comportarse de la misma manera en los diferentes browsers. Esta es una de las principales desventajas para JS, está claro. Pero por suerte hace un tiempo me comentó, Gona (un colega de IBM), que ya eso se viene solucionando, esto no quiere decir que los browser se pusieron de acuerdo y su interprete se comporta de la misma manera, no, es que ya las librerías de JS, como Prototype (que muchos frameworks de ajax usan como base) ya realmente nos abstraen del problema de portabilidad. Está claro que no este no es un tema menor, incluso unsando prototype se encuentran muchos problemas de portabilidad. Otro factor importante es el tema de los browser que no aceptan JS, y por supuesto tampoco nos permiten AJAX. O sea aca estamos graves problemas, como hacemos para desarrollar una aplicación RIA y que si el cliente acepte JS la aplicación cumpla con los req. funcionales básicos de cualquier aplicación Web.... muy muy complicado... casi que debería ser una capa de UI diferente para manejar cada caso. Y si, no nos queda otra. En algún momento cuando arranque con una proyecto en el Lab de Sistemas, vamos a encarar ese problema y seguramente publiquemos algún paper.

Patterns y Errores Comunes
Este tema está (o estoy) muy poco maduro, tengo poca experiencia en desarrollos RIA, el solo hecho de trabajar en Web nos acerca muchos patterns, pero específicos de RIA, todavía yo no puedo decir nada, creo que aca hay factores que tenemos que tener en cuenta:
- Concurrencia y Sincronización
- Manejos de Errores
- SessionTimeOut
- Performance (Latencia y Throughput)
- me ayudan?

Bueno este es mi opinción de los diferentes aspectos de una aplicación RIA, y tambien es la manera que estamos encarando RIA en el proyecto que estamos trabajando hoy. Espero comentarios, nuevas ideas, correcciónes, etc..

jueves, julio 06, 2006

APIT

Un poco de Historia
Como algunos saben, estoy dando en la UTN, con un conjunto de profesionales increíbles, una materia sobre Arquitectura de Software. Se llama, Arquitectura de Proyectos de IT. Digamos que vengo luchando con esta materia desde el 2003, cuando todavía no estaba recibido, andaba por 3 o 4 año de la carrera. El grupo de profesionales con el cual encaramos la encaramos mas o menos siempre fue el mismo, casi todos terminamos el mismo año. Fue mutando desde una materia práctica de java a lo que tenemos ahora, en donde encaramos los diferentes aspecto del rol del arquitecto de software de una aplicación. Costó mucho llegar a esto, horas y horas de lectura, investigación, discusión, pruebas y errores, etc. Despues de todo... creo que la materia hoy en día está bastante encaminada, todavía le falta limar muchas asperezas pero considero que la visión la tenemos bien definida. Por supuesto, nuestro trabajo de día a día en nuestras empresas, como arquitecto o líderes técnicos, nos permitió darle mucho más valor agregado del que podiamos obtener de la teoría, pudiendo relacionarnos con otros profesionales y la resolucion de problemas diarios. Basicamente la visión es brindar herramientas a los futuros ingenieros de la UTN, para poder crear, documentar, evaluar y comunicar arquitecturas y por supuesto formarse como arquitectos de software, ya sea de Aplicación como de Integración o Empresarial. Vamos pasando desde los temas más conceptuales y teoricos a la tecnología actual o estado del arte. Como asi tambien dejando un breve espacio para el delirio, o sea, lo que se viene. En lo que va de la cursada, hemos incorporado a 3 profesionales, dos ex-alumnos de la materia, Patricio Echagüe y Juan Arias. Luego este año se nos incorporó y aportó mucho de su experiencia, el Ing. Nicolas Passerini, la verdad que hay mucha química y gracias a su aporte y fuerza hemos hecho crecer la materia.
Presente
Actualmente estamos respetando el programa, pero en el primer cuatrimestre le damos más importancia a la parte conceptual (ver lo que viene) y en el segundo a la tecnología (ver lo que viene). Somos un conjunto de 7 prof/ayudantes. Estamos haciendo dos TP muy interesante, en uno estamos ayudando a crear una arquitectura desde cero, TP Cuatrimestral y el otro es una investigación sobre un tópico particular actual, en donde deben investigar y plasmar en un paper sus conclusiones.
Lo que viene, lo que viene...
Estamos pensando en dividir la materia en dos, una para el primer cuatrimestre y otra para el segundo, APIT1 y 2. La idea es dejar para la primer materia los conceptos mas abstractos y conceptuales para la 1 (lo que no cambia, iteratividad, estilos, attr. de calidad, etc) y para la 2, dedicarnos a la creacion de arquitecturas implementando la tecnología y los estandares actuales. Tambien estoy pensando en agregar temas de Enterprise Architecture, que como algunos saben es de lo que yo quiero laburar en el futuro, es mi visión como profesional. Tambien quiero incorporar a un excelente profesional que conocí trabajando en Telefonica, Jorge Bodoc que ya nos estuvo ayudando el año pasado, tambien al reciente recibido el Ing. Juan Tula, que está tomando unos meses sabaticos y por otro lado tambien ya tengo detectados dos o tres alumnos de este y el otro cuatrmiestre a los cuales voy a invitar a colaborar con la este proyecto al cual le estoy poniendo mucho esfuerzo y sobre todo huevo!, siento que por el momento está resultando y la gente que la cursa sale con herramienta suficiente para al menos saber que es una arquitectura, que entra y que sale, que hace un arquitecto y que tecnologías para los diferentes concerns de una aplicación se están utilizando.

domingo, julio 02, 2006

...desde la Panza

Les presento a mi hijo, esta es una foto de la 4D que hicimos semanas atras, todos dicen que tiene mi nariz, pero para mi es todo mentira, los bebes en la 4d son iguales, en lo unico que se parece a mi es en el bostezo y como se refriega los ojos de la segunda foto :P
Posted by Picasa

Me casé!!!!

Finalmente mecha lo logró me engancho :P
26 del 06 del 2006, cumpliendo 4 años de novios, llegó el gran día, me casé con la mujer que amo. Como dice mi suegra, "con el ternero al pie", mecha con 34 semanas y algunas contracciones pasamos un día genial.
Fue todo muy intimo, no hubo nada de protocolo, toda la gente que vino era la que realmente vemos día a día y quisimos que esté ahi. Solo faltaron mis dos hermanos paternos, Gastón y María, y sus respectivas parejas/hijos. Hubo un problema de comunicación mío. Ahora, todo legal, ya puedo recibir a Andrés, comprar la casa y disfrutar mi familia como lo vengo haciendo. Posted by Picasa

sábado, julio 01, 2006

Un-laptoped

En estos día estoy sufriendo una de las peores etapas, dentro de mi vida nerd... dentro de mis vidas paralelas (ya voy a postear algo sobre eso) debido a mi casamiento, y mutuo acuerdo con mi esposa (suena raro pasar de novia a esposa) tuve que deshacerme de mi laptop al menos por los días de licencia, por lo tanto aproveché y pedí una remasterización del disco, ya que el pobre XP no podía más, mas de un año y medio que venía palo y palo, creo que la registry iba a explotar. Voy a enumerar una serie de pasos que seguí que les pueden ser utiles en caso de que pasen por situaciones similares:
1- Backup de la Biblia, o sea, todos mis eBooks
2- Mover mails, 4 GB de bases Notes (incluyendo, Workflow Development/Sisdam/IBM)
3- Encontré una utilidad para mantener bookmarks del firefox. Foxmarks Bookmark Synchronizer
4- Mover los Podcast al MP3 Player, estuve aprovechando que no puedo usar la compu, ya que mecha tiene que laburar a full para la facu. Estuve escuchando PodCast internos de IBM, son de unas conferencias de technical leadership y it architecture, muy muy interesante, aunque tambien estuve escuchando unos proveniente de la comunidad .Net que valen la pena escucharlos. Un par eran de ArCast y otros de BlaBla Architecture. Desde el punto de vista de la arquitectura hay determinados temas en donde la plataforma, .net o java, no joden.
5- Luego los demás son detalles, Mis Documentos, Workspaces (ya llegan a 10, incluyendo mi entorno de desarrollo Ruby)

Esto es todo.

jueves, junio 29, 2006

Lenguajes Scripting-OO

Hace tiempo que vengo con ganas de probar algún lenguaje de scripting y orientados a objeto, mi primera experiencia fue por el año 2001, con WSH, que si bien no es super objetoso nos permitía crear componentes en VB/C++ y luego llamarlos desde este lenguaje, obviamente de una manera muy precaria, negativamente portable y muy complicado de actualizar. Luego tuve que tocar un par de scripts en Jython, que viene de Python, la ventaja es que te permite utilizar objetos java, creo que es muy interesante, por lo menos para lo que yo lo use, en ese entonces tuve que correr unos scripts para manipular la configuración del WebSphere Application Server.
Tambien leí bastante de Groovy, que digamos varios conocidos vienen trabajando y colegas muy cercano tambien estan bastante copados por la facilidad, simpleza, "destipamiento" y la posibilidad de acceder a java, en algún momento voy a tener que darle una mirada más de cerca.
Pero de todos los que tuve la oportunidad de ver, el que me despertó cierto interes fue Ruby, nose bien por que, pero de tanto leer a Martin Fowler, Dave Thomas, Hunt, etc, mis gurúes principales y de hacer unas pequeñas pruebas, creo que es el que más posibilidades tiene de ser aceptado dentro de la plataforma LAMP (como ven no figura, en la P, pero yo creo que viene por ahi) sobre todo que a mi me tira la UI, parece que el framework Ruby on Rails, viene muy interesante y con features muy piolas para integrar con AJAX y abstraerse de la Base de Datos. Por el momento, lo único que puedo decir es esto, muy gustó la experiencia con Ruby, por, como dice Nicolas Passerini, posee una característica importante, "Expresividad". Ya voy a postear algo con más detalle sobre Ruby, en la proxima semana calculo.

lunes, mayo 22, 2006

Como estar actualizado en Java

La semana pasada, Angela, mi líder de USA, me preguntó que podia hacer para estar informada dentro de lo que es JEE/Java. Digamos que no es una tarea fácil, ya que la JCP está constantemente esta generando/aprobando/submitiendo nuevas especificaciones, Apache/Jboss/OpenSynphony/Sourceforge, etc están liberando nuevos componentes día a día, digamos que no es una tarea para nada fácil.
Les voy a mostrar mí manera de mantenerme actualizado, primero los medios:
  • Portales y Sitios de Noticias. Estos son los que yo mas utilizo, debido a que obtienen y centralizan información de diferentes source. Generalmente estan muy actualizadas.
  • Foros y Grupos Yahoo. Generalmente me uno a grupos de acuerdo al momento en el que estoy interesado, por ahora estoy dos muy interesantes:
Creo que estos son mis principales fuentes para estar actualizado dentro de lo que es Java, digamos que me resultaron muchos mas util este tipo de sitios que estar entrando source por source, generalmente cada vez que necesito mas información termino ingresando. Hay un sitio que no he hablado, este es javapolis este sitio tiene unos podcast muy interesantes.

Eso es todo de mi parte.

sábado, abril 22, 2006

Mi primer post

Esta va a ser la primera vez que escribo una nota en mi blog personal. Uds diran, que mal que está este tipo!!!... como recien ahora escribe su primer post????, mayo de 2006 se pone un blog???
Pero si... me costó un tiempo tomar dicha decisión. Mi amigo personal Rafa Gallino, viene jodiendo con esto de los blogs desde el 2002, y digamos que nunca le di pelota, nunca le vi la utilidad... pero despues de un tiempo, recapacité y me di cuenta que los blogs son una excelente manera de comunicación y colaboración con el ambiente y comunidad técnica... y si! soy nerd! adivinaron. Lamentablemente para algunos, este blog va a narrar mis experiencias y opiniones técnicas. Tengo 25 años, soy Ing. en Sistemas de Información (UTN), trabajo en IT desde el 2000 y por otro lado, mi vida no nerd, voy a ser papa pronto y estoy muy enamorado de una mujer increible... Mecha.
Con esta nota doy el punta pie inicial a mi blog, espero que algún día pueda ser parte de su reader diario y poder comapartir mis experiencias y aportar a la comunidad.