lunes, 13 de diciembre de 2010

Biblioteca open source de algoritmos y estructuras de datos para .NET

Frans Bouma

Frans Bouma, reconocido en la comunidad por su O/RM LLBLGen Pro, ha publicado recientemente en CodePlex una biblioteca open source para .NET cubriendo una cantidad importante de algoritmos y estructuras de datos clásicas que la Base Class Library no tiene, o cuya implementación podía mejorarse.

Algunas de las estructuras y algoritmos asociados son:

  • Comandos (y su administración): con soporte de undo/redo y grupos de comandos.
  • Grafos: directos y no-directos, sub-grafos, clausuras transitivas y ordenamiento topológico, etc.
  • Heaps
  • Colas prioritizadas
  • Ordenamiento
  • Bolsa de Propiedades
  • Implementaciones mejoradas de IEditableObject/IDataErrorInfo
  • Filtro de eventos
  • y otras utilidades menores

Esta biblioteca, llamada Algorithmia, se suma a las BCLExtensions, un conjunto de extension methods sobre varios tipos de la Base Class Library, para propósitos generales.

Ambos proyectos están disponibles en CodePlex, utilizando el soporte de código fuente de Mercurial y licenciados bajo BSD2.

Como Frans ya ha aclarado varias veces, no importa si a alguien le gusta más GIT que Mercurial o GitHub que CodePlex. Esas elecciones corresponden al autor, y sólo tienen importancia si uno está decidido a colaborar con el proyecto (para usarlo basta con un download plano de los fuentes), cosa que pocos hacen en la práctica, y quienes realmente quieren contribuir nunca tienen problemas en utilizar un cliente u otro de control de código.

 

viernes, 10 de diciembre de 2010

Finalmente está aquí: Chrome Web Store

Chrome Web Store

Como se venía anunciando desde hace tiempo, esta semana abrió al público la Chrome Web Store.

La idea de esta tienda en línea es brindar el mismo tipo de experiencia de búsqueda de aplicaciones con calificaciones y comentarios de usuarios, categorías, descripciones, y opciones pagas o gratuitas que los usuarios de teléfonos inteligentes disfrutan desde el éxito del AppStore del iPhone, y que fue replicado en Android, Windows Phone 7, la iPad y demás.

Hay bastante discusión en línea acerca de que esta tienda no es más que maquillaje sobre el concepto de links y favoritos, pero veamos un poco sus características:

Lo primero que notará quien la acceda desde un navegador que no sea Chrome será que las aplicaciones sólo funcionan en ese browser. La imagen a continuación está capturada desde mi Firefox.

Web Store Home

¿Porqué sólo funciona en Chrome? En principio porque las aplicaciones pueden ser de varios tipos.

El nivel más básico puede ser un sitio web tradicional al que se le agrega sólo algo de metadata que usa la tienda para identificarla. Pero también puede ser una extensión para Chrome o un tipo de aplicación web más específico que puede descargarse y correr incluso offline dentro del sandbox de Chrome. Estos dos tipos de aplicaciones pueden utilizar además el API de Chrome para brindar funcionalidad específica más integrada al browser mismo.

Desde el punto de vista de nosotros como desarrolladores, lo más importante es el Developer Dashboard, que permite publicar cualquiera de estos tipos de aplicaciones, sin restricciones específicas, ya que Google ha decidido dejar la tarea de evaluar las aplicaciones a los usuarios mismos. Para poder publicar cualquier cosa, debe realizarse un pago por única vez de 5 dólares, más orientado a verificar la identidad asociada a la cuenta utilizada que a otra cosa.

Más que ninguna otra cosa, este es un nuevo mecanismo para dar a conocer aplicaciones y sigue empujando el mercado de empresas pequeñas de desarrollo que pueden alcanzar una alcance global con facilidad.

El principal problema que veo a todo esto es que crea un nuevo silo en lugar de ser algo abierto, pero es un experimento interesante.

jueves, 9 de diciembre de 2010

Video: Virtual Alt.Net sobre Ruby on Rails

