martes, 30 de noviembre de 2010

RHoK: escribiendo código por los demás

Random Hacks od Kindness

La iniciativa RHoK (Random Hacks of Kindness), según describen sus organizadores, es "acerca de utilizar la tecnología para hacer del mundo un lugar mejor construyendo una comunidad de innovación. RHoK reúne a ingenieros de software con expertos en administración de riesgos de desastre para identificar desafíos globales y desarrollar software para responder a ellos. Los eventos RHoK Hackaton agrupan a los mejores hackers de todo el mundo, que voluntariamente aportan su tiempo para resolver problemas de la vida real."

Detrás de esta singular campaña trabajan en común organizaciones tradicionalmente antagónicas o disímiles como Google, Microsoft, Yahoo!, la NASA y el Banco Mundial.

Este fin de semana, sábado 4 y domingo 5 de diciembre, se realizará la segunda RHok Hackaton a nivel mundial, incluyendo los siguientes puntos de América Latina:

Comparto con ustedes este interesante video hecho con post-its para promocionar el programa:

 

lunes, 29 de noviembre de 2010

Keynote de RubyConf 2010 de Matz (el creador de Ruby)

Yukihiro 'Matz' Matsumoto

Encontré publicadas las keynotes de la última Ruby Conference ocurrida hace unos días en New Orleans.

Quienes quieran escuchar el divertido acento de Matz hablando en inglés, pueden ver el video, que lamentablemente no está disponible para embeber en este post.

Durante la presentación habló entre otras cosas sobre las novedades planificadas para Ruby 2.0 y algunos proyectos como Rite, la implementación que está diseñando para correr embebida en dispositivos pequeños como relojes, teléfonos o televisores inteligentes.

Para quienes quieran simplemente revisar el material de la presentación, si ubiqué los slides que incluyen todo el contenido, incluyendo algunas bromas, y si pude embeber aquí abajo:

 

 

PyPy 1.4: ¡más rápido, más furioso!

PyPy

PyPy es una implementación de Python 2.5 (por ahora) escrita en Python, a diferencia de la implementación CPython de referencia. Más específicamente, PyPy es una arquitectura orientada a implementar fácilmente lenguajes dinámicos mediante dos componentes básicos: un intérprete y un framework de traducción.

Obviamente, implementar Python mismo fue el primer paso, y lo que impulsa el proyecto principal. Y con esta nueva versión han alcanzado un hito sumamente importante. En la mayoría de las pruebas estándar de velocidad de ejecución populares dentro de la comunidad Python, ¡PyPy es más rápido que CPython!

¿Suena increíble, verdad? Veamos los resultados de las últimas pruebas (aquí puede verse el análisis completo):

Comparación entre PyPy y Cpython

Para comprender cómo es posible, hay que entender un poco más la manera en que funciona el compilador JIT (just in time, ó a demanda) de PyPy. Que el lenguaje esté implementado sobre sí mismo no quiere decir que se trate de un intérprete sobre otro. PyPy está escrito en Python, pero lo que hace el intérprete es analizar el árbol de expresiones del programa, y a través de su framework de traducción, generar el código ejecutable a nivel de la plataforma objetivo, a medida que va necesitando hacerlo (esta es la parte a demanda).

Por ahora hay disponibles traductores para diferentes sabores de Intel, con los de ARM en camino, para IL de .NET (que a su vez compila a una serie de plataformas) y está en etapa de pruebas el soporte para la máquina virtual de Java.

Otras características PyPy son la capacidad de Sandboxing, es decir, la ejecución en un espacio controlado, lo que permite por ejemplo recibir scripts Python en forma anónima o semi-anónima y ejecutarlos en un servidor restringiendo algunas operaciones, como acceso al file system, comunicaciones de red, etc. Esto es muy útil para permitir crear soluciones extensibles sin generar problemas graves de seguridad.

PyPy también está disponible en versión Stackless que soporta el uso de micro-threads y otras características que permiten una enorme eficiencia en soluciones de muy alta concurrencia.

 

 

 

 

viernes, 26 de noviembre de 2010

Reunión Alt.Net en Buenos Aires

Alt.Net Hispano

Después de bastante tiempo, finalmente se organizó una nueva reunión de Alt.Net en Buenos Aires, programada para el próximo sábado 11 de diciembre, de 9:00 a 18:00. Un día completo entre geeks de alta gama.

Ya está abierta (y concurrida) la registración, y el evento será nuevamente en las oficinas de Microsoft Argentina, remodeladas recientemente, casi un estreno para la comunidad local.

El movimiento Alt.Net es totalmente independiente y distribuido, sin una organización institucional ni jerarquías, y agrupa a quienes utilizan la plataforma fuera y dentro de las ofertas corporativas, haciendo mucho énfasis en buenas prácticas de diseño y desarrollo, métodos ágiles, proyectos de código abierto y colaboración entre pares y entre la comunidad.

Más detalles pueden leerse en español en esta traducción de un artículo de Jeremy Miller, o con mucho más sabor local en este post del amigo Jorge Gamba. Es Jorge casualmente quien más trabaja en América Latina para mantener funcionando el movimiento Alt.Net Hispano, con el que se organizan las reuniones VAN (Virtual Alt.Net) semanales (una o dos por semana) desde hace meses, como comentábamos en un post reciente. Ya llevan casi 60 sesiones y todas están disponibles en video para verlas a demanda.

IMPORTANTE: Si van a asistir a la reunión en Buenos Aires, no dejen de revisar y agregar propuestas en la wiki del evento. Eso permitirá agilizar la votación y armado de la agenda durante el evento.

 

Como muestra del contenido de las VAN, reproduzco aquí esta fantástica sesión sobre Patrones de Diseño a cargo del Maestro Angel "Java" López, en la que hasta se da el lujo de mencionar algunos patrones en la música y ¡tocarlos en guitarra!

Unable to display content. Adobe Flash is required.

Videos de TDD en acción

Recién descubro esta excelente serie de videos de James Shore, autor del libro "The Art of Agile".

En la serie, James captura 10 o 15 minutos de sesiones de una aplicación que construye utilizando TDD en Java, sobre Eclipse. Los videos están narrados en inglés, pero más allá de la explicación, puede verse cómo va escribiendo el código y son muy ilustrativos, incluso cuando podemos no compartir algunos de los criterios que toma en determinado momento.

Comparto aquí el primer video de la serie, pero no dejen de ver la lista completa, que ya lleva 55 episodios, y últimamente involucra además a algunos invitados con lo que se puede ver no solo el ejercicio de TDD sino también el de programar de a pares.

jueves, 25 de noviembre de 2010

Cartilla visual de GIT

Para todos los que están todavía acostumbrándose a GIT o no recuerdan operaciones que no hace  frecuentemente, Matt Harrison comenzó a armar esta guía visual (cheatsheet), con la que se puede colaborar como explica en su post.

GIT Cheat Sheet

Pueden obtener la imagen a tamaño completo, para imprimirla y pegarla cerca de sus monitores.

 

S4: manejando flujos continuos de datos

S4: distributed stream computing platform

S4 es un nuevo proyecto Java abierto generado por los laboratorios de Yahoo!, orientado al procesamiento masivo de información.

Ya están establecidas como práctica corriente para este tipo de escenarios tecnologías como MapReduce o su implementación abierta Hadoop, pero hasta ahora casi todas ellas trabajaban por lotes (en batch), iniciando el procesamiento a raíz de un proceso interactivo (como una búsqueda) o programado con cierta frecuencia.

S4 está diseñado para procesar los datos a medida que van llegando (en forma de stream), sin almacenamiento intermedio. La arquitectura se basa en el modelo de actores, retomando una tendencia impulsada últimamente por AkkaIo y SALSA, e implementada localmente por el ubicuo Angel "Java" López en AjAgents.

Las características principales que busca S4 son proveer un servicio indefinidamente escalable en función a agregar nodos al cluster, descentralizado en la medida en que todos los nodos son iguales, parcialmente tolerante a fallas donde los eventos pueden volver a enrutarse en caso de fallas en cualquier nodo, elástico en la medida en que la carga se distribuye automáticamente a través de los nodos, expansible a través de un API simple y orientada a objetos, donde la comunicación entre nodos se escribe utilizando POJOs (plain Java objects).

Hay un tutorial basado en una aplicación que procesa mensajes de Twitter.

 

 

miércoles, 24 de noviembre de 2010

Decoradores en Python (video de Juanjo Conti en el PyDay 2010 Rafaela)

Me encontré este post de Juanjo Conti, de la comunidad Python, donde publica el video de su charla sobre Decoradores, grabada hace unos meses atrás en el PyDay Rafaela.

Lo comparto porque me parece interesante para aquellos que no usan mucho este recurso en Python (o lo usan sin saber cómo se implementa por debajo), y también para la gente de otros lenguajes (usualmente estáticos) que no entiende aún lo grandioso que es el Monkey Patching en lenguajes dinámicos.

entendiendo decoradores from Orfx Sch on Vimeo.

Como complemento ideal par quien quiere repasar el tema en más detalle, están esta serie de artículos donde Juanjo explica el tema en detalle.

Decoradores en Python:

Muy buenos recursos y una explicación muy detallada.

martes, 23 de noviembre de 2010

Resultados del CloudCamp Buenos Aires, 2da edición

En pleno unpanel

El viernes pasado, 19 de noviembre, se realizó finalmente la 2da edición del CloudCamp Buenos Aires, en el auditorio del Microsoft User Group de Argentina.

Esta des-conferencia arrancó con una serie de charlas relámpago de 5 minutos introduciendo rápidamente algunos temas para abrir el apetito de los asistentes:

Detrás de esta avalancha de mini-presentaciones, pasamos a un un-panel, en el que se invitó a todos los asistentes que se sintiesen expertos en el tema a pasar al frente para recibir preguntas abiertas de la audiencia, sin ningún filtro. Como suele ocurrir, quedamos como panelistas casi los mismos que presentamos las charlas relámpago, más Carlos Peix, de Praxia. Esta etapa, de todas maneras, siempre es mucho más colaborativa, y la audiencia participa más activamente, no sólo con preguntas, sino también aportando experiencias dentro o fuera de la nube.

