There is a lot of cross technology projects. GWT compiles Java into
Javascript, several languages compiles into JVM bytecode and Ruby can be compiled into
PHP. Why not use this kind of approach to switch from one solution to another? Transform sources from one to another platform and it is. I would describe my works on proof-of-concept soon.
Break free of vendor lock-in
DSL editor with code completion in Javascript
Domain Specific Languages currently have its hype. Important feature of serious new language implementation is a tool support – editor with code completion. There is already significant set of tools that allow to build a complete language solution. Most of them were presented recently on Language Workbench Competition 2011.
I was searching something similar implemented in Javascript and I found Concrete Editor. It represents structured approach to language editing. New entities are created with a set of attribute placeholders. It perfectly fits to languages describing elements and relations between them. For expression language it is far much easier to edit in a free text manner. To give an example I've implemented simple free text editor for Concrete metamodel.
Distribution of generated model implementation
In one of my posts I described how to transform StarUML classes structure into XML Schema implementation. I happy to announce that this approach (slightly modified) is used in the biggest bank in Poland. Main cause of replacing original version of transformation was its performance. XSLT 2.0 based implementation generator (using Saxon) is up to 50 times faster than native JavaScript.
Java aware sources comparison
Few months ago I was searching a tool that would compare two versions of Java source with respect to its OO structure. I expected that report would give me an info not only with number of changed lines in a file but rather number of changed methods and number of lines in them. I found nothing that can fulfill this task.
Simple calendar
Calendar functionality is a must in applications where working or non-working days have a special meaning. Fixed holidays (solar cycle) and weekends can be determined without any effort. In European tradition there are also floating holidays dependant on Easter – derived from lunar cycle. Determining these is non-trivial but already solved problem described as Computus.
Currently most of programming languages are equipped with utilities (math and date) that make implementation simple. It allows to build an algorithm of everlasting calendar in any system. Why I'm diving into so trivial problem? Because I consider embedding of such algorithm as evil.