HNHacker News
TopNewBestAskShowJobs

ftomassetti

405 karma · joined March 10, 2014

submissionscomments
ftomassetti··on Resist "AI"
It must be nice have no economic needs and have no dependents
ftomassetti··on Resist "AI"
I see good ethical reasons to be against AI, but I see no reasons why “resisting” would lead to anything but irrelevance. So I think this is terrible advice
ftomassetti··on Cloud in a Bottle: making self-hosting accessible to everyone
Cloudron?
ftomassetti··on Let's talk about EU Sovereignty (2025)
This was not a thing one year ago, but now it is really part of the conversation. In our company the goal is to reduce by two thirds our expenses in digital services by focusing on self hosting and European alternatives. Is it inconvenient? Mildly so, but for most things there are alternatives available once you start looking into them
ftomassetti··on Ask HN: What are you working on? (October 2025)
As of today I finished and published my book on migrating RPG code to modern languages: https://www.amazon.com/Migrating-RPG-Code-Modern-Languages-e...

So I will rest for a few days :D

ftomassetti··on Designing a Language Without a Parser
Honestly designing a parser is easy: just start using ANTLR and perhaps add later an AST layer. However if you do not want to go that I suggest looking in projectional editing, for example JetBrains MPS or Freon by Jos Warmer
ftomassetti··on Tell HN: The loneliness of a pretty good developer
If you are the smartest person in the room and you do not like it, change room
ftomassetti··on Ask HN: Do you have to use LinkedIn to get hired?
Consider also that many companies promote job ads on LinkedIN or search candidates on LinkedIN. So even without the “submit your application” LinkedIN is pretty important to get hired, imho
ftomassetti··on Version Control for Structure Editing
True, indeed JetBrains MPS has its own git driver
ftomassetti··on Replit used legal threats to kill my open-source project
I will make a point of discouraging using Repl.it .
ftomassetti··on Ask HN: Who is hiring? (November 2020)
Strumenta | Project Manager with Marketing skills | Italy (Remote) | Full time

We are a small company (6 persons) but we are punching above our weight. We have a significant worldwide reputation in our niche and we work with clients distributed across the USA, Europe, and Asia.

While we are registered in Italy, we very rarely have Italian clients. Our working language is English and we would need an English native speaker or someone very fluent in English. If you are not an English speaker, you have not lived for at least one year in an English speaking country, and you have not used English as a working language in the past, please do not apply.

Your role would be ensuring that the most critical things get done, using your judgment to ensure they get done efficiently and effectively. You would be essential in solidifying our good practices, improving them, and identifying how we can improve.

You will guide us specifically on delivery and marketing.

On delivery, you will be in charge of communication and coordination with clients, supervise how projects progress, and measure profitability.

Regarding marketing, you will manage the different activities to ensure we communicate what we are doing clearly and to the right target.

For details see here: https://it.indeed.com/offerta-lavoro/project-manager-d9fabce...

ftomassetti··on Compiler for the M language of the French DGFiP
You may be interested in what the Dutch Tax & Custom Agency is doing: they built a DSL to express tax calculations. Here you can find the case study: https://resources.jetbrains.com/storage/products/mps/docs/MP...

Personally I work in the Language Engineering area and it seems obvious that you want tax lawyers and accountants to interpret the tax code and translate it into “code”. Is just that you also want “code” to be obvious for them and support by proper tooling, which catch all inconsistencies.

I would also love to interview the author of this and the work for mon-entreprise. While I understand French, I also have these interviews in English to reach more people

ftomassetti··on Why not to use (f)lex, yacc or bison
We have several articles comparing tens of other tools. That said of all the tools we worked with, ANTLR was the one we were most efficient with. It is true, there is a learning curve, but in our experience learning it was a great investment. I can understand other could have different preferences
ftomassetti··on Why not to use (f)lex, yacc or bison
you can contact me at federico -> tomassetti.me
ftomassetti··on Why not to use (f)lex, yacc or bison
..wow, this is a bit strong. I would encourage you to be more respectful of persons who work in this very specific field and share their ideas. There are always persons behind some work you insult so easily.

You know, there are over 2M persons who read our articles. A few hundred also bought a book or a video-course from us, but the vast majority just got some information from free, and we like it in this way. I do not think we got so many persons interested in what we do by lying.

If you have a different professional experience I would happy to learn from it.

ftomassetti··on Why not to use (f)lex, yacc or bison
I think that hand-rolled parsers are good if: 1) You have a team that knows well what they are doing 2) You have a lot of resources 3) Your language is stable

