Abril 2009
L M X J V S D
« Mar   May »
 12345
6789101112
13141516171819
20212223242526
27282930  

La economía del ahorro

En el mes de abril se unen dos días señalados, el de la Tierra, ayer mismo y el del Libro que se celebra hoy mismo, y que pueden, entre ambos, hacernos pensar un poco cómo podemos dar cumplida cuenta de ellos desde el blog y homenajearlos como merecen.

Por un lado, está claro que nuestro pequeño planeta está cada día más agotado. Los recursos son finitos y, tanto por esto como porque nos interesa desde todos los aspectos (medioambiental, económico, social…) deberíamos contener nuestro gasto de recursos para minimizarlo en lo posible.

Por otro, la aplicación el invento de Gutenberg a la impresión de los libros revolucionó literalmente el acceso a la cultura por parte de la población. Sin embargo, bien lo sabemos, el uso de la imprenta y sus “derivados” también repercutieron en el SPAM de épocas pretéritas: la publicidad indeseada, con el consiguiente desperdicio de papel y tinta, que tanto daño ha hecho al medio ambiente.
Si unimos ambas situaciones y tenemos en cuenta lo fácil que resulta hoy día instituirse en nuestros propios impresores utilizando ordenadores e impresoras a destajo, es fácil darse cuenta del despilfarro que llevamos a cabo en la impresión de correos y documentos (especialmente cuando se trata de borradores) en nuestro día a día. Así, aunque intentemos aprovechar las dos caras del folio o imprimir dos o más páginas, de forma reducida, en una sola, lo cierto es que seguimos gastando tinta y papel a destajo.

Por eso, además de utilizar estos medios por todos conocidos para minimizar un poco más el impacto sobre el medio así como para nuestro bolsillo, os invito a probar la Ecofuente. No, no se trata de un manantial inagotable de agua fresca y potable, sino de una tipografía para nuestro ordenador que, creando huequitos  en las letras como si de un queso gruyer se tratase, intenta ahorrar un poco de tinta cuando imprimimos nuestros documentos.

Ah, y si incluso Ecofont os parece poco, tal vez será de vuestro gusto la impresora manual de café. ¡Eso sí, es posible que ante un pico de trabajo nos quedemos sin suficiente tinta porque lleguemos a consumirla nosotros mismos!


Entradas relacionadas:
  • Generando texto aleatorio en Microsoft Word
  • Blogueando sobre .NET
  • Soy ciudadano americano
  • ¿Quiénes nos apuntan?
  • Vuela esta canción para ti Lucía…
  • Etiquetas: , ,

    Ironías de la vida

    Hace tiempo “regresé” a los tiempos de la carrera al llevar a cabo un trabajo relacionado con ASN.1, ya que estaba relacionado con el análisis léxico y sintáctico de definiciones llevadas a cabo usando esta notación. Aunque las asignaturas relacionadas con este campo más formal de los lenguajes de programación no eran las que más me apasionaban, lo cierto es que llegaron a gustarme bastante en su día, y comprobé la evolución que habían sufrido herramientas de análisis sintáctico y semántico, como los clásicos lex y yacc, e incluso sus “descendientes” Flex/Bison o JFlex/Cup, para llegar a un generador de analizadores como el potente ANTLR, capaz de generar un analizador léxico, sintáctico o semántico en varios lenguajes (Java, C#…) a partir de una serie de reglas EBNF.

    Así las cosas, no es de extrañar que, unos meses después investigase un poco más por mi cuenta en este campo, y me encontrase con una interesante herramienta que, de manos de Roman Ivantsof, tenemos disponible en Codeplex. Se trata de Irony.NET, un generador de compiladores/interpretes para los lenguajes definidos a partir de una gramática. Hasta aquí, nada novedoso. Pero lo interesante es que las gramáticas LALR(1) se definen directamente en C#, utilizando las clases que la propia plataforma proporciona, usando claro está notación BNF. A partir de esta definición de la gramática, puede generarse el árbol sintáctico de una entrada en dicho lenguaje. Por ejemplo, un SELECT de SQL quedaría definido así:

    La distribución de la herramienta, al estar en Codeplex, es a partir de su código fuente, por lo que podemos bajar la solución completa para estudiarla y ejecutarla. Incorpora varias gramáticas definidas como ejemplo, entre las que se incluyen lenguajes tan suculentos como C#, Ruby o Python, e incluso SQL y JSON.

    Si ejecutamos el proyecto de prueba Irony.GrammarExplorer, podemos “cargar” la DLL con las gramáticas definidas en el proyecto Irony.Samples como si de un plugin se tratase, así comoactivarlas y desactivarlas.

    Incluso es posible escribir código en el explorador y estudiar la generación de código y del árbol de sintaxis abstracta para la entrada. tanto en forma de árbol “visual” como en XML:

    Todo un descubrimiento que puede ayudarnos a mejorar nuestro conocimiento sobre la generación de compiladores e intérpretes de lenguajes, así como a crear los nuestros propios. ¿Qué tal un parser para aventuras conversaciones, como los clásicos PAWS o Inform? ;)


    Entradas relacionadas:
  • Un microgestor de descargas casero
  • Evitando fallos de carga dinámica de ensamblados
  • Funciones Variadic
  • ALM, la gestión del ciclo de vida del software
  • KeyLed
  • Etiquetas: , ,