Al terminar el un-panel, y mientras reponíamos el nivel de cafeína en nuestras venas, se seleccionaron los temas para el resto de la jornada, constituida por open spaces. Los temas finales fueron:

  • Cómo migrar a la web, facilitada por Guada
  • Arquitectura de Amazon Web Services, facilitada por Matías
  • Patrones y antipatrones en el uso de NoSQL, facilitada por Miguel Sáez de Microsoft Argentina
  • 10 cosas que hay que evitar para estar preparados para la nube, facilitada por mi

No hay registro de esta parte, pero como se tratan de debates abiertos más que de presentaciones regulares, no es algo que se pueda grabar fácilmente. Para quienes estén interesados en esos temas, les recomiendo seguir los blogs o twitters de los presentadores, recorrer los sitios de los proveedores de servicio, y tratar de organizar un evento como estos a nivel regional.

Finalmente, gracias al equipo de JRapid tenemos una buena cantidad de fotos del evento que pueden ver en Flickr.

Se confirma la venta de Novell mientras liberan MonoDevelop 2.4.1

Novell

Las noticias no están directamente relacionadas, pero fortuitamente ambos anuncios ocurrieron ayer.

Novell anunció haber sido adquirida por Attachmate, una compañía de servicios de tecnología, en 2.200 millones de dólares. Attachmate espera potenciar su portfolio de soluciones con las marcas y productos Novell y SUSE, pero un detalle muy interesante es que como parte de la misma operación, CPTN Holdings LLC, un consorcio de empresas de tecnología lideradas por Microsoft compró por 450 millones de dólares en efectivo un paquete de 882 patentes de tecnología de Novell.

Antes de ponerse muy nerviosos pensando en Microsoft tomando control de patentes alrededor de Linux, hay que tener en cuenta que Novell sigue teniendo un montón de tecnología de recursos de red, incluyendo un directorio de autenticación que es uno de los principales competidores de ActiveDirectory, y toda una suite de interoperabilidad entre el mundo Windows y Enterprise SUSE. Y por supuesto, Novell es el anfitrión del proyecto Mono y otros relacionados como Moonlight (la implementación abierta de Silverlight para Linux).

MonoDevelop

Casualmente, Miguel de Icaza anunció ayer la disponibilidad de la versión estable de MonoDevelop 2.4.1, la IDE para Mono que corre en Linux, Mac OS y Windows.

Esta versión aumenta soporte para xbuild (la versión Mono de msbuild), soporte a proyectos .NET 4, y mejoras generales en Mac OS X.

 

viernes, 19 de noviembre de 2010

Atención Zombies: Ruby on Rails los espera

Rails for Zombies

La gente de EnvyLabs acaba de presentar su última poducción: Rails for Zombies.

Bajo este título que juega con el reciente rebrote de zombies en el cine, la televisión y la sección de política de los diarios, el sitio es en realidad un excelente recurso para aprender Ruby on Rails.

Para los que no conocen bien Ruby, es recomendable pasar primero por el tutorial en línea TryRuby, para tener una base mejor, aunque el contenido de este curso es realmente básico.

El material está realmente bien producido, con introducciones en video y prácticas dentro del browser donde se presentan problemas que uno tiene que resolver escribiendo código que es validado en el momento (y funciona mejor que TryRuby, que a veces tiene algunos problemas).

No esperen convertirse en expertos con este recurso, pero es una buena introducción a este framework de desarrollo web que muestra su simplicidad y elegancia, y adicionalmente dentro de un contexto divertido.

 

miércoles, 17 de noviembre de 2010

Python 3.2 alpha 4 disponible

Python

Hace unos días se liberó esta nueva versión preliminar de Python 3.2, que continúa manteniendo el foco en estabilizar Python 3.x y -como se decidió en el PEP 3003, mantener la moratoria en cuanto a cambios en la sintáxis y semántica del lenguaje (hasta la versión 3.3 aproximadamente). El objetivo de la moratoria es dar tiempo a las implementaciones alternativas a CPython, como PyPyJython, IronPython o Unladen Swallow para ponerse al día con el core de Python 3.x.

El foco principal de trabajo en Python 3.2 es entonces, las librerías y la implementación, en áreas como:

  • La re-escritura del cuestionado GIL (Global Interpreter Lock) para optimizar el manejo de threading y concurrencia en general.
  • Mejoras en logging
  • El módulo concurrent.futures
  • Resolución de problemas con múltiples intérpretes y los repositorios PYC (al cachear extensiones C)
  • Mejoras en email

Es bueno ver como Python puede avanzar en muchísimas áreas manteniendo el compromiso de colaboración con múltiples equipos implementando intérpretes alternativos, sin detenerse y aportando valor continuo a toda la comunidad.

Revista de Pragmatic Programmers de Noviembre

PragPub de Noviembre 2010

Una publicación gratuita de excelente nivel para todos los desarrolladores (en inglés solamente, cabe aclarar) es PragPub, otra creación del los Pragmatic Programmers, Andy Hunt y Dave Thomas (autores de uno de los libros fundamentales para todo desarrollador -si no lo leíste, apurate).

