cross-posted from: https://discuss.tchncs.de/post/64896415
For additional context, hereās Brianās previous blog post about the first preview release of Xfwl4, where he describes his history with Xfce and the sponsorship:
https://www.spurint.org/journal/2026/06/xfwl4s-first-preview-release
Here is the entire blog post regarding the LLM usage for mobile users, as it doesnāt format correctly on mobile:
LLMs and Xfwl4
I was planning to write a little about my usage of LLMs while building xfwl4 as a small section of a larger blog post, but I decided Iād rather get it out of the way on its own.
While LLM usage can be polarizing in the context of open source, I donāt really see it that way. Itās a tool, like any other. It has good parts and bad parts. On the bad parts, there are three things that stick out for me: Training Data and Copyright
Among other sources, LLMs were trained on publicly-available data, without the permission of any of the rightsholders of that data. That especially smarts since I have a lot of open source code out there, much of it licensed under the GPL. Is training an LLM on my code copyright infringement? If someone gets output from an LLM that looks substantially similar to my code, and they donāt know and donāt follow my license terms, is that copyright infringement?
And if it goes the other way, if output I get from an LLM looks very much like someone elseās code, did I infringe on their copyright?
Iām not sure! US law seems to suggest that training is fair game, as long as the entity doing the training has legal access to the data theyāre training on. As for the rest of it, Iām not sure thatās legally settled yet.
On top of that, it sometimes feels icky that companies like OpenAI and Anthropic are making money off of all this when all that data out there ā for which they mostly paid nothing ā makes it possible.
I donāt, however, think the best response for myself is to just pretend none of it exists. Itās a tool, and a useful one. Environmental and Social Impact
LLMs need a lot of space, electricity, and water. Communities where data centers are being built, along with the associated power plant upgrades, are often getting stuck with some of the bill for those improvements, which is disgusting.
The secret deals between datacenter companies and utility companies, often with municipalities complicit, are often leaving regular ratepayers out to dry. Thatās a local problem, and I hope those local people vote in representatives who will take better care of them. Supply Chain
I donāt need to remind anyone how expensive GPUs and RAM are right now. I was planning to upgrade the mainboard in my laptop this year, which would require new RAM (my current board has DDR4 in it), but the cost of 64GiB of LPCAMM2 DDR5 makes my eyes water.
The consumer RAM market has been hollowed out; several companies have either stopped making consumer-grade RAM entirely, or have severely restricted supply in order to make more money selling to datacenters and AI labs. Thatās capitalism at work for you, at the expense of regular folks who need to buy computing hardware for personal use.
But here I am, with a Claude Max 5x subscription for the past year and a half. Iām not comfortable with it, but the utility is just too great for me to take a principled stance here. I like it, and I want it, so Iām using it. Maybe thatās morally questionable, or worse. But, as I said: here I am. xfwl4 and LLMs
So yes, I use Claude quite a bit while developing xfwl4. I donāt vibe-code, ever, and I probably use the LLM to generate less code than most people do. After all, building things with code is my hobby and passion (and Iām lucky I got to do it professionally for a quarter century), and driving an LLM is kinda boring. Research and Planning
Most of my time with Claude Code is research and planning. One great match for LLM use here is helping me understand the finer details of xfwm4, since xfwl4 needs to duplicate all of its behavior. One common prompt of mine:
look at the xfwm4 source in detail and determine everything there is to know about $FEATURE. write up a plan for how to implement it in xfwl4 to notes/$FEATURE.md.
I go do something else for a while, and when itās done, I read the doc, and then spend a while asking Claude questions about it, and telling it the things I donāt like and what Iād like to be done differently, and it updates the doc. Implementation
Most of the time Iāll start working from the notes doc myself, writing the implementation by hand. My guidelines for plan-writing to Claude are to do things in phases, and so Iāll complete a phase at a time, and then ask Claude to validate what Iāve done. Often, while Iām working, Iāll decide to deviate from the plan, and Iāll have to tell Claude to do the validation based on the outcome I want, not based on adherence to the plan.
Once itās done, Iāll use /code-review and let Claude spawn sub-agents to do a full review of the new code. This usually finds some problems, even problems that the āmainā Claude instance didnāt find during its validation. I usually keep running /code-review again and again after finding and fixing issues, until there arenāt any left. I actually havenāt been doing /code-review for very long, maybe 6-8 weeks, as I didnāt know about it. I wish Iād done it from the start, as itās very useful.
Sometimes I will have Claude write some code for me. Usually itās when thereās a lot of boilerplate, or if thereās work that feels repetitive and tedious. Claude is generally a great fit for that, and I can both manually review the output and have a subagent do an independent review. Iāll usually keep CC in manual mode and approve every edit after reading it, but for some more mechanical changes, Iāll let it sit on auto for a while, and review when itās done.
Occasionally Iāll have it write more substantial code for me, usually for bug fixes, and occasionally for small features. I find it does a pretty decent job here, but I keep it on manual mode and often ask it to write the code in a different way, or take a different approach. Bug Fixing
Whenever thereās a bug, Iāll start looking into the code myself (I want to keep my debugging skills from atrophying), but in parallel Iāll also ask Claude to look into it, either by describing the problem, or pointing it to a Gitlab issue, if there is one.
Iāll admit that itās rare for me to find the issue faster than Claude does, and there were some issues where I was completely lost, and Claude figured out something in 10 minutes that probably would have taken me days. Tests
xfwl4 doesnāt have many unit tests, but Iād like to improve that at some point. Of the unit tests that do exist, they were al written by Claude. Iāve always found testing to be tedious, and never did a very good job of it. Claudeās tests are generally much more comprehensive than tests Iād write myself.
Iāve heard stories of people saying that Claude will change or delete failing tests instead of actually fixing the problem that makes the test fail, but that hasnāt (yet) happened to me.
xfwl4 also has a test-clients sub-crate that has a bunch of Wayland and X11 client apps for manual testing of various compositor features. I wrote the first Wayland test, using smithay-client-toolkit, but for the rest of them, I told Claude to write them for me, using my first test as a template. My LLM Strategy
I donāt really have one. I just run the best model available for everything (Opus 5, at the time of this writing1). I donāt write skills or other bits of automation. I expect some of that is indeed valuable, but Iām just not interested in it, so I donāt do it.
My usage isnāt high enough to ever hit my 5-hour or weekly limits on the Max 5x plan, so I just donāt worry about it. I started out with the Pro plan, but very quickly started hitting limits in the first 1-2 hours of the 5-hour windows, so I eventually upgraded after trying out extra usage for a bit and deciding Iād be spending more going down that route.
As I said above, I donāt vibe-code. I care about code quality and about understanding what Iāve built. I care about being able to maintain it in the future, manually, without needing an LLM to do everything for me. And Thatās Itā¦
Thatās it, I guess. I donāt think I would have made anywhere near as much progress with xfwl4 without an LLM. Itās easily saved me months of time, not in writing code (for non-trivial things, I can usually write it just as fast or faster), but in tracking down problems and helping me figure out solutions, whether thatās in Claude reading and reasoning about my code to find something thatās wrong, or in adding tons of targeted debugging prints to gather the information we need, and then sifting through the log file for me to do analysis.
I know this blog post is a tiny drop in an ocean of people writing about their LLM use, but I expect some folks might be curious about the development process behind xfwl4, so I figured a sort of disclosure was in order.
Itās been a little over a month since the first preview release of xfwl4, and Iāve fixed many issues and added new features since then. Hopefully I should have a new preview release in the next week or so, but you can clone the git repository to check out the current state of things for yourself, whenever you want.


