The loom-maker's luddism

The loom-maker's luddism   accelerationism ai software

Weaving used to devour huge amounts of labour that was not available for other uses. In the long run, mankind is better off with fewer weavers and more software developers, artists, car mechanics and so forth. In the short run, yeah, the transition was painful.

The same is true of the transition from farms. It used to be that very nearly everyone was engaged in near-subsistence farming; now almost no-one is. Technological advances freed up labour to do more productive things, and we are all (now) better off for it. The costs of that transition absolutely shouldn’t be disregarded, but the benefits outweigh them. — some random guy on lobste.rs that's more concise than I am

Software developers need a reality check. We are a trade that has spent decades feeling like we were the prime movers of progress through technological automation; now that we've suddenly realized that we're subject to the same historical forces we applied to everyone else, we shouldn't back down.

I see frequent statements online from developers who refuse to use AI, fearing it will expand the pool of hireable programmers through by lowering the skill floor to be able to make something workable — creating a large supply of "grunt code monkey" labor — and/or that it will amplify individual productivity sufficiently to reduce hiring needs. Through this combination, they worry it will make programming a job with less industry power: a job that requires less skill, training, and investment to join, and requires less of us anyway, and makes each individual more replaceable.

I do not believe this is true. In fact, those most capable of using coding agents effectively will be those with senior-level experience and systems-thinking capacity—people who make smart engineering choices, create clean, simple, robust, and clear software architectures with good separation of concerns, who know when and how to refactor without over-abstracting. I also think individuals and very small teams stand to gain more from AI automation than corporations.

But even if AI did reduce programmer power as a trade by opening doors to less-skilled workers and making less labor necessary, I disagree with the argument on several grounds.

Materialist incentives

My first problem with this argument is that, while it is perfectly understandable for these programmers to resist automating machines on purely self-interested grounds—“this is bad for my career and my trade, so I will resist it”—, people do not frame it that way. I have spent considerable time reading discussions and think pieces on this, and every time, it is fundamentally characterized as a moral struggle, with those refusing the automation capabilities of AI as morally rightous human beings, and those who don't as cogsucking enemies of society.

This approach conflates the interests of a particular skilled trade—programmers—with the good of society, the good of other oppressed groups, and from there to moral rightness. But let's be real here: this is an argument over some people wanting to keep their high salaries and cushy jobs. Good for them — but I just don't see the moral value there that can justify them using a moral high ground to pressure everyone else into aligning with them.

I can see how one might argue that participating in a struggle against exploitation that benefits everyone is morally positive — although I believe all class struggle is a product of class self-interest, and fundamentally amoral — but in this case, it is not a struggle that lifts up all classes, it is one professional trade seeking its own gain, desperately clinging to its superior privileged position, by asking software development to cost more to do, and require more time, education, and resources to enter the trade. There is nothing inherently moral about this kind of trade protectionism; in fact, it looks like pushing others down to keep oneself up.

The Luddite trap

Many look back at the Luddites, who were similarly skilled, technologically adept craftspeople using manufacturing tools to enhance their individual abilities, facing down automation, for inspiration. The Luddites, like modern anti-AI software developers, were not unskilled or unintelligent. But when mass manufacturing machines arrived, textile producers no longer needed such highly skilled workers—they could hire almost anyone off the street with minimal training to oversee machines that now held crystallized skill and knowledge. The Luddites objected that fewer, less-skilled workers would be needed, rendering their particular high-level skills obsolete, and they resisted this threat to their jobs and way of life. Many software developers who oppose AI admire that Luddite resistance, seeing it as a similar fight. (One famous recent book comparing the modern struggle against AI to the Luddites is Brian Merchant’s Blood in the Machine: The Origin of the Rebellion Against Big Tech, which describes itself as "the most important book to read about the AI boom")

I feel this same way about the Luddites, though.

It is a historical fact that the the industrial revolution made clothing vastly more available to everyone. According to historian Eve Fisher (quoting her updated numbers here):

