My name is Federico Tomassetti. I created this blog many years ago and today I run it together with the team at Strumenta, the company I have founded to offer Language Engineering services.

We believe that computing is affecting the lives of everyone on the planet and we think is important to provide better tools for people to access the potential offered by computer.

This is why our goal is to provide better tools to people to perform their work. We believe that languages are the most important tools because we use them to think about our ideas, communicate and express them.

I have founded a consulting studio specialized on Language Engineering. It is named Strumenta. If you are interested in working with us, visit the Services page or write at [email protected]

To me, programming is a way of looking at things.

As a painter understand the world through his art, I use programming as a way to reason about phenomena and model them.

Software should support our work

I believe that software is a tool which improve so many of our activities: by providing software we can open so many possibilities.

People have unique skills and competencies and software should be there to complement them: to help them performing analysis quickly, to help them visualizing ideas, to run checks and calculations for them. So, that people can focus on using their unique abilities to provide more value.

To us, building software means to provide tools to people.

Programming for a while

I, Federico, started programming when I was 8 years old.

When my father died they brought home his computer from the office together with some old manuals.

I never stopped since.

You can understand why computing matters to me. It is engrained in who I am.

Learning wherever I can

I was born in the north of Italy, in Turin.

I had the possibilities to live in Germany (Karlsruhe and Munich), Ireland (Dublin) and Lyon (France).

I also worked with people from all around the world and I was employed in two American companies.

I have learnt a lot from different points of views. Today I keep learning about different ways of working as I am lucky enough to work with clients from Singapore to California.

Yes, I understand the value of formal education and I got one (I have a PhD in Language Engineering) but I also believe in learning by doing.

A bit of this and that

  • Wrote a book on building languages and created a video course on ANTLR. They have been bought from people from all continents
  • Founded Strumenta and serve companies around the world
  • Co-Founded ClearBox AI, where I help with DSLs for Explainable AI
  • Wrote a book on programming for grad students
  • I have been a technical reviewer for Manning, Pragmatic Bookshelf and Packt
  • I have given a few talks both to academic and technical conferences, around Europe and USA
  • I have started or contributed to tens of open-source projects with a lot of different technologies. For me it is great to keep working on different skills, to meet new interesting people and to contribute to make a few users happy. Take a look at my GitHub profile or ask more: I am always more than happy to talk about my projects!

Want to know more?

We know, finding technical help is not the easiest thing, especially regarding something as specialized as Language Engineering.

Hopefully we can be the right persons to design and implement your projects.

If not we will try our best to give you the right directions and help you find who can help you.