Consultant Software Engineer
How an engineer is supposed to survive accounting One of the “pleasures” of having your own business is dealing with accounting. Now, to survive I tried a few things like: generating invoices for my clients processing bank statements One boring thing to do is to organizing receipts and invoices I…
So you have parsed your code and built a clean AST for it. Now it is time to check if what the user has expressed make sense at all. We should perform validation, identifying semantical errors, to communicate together with lexical and syntactical errors (provided by the parser). Series on…
Most of the work done in tools supporting a language consists in manipulating the AST. In this post we are going to see how to perform transformation and processing on the Abstract Syntax Tree through model-to-model transformations. These techniques will be useful to perform operation like: validation: finding errors in…
What I do
Do you have some project in mind and no idea how to realize it?
I love to face challenges and on my side I have a strong academical background and experience among several fields, collected working in 4 countries.
Because of this I have a wide toolbox I can use to solve your problem.
Language development (DSLs)
Among all the possible tools I love languages in particular, because they are tools for the mind. The right languages can make much easier to reason about problems.
I build languages and supporting tools using tools like Jetbrains MPS, Xtext and ANTLR.
Textual and graphical languages, code generators, interpreters, simulator: all you need for you Domain Specific Languages.
I am Federico, I have been writing software since I was 8.
I love it.
I am Italian, but I lived in Germany and Ireland before moving to France.
Some stuff I did
PhD in Software Engineering
I firmly believe in learning by doing. However good education does not hurt, so I attended the best technical university in Italy (Politecnico di Torino) and I spent 2 semesters in the best German one (Karlsruhe Institute of Technology) and one as a visiting researcher in Munich (at Fortiss)
Work for well known companies
I worked full-time for a few companies, including TripAdvisor and Groupon. There I met incredible people but most importantly I have learnt to work at a fast pace while keeping the higher standards.
I participate in several open-source projects as maintainer, committer or simple contributor. On my GitHub profile you can find more than 100 repositories written in all sort of languages: JRuby, Haskell, Python, Java, C#.
I know, finding technical help is not the easiest thing.
Hopefully I can be the right person to design and implement your projects.
If not I will try my best to give you the right directions and help you find who can help you.