November 2008 - Posts
Sigo con la transcripción no textual de la charla de Alejandro Reimondo de Smalltalking, dada hace unas semanas en la Universidad Tecnológica Nacional, aquí en Buenos Aires, Argentina. Alejandro comentó algunos trabajos en los que participó, desde los noventa:
Participé de un proyecto sobre cine argentino. Fue interesante ayudar durante 2 años, fue interesante ayudar a investigadores de la historia del cine argentino. En esa época, 1995, no había salido Windows 95, no había muchos productos multimedia. Se armó un producto donde todas las fotografías se vinculaban unas a otras, y los personajes y temas relevantes, tenían su ficha. Fue mantenido y creado por un grupo de investigadores coherramientas que fuimos haciendo. Fue la primera cinemateca en el mundo que tuvo un CD ROM de cine de su país.
Pueden encontrar más información sobre el proyecto en
Cine argentino en Cd Roms
Fue creado por la Fundación Cinemateca Argentina, pero no encontré un sitio de esta fundación.
En el 2000, participé del proyecto Halcón de IBM. Es un sistema de tracking de documentación de negocios grandes en Sudamérica. Había sido hecho en Smalltalk y nos tocó hacer una actualización.
Estos proyectos estaban enumerados en el "slide" que presentó en ese momento. No mostró software andando:
No voy a mostrar software. Pero traje algo para que no se aburran escuchandome hablar. En el producto Virtual Fashion, hicimos un enganche de Smalltalk con un engine 3d, de una empresa española, en el 2005, 2006, hicimos el ambiente Smalltalk que se monta en cima del ambiente de 3d de ellos, para diseño de moda virtual. En su tiempo, hubo una competición entre diseñadores, donde los diseñadores usaban virtualmente las telas que se estaban presentando en ese momento.
La empresa para la que se hizo este desarrollo es Reyes Informática:
http://www.reyes-infografica.com/
El producto es Virtual Fashion
http://www.virtual-fashion.com/html/en/
Pueden ver una galería de videos con el producto andando en:
http://virtual-fashion.com/html/en/gallery_video.php
Atlas.TI es de hermeneútica, interpretación de texto. Si uno quiere interpretar párrafos de la Biblia, y los quiere comparar con párrafos del Corán, lo puede manejar por software. Puede enlazar con otros textos, por ejemplo, documentos y contratos. Atlas.TI expandió eso para manejar lo multimedial, y ahora maneja Google Earth. Puede vincular el texto al mapa del mundo de hoy. Esa compañía está trabajando más de quince años, son líderes en el mercado, está escrito en Smalltalk, y me ha tocado darles asistencia desde acá, Argentina, para ese proyecto.
El producto es el
http://www.atlasti.com/
Pueden encontrar información en español en
http://www.atlasti.com/productintro_es.html
donde leemos:
¿Qué es ATLAS.ti?
Durante una década, ATLAS.ti ha sido el líder del mercado en software profesional QDA (para el Análisis Cualitativo de Datos). ATLAS.ti es utilizado en todo el mundo por instituciones e investigadores líderes. Siempre que se precisa de un análisis profesional de texto y datos multimedia, simplemente no existe alternativa a ATLAS.ti.
Compatibilidad con todos los idiomas
ATLAS.ti puede procesar datos prácticamente en cualquier idioma, utilizando todos los juegos de caracteres disponibles, incluidos japonés, chino, árabe, hebreo y muchos más. No obstante, recuerde que la interfaz del programa se mantiene en inglés*, (independientemente del idioma de su material).
Siguió Alejandro con:
Hace dos anios o 3 vengo participando en un esquema de negocios, para el armado de este tipo de productos, fotoalbumes, con cada foto se hacen estos libros. Diseñamos una forma de hacer los libros, mi participación mayor es en hacer este tipo de software. Con PhotoShop se puede hacer, pero lo interesante de nuestro producto, es que el producto final se hace con la dedicación de 2 horas por cada cliente a atender. Entonces, es un software que tiene que ser muchísimo más rápido y eficiente que PhotoShop. Se usan fotos comunes, y hay un metodo de armado. Tenemos un esquema de negocios para Latinoamérica.
La empresa de la que participa Alejandro es
http://www.imaginiasoft.com
Pueden ver algunas características del soft en
ImaginiaSoft, software para fotolibros y regalos con fotos
También mencionó Alejandro otros hitos en la historia de Smalltalk en Argentina:
... hay dos hitos que quiero mencionar, el primero fue la fundación de Sugar (Smalltalk User Group de Argentina), en la que participé hasta 1999/2000. Luego, me he dedicado a Smalltalking, que busca que seamos protagonistas de un avance en tecnología. Si bien tiene vínculo con Smalltalk, no se queda ahí, y estamos intentando ir por más.
Alejandro no llegó a explicar claramente qué era eso de "un avance en tecnología" que espera. Creo que era parte de la charla, pero no le alcanzó el tiempo para volver al tema.
Queremos ser protagonistas de un avance tecnológica de acá a una década, no hemos visto un avance y hay que buscarlo.
....
Con respecto a Smalltalk, me es inevitable no usarlo, porque es lo que he usado durante 20 años. Toda referencia la hago con respecto a Smalltalk, no me va a escuchar hablar de otras alternativas, elijo Smalltalk porque lo puedo sustentar.
No quedó claro a qué se refería con "sustentar". Entiendo que tiene relación con lo que publiqué hace un tiempo sobre
Self-sustaining Systems, Cola, Pepsi, Coke y Mate
Esta falta de terminar de explicitar algunos puntos, va a ser un tema recurrente en la presentación de Alejandro. Habrá que esperar que publique algo explicando esos puntos.
Enlaces relacionados
Superando los límites de la Orientación a Objetos (Parte 1)
Superando los límites de la Orientación a Objetos (Parte 2)
Mas allá de objetos
Nos leemos!
Angel "Java" Lopez
http://www.ajlopez.com/
http://twitter.com/ajlopez
Finalmente, ayer miércoles 26 de Noviembre, se realizó la primera reunión de Inteligencia Artificial en Buenos Aires. La idea era conocernos, entre quienes tenemos inquietudes sobre el tema, para ir formando algún grupo de interés, coordinar actividades, o simplemente intercambiar opiniones sobre el tema.
Asitieron a esta reunión:
Hernán Moraldo, que hace 10 años comenzó programando juegos, ahora está dedicado más a la matemática, trabajó con visión artificial, y ahora trabaja para Wolfram Research, la empresa desarrolladora de Mathematica.
Marcos Leguizamón, programador, interesado en electrónica, miembro de la lista de Robots Desarrolladores, desarrollando juegos para Sabarasa.
Javier Otaegui, quien es uno de los fundadores de Sabarasa, empresa dedicada a la creación de juegos, se presentó bajo otros "dos sombreros": fundador de Think an App, un nuevo emprendimiento que resuelve problemas difícil, utilizando inteligencia artificial (como algoritmos genéticos, en una aplicación para una petrolera), y con el sombre de miembro del ADVA, Asociación de Desarrolladores de Videojuegos de Argentina, que el año que viene que comenzar a aceptar papers para su congreso anual, incluyendo el tema de inteligencia artificial para juegos (ya había publicado por acá algo sobre ADVA en Exposición de Videojuegos Argentina- EVA 2008)
Manuel Aráoz, estudiante del ITBA, Instituto tecnológico Buenos Aires, interesado en inteligencia artificial, pero especialmente en las matemáticas.
Néstor Balich, que conoció la reunión por la lista de Robots Desarrolladores, interesado desde hace años en Inteligencia Artificial, profesor e investigador en robótica, que nos presentó su sitio dedicado a Robótica e Inteligencia Artificial http://www.robotia.com.ar/
La reunión comenzó unos minutos después de las 18:30, porque el bar donde íbamos a reunirnos estaba cerrado. Nos fuimos a un local a una cuadra, de la clásica La Continental.
No anoté la hora de finalización, pero debió ser cerca de las 21hs.
Así que se imaginarán la cantidad de temas, entusiasmo, intercambio de ideas que hubo. Se habló desde la escasez de programadores en Inteligencia Artificial en Argentina, el "gap" entre lo académico y lo práctico, los distintos apoyos para emprendedores, con sus altas y bajas, los lenguajes que se usan, empresas que necesitan IA, IA en el mundo, IA y robótica, el congreso de Inteligencia Computacional Aplicada del año que viene en Buenos Aires, IA en juegos (yo mencioné varios puntos de IA en Computer Go), la diferencia entre producir "papers" y trabajar en IA, etc. Se habló de algoritmos en juegos, de IA y otros que no, como path finder, y máquinas de estados. Se comentó el uso de IA en la implementación de Popego, al parecer, programado por la gente de Zauber. Se comentaron trabajos en IA en el país, como en robótica, futbol robótico, desarrollos con Prolog (en la Universidad del Comahue), actividad de IA en universidades (como el trabajo de Amandi en la Universidad del Centro). También se comentaron nuevas aplicaciones de IA como los de la empresa Evolution Robotics, uno de cuyos vicepresidentes es argentino. Pasamos por temas mas políticos, como la falta de relación entre la industria, el gobierno y lo académico, o sobre el próximo "polo tecnológico" de Buenos Aires, el llamado Centro Metropolitano de Tecnología, a situarse en Parque Patricios.
De mi parte, mostré algo de Computer Go en HPC Cluster, alguna funcionalidad de Microsoft Robotics, y el gran Big Dog de Boston Dynamics (No mencioné al AjGo y al AjLisp, aprovecho ahora para enlazarlos).
Como conclusión, vemos que hay puntos en común, ganas de hacer cosas, así que como "outcome" en concreto, armamos una lista en Google Groups, para seguir coordinando el grupo y para intercambiar ideas sobre Inteligencia Artificial. Los interesados en el tema, son bienvenidos a
IA Grupo
Como "outcome" personal, quería escribir este post, como minuta informal de la reunión.
Nos leemos!
Angel "Java" Lopez
http://www.ajlopez.com/
http://twitter.com/ajlopez
Sigo transcriendo notas (no textuales) y comentarios, de la charla de Alejandro Reimondo de Smalltalking sobre Superando los límites de Orientación a Objetos. Alejandro comentó sobre sus primeros proyectos con Smalltalk:
"Volcado en años, hay infinidad de cosas hechas ... son proyectos fuera de lo común, no convencionales, y es muy variado el tipo de cosas que he hecho, y hay hitos de los que me siento orgulloso.
(cerca de 1990) El Soler es un sistema que es una simulación de una locomotora, que se utilizó para enseñar a reparar una locomotora. Antes se enseñaba con una locomotora física, eso es costosísimo. En esos tiempos, los japoneses llegaron al país, a hacerse cargo de una empresa de transporte, y nos contrataron para programar un modelo de locomotora, que sirviera para la enseñanza de su reparación.
Es un proyecto que me llevaría tiempo explicar, pero fueron interesantes los resultados. Logramos hacer una locomotora donde están virtualizados los caños, elementos, partes, y lo interesante que eso lo programaron los usuarios. Yo no sabía de locomotoras, el problema real era ¿cómo hago un sistema ne donde quien lo usa, lo programa?. Estamos hablando de 1991, tenía que ser hecho en seis meses el primer modelo, luego estaba planeado modelar más tipos de locomotoras. Empezamos a trabajar en una herramienta de construcción, donde el experto especificaba cada una de las piezas, y las probaba de a una, e iba conectando los subsistemas. Eran como 150 elementos coordinados. Empiezan a trabajar los usuarios a especificarlos, cuando el referente me dice: el problema es grande, no sabemos cómo lo estás resolviendo, ¿qué nos garantiza que todo va a funcionar? ¿cómo vas a resolver las referencias circulares? Eran preguntas de los libros de simulación. Yo sabía la respuesta: nadie te garantiza que todo va a andar. Pero no tuve que dar esa respuesta, seguí construyendo. Un buen día, recibo un llamado: Alejandro, sos un genio, terminamos de armar todo, y anda, ¿cómo sabías que iba a andar? Ahora, la duda ya no es si va a andar, sino, ¿por qué está andando? Acá, este andando es mágico, y ahí entendí la respuesta, que la podía dar en ese momento: anda, porque las locomotoras andan".
Igual acá acotaría que no siempre las simulaciones de ese tipo llegan a buen puerto. El tema no son las referencias circulares, sino la adecuación a lo modelado en la realidad.
"Las locomotoras son dispositivos diseñados estables, están armadas para que no se generen desequilibrios en ese sistema, había toda una ingeniería en esa maquinaria, lo único que no tenía que hacer era programar yo, era permitir al experto que tuviera herramientas para programarlo.
Me di cuenta de eso magico: las cosas funcionan. Lo que tratamos de hacer, es virtualizar eso, para conseguir ese éxito.
Las cosas que andan, si uno lo trabaja con objetos, andan. Me costo unos años, que hay cosas que no andan, y cuando uno trabaja con objetos, tampoco andan."
Me temo que Alejandro no dió un ejemplo de este tipo, de "cosas que no andan". En el tema locomotora, estudiaría sistemas, teoría de sistemas, tendría que recomendar varios títulos de Mario Bunge aquí, como su excelente "Emergencia y Convergencia".
"Lo que tenemos en un modelo de objetos, es algo valioso, pero tiene límites."
En el resto de la charla siguió tratando de mostrar los límites de POO, pero eso seguirá en otros posts.
Enlaces relacionados
Superando los límites de la Orientación a Objetos (Parte 1)
Superando los límites de la Orientación a Objetos (Parte 3)
Mas allá de objetos
Nos leemos!
Angel "Java" Lopez
http://www.ajlopez.com/
http://twitter.com/ajlopez
El pasado sábado 8 de Noviembre, asistí a una charla de Alejandro Reimondo, de la asociación Smalltalking, dada en la sede de la Universidad Tecnológica Nacional, aquí en Buenos Aires, Argentina. Ya había posteado sobre el anuncio de la charla:
Mas allá de objetos
Tome varias notas, que quisiera ir posteando por acá. La charla duró dos horas y media y un poco más. Hubo interesantes discusiones, y Alejandro trató de explicar a qué limitaciones se refería en el título de la charla. Creo que no llegó a transmitir su mensaje completo, porque se acabó el tiempo. Espero que este primer post y otros que le sigan, sirvan para difundir y entender lo que expuso. Intercalaré comentarios y apreciaciones mías, y algunas aclaraciones. Al principio, Alejandro comentó sobre sus inicios en la programación Smalltalk:
"Arranco siempre explicando un poco algo de historia de objetos en el país, en la región, y de alguna manera ... es innegable que he tenido participación del desarrollo de la tecnologia en nuestro país. Me ha tocado hacer el primer sistema de Smalltalk de uso comercial. En los años 1988-87, me cayó un diskette en las manos, otros dos diskettes fueron uno a la UBA (Universidad de Buenos Aires) y otro a una universidad de Brasil, a una cátegra de inteligencia artificial. No se sabía qué era, y se veía como futuro en la informática".
Yo recuerdo acá que Smalltalk ya lo veía por aquí un poco más temprano, pero no había mucho hardware disponible para ejecutarlo (lo mismo pasaba con Lisp). Recuerdo que en la primera parte de los ochenta, el ingeniero Guido Vasallo ya me había entusiasmado a que estudiara el lenguaje.
"...Me llegó por un conocido, que me dice, fijate qué es esto, Alejandro, en los tiempos que tengas, eran dos diskettes. Quince días más tarde llega un pre-release de Windows 1.2, me lo dan, fijate Alejandro, esto es lo mismo, las dos son herramientas gráficas. Yo en esos tiempos dominaba muy bien el uso de Turbo Pascal".
Recuerdo la primera versión de Windows, la anterior versión 1.0, que no tenía ventanas superpuestas. Habré ido a la sucursal de Bunge y Born, local, a ver la primera versión, corriendo en un monitor VGA, de color, uno de los primeros que habré visto. El Turbo Pascal (y luego el Turbo C) fueron programas que marcaron un rumbo en lo que hoy son las IDEs modernas.
"... Había logrado que me trajeran un mouse de EE.UU. Las herramientas que llegaron eran muy tentadoras, y podía usar el mouse. Windows tenía 3 programas, no había herramientas, no se promocionaba programar en Windows, esa era la política entonces, ya iban a venir las herramientas para desarrollar.
Veo esta otra cosa, el Smalltalk, y empiezo a ver, estaba todo programado ahí, lo puedo tocar, y acepta cambios. Podía modificar su funcionamiento, y eso fue una de las cosas que me motivó para el primer desarrollo de la empresa en la que trabajaba, un sistema de admisión temporaria en el país, de materias primas que entran, y productos que se exportan como terminados.
Como yo manejaba muy bien el Turbo Pascal, lo iba a encarar con ese lenguaje. Me preguntan: Alejandro, ¿cuánto tiempo te toma desarrollarlo? Contesté 3 meses. Yo sabía que en un mes y medio lo hacía en Turbo Pascal, y quería el tiempo adicional para intentar hacerlo en Smalltalk. Me sorprendió que en 15 días, venía gente a ver el sistema, a usarlo con el mouse, mientras lo estaba armando. Para mí fue una experiencia importante, pero yo creía que era un prototipo: los usuarios me hicieron ver que ése era el sistema, y me felicitaron por la velocidad conque lo había hecho. Fue una sorpresa para mí, lo que había pasado.
No había informacion sobre objetos..."
Bueno, en aquellos tiempos, algo había en el ambiente universitario, y también en la literatura que llegaba desde EE.UU., principalmente. Recuerdo haber comenzado a leer sobre Smalltalk en los primeros años ochenta, así como de C++. Pero era escasa la gente con la que compartir experiencias.
"... no había otro que te lo dijera, años en que uno tenía que reflexionar qué es lo que estaba pasando, sin tener el sustento de otros. Fue una experiencia única de alguna manera, hoy existe todo lo contrario, mucha comunicación, muchos contenidos, pero poco tiempo de reflexión para cuando uno aborda una herramienta de de desarrollo de objetos.
En el año 90 dejé de trabajar con Turbo Pascal, y empecé a trabajar sólo con Smalltalk, y todo el desarrollo que he hecho, lo hice con un ambiente de objetos. En los primeros años me tocó promover, ir viendo ver cómo la gente reaccioanaba a eso año a año."
Esto es apenas el comienzo de la charla. Iré publicando el resto en futuros post, y colocando aquí los enlaces. Post publicados:
Superando los límites de la Orientación a Objetos (Parte 2)
Superando los límites de la Orientación a Objetos (Parte 3)
Nos leemos!
Angel "Java" Lopez
http://www.ajlopez.com/
http://twitter.com/ajlopez
Una de las ramas más interesantes de la computación es la Inteligencia Artificial. Desde hace décadas, se ha ido tratando de obtener software que realice actividades que implican inteligencia. Han habido avances y retrocesos, "hypes" en el mercado y fracasos, caminos distintos como el manejo de símbolos, lógica y sistemas expertos, y por otro lado, redes neuronales, lógica difusa. Se ha llegado a un programa que le gana al campeón mundial de ajedrez. Ha aparecido la rama de la vida artificial, la creación de agentes autónomos, con cuerpo e interacción con el ambiente. La robótica también ha ido acompañando a la IA. Algoritmos genéticos, computación evolutiva, son más ramas que se han sumado.
Con la llegada de la llamada Web 2.0, con nuevas ideas y tecnologías como cloud computing, computación en grilla distribuida, web semántica, juegos en red, creo que hay una nueva oportunidad para la IA: integrarse en nuevos tipos de aplicaciones.
Hay siempre actividad por estos lares, en mi pais, Argentina, de gente interesada en Inteligencia Artificial, tando individuos, como grupos de interés en universidades y grupos de usuarios.
Hernán Moraldo tuvo una gran idea: convocar a los interesados en Inteligencia Artificial, por ahora acá en Buenos Aires. Hernán y yo nos leemos en Twitter, y sugerí una fecha y lugar. Todo quedó arreglado.
Así que hay una reunión el próximo miércoles 26 de Noviembre, a las 18:30hs. En un lugar mítico: el bar de San José y Rivadavia, en el barrio de Congreso, donde se reunía la gente de ciencia ficción (recuerdo haber asistido ahí por el 88) y luego los interesados en hacking (en los 90). Están invitados todos los interesados en Inteligencia Artificial. Voy a invitar a gente de la organización del congreso de Inteligencia Artificial del año que viene:
Congreso de Inteligencia Computacional Aplicada
en la Universidad de Palermo.
Yo arreglé todo para asistir ese día (no tengo curso a esa hora). Todos los interesados en el tema, están invitados. Espero que este sea el inicio de algo interesante. Hoy, en un mundo cada vez más conectado, desde acá, Argentina, podemos participar más fácilmente de lo que está pasando en el mundo. Y hasta aportar y crear.
Algunas de las ramas a explorar en IA en:
Temas Interesantes de Desarrollo de Software, Parte 1- Inteligencia Artificial
Nos leemos!
Angel "Java" Lopez
http://www.ajlopez.com/
http://twitter.com/ajlopez
A veces, en un proyecto de desarrollo, nos encontramos ante una situación: tenemos claro cuál es el camino a seguir, por ejemplo, en un tema de diseño. Está ante nuestros ojos la solución al problema que tiene empantanado al equipo. O simplemente, vemos una mejor forma de hacer algo. Pero si comenzamos a discutir el tema, si tratamos de exponer la idea buscando aprobación, entraremos en reuniones, discusiones, comités para buscar el visto bueno para la acción.
Hay otro camino.
Una fábula de los hermanos Grim, ilustra el tema. La publiqué y comenté en mi blog personal:
Sopa de piedras
La repito acá:
Tres soldados retornaban de la guerra, volviendo a sus hogares. Iban por el camino, cansados y hambrientos. Ven una villa adelante del camino, y sus espíritus se levantan, seguramente los habitantes de la villa les darán alimento. Pero cuando lleguan, encuentran las puertas y ventanas cerradas. Despues de años de guerra, los habitantes de la villa estaban escasos de comida, y cuidaban lo poco que tenían.
Los soldados, entonces, hierven en una olla agua, y le ponen cuidadosamente tres piedras. Los habitantes de la villa, asombrados, se acercan a mrar.
"Esto es sopa de piedras", explica un soldado. "¿Es todo lo que pusieron en la sopa? ¿Piedras?", preguntan los curiosos. "Absolutamente, sólo piedras, pero debo decir que sabría mejor si tuviéramos una zanahorias...". Uno de los habitantes de la villa, corre a su casa, y retorna con una canasta de zanahorias de su huerta.
Un par de minutos más tarde, los habitantes preguntan de nuevo "¿sólo eso se necesita?".
"Bueno " dice un soldado " un par de papas le darían más cuerpo a la sopa". Otro habitante vuelve a su casa, y trae papas.
Durante una hora, los soldados enumeraron más ingredientes que podrían mejorar la sopa: carne, puerros, sal, hierbas. Cada vez, un habitante distinto iba y traía lo que se necesitaba.
Eventualmente, ellos terminaron con una gran olla de sopa caliente. Los soldados removieron las piedras, se sentaron con el pueblo entero, a disfrutar de la primera comida completa en meses.
Es tiempo de poner nuestras piedras en la olla. En vez de pedir permiso para la idea completa, haga algo chico, bien desarrollado y expuesto. Una vez lo tenga pulido, muéstrelo a su gente, que vean lo que puede hacerse. Y luego, diga, "claro, podría estar mejor si tuviéramos X...". Pero sin darle mucha importancia. Ahí verá si realmente el germen de la idea prendió o no. Si no, no insista por el momento. Si prendió, seguramente la idea tomará inercia, y conseguirá más apoyo para lo que quiere hacer y cambiar. A veces, mostrar un poco del futuro, hace que la gente se suba al tren que les prepara.
No siempre el cambio se puede lograr con discusión y razonamiento. A veces, hay que maniobrar para vencer la inercia o resistencia al cambio, que tengamos delante.
Los lectores de "The Pragmatic Programmer", de Andrew Hunt y Dave Thomas, reconoceran el "tip 5" que recomiendan: "Be a Catalyst for Change", sea un catalizador del cambio.
Nos leemos!
Angel "Java" Lopez
http://www.ajlopez.com/
http://twitter.com/ajlopez
Este post nació de una interesante discusión en una lista del MUG de Argentina. Quería exponer algunas de mis ideas sobre contratación de desarrolladores de software.
Muchas veces, hay llamados para cubrir un puesto en particular, que necesita ciertos conocimientos en firme. Entonces, se hace hincapié en los conocimientos específicos de las personas que se postulan. Pero hay otro caso.
Una empresa puede contratar, no para para lo que necesita ahora, sino para tener la gente con la que encarar su futuro. De ahi, que, mas que test de conocimientos, hay que encarar una entrevista, para ver que tipo de actitud, soft skills, capacidades de adquirir conocimiento nuevo, de resolver problemas, de trabajar en equipo, tiene una persona.
Si la persona sabe de Java, pero no de .NET, si una empresa como la que describo trabaja solo con .NET y aledanios, no le interesa el conocimiento que tenga HOY la persona en .NET, sino la cabecita y el corazón que tiene para asimilar lo nuevo, y trabajar en una empresa con otros desarrolladores. Cualquier problema (de programación, por ejemplo) que se le plantee a la persona, no estará entonces destinada a ver si lo resuelve, sino a ver COMO intenta la resolución: ¿busca en Google? ¿repregunta? ¿confiesa que ese tema no
lo sabe? ¿se queda en eso y no investiga? ¿o trata de investigar algo mas? ¿lo asocia con lo que ya conoce? empieza a sanatear? ¿va y pregunta en un foro?
¿Como encara algo que no le gusta? ¿Tiene disciplina? ¿Como toma que alguien este en desacuerdo con el en un tema?
¿Tiene capacidades de comunicación? ¿Escribe un blog? ¿Tiene una ppt de algo
que presento en algun momento de su trabajo, carrera?
Importantisimo: ¿le interesa la mejora continua? ¿O "ya sabe todo" y "está de vuelta" de todo?
También hay gente que conoce mucho, pero es un erizo en relaciones personales o trabajo en equipo. Eso hay que detectarlo también.
Yo, en lo personal, si tuviera que contratar a alguien para desarrollo, le pediria "show me the code": que me muestre su blog, sus intereses, que código escribió para él y para otros, etc. No me interesaría tanto si está en
.NET, Java, o Ruby.
En definitiva: entrevista, con preguntas, no sólo para saber qué conocimientos tiene, sino para ver el estilo que tiene.
Para todo el que quiera mejorar en esta carrera, y en su vida
http://blogs.msdn.com/jmeier/archive/2008/10/13/effectiveness-post-roundup.aspx
Un video para ver entre todos (empresas, desarrolladores, etc)
http://www.infoq.com/presentations/Developing-Expertise-Dave-Thomas
Levemente relacionados:
Codethinked - Estrategia para ser un mejor desarrollador
Matriz de competencias de programación
Independientemente de lo de arriba, recomendaría una lectura de alguien que tiene mucha experiencia en el tema, el clásico de Joel Spolsky
Smart and Gets Things Done: Joel Spolsky's Concise Guide to Finding the Best Technical Talent
Spolsky en este libro, está más centrado en detectar y contratar a los mejores. Yo creo que hay que contratar a las personas correctas. Sólo algunos deberían ser los mejores. Es interesante lo que expone sobre cómo retener a la gente, algo que por aquí en Argentina, no se acostumbra: la rotación de la gente abunda por estos lares.
Nos leemos!
Angel "Java" Lopez
http://www.ajlopez.com/
http://twitter.com/ajlopez
El martes pasado, tuve el placer de compartir una charla con Martín Salías, en la sede del MUG en Buenos Aires. Martín ya escribió en su blog sobre el evento:
Vivir programando
Todos los "slides" son obra de su arte, yo no podría pasar de poner un título y "bullets" :-)
Fue interesante ver a la gente poner prioridades a los temas a tratar, usando simples "post-its". Cada persona podía poner hasta 5 puntos de prioridad, repartidos en los temas que teníamos listados. El resultado fueron dos rondas, donde tratamos 6+6 temas, en 10 minutos cada uno:
- Actualizacion Profesional
- Trabajo en Equipo
- Cloud Computing
- Application Frameworks
- Disenio de APIs
- Generacion de Codigo
- Patrones de Disenio
- No somos vulcanos
- Diseño orientado a objetos
- Dynamic Languages
- Capas Logicas
- Documentación
La idea ahora, es escribir sobre los temas tratados: tanto Martín como yo, estamos inclinados a que lo escrito tiene su valor, más allá de una charla. (Err... le robo... digo, le pido prestado a Martín su imagen del resultado final de las votaciones)
Espero ir agregando en este post, los enlaces a los posts de los temas tratados, y los que quedaron en el tintero. Por ahora:
Mocking by Leo
Posts relacionados con los temas tratados:
CodeThinked Estrategia para ser un mejor desarrollador
Todo lo que usted quería saber sobre programación y nunca se atrevió a pr
Matriz de Competencias de Programación
Diez reglas principales en generación de código
¿Por qué fallan los proyectos de software-
Tato Bores y el desarrollo de software
Manejo del riesgo en proyectos
Arquitectura de capas en Domain-Driven Design
Ah! Y el video que mostramos al comienzo de la charla "Hug a developer today...":
Gracias al MUG por habernos dado la oportunidad de dar esta charla.
Nos leemos!
Angel "Java" Lopez
http://www.ajlopez.com/
http://twitter.com/ajlopez
Ayer me llega la información de un charla sobre el estado de la robótica, desde la lista de correo Desarrolladores de Robots:
Recreando la vida a partir de plástico, metal y semiconductores
Los robots son personajes dominantes en la literatura de ciencia
ficción, así como en películas del género y series de televisión. La
fuerza que ha cobrado su imagen en la ficción compite con la del
monstruo, y es muy posible que esto se relacione con el afán del
Hombre de tener una capacidad creadora, la posibilidad de dar
existencia por medio de la robótica a una entidad capaz de sentir,
interrelacionarse y, de algún modo, pensar... los robots son hoy en
día, una realidad...
A cargo de Eduardo Carletti, periodista, escritor y especialista en
robótica.
Sábado 15/11 a las 18hs
Lugar:
Objeto a
Cnel. Niceto Vega 5181 e/Uriarte y Thames
Ciudad Autónoma de Buenos Aires
Código Postal: C1414BEK
Télefono: (+54-11) 4773-0292
Pueden encontrar más información en Ultimas actividades de Mantis:
El sábado 15 a las 18hs Eduardo Carletti estará dando una charla sobre robótica y presentando un prototipo muy particular. Carletti es periodista, escritor y técnico en electrónica especializado en robótica. Creador de Axxon, la primera revista argentina en internet que es punto de encuentro y debate del mundo fantástico y de la ciencia ficción. Siendo además recientemente invitado a participar de un Campus Party en El Salvador donde se dieron cita los referentes del ambiente de la robótica, desde allí también estará trayendo algunas novedades.
Ahí mencionan que se pide confirmación, ofrecen también un email para el trámite info@objeto-a.com.ar. Espero poder asistir, tomar notas, y publicar por aquí la experiencia.
Carletti participa del sitio Robots Argentina, que ya mencíoné en mi post Proyecto Androide.
Nos leemos!
Angel "Java" Lopez
http://www.ajlopez.com/
http://twitter.com/ajlopez
Encontré en CrunchGear este video, de un concepto vistoso:
GlowBots: Robots that learn what you like
El video fue producido por el Mobile Life Centre de la universidad de Estocolmo, en Kista, Suecia. Los GlowBots son pequeños robots que muestrarn una figura atractiva visualmente, en colores intesos. Interactúan con otros robots y se comunican las figuras, de forma que emerge un conjunto de formas.
Creo que mucho de esto se podría haber obtenido por simulación, pero hay que reconocer que el pasar el concepto de emergencia a robots reales, es atractivo, y llama la atención. El proyecto de GlowBots es parte del proyecto de la Unión Europea ECAgents.
Este proyecto ECAgents es respaldado por el programa Future and Emerging Technologies. El objetivo del proyecto es el desarrollo de una nueva generación de "embodied" agentes (agentes con cuerpo) que sean capaces de interactuar directamente, sin intervención humana, con el mundo físico y comunicarse entre ellos y con otros agentes (incluyendo humanos). Esto implica el desarrollo de nuveos principios de diseño, algoritmos y mecanismos que puedan extender la funcionalidad de artefactos tecnológicos existentes (como teléfonos celulares, dispositivos WiFi, robots, y similares) y que pueda impulsar el desarrollo de nuevos artefactos.
Pueden encontrar videos sobre el proyecto en
QuickTime(~70 Mb)
.wmv (~65.8Mb)
Es interesante como dejan el tema del manejo de símbolos, con el que comenzó gran parte de la inteligencia artificial, y pasan a la interacción con el ambiente, dentro de un cuerpo.
Nos leemos!
Angel "Java" Lopez
http://www.ajlopez.com/
http://twitter.com/ajlopez
Desde el último año, estuve trabajando con tecnologías relacionados con computación distribuida. Actualmente, mi trabajo está relacionado con Windows HPC (High Performance Computing). Pero también estuve en contacto con DSS/CCR de Microsoft Robotics, WCF (Windows Communication Foundation), y examiné algunas implementaciones de Java, como GridGain. Mencioné el concepto de Grid as a Service como una idea para implementar en mi posts Grid Computing Programming, Programando para una Grid,Más programando para una grid.
Un Grid as a Service es algo que podría ser implementado sobre diferentes tecnologías de base. Supongo que debe haber alguna implementación de estas ideas. Ésta es la idea que tengo en mente:
- Una grilla de computadoras, heterogéneas, de línea
- Software para distribuir una o varias tareas en la grilla
- API y front end Web, para definir y subir una aplicación en grilla.
- API e interface Web interface, para lanzar la ejecución de esa aplicación
La aplicación en grilla podría contener:
- Ejecutables, como .exe, .dlls (si está basado en Windows) o .jar (en Java).
- Un manifiesto, describiendo las características de la aplicación: parámetros necesarios, salida esperada (archivo, base de datos, XML,...)
Para lanzar una tarea, el usuario provee los parámetros de entrada, para enviar a ejecutar una aplicación ya cargada y definida en la grilla. Al final de la ejecución, recibiría una notificación, posiblemente una URL con el resultado calculado.
Mi trabajo con AjMessages, AjAgents, está, de alguna manera, orientado a este objetivo de grid as a service.
La grilla de soporte podría ser expandida para tomar más poder y capacidad de otras grillas. Esto es, la misma API que el desarrollador de aplicaciones usaría, podría ser consumida por otras grillas para sus aplicaciones.
Las máquinas podrían ser provistas por data centers (cada año que pase habrá más data centers disponibles, a costo razonables), como los que actualmente proveen servicios en el "cloud" o máquinas virtuales.
Habría varios detalles a discutir, como el monitoreo, nivel de servicio, temas de seguridad. Una alternativa es programar en una "sandbox", o en un lenguaje dedicado orientado a grilla o computación en paralelo. Computación en paralelo no es lo mismo que computación en grilla: en mi opinión, grid computing es más flexible, una aplicación en grilla podría enviar mensajes a cualquier nodo en la grilla, en cualquier momento, en cambio, la computación en paralelo está más orientada a algoritmos como map reduce, y tecnologías más sincronizadas como MPI (Message-passing interface).
Otros enlaces relacionados:
Recursos de Grid Computing
Recursos de Windows High Performance Computing (HPC) y Programación
http://delicious.com/ajlopez/gridcomputing
http://delicious.com/ajlopez/hpc
Angel "Java" Lopez
http://www.ajlopez.com/
http://twitter.com/ajlopez
Andy Wilson, de Microsoft Research, ha conseguido usar una WebCam para capturar gestos de la mano, y usarlos para interactuar con otros programas. Su software reconoce las formas y movimientos de sus manos, contra un fondo.
Entrena la cámara para distinguir el fondo de la mano. En la demo, Andy usa el teclado como fondo. De esa manera, el software puede distinguir sus dedos y la forma que toman. Puede mover el cursos, hacer click, y usar las dos manos para movimientos más complejos, como estirar una ventana. Lo que no vi es si Andy publicó el código, no parece que haya nada para probar por ahora.
Andy es parte del grupo de Microsoft Research Adaptive Systems and Interaction, grupo que se dedica a varios temas, como razonamiento automático, adaptación, interacción humano-computadora.
Encontré esta información en
http://gizmodo.com/tag/gesture
gracias a un enlace enviado por @luisdans en Twitter.
Otros enlaces relacionados:
Proyecto Tocatú (proyecto argentino)
Touchless SDK de código abierto (acá hay código para probar)
Posts sobre interfaces
http://delicious.com/ajlopez/interface
Nos leemos!
Angel "Java" Lopez
http://www.ajlopez.com/
http://twitter.com/ajlopez
Desde el último año, estuve investigando sobre computación distribuida y en grilla. Encontré bastantes recursos útiles, información, que fui agregando a mi delicious. Uno de los tópicos que encontré es la implementación de Microsoft de High Performance Computing (HPC). Este post es una lista de los recursos más relevantes que estoy usando.
Primero, hay que ver la página de Windows HPC Server 2008:
http://www.microsoft.com/hpc
El primer video para mirar es el de último PDC 2008, la sesión de HPC:
HPC Session at last PDC
http://channel9.msdn.com/pdc2008/ES13/
Excelente presentación, cubriendo el nuevo Windows HPC Server 2008, nodos, tareas, trabajos, herramientas de programación, formas de programar, programación MPI (Message Passing Interface) y MPI.NET, computer go en HPC (hermosa idea, jugar al go en cluster), toda la presentación merece un post aparte.
Me gustó también un video corto pero interesante, que muestra la consola de administración en:
http://channel9.msdn.com/shows/The+HPC+Show/Five-Minute-Intro-to-the-HPC-Server-2008-Management-Console/
EL blog a leer es Windows HPC survival guide
Un post como ejemplo: No scientist left behind with CRAY Supercomputer running Windows HPC Server 2008
Hay una colección de recursos en HPC Resource Kit
Todos los videos de HPC:
HPC | Tags | Channel 9
(tópicos interesantes: WCF y programación HPC, HPC Basic Profile: servicios web para invocar desde Java y otros lenguajes)
Hay un sitio de comunidad dedicado a Windows HPC:
http://www.windowshpc.net/
con archivos, recursos, código fuente y ejemplos.
Software para usar
Para iniciarse en la programación para HPC, hay que instalar Microsoft HPC Pack (Windows). Lo bajé desde:
HPC Pack 2008 SDK download
(no hace falta un HPC Server para los primeros pasos)
Luego, instalé MPI.NET Software
(Instalé el MPI.NET SDK.msi pero también expandí el MPI.NET-1.0.0.zip: éste tiene mejores ejemplos, ya armados como soluciones de Visual Studio)
Un excelente tutorial, sobre programación secuencial, en paralelo, y luego usando HPC 2008, en:
Learning Parallel Programming --- from shared-memory multi-threading to distributed-memory multi-processing
Enlaces adicionales
Si quieren explorar las posibilidades de programación de HPC, hay algunos temas a investigar:
HPC
http://www.hpccommunity.org/ Comunidad HPC
http://www.hpcwire.com/ High Productivity Computing
http://www.ddj.com/hpc-high-performance-computing/
YouTube - An Overview of High Performance Computing and Challenges for the Future
http://en.wikipedia.org/wiki/High-performance_computing
MPI
MPI (Message Passing Interface) está soportado en Windows HPC. Hay una implementación de Microsoft:
Microsoft MPI (Windows)
que puede ser invocada desde C++.
Hay una implementacíón .NET sobre esa de Microsoft MPI:
MPI.NET: High-Performance C# Library for Message Passing
Tiene código fuente de ejemplo.
(una anterior implementación en Codeplex: MPI .Net - Home)
Ya había escrito sobre otra implementación en .NET:
MPI Message Passing Interface in .NET
Más sobre MPI
MPI 2.0 Report
MPI Tutorials
Microsoft Messaging Passing Interface - Wikipedia, the free encyclopedia
Pure Mpi.NET
Programación en paralelo
Introduction to Parallel Computing introducción muy completa (gracias a jgarcia por el enlace)
Microsoft Innovation Day - November 5, 2006 están presentando algo relacionado con DryadLINQ
Multithreading and Concurrency in .NET una lista completa de tecnologías disponibles en .NET
http://www.microsoft.com/ccrdss Ahora, CCR/DSS como paquete separado (antes venían sólo en Microsoft Robotics)
Adobe Press - 9780321603944 - Software Pipelines: The Key to Capitalizing on the Multi-core Revolution
Burton Smith: On General Purpose Super Computing and the History and Future of Parallelism | Going Deep | Channel 9
Welcome to Hadoop!
Dryad - Home Un interesante proyecto de Microsoft research
YouTube - Dryad: A general-purpose distributed execution platform Presentación en Google Talks
Concurrency: What Every Dev Must Know About Multithreaded Apps
Overview of concurrency in .NET Framework 3.5 | Igor Ostrovsky Blogging
Parallel Programming with .NET
Parallel Computing Developer Center de Microsoft
Parallel Virtual Machine - Wikipedia, the free encyclopedia
http://msdn.microsoft.com/msdnmag/issues/07/10/PLINQ/default.aspx Parallel LINQ
Map Reduce
Writing An Hadoop MapReduce Program In PythonDryad: Distributed Data-Parallel Programs from Sequential Building BlocksGoogle Research Publication: MapReduce Delicious
En mis enlaces en delicious sobre HPC, MPI, Parallel programming, Grid Computing, algoritmos Map Reduce, CCR/DSS:
http://delicious.com/ajlopez/hpc
http://delicious.com/ajlopez/mpi
http://delicious.com/ajlopez/parallel
http://delicious.com/ajlopez/gridcomputing
http://delicious.com/ajlopez/mapreduce
http://delicious.com/ajlopez/ccr
http://delicious.com/ajlopez/dss
En el PDC 2008, Windows HPC fue mostrado con un ejemplo de Computer Go, el programa campeón del mundo ManyFacesOfGo (http://www.smart-games.com) . Computer Go es un tópico fascinante:
http://delicious.com/ajlopez/computergo
Angel "Java" Lopez
http://www.ajlopez.com
http://twitter.com/ajlopez
La asociación Smalltalking, de la mano de Alejandro Reimondo, presentará una conferencia en al Universidad Tecnología Nacional en Buenos Aires, este sábado 8 de Noviembre, a las 15hs.
La gacetilla de prensa:
Fecha: Sabado 8 de Noviembre, a las 15:00 hs.
Lugar: UTN Medrano, aula a confirmar
Dirección: Medrano 955 - Ciudad de Buenos Aires
En base a los avances en Informática que se estan procurando realizar en nuestra región (*); creemos de interés para los profesionales vinculados a la aplicación y el estudio de la construcción de software; una charla en la que se expondrán los límites del abordaje Orientado a Objetos y se analizará la historia reciente y se expondrán puntos que alientan la superación de las limitantes impuestas por a forma en que hoy se construye y se entiende el software (y la información).
"Superando los limites de la Orientacion a Objetos"
A cargo de : Alejandro Reimondo
Consultor en Tecnología de Objetos
http://www.aleReimondo.com
Presidente Smalltalking
http://www.smalltalking.net
La charla estará centrada en la problemática de producir usando objetos hoy.
Tomaremos como punto de partida, una visión crítica de la POO con la intensión de resaltar sus limitaciones para luego reflexionar sobre la idea de ambiente y los conceptos de uso diario en la producción en Ambiente.
La idea es mover a la audiencia a los puntos de incertidumbre que lleva el diseño con objetos y usar este marco para promover una actitud superadora y alternativa a lo ya conocido (seguir de forma inductiva definiendo mas
objetos).
Puede ocurrir (esto condicionado por la voluntad de la audiencia) que aparezcan en el desarrollo de la charla puntas sobre dónde puede hacerse avances tecnológicos; avances que es muy posible que ocurran en nuestra
región antes que en los países desarrollados; siendo esto un motivante adicional a la ilustración que propone una exposición técnica.
El contenido será de índole práctico (se asume el conocimiento teórico básico sobre OO) y todo el contenido está avalado por experiencias realizadas en su mayoría en nuestro pais.
(*) ver http://www.smalltalking.net
Espero poder asistir y tomar notas, así queda algo publicado para cumplir con los "mindsets":
Lo que no está escrito no existe
Don't be a canuto
Pasando el test: me pisó el 60
;-)
Nos leemos!
Angel "Java" Lopez
http://www.ajlopez.com/
http://twitter.com/ajlopez
El lunes pasado, Microsoft reveló el Azure Services Platform, en el PDC 2008. Según el sitio renovado de Microsoft Strategy Software + Service:
Azure Services Platform
The Azure Services Platform is part of this vision, providing the power of choice and flexibility in developing, operating, migrating, and managing applications that exist on the internet or devices to provide the best experience for users. The services platform enables this by utilizing common languages, runtimes and frameworks – a common toolset that spans from the service in the cloud to a server, and from the PC to the browser to the phone.
Pero, ¿qué es todo esto? Algo más de información en:
Microsoft Azure
What is Azure
Lo que sigue está basado en esa información publicada:
El Azure Services Platform está albergado en data centers de Microsoft, y provee un sistema operativo y un conjunto de servicios para desarrolladores que pueden ser usados uno por uno o en conjunto. Podemos aprovechar nuestro manejo de Visual Studio y el framework .NET, que son compatibles con esos servicios. En el futuro, Azure soportará más lenguajes de programación, como Python, Ruby, y otros entornos de desarrollo, como Eclipse. Azure usa HTTP, RESP, SOAP y XML: está basado en estándares abiertos.
Windows Azure
Windows Azure es la base de la pila ofrecida de servicios. Es un sistema operativo "in the cloud", que soporta desarrollo, albergue de servicios y un entorno para manejarlos. Podemos crear aplicaciones con Visual Studio: la versión CTP se integra con VS. Notablemente, soporte para Eclipse, Ruby, PHP, y Python será integrado, pero no me resulta claro aun el "timeline" y si ese soporte vendrá de terceras partes o de la propia Microsoft.
Windows Azure incluye:
Computation Services
- Se pueden ejecutar aplicaciones ASP.NET o código .NET "in the cloud"
- Ambiente de hosting de servicios, que incluye Internet Information Services 7.0 y .NET Framework 3.5 SP1
- Seguridad soportaba por políticas flexibles de Code Access Security
- Pequeña runtime API que soporta logging y local storage
- Portal web que permite instalar, escalar, y actualizar los servicios que usamos
Simple data storage services
- Ahora podemos albergar "in the cloud" blobs, tablas, and colas
- Acceso autenticado y triple replicación para mantener los datos seguros
- Acceso a datos mediante interfaces REST, disponibles remotamente o desde el data center
Development Tools
- Se puede desarrollar offline, incluyendo servicios de computación y almacenamiento ("storage")
- Hay SDK tools con comandos de línea y ejemplos
- Add-in de Visual Studio que soporta depuración local
Esto es la liberación de lo que se llamó el proyecto Red Dog. El tema de albergar datos es interesante: supongo que es la evolución de SQL Data Services, pero esta tecnología también está incluida en otra parte de la oferta Azure. Son dos tecnologías distintas, con algunos puntos en común. Enlaces relacionados:
Learn more about Windows Azure
Video- Manuvir Das- Inside Windows Azure
Video- Steve Marx- Windows Azure for Developers
Live Services
Live Services está compuesto de bloques para manejar datos de usuario y recursos de aplicación. Hay un énfasis en el soporte de un amplio espectro de dispositivos digitales. Durante los últimos años, Microsoft ha esta empujando hacia el mundo de los dispositivos, y ahora es el tiempo para conectar cualquiera de esos dispositivos, desde cualquier lugar. Se nos viene el planeta como cubo MS Borg... ;-) Ya puedo escuchar a Gates-3-of-7 "Resistence is futile... you will be connected"... ;-)
El punto fuerte es la fácil creación de mashups: aplicaciones que combinan datos y contenidos de distintos orígenes, y los publican en una aplicación integrada. Hay una API de web service que puede ser usada para crear aplicaciones mashup. Hay algunos ejemplos de aplicaciones que usan esta tecnología por debajo, como: 3d Geology Maps. Este sitio superpone mapas geológicos en tres dimensiones. Docenas de aplicaciones para ver en el Mashups Library.
Learn more about Live Services
View the Quick Apps
SQL Services
SQL Services extiende las capacidades de SQL Server para exponerlo "in the cloud", usando servicios web. Podemos crear y almacenar datos estructurados, semi-estructurados, y no estructurados (por ejemplo, un blob). Albergar Microsoft SQL Data Services, y puede ser accedido mediante protocoles REST y SOAP. Todo esto está armado sobre base de datos SQL Server. En el SQL Service Labs podemos practicar desarrollando prototipos e incubando proyectos.
Learn more about SQL Services
Microsoft .NET Services
Conocido antes como Biztalk Services, ahora el nombre oficial es .NET Services (buena elección, lo que se ofrecía no tenía relación con el Biztalk Server, que es el producto al que todo el mundo asocia con el nombre Biztalk). .NET Services son un conjunto de servicios orientados al "cloud" y a aplicaciones "cloud-aware". Están dirigidos a manejar los temas de identidad, workflow, y conexión entre aplicaciones:
Access Control
- Proveedores de identidad basados en estándares
- Soporte de Windows Live ID
- Directorioes de empresa
- Decisión de autorización
- Reglas declarativas basadas en Claims: se pueden generar claims en base a otros claims.
Service Bus
- Implementa el patrón de aplicación Enterprise Service Bus
- Registra y expone servicios, entre redes, maneja seguridad, y permite ir más allá de las fronteras de una organización
- Escala en Internet
Esto significa que podemos registrar servicios locales nuestros acá en el hosting de Microsoft, y que otros clientes lo consuman, sin tener acceso directo a nuestros servicios. También soporta que una llamada de un cliente, sea reenviada a varios servicios que están interesados, algo que faltaba en WCF.
Workflow Service
- Se pueden albergar y ejecutar workflows de Workflow Foundation
Hay un sitio web y herramientas Windows para consumir y manejar estos servicios, y APIs definidas para accedr a todo esto desde nuestras aplicaciones.
Learn more about .NET Services
Conclusión
En estas semanas, formé parte de un equipo que estuvo desarrollando herramientas para acceder y consumir estos servicios. Fue un desafío interesante. En mi opinión, todas estas herramientas y servicios son un salto significativo en el tema cloud computing. Habrá que ver la adopción de la industria, pero Microsoft se está poniendo a la altura de lo que el mercado está esperando en tema de cloud computing. Habrá que ver también qué tipos de aplicaciones podrán surgir que aprovechen esta infraestructura. Mucho de cloud computing por ahora, fue orientado a grandes aplicaciones de gigantes como Google. Las aplicaciones medianas y chicas, ¿tendrán su lugar? Imagino que será cuestión de precio y facilidad de desarrollo.
Desde el arribo de Ray Ozzie a Microsoft, se estuvo gestando todo esto que se mostró la semana pasada en el PDC. No es algo que se pensó de apuro. Lo veo a Ozzie totalmente orientado a esto.
El cielo de cloud computing no es azul, es azure.
Algunos artículos:
Microsoft's Azure is so 1997 (and Why I Love It)
Microsoft to battle in the clouds
steve clayton- geek in disguise - Clearing Clouds
Web 2.0 and Cloud Computing - O'Reilly Radar
Cloud Computing in my delicious
http://delicious.com/ajlopez/azure
Un artículo que explica el poder de Microsoft para llevar a buen puerto todo esto:
Scobleizer — Tech geek blogger » Blog Archive Never underestimate Microsoft’s ability to turn a
Este artículo es una traducción del original en Anglish ;-)
Sky is azure
Nos leemos!
Angel "Java" Lopez
http://www.ajlopez.com/
http://twitter.com/ajlopez