this post was submitted on 29 May 2025
84 points (100.0% liked)

chat

8407 readers
160 users here now

Chat is a text only community for casual conversation, please keep shitposting to the absolute minimum. This is intended to be a separate space from c/chapotraphouse or the daily megathread. Chat does this by being a long-form community where topics will remain from day to day unlike the megathread, and it is distinct from c/chapotraphouse in that we ask you to engage in this community in a genuine way. Please keep shitposting, bits, and irony to a minimum.

As with all communities posts need to abide by the code of conduct, additionally moderators will remove any posts or comments deemed to be inappropriate.

Thank you and happy chatting!

founded 3 years ago
MODERATORS
 

First two paragraphs of 18th of The Eighteenth Brumaire of Louis Bonaparte is one of the most if not the most insightful works of sociology.

Hegel remarks somewhere[*] that all great world-historic facts and personages appear, so to speak, twice. He forgot to add: the first time as tragedy, the second time as farce. Caussidière for Danton, Louis Blanc for Robespierre, the Montagne of 1848 to 1851[66] for the Montagne of 1793 to 1795, the nephew for the uncle. And the same caricature occurs in the circumstances of the second edition of the Eighteenth Brumaire.

Men make their own history, but they do not make it as they please; they do not make it under self-selected circumstances, but under circumstances existing already, given and transmitted from the past. The tradition of all dead generations weighs like a nightmare on the brains of the living. And just as they seem to be occupied with revolutionizing themselves and things, creating something that did not exist before, precisely in such epochs of revolutionary crisis they anxiously conjure up the spirits of the past to their service, borrowing from them names, battle slogans, and costumes in order to present this new scene in world history in time-honored disguise and borrowed language. Thus Luther put on the mask of the Apostle Paul, the Revolution of 1789-1814 draped itself alternately in the guise of the Roman Republic and the Roman Empire, and the Revolution of 1848 knew nothing better to do than to parody, now 1789, now the revolutionary tradition of 1793-95. In like manner, the beginner who has learned a new language always translates it back into his mother tongue, but he assimilates the spirit of the new language and expresses himself freely in it only when he moves in it without recalling the old and when he forgets his native tongue.

Here Karl Marx also humanistically describes the root problem of production of processes in general. The problem of the cumulative error. While Marx is describing the production of history that is a productive force, it is also in a class of meta-productive forces. These are productive forces that do not directly produce material goods but affect the productive forces that do create physical goods and services.

This is literally the same metaphor as tech-debt. Software has many parallels because the production of software is also a meta-productive force. It produces an immaterial good that is productive force in itself and produces other immaterial and material goods. Tech-debt is the effect of inefficient cycles, that weighs on future cycles.

This is similar to the educational concept of Wittigenstien's ladder or lying to children, because learning itself is a meta productive force. In essence as a productive force, learning is cyclical. In order to understand how atoms function, we teach children models that are technically incorrect such as the Bohr model so they can understand approximations closer and closer to the truth. These are all productive cycles that compound on each-other.

In all these cycles the most important thing is that each future cycle must trend more strongly in the positive direction (a better understanding, better materialist outcomes, software that is cheaper to build maintain and is more resilient), rather than accumulating errors, which will eventually self-reinforce to middling and negative results and eventually collapse.

These cycles represent real risk in the real world. For example one of the most difficult things about the way we develop technology is that its not deterministic. The classic black swan scenario of solar flares causing a strong EMP would result in chaos. This is not just because would have to rebuild everything. The simple reason fact is we cannot "rebuild" the world ex nihilio because we don't have clear knowledge of certain steps along the way. Sure we could figure it out, but that's a different process. That's the process of technological discovery, not the process of applying technology.

You can think of it as rebuilding a neighborhood being hit by a bomb. The neighborhood is gone and we don't have floor plans of some of the key buildings. But it's actually worse than that. We don't have plans to the buildings that lead to the creation of those buildings. We don't have a university, but to build a university we need a foundry, we need a printing press, we need a quarry, we need a brick yard, etc. We don't have some of those, or some of the inputs to some of those. It's actually more complex than that because each of these "functions" also scales and has dependencies at different levels of scale. So we might be able to build a brick yard, but that brick yard won't be able to produce bricks that meet modern specifications until we build a smaller university to research brick making.

I literally think about these daily during the course of my software job:

  • the first time as tragedy, the second time as farce
  • Men make their own history, but they do not make it as they please
  • The tradition of all dead generations weighs like a nightmare on the brains of the living.

There was a period of time where I played nothing but Dark Souls 1 and 3 (same theme) and thought about these.

you are viewing a single comment's thread
view the rest of the comments
[–] woodenghost@hexbear.net 10 points 3 days ago* (last edited 3 days ago) (1 children)

I like how reading Marx helps you understand your software job and I love the colorful metaphors. For some friendly nitpicking:

While Marx is describing the production of history that is a productive force, it is also in a class of meta-productive forces. These are productive forces that do not directly produce material goods but affect the productive forces that do create physical goods and services. This is literally the same metaphor as tech-debt. Software has many parallels because the production of software is also a meta-productive force.

Is it really necessary to use the term meta-productive force here? I get, that software seems immaterial, but it's still a commodity, just like a table or some wheat or linen. Even software services are commodities that are like any services consumed while being produced. So software workers are workers and part of the productive forces, exactly like engineers or mechanics. So with tech-debt you are thinking about a problem in the realm of production, the base of society.

What Marx is describing here seems at first to be in the realm of ideology: how revolutionaries talk about themselves and style their movements. So it's more about the superstructure than the base. So it seems to be about a totally different realm and not applicable to tech-debt at all. Though, I get that the similarity is still helpful. And there might be an actual similarity on another level, that explains it:

Mentioning Hegel, Marx hints at the underlying dialectic at play in history. And dialectical thinking might actually help a theoretically sound analysis of tech-debt. Without going to the trouble of fully doing one, I can sketch it out with Engels three laws:

  • The law of the unity and conflict of opposites: There is a contradiction between short term profit interests leading to the accumulation of tech-debt on the one hand and the need for software as a commodity to have actual use-value on the other hand. This contradiction can not be fully resolved within capitalism. (Edit: it actually goes back the classic contradiction between use-value and exchange-value)

  • The law of the passage of quantitative changes into qualitative changes: Accumulation of quantitative changes (tech-debt) pass into sudden qualitative changes (software becomes unmaintainable profitably and is dropped).

  • The law of the negation of the negation: The negation of proper methods and maintenance sooner or later negates the use of the software and thus this very way of managing it.

[–] simontherockjohnson@lemmy.ml 5 points 3 days ago

Is it really necessary to use the term meta-productive force here? I get, that software seems immaterial, but it’s still a commodity, just like a table or some wheat or linen. Even software services are commodities that are like any services consumed while being produced. So software workers are workers and part of the productive forces, exactly like engineers or mechanics. So with tech-debt you are thinking about a problem in the realm of production, the base of society.

This is largely correct. Even things like knowledge and learning have a commodity form. I was trying to lead people away from "production" = "factory" or thing I use. Production is fully bootstrapped in that production produces itself. Labor is a commodity after all.

What Marx is describing here seems at first to be in the realm of ideology: how revolutionaries talk about themselves and style their movements. So it’s more about the superstructure than the base. So it seems to be about a totally different realm and not applicable to tech-debt at all. Though, I get that the similarity is still helpful. And there might be an actual similarity on another level, that explains it:

I get into a clearer example in this comment thread.

https://lemmy.ml/post/30849595/18912884

What is written as is is ideological, but it's a generalization of materialism.

The law of the unity and conflict of opposites: The contradiction between short term profit interests leading to the accumulation of tech-debt and the need for software as a commodity to have actual use-value can not be resolved within capitalism.

The law of the passage of quantitative changes into qualitative changes: Accumulation of quantitative changes (tech-debt) pass into sudden qualitative changes (software becomes unmaintainable and is dropped).

The law of the negation of the negation: The negation of proper methods and maintenance sooner or later negates the use of the software and thus this way of managing it.

Yeah I'm not so great at Engels vocab but I cover each of these in some examples.

  • Not maintaining saw blades on a saw mill
  • Running out of trees
  • TDD as a maladaption that creates tech debt