El pasado 20 de noviembre se realizó otra de las reuniones que organiza semanalmente la comunidad Alt.Net Hispano, esta vez dedicada a por completo a Ruby on Rails, y a cargo de Mario Chávez (Twitter: @mario_chavez).

Unable to display content. Adobe Flash is required.

Durante la sesión Mario recorre una serie de recursos interesantes que dejo detallados aquí para quienes quieran accederlos directamente:

  • Rails Hispano es un podcast sobre RoR en español, que se publica mensualmente, de media hora de duración.
  • Ruby on Rails Tutorials, de Michael Hartl: son varios tutoriales en video y texto, en inglés, y aunque hay parte del contenido pago, mucho es accesible en línea en forma gratuita.

Finalmente, agrego una noticia de color sobre Ruby. Para los fanáticos del Ratón Mickey puede ser interesante el anuncio de la primer conferencia Magic Ruby, a realizarse del 4 al 5 de febrero de 2011 en Disney's Contemporary Resort de Orlando, Florida, que conecta via monorail con los parques temáticos. Lo interesante de la conferencia es que es gratuita (aunque hay que pagar el pasaje y la estadía, claro).

 

martes, 7 de diciembre de 2010

Android 2.3 (Gingerbread) recién salido del horno

Siguiendo la tradición de ponerle nombres de cosas dulces a las versiones de sus sistema operativo para dispositivos, Google lanzó Android 2.3, conocido como Gingerbread, y su correspondiente Kit de Desarrollo.

Como curiosidad, estos son los nombres de las versiones anteriores:

1.51.62.0/2.12.22.3
CupcakeDonutEclairFroyoGingerbread

Cupcake

Donut

Eclair

Froyo

Gingerbread

Las mejoras principales de esta versión se enfocan en:
  • Mejoras para desarrollo de juegos Principalmente a través de mejoras en el tiempo de respuesta gracias a retoques en el garbage collector y manejo de eventos, y exponiendo más APIs nativas que permiten acceder a bajo nivel las entradas y sensores (incluyendo giróscopos), EGL/OpenGL ES, OpenSL ES, etc.
  • Más riqueza multimedia La plataforma soporta ahora estándares de video abiertos como VP8 / WebM, audio y voz AAC y  ARM-wideband, y agrega efectos como reverb, ecualización, virtualización de audífonos y mejora de bajos.
  • Más formas de comunicación La plataforma soporta múltiples cámaras, típicamente para una frontal utilizada en video chats, soporte de llamadas via internet via SIP/VOIP,  y NFC (Near Field Communications) para permitir que los dispositivos se comuniquen con otros dentro de un rango de proximidad de unos 10 centímetros.

Aquí dejo el video promocional:

Y la liberación de la nueva versión se cristaliza con la aparición en conjunto de un primer dispositivo que trae esta versión de fábrica, el Nexus S, que Google desarrolló en conjunto con Samsung. Dejo también el video promocional para que se entretengan:

 

Videos de SmallTalk 2010 disponibles

Smalltalks 2010

Como comenté hace casi un mes, la última conferencia internacional Smalltalks 2010 se realizó en Concepción del Uruguay, en la provincia de Entre Ríos, Argentina.

Esta conferencia atrajo profesionales de esta comunidad de Ameríca del Sur, del Norte y de Europa, incluyendo figuras famosas del ambiente de lenguajes de programación como Gilad Bracha.

En los últimos días, los organizadores han publicado los videos de todas las sesiones, con buena calidad de audio y video en general, para que todos podamos disfrutarlas. Tratándose de una conferencia internacional, las sesiones fueron en inglés, pero debido a la procedencia variada del público, es casi siempre un inglés pausado y fácil de seguir.

Una excepción es la charla final presentada por el Maestro Angel "Java" López, hablada en Anglish (Angel's English) que él mismo describe en el comienzo. La sesión está dedicada a AjTalk, su máquina virtual de Smalltalk implementada en C# sobre el CLR de .NET, pero además de los detalles técnicos es muy entretenida y recomendable.

AjTalk: an Smalltalk-like Virtual Machine written in C#

Primera Parte

Unable to display content. Adobe Flash is required.

 

Segunda Parte

Unable to display content. Adobe Flash is required.