Articles
Everything published here since 2009, newest first.
Interview with Vaclav Pech on Jetbrains MPS: the community and the future
On the need of a generic library around ANTLR: using reflection to build a metamodel
Getting started with the Whole Platform: building grammars
ANTLR and the web: a simple example
ANTLR and Jetbrains MPS: Parsing files and display the AST using the tree notation
mps-bytecode: creating, loading, modifying, saving and executing JVM class files using Jetbrains MPS
What are good books on best practices of the design of domain-specific languages (DSL)?
Tabular projections in Jetbrains MPS: let’s start building an accounting system
A template system for Google Docs: Google Drive automation and PDF generation with Google Execution API
Interview with Jan Köhnlein on TypeFox, DSLs and Xtext
Recognizing hand-written rectangles in an image
Recognizing hand-written shapes programmatically: find the key points of a rectangle
What if sketching on a whiteboard was a form of programming?
Python reflection: how to list modules and inspect functions
Raising the level of abstraction: what if we tried to do that bottom up?
A book on creating languages and supporting tools
Parsing Any Language in Java in 5 Minutes Using ANTLR: for Example Python
Getting started with Jetbrains MPS: how to define a simple language (screencast)
Getting started with JavaParser: analyzing Java Code programmatically
How to recruit freelancer for software development: where to look for them, how to find and choose candidates
Dynamic, static, optional, structural typing and engineering challenges
An introduction to Spark, your next REST Framework for Java
5 key aspects for a successful open-source project
What I Learned in Six Months as a Software Engineer Freelance
Good clients, bad clients: how to recognize bad clients and how to deal with them
The 5 things a developer expects from a Project Manager: how a Project Manager can help developers becoming much more productive
Alternatives to global variables and passing the same value over a long chain of calls
Representing relationships as first-class citizens in an Object-oriented programming language
Turin Programming Language for the JVM: Building Advanced Lexers with ANTLR
Creating a Programming Language for the JVM: the Turin Programming Language