See this guy below, lying asleep under the tree? And the guys still working in the field? They're all wearing a standard medieval shirt. […] A practiced seamstress could probably sew it in 7 hours. But that's not all that would go into the making. There's the cloth. A shirt like this would take about 5 yards of cloth, and it would be a fine weave: the Knoxville Museum of Art estimates two inches an hour. So 4(yards)*36(inches)/2 = 72 hours. (I'm a weaver - or at least I used to be - so this sounds accurate to me.) Okay, so hand weaving and hand sewing would take 79 hours. Now the estimate for spinning has always been complex, so stick with me for a minute: Yardage of thread for 4 yards of cloth, one yard wide (although old looms often only wove about 24" wide cloth), and requires 25 threads per inch, so:

25 threads * 36" wide = 900 threads, which each needs to be (4 yards + 1 yards for tie-up = 5 yards long), so 900 * 5 = 4,500 yards of thread for the warp. And you'd need about the same for a weft, or a total of about 9,000 yards of thread for one shirt.

9,000 yards would take a while to spin. At a Dark Ages recreation site, they figured out a good spinner could do 4 yards in an hour, so that would be 2,250 hours to make the thread for the weaving. Now, A lot of modern spinners disagree with this figure, saying they can spin much faster than that. So let's say they're right. And we'll say that the spinner is in a hurry to make this thread because the shirt's for her or someone she knows (all spinners were female in medieval times), so we'll say she worked her tail off and did it in 500 hours.

So, 7 hours for sewing, 72 for weaving, 500 for spinning, or 579 hours total to make one shirt. At minimum wage - $7.25 an hour - that shirt would cost $4,197.25.

[…] with clothing that expensive and hard to make, every item was something you wore until it literally disintegrated. Even in 1800, a farm woman would be lucky to own three dresses - one for best and the other two for daily living. Heck, my mother, in 1930, went to college with that exact number of dresses to her name… This is why old clothing is rare: even the wealthy passed their old clothes on to the next generation or the poorer classes. The poor wore theirs until it could be worn no more, and then it was cut down for their children, and then used for rags of all kinds, and then, finally, sold to the rag and bone man who would transport it off to be made into (among other things) paper.

So we have:

  • Spinning rate: 4 yards per hour
  • Weaving rate: 2 inches per hour

Meanwhile, modern rotor (open‑end) spinning machines can run at yarn delivery speeds of up to about 200 m/min per spinning position, as specified in manufacturers’ technical data for current models. To put it into the same units as above, that's 13,123 yards per hour. But that's not all: most of these machines have up to 600 spinning positions, meaning that, when manned fully, they could produce 7.8 million yards per hour. Let's stick with a one person to one person comparison, though. 13,123 yards per hour compared to 4 yards per hour is still a staggering difference. Even if we use a more generous figure, like 330 yards per hour, that's still a 43x increase in speed.

Similarly, if we look at the specs of a random modern air-jet loom, we see a weft insertion rate of 2280 meters per minute, a weft density range (pick per centimeter) from 5-60 (we'll use 40 picks per centimeter, which corresponds to a high quality shirt), and we have a cloth width (from above) of 36 inches. Converting this all to common units, we get 2280 m/min, 4000 picks/m, and 0.9 m width. To calculate the fabric output rate in m/min, we do 2280/(4000*0.9) = 0.63 m/min or 37.8 m/hr. Compared to two inches per hour, or 0.06 yards per hour, we have a 630x improvement — and again, this is ignoring that air-jet looms have multiple stations as well.

If we applied that to our times, we get 500/43 = 11 hours for spinning, and 72/630 = 0.11 hours, or 6.6 minutes. At minimum wage, that's $80. (Factor in the multiple places at each machine, and you can quickly get it down to real world levels.)

Notice also that while the pre-industrial shirt calculation assumed 25 threads per inch; this converts to a thread count of 50 (ends per inch + picks per inch). Meanwhile, 40 picks/cm corresponds to 101 picks per inch, and converting that to a thead count, we get 202. So the shirt we're making for 52x cheaper is also double the quality. Not only did shirts get cheaper, but they got higher quality, too. No longer did each of us get a maximum of 3 outfits, total, all of them rough and course, that we had to pass down until they turned to rags.

To further drive this home, as this paper shows (good summary from a blogger here), one of the key things that the industrial revolution did for textiles was primarily drop the cost of the highest quality fabrics, by almost 90%. The rest did drop as well, but this is not a story of things purely getting cheaper. You can see, too, that it didn't take up until the modern day to see a quality jump and price decrease due to industrial textiles, either: the benefits were seen almost immediately.

Would we all be better off if the Luddites in Lancashire had successfully fought back against the spinning jenny, the spinning mule, and the power loom? The same applies more generally to the other Luddites, although I won't bore you with more calculations. Would we be better off if the Luddites in Nottinghamshire and the Midlands had won and put an end to the use of stocking frames and lace frames? Those in Yorkshire had won against the shearing frame and the gig mill?

Applying Luddite logic universally would make society significantly worse across the board: if we had remained a pure small-time craftsperson, artisan, small-shop economy, everything would be far more scarce and expensive, making it much more difficult for people to obtain food, clothing, and necessities, let alone leisure items; jobs would have been less accessible to people who didn't have the time, resources, or connections to get in good with the guild and learn a skilled trade; and more of the economy's labor would have to be devoted to fewer more fundamental things, instead of being freed up to work on new things that expand the range of human experience and capability.

Obviously, the industrialization of jobs leads to workers having less autonomy, less bargaining power, and a greater likelihood of exploitation. But the solution seems to be a broader class struggle against abstentee ownership of the means of production, toward worker cooperatives and better labor regulations, not preventing industrialization in the first place.

Additionally, people often cry out against inevitabilism, but automation benefits society so strongly — making things cheaper, more accessible, and more plentiful — and is so strongly incentivized by the logic of capital — that it largely is inevitable. Material incentives win out in the end, and it's a self-reinforcing cycle: those who manage to automate have more resources and wealth to push it further, something that Marx discusses in his “Fragment on Machines” from the /Grundrisse/. The Luddites failed; the state intervened and broke them, yes, but that the state acted at capitalists' behest shows how deeply invested capitalists are in this happening, and in time they would have lost anyway — even in a market of worker co-ops, those that had industrialized would've done better.

And I don't think, even if we could "win," that we should resist automation; as I've said, if we had consistently resisted all automation and job de-skilling from the start, we would all be worse off. Even those with higher-autonomy, more skilled jobs would have less access to material resources and fewer jobs overall—they would be worse off in some respects themselves. Even if one argues that skill and autonomy matter more than material resources, even at the cost of all the mass produced goods that have greatly improved our lives that would not have been accessible otherwise, it would still be particular trade craftspeople benefiting at everyone else's expense – at the expense of humanity's future ability to expand our horizons, build new things, and our material wealth and access to it. This is one of those situations where the overall course and future of humanity as a technological society is in tension with desperately preserving existing privileges and organizations—interests that may benefit some people but not all.

The hypocrisy

The final biggest reason I find this framing undercut is that since the dawn of time, software developers have not been weavers, like the Luddites — we have been loom-makers. Our task has been to automate the work of others: to take jobs people once performed and encode them into a series of steps and branches so machines can do them instead, often removing the need for a person entirely; and even when a person is still involved, they are launching programs, inputting data, overseeing, and taking outputs from a machine that contains most of the skill and knowledge of the task: they perform a much easier, less skilled job around the machine, which reduces bargaining power.

New jobs may be created that are higher level and more complex, but that's not under consideration for Neo-Luddites at all; their concern is whether a particular arbitrary labor group does or does not continue to exist and how it fairs, and the progression of software automation has always been about extending its ability to do things that once required human reasoning and decision-making, by encoding more of that reasoning into the machine. Most software does not enable something truly 100% impossible before. At its core, most software is create, read, update, delete — a database. We did that with filing cabinets, forms, paperwork, vaults, organization systems, and people who managed and retrieved information. We just do it with computers now, and those people have been put out of work. New jobs have been created, of course; and new things that could not have been done while that kind of information management was slow, complex, costly, and imprecise have been enabled, but again, Neo-Luddites explicitly deny or ignore the wider economic benefits of such job loss from automation.

So now that the automation of loom-making has arrived, the loom-makers are now the Luddites? Those whose sole job has been the automation of others from day one are now suddenly against automation now that it threatens white collar jobs, especially their jobs? It's too convenient, and should tell you something other than morality is going on under the hood.

Hell, literally every advance in the past several decades of software development tradecraft and culture has been about the automation of software development work and the de-skilling of the trade, prior even to AI:

  • off the shelf GUI applications eliminating the need for some software to even be built or configured;
  • open source software meaning companies don't have to build their own, only configure it;
  • documentation generators and IDE code exploration features requiring programmers to have less situated knowledge, making us more replaceable;
  • high-level languages and frameworks requiring programmers to have less extensive, in-depth knowledge of hardware or even lower levels of the tech stack;
  • cross-platform GUI libraries making it so that one team of developers can write an app for multiple platforms instead of you having to hire multiple specialized teams;
  • React component libraries meaning that software UIs can be built out of reusable parts instead of everything having to be built from scratch for the particular project at hand;

Other than a few outliers, where were the complains then? Why is this different? We've already been choosing efficiency, convenience, less stress and effort, and less cognitive load over sticking to maximally manual tradecraft in the interests of labor leverage as some kind of moral crusade. Why stop now?

Thus, the fact that these software developers are taking such a big moral stance, referencing the Luddites against automation and de-skilling, when our job has always been precisely the automation and de-skilling of others, sincerely undercuts for me any possibility that this is anything more than a selfish, trade-specific attempt to cling to power, especially given how historically overprivileged software development has been. Why was it okay to automate the filing clerk, but not the junior developer?

Conclusion

I say all this as someone deeply trained in software development who has been unable to get a job, largely due to massive layoffs said to be caused by AI—too many people on the market with no reason to pick me, especially since I had to drop out of college because of a disability. Even with a degree and a better market, I would be the exact type of person on the chopping block: a junior. Though I have senior-level technical experience from more than a decade of intense study and projects, I would still be labeled a junior. Since I could not get a software job after AI coding emerged, I work as a meat packer at a local grocery store — a pretty industrialized trade even there — walking thirty minutes through snow each way at 7 p.m., working thirty-five-hour weeks despite my disability, living paycheck to paycheck. I am not speaking from a position insulated from consequences. I do not buy the moralization of professional programmers' struggle against the use of AI.

To return to Marx, in the "Fragment on Machines," Marx talks about the "general intellect" of society: how collective scientific, engineering, and technical knowledge, including the encoding of various trades, crafts, and skills in production would, through machines embodying the crystalization of that knowledge, become a direct force of production. Large language models are perhaps the most direct example of an embodiment of "general intellect" yet: literally pattern matching, synthesization, and assembly machines generated directly from the sum total of almost all human knowledge. In response, Marx argued that the tragedy wasn't that machines replaced people, even via the general intellect; the tragedy was that all of the extra wealth was captured by capital instead of going to everyone.

I don't agree with Marx on a lot of things, but I do agree that the right move is to understand this technology and how to use it to the fullest to make ourselves as effective as we can be, in the short term, to prevent people who use it badly from replacing us, and, if labor struggle is soemthing you still believe in, to focus ownership of this new kind of means of production — through things like worker co-ops, open source and local AI models, etc — and distributing the weath that they will create.

Fundamentally, though, beyond all the long term economics arguments, the questions of strategy, the moral hypocrisy, I simply can't stand the reactionary, transcendental miserablist position displayed here, which views each new development of techno-economics as a moral affront, something to be blindly, moralistically rejected, resisted, resented; that sees no future possibilities, but spends its time only wishing to return to the time just before the last invention. That seeks to be a brake on the development and acceleration of things, instead of to work through it and adapt to it. I simply do not like that approach, the approach of saying we must stop this from happening, that we must desperately cling tightly to what we had before.