This virtue signaling needs to stop. Yes, the implications for AI are extremely dangerous and foolhardly. Taking out the pitchforks on Brian, an extremely talented and well regarded engineer in the FOSS world, is completely missing the point. Itās akin to blaming drivers of gas vehicles for global warming. The impetus for change are on the systems that put these things in place, not a FOSS dev building a WM. The incentive structure of limitless growth at all costs in the IT sector and the unfettered power projection of capital are to blame here. Until youāre willing to do something to stand up to that, then weāre all just waving our dicks in the wind here. Posting is not praxis.
We get it, you correctly arrived at the conclusion AI is bad. Welcome to the club. Brian Tarricone is a professional and I have no reservations of the quality of this code. You might as well boycott the linux kernel because guess what, AI generated code is in there too.
Classic āit doesnāt affect meā (yet), so itās fine. Maybe youāll change your tune when you run out of drinkable water because data centers are pumping it on top of climate change.
How on Earth could you derive āI donāt give a shitā from āstand up to systems of oppression, donāt castigate individualsā? Do your eyes even work?
This type of name and shaming just doesnāt scale. You canāt recycle your way out of climate change. This type of thinking places the responsibility on the individual, who by very nature is powerless and whoās individual actions have essentially no effect on outcome.
These types of sentiments donāt scale well into change, but it certainly allows the person making the post to feel good and to let others know they think the right things.
Refusing to use the tools that profit the very thing we want to stop is part of standing up to it, how is that not obvious?
Weāre not talking about you, you can do whatever you want. Iām talking about publicly naming and shaming developers for using what is now a widely accepted tool.
Creating a callout post isnāt standing up to anything, itās just noise. You get special internet points for it, but it doesnāt mean anything and again, diverts responsibility from the people who built this fucking Torment Nexus in the first place.
The developer made this public post of their own volition, presumably for others to read and make up their own mind on. Itās not naming and shaming to alert others their DE is going to be AI coded in the future, or to point out the potential downfalls of the project adopting AI.
Come on now, you didnāt just cross post this over here without adding your own editorializing. We understand your take, it colors your opinion, thats ok. Donāt walk it back now. Own it.
I think itās quite clear Iām against AI use (especially in FLOSS projects) for the reasons Iāve laid out in the comments here, I make no bones about that. And you yourself are clearly pro-AI, and dislike arguments advocating against its use. You also appear to dislike the idea of individuals being able to contribute toward any sort of societal change with personal choices, instead much preferring to put the onus on a clearly corrupt government which is itself at the beck and call of the very AI companies weāre discussing.
Removed by mod
Use of literally any electronic or battery-operated device on the planet uses metals sourced from child and/or forced labor somewhere in the world. Unless youāre prepared to move off the grid and live in the woods, these type of arguments at higher levels are endlessly pointless IMO.
Itās definitely worth buying used wherever possible, and to repair electronics whenever possible to avoid unnecessary consumption (part of why Right to Repair is so important). Similarly, itās quite beneficial to switch to plant-based meats to avoid both unnecessary animal suffering and the carbon emissions and resource wastage that goes with industrial animal production (especially as those resources become more and more scarce due to poor crop yields and drought from climate change).
Itās often not possible to do either of those things 100%, such as it not being possible to be completely vegan/vegetarian due to a family member that isnāt on board with it, but itās still beneficial to do what they can, even if itās only 20, 30, or 50%.
Corporate AI usage, on the other hand, is one of those things that truly is completely avoidable with virtually no effort, and was something we all got along fine without just a few years ago. There are even more ethical self-hosted or decentralized non-corporate alternatives.
Someone deciding to ignore the harmful externalities of corporate AI is making a choice to prioritize their own convenience over helping prevent our planet from becoming extremely unpleasant for billions of people and animals to live on, or the financing of a fascist surveillance state.
You created an account a few minutes ago just to say individuals shouldnāt bear any responsibility whatsoever, and worse, that advocating for reducing the problem in a meaningful way is virtue signalling?
Your comment just so happened to grasp my attention. Thereās simply no need to resort to ad hominem.
Is the BP oil spill my fault because I drive a car to work?
All of us can try to take steps to reduce our fossil fuel use, either by trying to drive less, using public transport if available, or using an e-bike if viable. Individually the contribution is small, but collectively it can add up to help reduce demand, thus reducing the financial incentive to invest in oil or drill for more.
Of course we can, but thatās not how history works. People do what they will do based on their conditioning and material conditions. Of course not always, but enough where we can derive conclusions. Scolding and finger wagging isnāt going to fix this problem. If you think one sliver of the population of Earth gives one single solitary fuck about reducing their carbon footprint, I have a bridge to sell you.
Look, I respect you and your take, Iām not trying to be an asshole. I just genuinely donāt think your approach is a viable method of achieving what youāre saying.
History has shown that it does, in fact, work like that.
I can tell when Iām not welcome. Iāll see myself out.
Have a good day.
Where is the ad hominem? If youāre going to pretend to speak Latin, at least know what the fucking words mean, you absolute potato.
And in case it wasnāt clear, that was an example of ad hominem.
The above commenter was calling into question my character because I had just created my account today. The definition of ad hominem Iām familar with:
āAttacking a personās character or motivations rather than a position or argument.ā
The commenter seems to imply that because I created my account recently, that my argument is therefore somehow not valid. I would consider that the be an attack on my character or motivation, rather than addressing my position. Would you agree or no? May have been a bit of an editorial stretch on my part, but it certainly doesnāt call for you actually calling me names and insulting me. Iām just here for some banter. Your comment is obviously malicious, and I think youāre better than that.
Edit: yep, downvote and move on. Exactly what I thought. Classic potato behavior.
Removed by mod
deleted by creator
Nah, fuck Brian. Heās an AI using twat. No care for the environment, people, or IP thatās been stolen.
This AI apologizing needs to stop. Yes, the implications for AI are dangerous and foolhardy. Full stop.
I suppose youāll be moving off of Linux then, as the kernel devs have made their stance on AI quite clear.
Yeah, I donāt agree with Linusā stance at all. But the alternatives are macos and windows lmao, hardly a fair comparison. I do need some form of os on my PC, and Linux is still the best option. I donāt need xfce or xfwl however, Iāll just pick a different DE.
How easy it is to have maximalist positions on the internet, where they never have to come into contact with reality.
Why should I take what you have to say seriously when you canāt even be bothered to read the entirety of my post where I agree AI is bad and this doesnāt make it go away
I read your whole post, I just responded to the part I cared to respond to. Youāre saying you donāt like AI then defending it out the other side of your mouth. You donāt have to care about anything I say at all. This is the Internet where there are many things you can read and not take seriously.
If you are interpreting what I said as a defence of AI, then this conversation is useless because you are deliberately misinterpreting it at best, or at worst being deceitful in your rhetoric. Good day.