Alpha's Manifesto

A black and white figure's thought-hive

Blockly

Un lenguaje de programación visual

Blockly es una apuesta de Google para enseñar programación desde los bloques más básicos con esa misma aproximación: bloques.

Gracias a la novedad visual (y la autogeneración de código que ocurre por detrás) se puede programar fácilmente con encajar piezas de rompecabezas, de forma muy intuitiva. Lo que nos demuestra es que se ahorraron la complejidad de la sintaxis de un sistema reemplazándola por un rompecabezas, que vuelve el conocimiento de sintaxis en un juego.

Existen tres demos para Blockly actualmente:

  • Maze, nos impone el desafío de resolver un laberinto con instrucciones simples
  • Code, nos permite ver un poco detrás de la cortina y observar como Blockly puede generar código en otros lenguajes.
  • RTL es un demo de cómo se vería la interfaz de derecha a izquierda.

Parecería por estas características no se trata sólo de un intento de educación, sino también la capacidad de extender aplicaciones propias de una forma visual y fácil de comprender. Imaginen permitirle a los usuarios de un sistema “programar” cómo debe comportarse el sistema en determinados casos. Realmente es una opción muy poderosa de extensibilidad, sin requerir la complejidad de saber programar.

Soy un zorrinito en bloques.

RoundhousE

¡Chuck Norris al rescate!

RoundhousEHace poco me crucé con un proyecto que utilizaba RoundhousE y mi curiosidad me llevó a ver qué era. Me encontré con que es un sistema de migraciones de bases de datos muy conocido para .NET, particularmente para SQL Server, pero también soporta MySQL, Oracle, PostgreSQL, e incluso SQLite.

Cabe aclarar que cuando menciono el concepto de migración, no me refiero a la actividad de mover datos de un esquema a otro, sino al hecho de convertir un esquema a otro (que, en el fondo, no es tan distinto). Este concepto de migración y versionamiento de bases de datos permite tener controlados los cambios que deben aplicarse al momento de cambiar la versión de una aplicación, y su capacidad de aplicar o revertir cambios hace que ya no deba recordarse de forma mental en qué estado nuestra base y cómo llevarla al estado nuevo.

RoundhousE puede encontrarse en su repositorio de GitHub (bajo el usuario chucknorris, ¡ja!), o en su sitio http://projectroundhouse.org, que ahora lleva a Google Code.

Soy un zorrinito migrado.

ELMAH

Error Logging Modules and Handlers for ASP.NET

ELMAH es un proyecto hosteado en Google Code bajo la licencia Apache 2.0, que automáticamente se inserta en nuestro código para darnos un tratamiento mucho más complejo de errores, incluso de aquellos que surgen de forma inesperada (que, filosóficamente hablando, debería ser la mayoría de ellos).

Cabe aclarar que las características que ELMAH provee out-of-the-box son:

  • Loggeo de todas las excepciones no atrapadas
  • Una página para remotamente ver un log de las excepciones
  • Una página para remotamente ver los detalles de las excepciones
  • Ver el yellow screen of death original
  • Notificaciones por email
  • Notificaciones por RSS

Cabe destacar que se sabe que ELMAH tiene ciertos problemitas en integrarse a aplicaciones ASP.NET MVC, específicamente por la forma en que se tratan algunos errores, pero tienen una solución aceptable, como explican en What are the definitive guidelines for custom error handling in ASP.NET MVC 3? (Lástima que la pregunta original nunca se respondió de forma completa.)

Si les interesa una respuesta más apropiada a esa pregunta (cómo deben tratarse las excepciones), les recomiendo un link compartido por JM, 15 Best Practices for Exception Handling, muy recomendable.

Soy un zorrinito excepcional.