25,835 karma · joined August 31, 2009
Please be respectful in these conversations—I’m interested in hearing more about this, but the comments you’ve been making are emotionally charged and insulting.
I’m interested to hear what file manager you’re using because it sounds like you’d hate Explorer, Nautilus, and Thunar too. Sorry for repeating the question—but I’m not going to accuse you of “conveniently ignoring” the question. Accusing someone of conveniently ignoring a question is, I don’t know, at best just rude. Don’t do that.
I know that there are things that Finder is not good at, that’s fine by me. What baffles me is the comparison with Windows Explorer, and that’s why I responded, and that’s the context for my comments. If you have a comparison with a specific other file manager in mind I’d like to hear it. For my use cases, I am often sorting through large quantities of media files, so I value things like column view and Quicklook.
(Copy without extension is enter, command-C. Full path 95% of the time, I am pasting into the Terminal, and so I drag it in, and the terminal automatically escapes it.)
Things like, “In a Real Pro file manager, you can double-tap C to copy a filename, but in Finder, you have to press command-C.” Do you see why I’m a little disappointed by this list?
I’m interested to hear what file manager you’re using because it sounds like you’d hate Explorer, Nautilus, and Thunar too.
Finder has column view and quicklook. If there’s something that I’m missing out on from, say, Explorer or Thunar or whatever, I’d love to hear it. Whenever I have to sort through a lot of files on Linux or Windows, I get a better experience by exporting a SMB share and sorting on a Mac.
The only file managers that I’ve used that felt competitive with the Mac are tools like Midnight Commander (or the original Norton version).
I honestly think it is a matter of what you like rather than what is good or bad.
When I do this, I can have it use cheap subagents with models like Luna to read the relevant files.
In general I assume that attribution to AI is approximate. People copy-paste things out of chats and those don’t get attributed to the AI. And on the flip side, I’ve had AI write a commit, and then I’ve reverted it and written something different by hand (and it got tagged with an LLM session).
The AI attribution is approximate and informative. The commit message and authorship are the more important parts.
You may be concerned that people will think your commits are LLM-generated. I’m sorry that you have to work in that environment, but I don’t work in an environment like that and I don’t share your concerns.
I still get to control whether other people can see the session, but I don’t lose it.
I don’t get the “unprofessional” argument. This is attribution. Attribution is professional. If you don’t want it, you turn it off or rewrite the commit messages. If you are having Claude write the commit messages FOR YOU and you are NOT READING THEM then that’s what’s unprofessional. I am honestly kind of shocked and disappointed by how upset people are by this.
> we simply need a code pointer and static chain pair
The code pointer and chain pair needs an object layout. You would have to pick a specific layout, and it would not be compatible with other languages that have a different layout.
Right now I can do this:
struct a {
void (*fun)(void *ctx);
int data1;
int data2;
};
struct b {
void (*fun)(void *ctx);
void *ctx;
};
And I could call them: struct a *aptr;
a->fun(aptr);
struct b *bptr;
b->fun(bptr->ctx);
There is only one neutral, maximally compatible option here—which is to have the function pointer separate from the arguments you want to pass in, and pass them in explicitly.If you add closures to C you are making compatibility worse, not better.
Supporting closures, more or less, requires design decisions that are equivalent to choosing a specific layout for objects in an object-oriented language. C, as it is, makes none of these assumptions and you can translate a lot of different language ABIs into some C code (that may be clumsy). Keeping the abstraction that function pointers = pointers to entry points for functions, well, that’s frustrating for C programmers writing C programs, but extremely useful for interoperability.
There’s the basic infrastructure we know and love like S3, EC2, etc.
There’s the higher level but still basic stuff that just makes a lot of sense. I like ECS + Fargate, Lambda, DynamoDB, SQS.
And then there are the tarpits. CloudFormation. Cognito. Step Functions. API Gateway. They do something useful (otherwise why would they exist?) but the main point of their existence seems to be to trap you in AWS, and the fact that they solve a problem seems secondary. Some of them are cheap (CloudFormation is free!) but in general they seem like expensive alternatives to simpler, cheaper solutions.
I have photos I’m genuinely happy with, years later.
I believe you. Do you believe me?
> At that point, NixOS just clicked and I'm far more productive with 30+ hosts than I used to be with 1-2.
There’s not much room for improvement in my own productivity here. The amount of time I spend maintaining these hosts is not large to begin with.
> This sounds like you're branching into territory that can no longer be reasonably framed as NixOS vs. Debian (or other distro of choice).
I was never talking about NixOS in the first place!
“Rebuild everything in one command and have it work” is not something that I’m chasing after and I am skeptical that it would work anyway. Maybe there is something I’m missing, but when I update the software, the updates come with changes and it’s possible that things break. My goals are to keep reasonably up to date and to be able to fix things quickly if they do break.
Regarding Nix complaints:
Package maintenance is kind of a crapshoot. Maybe your package is in nixpkgs, maybe there is a flake for it, maybe you find something that is actively updated, maybe not. Maybe there is a package but half the features are turned off because the maintainer didn’t bother. Maybe there is a package but half the features are turned off on macOS for unknown reasons. What I want is just to know what level of distro-level maintenance the package has, including its transitive dependencies.
Docs are just kinda bad. Fragmented across different sites. Docs teaching you Nix forwards or backwards, or teaching old Nix, or teaching Nix with flakes, or teaching you Nix for end-users or developers or package maintainers, or Nix on Mac or NixOS. A surprising number of broken links. What I want is one site, with a little drop-down menu to select the version I am using. What I have is hours spent on the NixOS Discord trying to figure out how to do basic stuff.
There could be similar issues with NSS but I think more people are ready to bypass NSS altogether.
Meanwhile, my company is using Nix for everything heavily internally. Everyone gets their dependencies via Nix unless you are like using PAM or something.
Reminds me of Bazel, in the way that it gets adopted by companies with developer support teams (because it solves real problems) but feels frustrating for us ordinary folk. Nixpkgs is kind of a critical part of “ordinary folk” and with the core team disbanding, I feel like my personal moves away from Nix (for projects) are proving correct.