Red-Hot JVM Language Summit 2010 Videos

The talks on the recently completed JVM Language Summit 2010 are now available on the web. How cool is that!

Here is the link to the videos of the presentations made there:


Tools/Technologies that make it Groovy.

I thought I will write a bit about what tools/technologies are there internally used in Groovy. So, here are the more prominent ones – in no particular order:

  • Jansi – It is a java library that used to give groovy shell command line a consistent look and feel and behavior across operating systems. It handles the ANSI escape sequences to control the output on console terminals.
  • Commons CLI – Apache Commons library to process command line options. Groovy makes its usage nicer and easier by providing a CliBuilder on top of it.
  • Apache Ivy – Dependency manager framework behind the groovy feature @Grab (Grape) that allows you to mention in a script what libraries it requires and then transitively fetches them from a central repo like maven repo.
  • Retrotranslator – It makes your java 5+ application compatible with JDK 1.4 (and lower) – through bytecode manipulations. Until Groovy 1.6, groovy runs on JDK 1.6/1.5/1.4 even though its own Java code is written in JDK 1.5. For groovy on JDK 1.4 environments, groovy code gets retro-translated using this library.
  • bnd – It is used to turn groovy-*.jar and groovy-all-*.jar into OSGi compliant bundles
  • JarJar – It embeds all the basic libraries needed by groovy at runtime into its fat groovy-all version so that this fat version needs no external libraries at runtime and avoids version conflict.
  • Maven – If you are setting up development environment for groovy, there are a lot of libraries it depends on – for compile time, runtime, etc. Maven is used to manage these dependencies.
  • Ant / Gradle – The build system of groovy is currently in transition from Ant to Gradle – soon, it should be all Gradle based, which itself is written in Groovy.
  • ANTLR – Groovy grammar is defined using ANTLR syntax. Groovy source parser is generated by ANTLR.
  • ASM – It’s the bytecode manipulation library that groovy uses to generate JVM compliant classes

There are many more useful things done in Groovy projects. More to come.

A Utility Tag-Cloud App on Google App Engine

Here is another utility application I have put on Google App Engine – I wanted to check out how persistence and security works in an application developed for App Engine. Another thing I wanted to check out was how tag clouds are implemented.

This utility allows you to enter items, categorize them and then label them with tags you want to remember those items with. For example, if you want to maintain information about the movies you know, the books you have read, you can create categories called Movies, Books, and then start adding information under books and movies of your interest and easily navigate through the popular ones using the tag clouds that get built up.

Here is the accompanying article I wrote on DZone discussing its technical details.

Groovy AST Browser – Web Based

This was something I wanted to do for some time now. First thing I didn’t like about the existing AST Browser implementation in groovy was that the compilation bits were all intermixed with the Swing tree view implementation bits. Secondly I wanted this tool to be available on web, complementing the Groovy Web Console.
So, I took the opportunity to brush-up some Javascript/CSS/Ajax stuff, separated out in Groovy AST Browser, the compilation bits from the view bits so that it could also present the data in plain text nodes that could then be rendered in non-Swing views.

So, here is the web-based version of AST Browser – deployed on Google App Engine environment –

Accompanying this work, here is an article published on DZone: