More from Craig Mod — Writer + Photographer
Roden Readers — There is sweat and then there is s-w-e-a-t and the out-of-doorsness in Japan is presently a natural machine that produces nothing but sweat and sweat and sweat and swelter. Dryness has been eradicated. Fire is impossible to start. Blowtorch any single thing and it will laugh in your face. The implicit ubiquity of moistness inspired Japanese dictionary publishers to excise “dry.” A useless word. The only sane response is to find a cool cave at the top of a mountain and hibernate until November. (Or go to Victoria, Canada, which I did; more on that below.)
Ridgeline subscribers — Man, it was fun talking with Kazunori Hamana back in January. He’s lived a bizarre life, seemingly one without a roadmap, though I suspect his laid-back, subtly-goatee’d vibes belie a cunning streak. He was welcoming and rough-edged in a disarming way. He lives out in the wilds of Chiba, in an area that feels like it may cease to exist without his presence in ten or fifteen years. Many lives ago, he lived in the wilds of Shibuya, running a select / used-clothing shop called “Blues” out of Ura-Harajuku (back when Ura-Hara was a place you’d catch whispers of on rogue Usenet forums, or in copies of TOKION snatched from Casa Magazines in the West Village, if anywhere; today it is splayed about TikTok like a glazed ham at Old Country Buffet) and driving around in a Ferrari. Now he drives a kei-truck and spends all the money he makes selling his incredible pottery on buying land and old homes on the Chiba coast, setting up artist residencies, creating space for artist communities to take root.
Ridgeline subscribers — Thanks for all the “Yo!“s last week. It looks like transmissions from mailbot2k are getting through. (Let me know if you see any “rendering errors” in your email clients; I think we fixed the Proton Mail issues.) FYI, because the last issue of Roden ended up in many a spam folder, let me also announce here a reading I’m doing next week: Wednesday, June 10, 2026, Malaprop’s Bookstore in Asheville, NC (RSVP at that link!) Hope to see you there!
Roden Readers — Hello from Crazy Weather Town. Is it spring? Some days it feels like it might be, for a few milliseconds. And then other days, no. No spring for you. The floor heating was on this morning and that felt good. Soon enough the sauna will be on over the entirety of the country. Tonight, 100 kilometer per hour winds. Also, Monday morning, more 100 km/hr winds combined with rain.
More in literature
The title poem in Anthony Hecht’s 1979 collection The Venetian Vespers is a dramatic monologue spoken by an aging American expatriate living in Venice. Across its roughly eight-hundred lines the speaker gives the impression of fleeing something left unstated – not a scandal or crime but his unsatisfactory self. In the sixth and final section he writes: “Ho fatto un fiasco, which is to say, / I’ve made a sort of bottle of my life, / A frangible and transparent failure.” The Italian can be translated: “I made a complete mess of it.” This indulgence in self-disgust continues: “My efforts at their best are negatives: A poor attempt not to hurt anyone, A goal which, in the very nature of things, Is ludicrous because impossible. Viscid, contaminate, dynastic wastes Flood through the dark canals, the underpasses, Ducts and arterial sluices of my body . . .” Here, Hecht makes an inspired transition: “. . . As through those gutters of which Swift once wrote: ‘Sweepings from Butcher Stalls, Dung, Guts, and Blood, Drown’d Puppies, stinking Sprats, all drench’d in Mud, Dead Cats and Turnip-Tops come tumbling down the Flood.’” Those are the concluding lines of “A Description of a City Shower,” a pastoral parody and my favorite among all of Swift’s poems, first published in The Tatler in October 1710. Pat Rogers in his edition of The Complete Poems (Yale University Press, 1983) tells us it was also Swift’s favorite. The final three rhyming lines are inspired. An early edition of the poem was subtitled an “imitation of Virgil’s Georg[ics].” Nearly as good as the passage quoted by Hecht are the lines leading up to them: “Now from all parts the swelling kennels flow, And bear their trophies with them as they go: Filth of all hues and odors seem to tell What street they sailed from, by their sight and smell. They, as each torrent drives with rapid force, From Smithfield or St. Pulchre’s shape their course, And in huge confluence joined at Snow Hill ridge, Fall from the conduit prone to Holborn Bridge.”
The AI Pascal’s Wager Should you accept contributions generated by LLMs in your Open Source project? Let’s put aside for a moment all the ethical/ecological/societal considerations about the use of generated code (also known as "slop" if you don’t like it and "vibecode" if you do) in open source projects and consider it from a simple, practical, pragmatic point of view. There are basically three potential positions: 1. Mostly accepting LLMs as neutral tools that contributors could use (with safeguards or not, with policy of human reviewing or not). The middle ground (position 2) may seem like the most rational position to take. It is also the default. Let’s wait and not decide too quickly! But what we can learn from Debian is that nobody is really happy with it. If we think about it from a longer-term perspective, we can infer that the middle-ground position is unsustainable. LLM generated contributions will eventually slip in despite some guardrails such as "human review is mandatory". The longer a project stays in the "middle ground", the more ineluctable the slop infection becomes. Which is to say: not choosing or trying to choose a middle ground is basically full support of generated code, but slower. It is effectively choosing position 1 (pro-AI) without being explicit about it. It is either naive or hypocritical. Instead of letting the world choose for you, I believe that each open source project is now facing a strong choice that has to be made urgently. Accept AI-generated contributions or not. This is not easy. Both choices will alienate some part of the community and some key contributors. That’s sad, but a project cannot please everyone. Now, contributors may argue whether pro-vibecode or anti-slop is better from a philosophical, ethical or pragmatic point of view. Nobody can decide what is best for a project but its key community members. Let’s try to think from a generic strategical point of view. What will be the effects of both positions on the project? Adopting AI PROS: More contributions and less time spent developing annoying stuff. While every study on the subject tends to conclude that using LLMs is actually slower than writing code yourself, let’s admit that advantage. CONS: Alienate a part of the community that rejects vibecoded software. In some FLOSS circles, that may include very influential users. Developing your project become increasingly dependent of on expensive and completely proprietary software over which you have no control. So, in the short term, adopting AI mostly alienates some community members and abandons your independence in order to improve some (perceived) productivity. Rejecting AI PROS: Strong support from the “ethical” part of the community (see the growing number of anti-AI software lists) Nothing changes. CONS: Alienate some contributors who really want to use AI. When you think about it, contributors who are completely turned away by the fact that they can’t use LLMs are probably contributors you don’t want in your project, even if you have a Debian-like “moderate use of AI” position. People who don’t want to contribute without LLMs are probably not able to review and understand the code by themselves (or they will lose that ability soon enough). To illustrate this, see the number of Pull Requests on Github were the author admits "not having the knowledge to test their own code". So refusing contributions from those people is probably more of an advantage than a disadvantage. More importantly, rejecting AI will not alienate any users. Nobody in the world is saying "I’m refusing to use this software because it was made by humans". The longer-term perspective One of the main problems with using generated code is that we still don’t know what impact it could have in the long term. What will the codebase look like when each contribution is less and less understood by humans? What if AI assistants become suddenly too expensive to use and nobody understand the architecture anymore? What if huge portions of your code are, in fact, copy-pasted from another project using a different incompatible license? Cory Doctorow compares slop to asbestos: it looks nice, shiny and it is easy to put it everywhere. But if you ever need to regain control or remove the slop, it will take years of work, at best. Your own version of Pascal’s wager While mass marketing is trying to instil a Fear of Missing Out hysteria, the most rational and pragmatic approach is to strongly reject all AI-generated contributions to your projects. For now. Someday, we might realise that LLMs are doing good in the world, that they are evolving toward ethical, reliable, sustainable solutions, and that people who use them are happier (try to read that sentence again without rolling your eyes). If that really happens, you could always change your AI policy. It will cost you nothing. But if you let the slop in now, you may regret it forever… You may be forced to abandon your project. On the other hand, if you refuse AI-generated contributions to your project right now, the worst very hypothetical regret you could ever have is "I should probably have done it sooner". The conclusion is simple: If you are AI-agnostic, the pragmatic course of action is to strongly refuse any AI-generated contribution to your project. Picture of a Pascaline by Rama About the author I’m Ploum, a writer and an engineer. I like to explore how technology impacts society. You can subscribe by email or by rss. I value privacy and never share your adress. I write science-fiction novels in French. For Bikepunk, my new post-apocalyptic-cyclist book, my publisher is looking for contacts in other countries to distribute it in languages other than French. If you can help, contact me!
If something feels wrong, it is useful to articulate very precisely why that is