La revista es mensual, contiene artículos sobre la profesión en general, tecnologías y protocolos, metodologías, lenguajes y frameworks, etc.

Además de estar disponible para leer online como HTML, al igual que todos los libros de la editorial, se puede descargar como PDF, epub o mobi, para leer en nuestras notebooks o en lectores como el Kindle, Sony Reader o Nook.

Muy recomendable.

Tras la despedida de OpenSolaris, llega Solaris 11 Express

Oracle

Después de liquidar OpenSolaris, Oracle lanza la nueva (y definitivamente propietaria) versión preliminar de Solaris 11, orientada a desarrolladores.

Algunas de las mejoras principales en esta versión se centran en virtualización de redes, más integración con el portal de soporte online de Oracle y refinamientos en el ZFS (el poderoso combo de file system y adminitrador de volúmenes).

Hace sólo un par de meses que OpenSolaris quedó cancelado como proyecto abierto, tras la decisión de Oracle de volver a un estilo de desarrollo propietario, aunque anunciaron que los fuentes pueden liberarse tiempo después de la salida de las versiones corporativas. Inmediatamente después el OpenSolaris Governing Board renunció en masa y el proyecto pasó a la historia.

lunes, 15 de noviembre de 2010

Comparación de TDD entre entornos estáticos y dinámicos

Hernán Wilkinson, uno de los integrantes de 10pines, publicó recientemente en su blog estos interesantes videos (que republicamos) comparando la práctica de TDD en Java y Smalltalk.

Más allá de algunas objeciones que se han hecho a la comparación, como estilos en uno u otro lenguaje, el ejercicio es interesante. En líneas generales se puede coincidir en que los lenguajes dinámicos tienen algunas ventajas a nivel de ejecución para este tipo de prácticas.

De paso, también es un ejemplo interesante para ver un brevísimo ejercicio de TDD y de Smalltalk para quienes no están familiarizados con ellos.

Gracias a Hernán por contribuir a la comunidad con este contenido.

Alt.Net Hispano - Charlas semanales sobre desarrollo

Alt.Net Hispano

El grupo Alt.Net Hispano es la versión regional de un movimiento que se inició tratando de agrupar alternativas más allá de las oficiales respecto al desarrollo en la plataforma .NET.

A nivel mundial se discute mucho acerca de proyectos de código abierto y algunos otros propietarios, pero fuera de las herramientas oficiales, incluyendo productos como Mono, NHibernate, Resharper y montones de otros proyectos, incluyendo cosas oficiales.

La comunidad a nivel regional, liderada por el amigo Jorge Gamba, de Colombia, un auténtico motor comunitario, ha logrado un efecto increíble, generando una o dos reuniones virtuales semanales, de alrededor de dos horas cada una, sobre enorme variedad de temas, a veces más parecidas a presentaciones a cargo de un orador principal, y otras en plan de debate entre varios participantes.

Como el interés del grupo rompe los límites naturales de la plataforma, hay mucho contenido interesante incluso para quienes no utilizan .NET ni nada parecido, y todas las sesiones están disponibles en video para poder mirarlas a demanda. A hoy hay disponibles la friolera de 57 sesiones en video. Para participar de las sesiones en vivo, por ahora hay que utilizar LiveMeeting (lo que implica lamentablemente utilizar Windows, aunque es una limitación que se está tratando de superar), y hay un calendario de las próximas sesiones.

Como muestra, incluyo algunas de las últimas reuniones VAN (Virtual Alt.Net):

 

FechaTipoTítuloPresentadorDuración
572010/10/26VANIntegración ContinuaCarlos Peix Andrés Vettori José Romaniello Vicenç García2:09
562010/10/23VANPrincipios de Diseño SOLIDCarlos Peix2:31
552010/10/16VANPatrones de DiseñoAngel "Java" López2:19
542010/10/02VANCQRS, CQS y Event MessagingCristian Prieto1:57
532010/09/25VANDesarrollando el equipo SCRUMHeitor Roriz1:49
522010/09/18VANADFS & WIFEugenio Pace Carlos Peix1:58
512010/08/27ALT.NET CaféLa Inmortalidad de la Medusa - Arquitectura1:59
502010/08/21VANHaciendo BDD con MSpecJorge Gamba2:23
492010/08/20VANESB con NServiceBusCristian Prieto1:25
482010/08/14VANMastering User StoriesHeitor Roriz2:18
472010/08/06ALT.NET CaféLa Inmortalidad de la Medusa - Arquitectura2:04
462010/07/31VANReSharperHadi Hariri2:14
452010/07/30VANASP.NET MVC 3 y RazorCristian Prieto1:39
442010/07/24ALT.NET CaféAltNetHispano.Vale - Parte 4Fabio Maulo1:50
432010/07/17VANOData (Open Data Protocol)Pablo Castro1:53

 

¿Adiós, SOA, adiós?

WS-I

La semana pasada la Web Services Interoperability Organization (más conocida como WS-I) anunció en un comunicado de prensa que da por cumplida su labor con la reciente aprobación de las versiones ginales de los estándars Basic Profile 1.2 y 2.0, y el Reliable Secure Profile, e inicia la transición de su labor de difusión y soporte de estos temas a OASIS.