I would argue that parser-generators are what made those projects to be started and prosper in the first place. Then once one is successful a custom solution could make sense but in my experience it is more expensive and potentially less maintanable, unless you know very welll your way around parsers and language tooling

ftomassetti··on Why not to use (f)lex, yacc or bison
I am sorry we had this impression. Sure, we use ANTLR a lot, for commercial and open-source projects, and we had to work with parsers written in (flex), yacc, and bison, so we shared our experiences as people who work all day long with parsers. We offer a lot of free resources on ANTLR and we have not specific interest in advertising ANTLR. For us it is a tool we use and love, just that
ftomassetti··on Why not to use (f)lex, yacc or bison
Rewriting perhaps not, but being able to fix the ebnf-flavor used to make it more powerful it is a great thing. If you have to stay 100% compatible with all the mistakes accumulated in 30 years you are tied
ftomassetti··on Why not to use (f)lex, yacc or bison
I am a bit surprised by this, as I had the opposite experience. I find ANTLR grammars much more maintanable than the hand-written parsers I encountered. Indeed I was asked to port hand-written parsers to ANTLR for maintanability. Also, ANTLR4 seems to me to produce grammars which are clearer than ANTLR3.

The weak point is error recovering, in my opinion. While ANTLR offers a sort-of-decent error recovery strategy for free, one has to customize it if they want to get great error messages.

I think that many maintainability issues are due to poor usage of ANTLR. What we do is to: 1) Limit semantic actions 2) For complex languages do tree-transformations, after parsing

With this approach we got pretty decent results.

Personally I find hand-rolled parsers too costly to build and harder to maintain, but I have limited experience with them. I guess it also depends on the context: if you are designing a DSL while writing the parser you want to be able to evolve it very quickly and in that context I think that a parser generator is very useful. If instead I would need to build an industrial grade parser for a general purpose language, having a large budget, then I would go for an hand-rolled parser

ftomassetti··on Why not to use (f)lex, yacc or bison
In my professional experience I build parsers, like at least 10 per year and 99% are written using ANTLR. I did not find a language that I was not able to parse with it, so far.

I think it does make sense to write manually parsers for performance and error messages, but it should be clear that this means raising cost by ~10 times. It is worth the effort if you are building a compiler for Java, for example, probably not if you want to process some DSL you developed.

Disclaimer: I am the brother of the author of this article

ftomassetti··on Ask HN: Who is hiring? (March 2020)
ClearBox AI | Torino, Italy | Data Scientist XAI | ONSITE

We are a startup focusing on making Human Centric AI. It involves making AI explainable, understandable, and manageable by normal human beings.

You can find out more at https://clearbox.ai or you can write to me at fede -> clearbox.ai

https://it.indeed.com/offerta-lavoro?t=data+scientist+xai&jk...

ftomassetti··on Decision Tables
We use decision tables in Domain Specific Languages that we develop for several sectors. In this paper you can see how we use them in the medical sectors to represent some medical decisions http://voelter.de/data/pub/MPS-in-Safety-1.0.pdf (see the Appendix for screenshots)
ftomassetti··on A Guide to Parsing: Algorithms and Terminology
In my experience ANTLR is a good tool to cover most of usage, so I would not say it is used "occasionally", for me it is the first choice
ftomassetti··on Ask HN: Resources for learning to write compilers?
I wrote an article on everything you need to create your own lanague, hope it helps https://tomassetti.me/resources-create-programming-languages...
ftomassetti··on Show HN: Sourcetrail – Get productive on unfamiliar source code
If you ever go that route and you plan or using/creating some open-source components I would be very interested on hearing more (I am a JavaParser/JavaSymbolSolver contributor)
ftomassetti··on Resources on creating programming languages
Right, but the list had to be limited in scope, and I focused more on longer pieces of content
ftomassetti··on Resources on creating programming languages
I had a similar thought when using Clojure or Python: as the project matured I wished I could switch to some static typed language. I am very interested in language conversions, so I should give this a thought...
ftomassetti··on Resources on creating programming languages
This sounds awesome! Another good thing to add to the list
ftomassetti··on Resources on creating programming languages
Maybe you could use some information theory to calculate the entropy of your language and evaluate when it makes sense to introduce new concepts. I played with this idea but I have never used it in practice for designing languages.
ftomassetti··on Resources on creating programming languages
Nice, I will consider adding it to the list
Page 1 of 2Next →