LLMs and Xfwl4

Gualdrapo1 pts0 comments

LLMs and xfwl4 –

Brian Tarricone

LLMs and xfwl4

Posted on July 27, 2026 at 21:08 in<br>ai, llm, oss, software, wayland, xfce, and xfwl4

I was planning to write a little about my usage of LLMs while building<br>xfwl4 as a small section of a<br>larger blog post, but I decided I’d rather get it out of the way on its<br>own.

While LLM usage can be polarizing in the context of open source, I don’t<br>really see it that way. It’s a tool, like any other. It has good parts<br>and bad parts. On the bad parts, there are three things that stick out<br>for me:

Training Data and Copyright

Among other sources, LLMs were trained on publicly-available data,<br>without the permission of any of the rightsholders of that data. That<br>especially smarts since I have a lot of open source code out there, much<br>of it licensed under the GPL. Is training an LLM on my code copyright<br>infringement? If someone gets output from an LLM that looks<br>substantially similar to my code, and they don’t know and don’t follow<br>my license terms, is that copyright infringement?

And if it goes the other way, if output I get from an LLM looks very<br>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<br>long as the entity doing the training has legal access to the data<br>they’re training on. As for the rest of it, I’m not sure that’s legally<br>settled yet.

On top of that, it sometimes feels icky that companies like OpenAI and<br>Anthropic are making money off of all this when all that data out there<br>– for which they mostly paid nothing – makes it possible.

I don’t, however, think the best response for myself is to just pretend<br>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<br>data centers are being built, along with the associated power plant<br>upgrades, are often getting stuck with some of the bill for those<br>improvements, which is disgusting.

The secret deals between datacenter companies and utility companies,<br>often with municipalities complicit, are often leaving regular<br>ratepayers out to dry. That’s a local problem, and I hope those local<br>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.<br>I was planning to upgrade the mainboard in my laptop this year, which<br>would require new RAM (my current board has DDR4 in it), but the cost of<br>64GiB of LPCAMM2 DDR5 makes my eyes water.

The consumer RAM market has been hollowed out; several companies have<br>either stopped making consumer-grade RAM entirely, or have severely<br>restricted supply in order to make more money selling to datacenters and<br>AI labs. That’s capitalism at work for you, at the expense of regular<br>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<br>a half. I’m not comfortable with it, but the utility is just too great<br>for me to take a principled stance here. I like it, and I want it, so<br>I’m using it. Maybe that’s morally questionable, or worse. But, as I<br>said: here I am.

xfwl4 and LLMs

So yes, I use Claude quite a bit while developing xfwl4. I don’t<br>vibe-code, ever, and I probably use the LLM to generate less code than<br>most people do. After all, building things with code is my hobby and<br>passion (and I’m lucky I got to do it professionally for a quarter<br>century), and driving an LLM is kinda boring.

Research and Planning

Most of my time with Claude Code is research and planning. One great<br>match for LLM use here is helping me understand the finer details of<br>xfwm4, since xfwl4 needs to duplicate all of its behavior. One common<br>prompt of mine:

look at the xfwm4 source in detail and determine everything there is to<br>know about $FEATURE. write up a plan for how to implement it in xfwl4<br>to notes/$FEATURE.md.

I go do something else for a while, and when it’s done, I read the doc,<br>and then spend a while asking Claude questions about it, and telling it<br>the things I don’t like and what I’d like to be done differently, and it<br>updates the doc.

Implementation

Most of the time I’ll start working from the notes doc myself, writing<br>the implementation by hand. My guidelines for plan-writing to Claude<br>are to do things in phases, and so I’ll complete a phase at a time, and<br>then ask Claude to validate what I’ve done. Often, while I’m working,<br>I’ll decide to deviate from the plan, and I’ll have to tell Claude to do<br>the validation based on the outcome I want, not based on adherence to<br>the plan.

Once it’s done, I’ll use /code-review and let Claude spawn sub-agents<br>to do a full review of the new code. This usually finds some problems,<br>even problems that the “main” Claude instance didn’t find during its<br>validation. I usually keep running /code-review again and again after<br>finding and fixing issues, until there aren’t any left. I actually<br>haven’t been doing /code-review for very long,...

code xfwl4 claude llms while like

Related Articles