El comunicado y algunos saludos de parte de los integrantes de este comité de parte de la industria suenan a un final laudatorio, pero personalmente me suena más a un final realista de un cuerpo cuyo impacto fue mayor en los presupuestos invertidos por algunas empresas que en el avance general de la industria.

La Arquitectura Orientada a Servicios (SOA) ha cumplido muy pocas de sus promesas, y como muchas otras de estas iniciativas de estilo comité entre varios participantes, siempre pareció llegar u poco tarde. Mientras tanto, fuera de los confines de los sectores más corporativos, los web services han dejado el complejo y problemático camino de SOAP y sus descendientes y se han volcado ampliamente al paradigma REST, donde la interoperabilidad nunca fue un problema, y unos pocos principios fundamentales y su aplicación práctica definieron el camino sin necesidad de organizaciones especiales.

Irónicamente, la WS-I se despide haciendo gala de un pobre entendimiento de la web, publicando este comunicado como PDF, casi como evitando que los buscadores ayuden a divulgar sus últimos pasos.

CloudCamp Buenos Aires, 2da Edición

CloudCamp

Este viernes, 19 de noviembre, se realiza la segunda edición del CloudCamp en Buenos Aires, y esta vez me toca el rol de facilitador.

Para quienes no lo conocen, CloudCamp es una "des-conferencia" que se realiza alrededor del mundo sobre el tema Cloud Computing.

En mayo de este año se llevó a cabo por primera vez en Argentina, y pueden ver este post de resumen para darse una idea de lo que sucedió.

Esta segunda edición se llevará a cabo en el auditorio del Microsoft User Group de Argentina, enfrente a la Plaza Congreso, y los interesados pueden registrarse en la página oficial del evento. El evento es gratuito pero las vacantes son limitadas, por lo que es importante no demorar en la registración.

Vista de la primer edición en Buenos Aires

El evento inicia con una bienvenida repasando el formato, una serie de charlas relámpago (5 minutos sobre un tema puntual), un anti-panel en el que quienes se consideran a si mismos expertos en el tema contestan dudas del resto de la audiencia, y finalmente una serie de open spaces tratando en más profundidad los temas que los asistentes seleccionan.

Para quienes no están acostumbrados, vale la pena aclarar que hay mucha experiencia en este tipo de eventos y los resultados son muy buenos; en general los asistentes terminan en muchos casos más satisfechos que en eventos con una programación tradicional, donde no tienen capacidad de influir en la temática.

viernes, 12 de noviembre de 2010

Java con problemas, pero siempre relevante

Java

Los problemas en el mundillo institucional de Java continúan.

Después del reciente anuncio de Apple de que descartará el runtime de Java a partir del futuro Mac OS X Lion, dejando la responsabilidad de continuar el soporte y librerías para Mac OS a terceros (la comunidad u Oracle), ahora es nada más ni nada menos que la Apache Software Foundation la que amenaza con retirarse del JCP (Java Community Process) si Oracle no cambia unas cuantas actitudes que han complicado el ambiente desde la compra de Sun.

En esta nota pública, la ASF comienza anunciando que ha sido ratificada en el JCP por tres años más. Pero pronto abunda en detalles de un conflicto alrededor del Java SE TCK (el Testing Kit que se utiliza para validar las implementaciones y librerías de Java) licenciado para poder certificar apropiadamente Apache Harmony, la implementación abierta de Java.

Sobre el final, la fundación amenaza con abandonar el JCP, lo que puede pre-anunciar una escisión definitiva de la comunidad Java, alejándose de Oracle.

Todas estas peleas complican el panorama de Java como lenguaje, mientras la JVM (la máquina virtual de Java) sigue siendo un terreno fértil sobre el que siguen creciendo nuevos lenguajes como Clojure, Scala, Groovy y muchos otros.

A la vez, nada más ni nada menos que Microsoft sigue ampliando soporte para Java en su plataforma. Después de adquirir Teamprise y convertirlo en Microsoft Visual Studio Team Explorer Everywhere 2010 (como ven, extendiendo al menos el título) para dar soporte completo a Eclipse, en el reciente PDC10 se anunció un soporte más amplio para Java (y otros lenguajes) en Windows Azure. Información muy detallada sobre Java en Azure se puede leer en este post de Rob Blackwell.

 

miércoles, 10 de noviembre de 2010

VIDEOS - Code & Beyond Talk: Programación Funcional

La audiencia del evento

El pasado jueves 4 de noviembre realizamos el primer evento en vivo de Code & Beyond, en una serie de "Talks" que esperamos realizar con cierta frecuencia, en diferentes lugares.

Este primer evento lo hicimos en el auditorio de Southworks, donde trabajo la mayor parte de mi tiempo, y donde seguramente haremos otros, aunque también esperamos recorrer auditorios y salones de otras organizaciones.

El tema principal del evento fue Programación Funcional, y lo dividimos en cuatro partes que registramos además en videos, y compartimos con ustedes aquí abajo:

Introducción a Programación Funcional (Martín Salías)

