> So far Opus 4.5 has been the one LLM that keeps mostly coding in a, how to say, predictable way even with a existing code base.
I find this to be true only if you have very explicit rules in CLAUDE.md and even then it still messes up.
I have "you will use the shared code <here>" twice in my CLAUDE.md as it will constantly write duplicate code.
Something that is also annoying is that if it moves some code somewhere with the intent to slightly modify it I've seen it delete the code, then implement from scratch, and then modify it to what it has been specified to do. This completely breaks tests. I then have to say "look at this earlier commit - you've caused a complete regression."
This is a workflow boundary problem showing up as a tool problem.
When changes aren’t constrained by explicit inputs and checkpoints, models optimise locally and regress globally.
Predictability comes from the workflow, not the model.
I have something similar that I built a long while ago. It's a large Do Not Disturb sign. There is a raspberry pi mini that controls power going to it. There is a corresponding daemon running on a PC that checks Discord call status. In call? Power to sign. Not in call? No power to sign. The client/server daemons are in Golang and communicate over RPC.
What does the pi do? Feels like something that could get replaced with an ESP32 if it needs to be remote or just an ftdi chip or some other usb to gpio if not
Allow the user to license the content that they generate. I can write a novel with Microsoft Word, and Microsoft has no claim over it -- why should any IDE tools be different?
I ended up building out a "spec" for Opus 4.5 to consume. I just copy-pasted all of the documentation into a markdown file and added it to the context window. Did fine after that. I also had the LLM write any "gotchas" to the spec file. Works great.
> The community is extremely polarizing. Not just politically, but even from just being a general contributor. Depending on who reviews your PR, you can have a very pleasant experience to a downright demeaning one. I get that every community isn't perfect, but after years of dealing with generally the same problem people, I just quit contributing.
God, I feel this. I ended up just stop trying to seek help because most of the time I'd come across the MOST self-righteous people I've ever met.
I don't think Nix will ever be easy to use because half the community genuinely does not care about their fellow human beings enough to write software for their fellow human beings.
> I don't think Nix will ever be easy to use because half the community genuinely does not care about their fellow human beings enough to write software for their fellow human beings.
This matches my experience as well. I’ve been trying to use nix either as a system package manager, package manager, or OS since 2019. It was first recommended to me in 2016.
I’ve tried to use it for C++, Python, and Flutter development. I’ve tried to use it on MacOS and NixOS.
There doesn’t seem to be any use case where it’s usable for regular people. I can use it, sometimes, but more often than not it breaks and fixing it becomes the project over the project I was trying to use it for, before I have to give up and abandon it for conventional, less aspirational but actually usable tools.
Just the other day it broke because of a MacOS beta update. The suggested fix in a PR to reinstall it didn’t work. The uninstall instructions didn’t work. In the end, after some manual fidgeting and more ad hoc suggestions on PRs plus some informed guesswork on my part having to do with the ca store at various stages, I was able to restore my install to functioning.
Every time I ran the install it was text-based and filled my screen with intermediate commands and asked me whether it should execute some command that nobody but a POSIX skilled person would understand. Even after trying to tell it not to bother me.
The community has seemed obsessed with flakes that will fragment the ecosystem and lock nixpkgs into backwards compatibility (to some practical degree). Meanwhile when I tried to contribute back to nixpkgs, and an update broke my patch (a derivation that made specifying application derivations roughly as easy as homebrew), no one on the forums could tell me how to fix it.
Now it seems like the community, or some fraction of it, is chasing social perfection while their own tool is in such a half-baked state that I can’t recommend it to anybody, and almost nobody technical that I interact with recognizes it.
Meanwhile, in the time that nix has been…doing whatever it’s been doing, docker has become the de facto standard for reproducible environments. It’s hypothetically not as good, but practically it’s a whole lot easier to use, so now nix has to push back an entrenched competitor if it wants to become more than just this weird niche tool that nobody’s heard of.
I guess if the community doesn’t care if people use their work or not, I can’t blame them if they want to spend their free time on theoretical solutions. But it seems more inability to recognize other people’s hardships and arrogance rather than intentional neglect.
Someday I really hope someone figures this out, because having a cross-platform cross-purpose cross-language declarative package manager would be awesome.
EDIT: Also, one thing that’s bothered me about the recent Nix drama has been how they treat their “own” people. What I’ve heard or seen project leadership or moderation doing has come across as capricious, spiteful, and entitled towards people who have invested huge amounts of time into Nix; regardless of the politics of the individuals involved.
It’s turned me off from continuing to invest in Nix either as a contributor or a user (I was even questioning fixing my preexisting install, but I figured deciding on an alternative and switching right then would take more time). I’m hoping an alternative comes to light, or somehow I’ve misjudged the situation.
I've been having success with Silverblue as an alternative to NixOS (Bluefin, to be specific). Still using home-manager, but the stability has been just as good as LTS NixOS releases.
That simplicity can lead to more complex and hard to read/support code.
For example, to encode a JSON structure with a dynamic top-level key you need to write a custom marshaller OR marshal twice. That's... awful. Like bonkers level insane.
I'm currently an American who might move to the Netherlands if my interview goes well enough. The projected salary that I'll have is 105k euros. Reading around, this seems like a relatively okay rate given cost of living. I'll be leaving a decent amount of money on the table from my current job but I'm relatively young and want to use the opportunity to be in Europe for a two to five years before returning to the states.
Is there anything about your personal experience in the Netherlands as an American engineer that you could share?
I find this to be true only if you have very explicit rules in CLAUDE.md and even then it still messes up.
I have "you will use the shared code <here>" twice in my CLAUDE.md as it will constantly write duplicate code.
Something that is also annoying is that if it moves some code somewhere with the intent to slightly modify it I've seen it delete the code, then implement from scratch, and then modify it to what it has been specified to do. This completely breaks tests. I then have to say "look at this earlier commit - you've caused a complete regression."