Home

Federico Tomassetti

Consultant Software Engineer

I build tools and languages to empower people

How to recognize dates in PDFs

By Federico Tomassetti | September 20, 2016

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…

Continue reading

Generating bytecode

By Federico Tomassetti | September 13, 2016

In this post we are going to see how to generate bytecode for our language. So far we have seen how to build a language to express what we want, how to validate that language, how to build an editor for that language but yet we cannot actually run the…

Continue reading

Building a compiler for your own language: validation

By Federico Tomassetti | September 6, 2016

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…

Continue reading

Building a compiler for your own language: model-to-model transformations

By Federico Tomassetti | August 30, 2016

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…

Continue reading

What I do

engineer

R&D Projects

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.

languages4

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.

me

Some stuff I did

unit

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)

companies

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.

os2

Open-source

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#.

Let's talk

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.

 

Please enter your name.
Please enter a message.

Comments are closed