El Maestro Angel 'Java' López

Lisp y Clojure (Angel "Java" López)

Martin Salias

F# (Martín Salías)

Rodo Finochietti

C# Funcional (Rodo Finochietti)

Las fotos son obra de Julian Scopinaro.

UbuCon Argentina 2010

Ubuntu

UbuCon 2010 es la primer conferencia de Ubuntu en español, organizada por Ubuntu-Ar, el grupo de usuarios de Ubuntu en Argentina, y se realizará en la Universidad de Palermo, en Mario Bravo 1050 (esquina Códoba), Buenos Aires, el 19 y 20 de Noviembre de 2010.

La conferencia propone un estilo relajado, con un mix de presentaciones, charlas relámpago, open spaces, y amplios espacios de tiempo para socializar.

La conferencia es gratuita pero requiere registración, y quienes quieran un certificado, pueden obtenerlo por un monto muy bajo que ayuda además a financiar el evento.

 

Mas apertura de Microsoft en la Web

Desde hace un tiempo, el grupo a cargo de las herramientas de desarrollo de Microsoft está avanzando en un ciclo de entregas más ágil, con más feedback directo y temprano por parte de la comunidad, e incluyendo más componentes dentro del espacio de código abierto y herramientas gratuitas.

En ese contexto, en estos días se lanzaron varios productos interesantes:

 

ASP.NET MVC 3 (Release Candidate)

Razor View Engine

Esta es la versión final a nivel de características (puede cambiar algún detalle en el empaquetado final, pero no mucho más), y agrega a as versiones previas de MVC estas novedades:

  • Intellisense para Razor en Visual Studio Razor es un nuevo motor de vistas que permite embeber expresiones y código en forma bastante liviana dentro del markup (aunque me quedan mis reservas sobre la idea), y ahora tiene soporte completo en el editor.
  • Cache parcial dentro de las páginas Aunque MVC ya soportaba el manejo de caching en páginas completas, ahora puede controlarse a niveles parciales.
  • Javascript y Validación no intrusivos Esto significa que se mejora el soporte a ambas cosas sin tener que inyectar scripts inline dentro del HTML, dejando código mucho más prolijo y óptimo en ejecución. Las validaciones en MVC 3 además, usan jQuery Validate por omisión.
  • Mejoras y extensibilidad para crear nuevos proyectos, vistas, etc.

Detalles completos en el clásico post de Scott Guthrie.

 

NuGet Community Technical Preview 2

NuGet

NuGet (hasta hace poco llamado NuPack, pero renombrado por voto de la comunidad cuando se descubrió que había otro proyecto previo con ese nombre) es un administrador de librerías y dependencias para .NET, al estilo de las Gem de Ruby. Notablemente, los componentes cliente y servidor son gratuitos y de código abierto, mantenidos por Microsoft y la comunidad.

Esta versión de NuGet puede obtenerse desde el sitio en CodePlex (binarios o fuentes), está incluida en ASP.NET MVC 3 RC (anunciado más arriba), o a través de la Visual Studio Gallery desde dentro de la IDE.

Sobre NuGet en detalle pueden ver este post de Phil Haack, o este video de Scott Hanselman en PDC10.

 

WebMatrix Beta 3

WebMatrix

Finalmente, también se anunció la disponibilidad de este paquete gratuito de Microsoft para desarrollo web.

Se trata de una cominación de IDE con herramientas de publicación, IIS Express (una versión de desarrollo del web server, gratuita y liviana, que no requiere privilegios de administrador local) y SQL Server Compact (un motor de bases de datos relacionales que corre embebido, al estilo SQL Lite).

Lo interesante de WebMatrix es que además de ASP.NET, incorpora soporte directo para integrar Umbrado, Wordpress, Joomla, DotNetNuke y otras plataformas.

 

Smalltalks 2010 en Concepción del Uruguay, Argentina

Smalltalks 2010

La gran conferencia anual de Smalltalk empieza mañana en la provincia de Entre Ríos, organizada por FAST, la Fundación Argentina de Smalltalk. Se extiende del 11 al 13 de noviembre en la UTN de Concepción del Uruguay.

Como siempre, han convocado gente sensacional. Entre los internacionales (menciono sólo algunos):

Y entre las figuras locales:

Como siempre, el nivel de la conferencia es altísimo, lo que mantiene a Argentina como uno de los países, junto con Francia y USA, a la cabeza de la comunidad internacional de Smalltalk.

lunes, 8 de noviembre de 2010

Blackberry Developer Day 2010 (Buenos Aires)

Blackberry DevDay 2010.jpg

Sobre la fecha, pero no podíamos dejar de avisar de este evento para desarrolladores en la plataforma Blackberry organizado por la gente de RIM mañana, en el Hotel Sheraton de Buenos Aires.

El seminario es gratuito y apunta a cualquier desarrollador que enfrenta el desafío de integrar sus aplicaciones a esta plataforma de comunicaciones, o a quienes quieren aprovechar sus características para ampliar los servicios de aplicaciones existentes.

La plataforma cuenta con servicios PUSH y con BES (Blackberry Enterprise Server) del lado del servidor, y puede complementarse con aplicaciones en los dispositivos utilizando Java y Widgets específicos.

