Source: arXiv:2003.00447.
Maintainability is the “degree of effectiveness and efficiency with which a product or system can be modified to improve it, correct it or adapt it to changes in environment, and in requirements”.
Maintenance hotspots, (…) parts of the source code that are most difficult to maintain.
You cannot control what you cannot measure.
— DeMarco, T. (1982). Controlling Software Projects; Management, Measurement and Estimation.
The study compared models mentioned above by applying them to 3 FOSS applications (FreeMind, jEdit and TuxGuitar).
Further reading about the Maintainability Index:
My take-away is that while these methods can be useful, they probably won't be for Scala code-bases since branching is often hidden behind higher-order functions. Also, Scala is such an advanced language, that sometimes its own rich feature set adds to the complexity and decreases maintainability.
Source: Pluralistic: Tiktok's enshittification (21 Jan 2023) (a long read).
In this essay, Cory Doctorow describes a life-cycle of an internet platform (not necessarily social media). A platform:
But along the way, people start depending on the platform so much that they can't leave it even when it becomes barely usable, like when users don't see what they'd subscribed for on Twitter or Facebook, but they see a lot of rubbish they didn't ask for.
Right now we see some platforms trying out the last step:
Decentralised alternative to corporate social-media called Fediverse has already noticed a huge influx of new users over the recent months and I suspect it will continue.