Co-founder of Strumenta. Essays on software languages, legacy systems and the craft of building tools.

274 articles · since 2009

Articles

Everything published here since 2009, newest first.

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