En el evento se presentarán los kits para desarrollo propios y plugins para otros entornos.

Novedades acerca de F#

Visual F#

La última ha sido una semana excitante para la pequeña pero vibrante comunidad F#.

Este nuevo lenguaje funcional generado por Microsoft e incorporado en la última versión de Visual Studio junto a los tradicionales C# y VB, es una implementación actualizada de OCaml, con una sintáxis alternativa más ligera y corriendo sobre el Commom Language Runtime, lo que significa que puede interoperar con cualquier otro lenguaje que ejecute sobre .NET (o Mono) y utilizar todas las librerías disponibles por parte de Microsoft o terceras partes, incluyendo abundantes ofertas de código abierto.

Las novedades principales tienen que ver con el F# in Education Workshop llevado a cabo en Cambridge, estado de Massachusetts, USA, en el Centro de R&D de Microsoft Research de esa ciudad.

En este evento académico, además de discutirse el uso del lenguaje en diferentes programas educativos, hubo un par de anuncios muy interesantes:

El primero es el anuncio de que el último drop del código fuente del compilador y las librerías de F# se han publicado bajo la licencia Apache 2.0, dentro del proyecto F# PowerPack en CodePlex. Esto significa que el lenguaje completo, que ya estaba de código abierto, pero cuya licencia permitía un reuso académico, permite ahora cualquier tipo de uso comercial, sin restricciones. El anuncio oficial puede ser leído en este post del mismo Don Syme.

El otro es el avance del proyecto FsXplat en CodePlex, que está orientado a facilitar el uso de F# en diversas plataformas como Unix y Mac OS, basándose en Mono, e incluyendo además de unas cuantas demos de interoperabilidad, soporte para editores populares como Emacs (disponible) y próximamenteMonoDevelop (el binder está pendiente de algunos detalles, aunque los valientes pueden acceder al código fuente e intentar construirlo para probar un poco).

jueves, 4 de noviembre de 2010

Agile Open Buenos Aires 2010 - Seguridad

Agile Open BA - Seguridad

Los buenos amigos de Agiles.org siguen con sus eventos Agile Open, que duran medio día o día completo, y a veces, como en este caso, se enfocan en un tema específico.

La estructura usual de los Agile Open es una apertura y presentación rápida, algunas Lightning Talks (charlas de 5 minutos exponiendo rápidamente un tema puntual), y el resto del tiempo se sigue el formato Open Space, en el que los participantes mismos proponen temas para debatir o presentar, los votan y distribuyen en sesiones de acuerdo al tiempo y la cantidad de espacios disponibles para hacer varios tracks en paralelo.

Toda la información en la página oficial de este Agile Open, incluyendo inscripción y detalles.

El evento es en las oficinas de Teracode, Callao 410, 4 piso (en el centro de Buenos Aires) el Viernes 12 de Noviembre 2010, a las 14:45.

miércoles, 3 de noviembre de 2010

Cloud9: La IDE de Javascript en Javascript

Cloud9 IDE

Hace un par de años escribí un post en mi blog personal sobre el avance de Javascript en general, y en el lapso desde ahora, el panorama no cambió tanto, pero la adopción de Javascript no se detuvo. Por otro lado, vengo esperando desde hace tiempo que las IDEs migren del escritorio a la nube, y aunque ya hay varios casos, no es algo que haya explotado aún.

El proyecto Cloud9 tiene un aire parecido al Bespin de Mozilla, recientemente rebautizado Skywriter. Ambos proyectos apuntan a brindar una IDE utilizable online, aunque Skywriter es más maduro. La diferencia de Cloud9 es que en lugar de utilizar Canvas de HTML 5 para hacer la presentación del código, utiliza el DOM. Ambos métodos tienen sus ventajas y desventajas, como siempre, pero es bueno que se exploren ambas alternativas.

La otra gran diferencia de Cloud9 (que por ahora está disponible para uso local) es que está diseñado siguiendo el estilo de Eclipse, en que la mayor parte de la funcionalidad se obtiene mediante un sistema de plugins.

La mejor noticia es que ambos proyectos (Cloud9 y Skywriter) han decidido colaborar, inicialmente en áreas como el sistema de plugins, configuración, coloreo de sintáxis, comandos y temas.

 

Sesiones de Microsoft PDC 10 (online o descarga)

PDC 10

Como suele hacerlo todos los años, Greg Duncan ha publicado en su blog la lista completa de todas las sesiones del principal evento de Microsoft para desarrolladores, con links para ver los videos en línea o descargarlos en varios formatos éstos o las presentaciones Powerpoint.

Es interesante el comentario al pie del post, donde menciona que esta año le resultó muchísimo más sencillo por haber tenido las sesiones expuestas como un feed OData, y comenta cómo integrarlo.

martes, 2 de noviembre de 2010

Google DevFest en Buenos Aires (Día 1)

Tim Bray habla de Android

En el coqueto auditorio de la Universidad Católica Argentina arrancó el Google DevFest de este año.

El primer día estuvo dedicado exclusivamente a Android. Por la mañana hubo un evento previo al que no asistí, destinado a que los participantes instalaran el SDK y desarrollaran su primer aplicación Android.

