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.