I just ran into this good article on lobste.rs. It's about type modelling and techniques to make invalid states unrepresentable.

This is a very elegant principle and something I've been advocating a lot over the years. And yet, as I read on, I felt estranged, a bit melancholic, and definitely a dissonance.

I stopped for a moment and tried to look deeper into the emotion before it flew away. The alienation I was feeling had little to do with the principle being invalid or outdated, or with me having changed my mind. Simply, my guts were telling me that.

It's in the air

The zeitgeist is the intangible feeling that certain ideas are in the air, that independent people just converge on the same conclusions, and with an aftertaste of inevitability.

For some fascinating reason, everything that involves giving and following rules, shaping a model of the world around us, sharing a vision to pursue, sounds like a losing game today.

As a logic programming and Prolog practitioner, I was confident that rule-based systems would have found their way into the software industry as the intelligent, decision-making brain of our applications. And then I witnessed stochastic models trained on petabytes of uncurated data outclass them.

Many books have been written about generative grammar as a model to describe and explain human language, and now LLMs are destroying the very concept of self-awareness in our speaking ability, one random word at a time.

Wanna talk about international law and the role of the United Nations? Having the bigger gun has always been an argument, but today it's all you need to claim power and supremacy.

Something similar is happening to domain modelling practices. Like every technique, they emerged as a way to work around difficulties in the industry, and they gained traction as a reasonable, elegant, understandable path for solving problems. Their adoption wasn't easy because it required faith, discipline and commitment — a big cultural investment for every company, one that eventually paid off as their teams grew and learned. It made a lot of sense in the context of teams growing in size, with many stakeholders and knowledge bases impossible to keep up with.

Brute force

Today, I simply do not have the feeling that anybody with stakes in the economics of their organization is willing to support such a cultural commitment. As manpower is becoming a commodity, isn't it more effective to throw tokens at the problem?

Whatever we think the answer is, it's undeniable that brute-forcing problems is nowadays a practicable path, with a realistic promise of fast and rich rewards. Results are just as uncertain as with laboriously building a group of great people, but without most of the socio-technical toll.

But this explanation is too rational. The truth is, brute force is our zeitgeist, and you don't have to sell it to anybody. Everybody is already on the same page.

What's the moral here? Probably none. I am not here to say we have to embrace, to just accept, or even to fight back against the spirit of our time.