Los comentarios fueron variados, pero al parecer sirvió como una primer experiencia, aunque algunos decían que se perdió mucho tiempo instalando (algo que se suponía que los asistentes debían hacer previamente).

Por la tarde, el evento principal estuvo compuesto por cuatro charlas:

Un vistazo a Android SDK y lo nuevo en Froyo, que debía presentar Billy Rutledge pero presentó Tim Bray, como puede verse en la foto.

Bray es un gran presentador, aunque me pareció un desperdicio dando esta introducción.

Construcción de Aplicaciones de Alto Desempeño fue la siguiente charla de Bray, que mantuvo el nivel básico, y era en realidad como hacer aplicaciones que no tengan pobre desempeño. Mucho foco en cosas como no utilizar reflection, no acceder el file system o -peor aún- la red desde el thread de la interfaz de usuario, y otros temas que los desarrolladores profesionales deberían saber a esta altura. Como temas interesantes mostró algunas herramientas de profiling como TraceView e hizo foco en el clásico "no suponer nada; medir y corregir".

Continuó Fred Chung con Adaptación al Hardware y Locale, una sesión de 45 minutos explicando temas muy básicos como la relación de puntos por pulgada de los dispositivos, como usar wrappers para soportar diferentes versiones del SDK, o como usar archivos de recursos. Confirmó mi apreciación de que el evento se dirige a un nivel muy básico de desarrollador.

Cerró Tim Bray (el dueño de la tarde) con la mejor sesión a mi criterio, sobre Mejores Prácticas para el diseño de IU en Android, en la que recorrió tips realistas sobre diseño de interfaz, bastante genéricos pero útiles, y con detalles específicos de la plataforma. Muy interesante la mención a utilizar Analytics for Mobile para medir qué funcionalidad usan los usuarios en la práctica, y cómo. Y un buen consejo con ejemplo incluido fue el de tener diseñadores profesionales (de interacción, agregaría yo, no gráficos solamente) en el equipo de desarrollo, algo que suele marcar la diferencia con una aplicación que se populariza en el Market y las que no lo hacen.

 

 

Framework liviano de aseguramiento de calidad para PyMEs

Parte de la Presentación

Mis amigos Ariel Schapiro y Nicolás Páez presentaron en las últimas JAIIO este trabajo sobre un mecanismo de control de calidad de ejecución en equipos ágiles.

Pasó bastante tiempo desde la conferencia, pero recién hoy, a través del blog de Ariel me entero donde estaba publicado el paper, que quería compartir con ustedes, aunque está en inglés. Pueden ver también la presentación que hizo Nico al respecto recientemente en Dublin.

Lectura recomendable, y los interesados en discutir estos temas con los autores, recuerden que pueden llegar a encontrarlos en alguna de las reuniones mensuales en Buenos Aires del grupo Agiles (ver calendario para conocer cuándo y dónde son las próximas reuniones).

 

lunes, 1 de noviembre de 2010

Masterminds of Programming ganó el premio JOLT

El libro de entrevistas "Masterminds of Programming" ganó el premio JOLTMasterminds of Programming (portada) que entrega la histórica revista de programación Dr. Dobbs.

El libro contiene entrevistas a los diseñadores de lenguajes de programación más reconocidos, incluyendo a:

  • Adin D. Falkoff: APL
  • Thomas E. Kurtz: BASIC
  • Charles H. Moore: FORTH
  • Robin Milner: ML
  • Donald D. Chamberlin: SQL
  • Alfred Aho, Peter Weinberger, and Brian Kernighan: AWK
  • Charles Geschke and John Warnock: PostScript
  • Bjarne Stroustrup: C++
  • Bertrand Meyer: Eiffel
  • Brad Cox and Tom Love: Objective-C
  • Larry Wall: Perl
  • Simon Peyton Jones, Paul Hudak, Philip Wadler, and John Hughes: Haskell
  • Guido van Rossum: Python
  • Luiz Henrique de Figueiredo and Roberto Ierusalimschy: Lua
  • James Gosling: Java
  • Grady Booch, Ivar Jacobson, and James Rumbaugh: UML
  • Anders Hejlsberg: Delphi inventor and lead developer of C#

 

Simposio sobre el Futuro de la Ingeniería de Software (en Zurich)

Es una pena que no nos quede muy cerca, pero este simposio promete ser interesante.

Según el sitio, el foco será en definir los logros de la ingeniería de software en las décadas pasadas y exponer visiones para el futuro.

Lo más impresionante es la lista de los oradores, incluyendo algunas de las figuras más legendarias de este campo, como:

Como colofón del evento, el tercer día estará dedicado a sesiones celebrando el cumpleaños número 25 de Eiffel, el lenguaje de programación que dio a luz características como Diseño por Contrato, Acceso Uniforme, el principio Abierto-Cerrado, una implementación limpia y segura herencia múltiple y muchísimas más cosas que la mayor parte de lso lenguajes modernos están empezando a adoptar.

Por supuesto, una de las sesiones estará a cargo del mismísimo Bertrand Meyer.