Recent submissions

Comment · 14 hours ago
Agreed that it's not a configuration issue (and I think so does the person you're replying to), but interestingly this isn't a filesystem issue (unlike the case-sensitivity stuff). NTFS itself can handle colons in filenames just fine! It's just Windows that freaks out about it.
Comment · 23 hours ago
Most blind and visually impaired people use Windows. The options there are also terrible in lots of ways (resource hogging, apps crashing, general bugginess and lagginess), but the end user applications the (generally third-party) accessibility aoftware supports form a more complete catalog.

For my visual impairments, macOS is currently fine, because I only really need magnification and I can get away without using much of it since everything I really deal with is free flowing text, like in a terminal or IDE. But as I need to rely more on screen readers, I anticipate I may have to consider switching. Switching to something other than Linux would break my heart, though.

Comment · 1 day ago
Afaict that's an issue with your operating system, not with tangled's git implementation. You're trying to check out a file with a colon in its name, and Windows can't handle that because of DOS baggage. If you mirrored that to GitHub or wherever and then tried to clone, you'd probably get the same error again.

Try cloning on WSL, in the VM's filesystem, and let us all know how that goes.

Comment · 3 days ago
Not a book (you don't really need a whole book for such a small language!), but this is the classic resource: https://nixcloud.io/tour/

Then the things you need to learn in order to read and understand most Nix code is just the stdlib, which is most convenient to browse here: https://noogle.dev/

Beyond that, it's all just conventions that are covered well by reference material. So those two are all you need in order to find your footing when it comes to the Nix language.

(For a tutorial overview of the whole ecosystem, nix.dev is the best entrypoint. For the build system or an introduction to some of the basic "internals", you want The Nix Pills. And in general, the best thing of all to read when it comes to Nix is Nixpkgs itself. :)

Comment · 3 days ago
Comment · 9 days ago
> plenty of middleboxes freak out when they see DNS packets with DNSSEC records in them. People see this and want a best-effort system that uses DNSSEC in the majority cases where it does work

Who? Companies whose audiences are certain kinds of corporations?

Comment · 9 days ago
An imitable killer feature isn't a moat, so the terms shouldn't be used interchangeably. And moats are often sort of broadly anti-social, or at best a necessary "cost" of letting the work get done. Network effects and platform advantages are that way, for example.

But I would think that as hackers, when we praise a programming language, we often have in mind virtues that are freely transportable to other programming languages; intrinsic achievements that can be learned from and applied broadly.

I want my programming languages to be lovely, concise, clear, expressive, powerful, fun, insightful, mind-bending, illustrative, flexible, convenient, well-integrated, well-founded, efficient, safe, or helpful. I don't want them to have moats. I don't want to have to say "I'm using this because I (or my industry) started using it years ago and it's sticky"; I want to be so lucky as to get to say "I'm using this because it's good"!

Maybe a minor semantic dispute in the eyes of some, maybe a kind of excessive literalism on my part, maybe a futile resistance to to concept creep, old man yelling at cloud.

But ykwim?

Comment · 10 days ago
Why would a programming language need or want a "moat"? The whole idea of a "moat" is a feature of certain kinds of business strategies. A programming language's task is to be useful, not somehow preempt or delay or undermine competition through its positioning.
Comment · 10 days ago
I'm in a similar position. I can see a hell of a lot. But I have some problems, and I get lost in shitty, 'modern" UIs.
Comment · 10 days ago
It's kind of the opposite. The more typical Unix nehavior is to just assume you knew what you were doing and meant it, and not ask for confirmation in the first place. -y is just the reversion of an abberation.
Comment · 10 days ago
> LiteLLM is frequently used in roughly the same scenario - trading virtual LAN-only keys for real ones as it relays requests to the inference providers.

LiteLLM isn't a sandboxing tool so it just can't perform as much risk reduction even when everything is working as intended.

And what nono adds over sandbox-exec is a uniform interface across platforms and some policy management tools. You can impose the same restrictions via the OS built-in mechanisms yourself via Seatbelt or a built-in interface like sandbox-exec. You can also combine an OS-level sandboxing tool like nono, zerobox, Anthropic's srt, Seatbelt, landrun, Bubblewrap, Fence, etc., with a VM-based one like Docker's sbx, smolvm, krunvm, microsandbox, or Shuru. So now you need two simultaneous supply chain attacks in unrelated projects to line up just right at the same time.

"Eventually you have to trust some part of your security stack" is neither particularly interesting nor evidence that there's no way to defend against supply chain attacks. Even if you only have one sandboxing tool and it's OS-level rather than VM-based, that becomes a single part of your stack that you can give special attention to in evaluating updates in a way that LiteLLM can't be.

There's also just the empirical fact that at this point, trusting LiteLLM's maintainers to lock down their release pipelines looks foolhardy. This is the second supply chain attack they've had in 7 months. It's absolutely wiser to choose a sandboxing tool you like, audit it to examine its release pipelines, code signing requirements, attestation strategy, and whatever else, then put LiteLLM inside that tool's sandbox than to just thow your hands up and say "I gotta trust something, so it might as well be LiteLLM!". Maybe nono ain't it either, idk. I'm still experimenting to figure out how I want my setup to work.

But I think neither the defeatism nor the relativism in this thread are very compelling.

Comment · 10 days ago
> All the sandbox-exec and all the Lulu rules are not going to protect against something like this.

No, you can block this with sandboxing tools. For my LLM agents, I use a tool called Nono, whose macOS implementation is built on the same foundation as sandbox-exec. One of the key features it supports (and it's not the only tool that does this) is proxying and the injection of credentials via the proxy. For example, when I run Codex at work, Codex does not have access to my Azure AI Foundry API credentials. It sends out requests via dummy credentials, and the proxy injects the real ones outside the sandbox.

The other thing that proxy does is let you restrict network access in various ways. So you can run something like LiteLLM so that it doesn't have access to the internet at large; it can only talk to Azure AI Foundry or AWS Bedrock or whoever your inference provider is. You sandbox LiteLLM separately from your agents, and you give it access to much less. The software firewall stuff isn't perfect but it is a significant defense against things like this.

There are also lots of other restrictions that are easy to do which mitigate this. Nono blocks access to the root of $HOME, then selectively allows access to paths within it, and also explicitly blocks access to common paths to secrets. So it's pretty easy to make sure that access to important things are blocked: SSH credentials, GnuPG socket (and local Unix sockets in general), local OS keyrings, etc.

The way I use tools like this is exclusively by writing policy, testing it, and revising where the policy is inadequate. I never get approval fatigue because I don't do approvals.

You're right that attacks like this are hard to defend against, and that we're used to tool sprawl, and also that LLMs can do things like install tools we don't expect them to themselves! But there are ways to anticipate and mitigate attacks like this. Sandboxing tools (including contained and VMs) that support credential injection are genuinely useful for this.

Comment · 13 days ago
I think there are several kinds of empathy failures in play in situations like the ones you describe. One is the defensiveness/protectiveness/favoritism thing you highlight. Another is a kind of mind blindness in a dog owner's assumption that because it's obvious to them that their dog's body language is benign, it must also seem benign or tolerable to everyone. Another is an idea that fear or discomfort is only worth accommodating if it's reasonable or rational, or something like "my irrational fears should be honored and soothed, but the apparently irrational fears of others are ridiculous and should be dismissed or mocked". Another still is a kind of lack of empathic imagination, failure to consider cases like yours where an allergy means that close contact will fuck up someone's day no matter how benevolent or gentle the dog is; just a general failure to imagine the upset stranger might have a good reason that doesn't strike us as obvious.
Comment · 13 days ago
My dog barks at runners and he's scared of cyclists. But he loves delivery workers because when he was a puppy he was very excited to meet everyone, and whenever I had something delivered, we would use it as an opportunity work on his door manners: I'd open the door, ask the delivery driver if it was okay for my puppy to meet him, and then if they said yes, I'd give him permission to go out.

I also enlisted delivery drivers as confederates in working on his fear of large motor vehicles! I'd explain that he was scared of trucks and ask if they were willing to feed him some treats from the vehicle. If they agreed, then I'd hand them some treats, go inside to get the dog, and then my dog and I would "discover" that the truck had a nice person inside who wanted to give my dog good things.

My dog loves cats, and it's not an accident. Even though I've never had a cat, I made sure to introduce my dog to cats when he was a puppy. I even made sure to introduce him to cats who were unaccustomed to living with dogs, and unfriendly or indifferent cats who didn't feel particularly inclined to tolerate him in their personal space, because I wanted him to learn to recognize and respect the signs of a cat's discomfort. (Some of that was ultimately undermined by time he spent in the company of my dog sitter's excessively tolerant cats, lol. He has arrived at the mistaken belief that monotonously barking at a cat is a good way to entice it to chase him, which can make him insufferable around cats who aren't interested in him.)

My dog is very small. He's never bitten anyone. But when someone at the park tells me they're afraid of dogs, I still make sure we keep our distance.

I'm sorry for the bad interactions you've had with dogs and the careless owners you've met who have subjected you to frightening or even dangerous encounters with their dogs. That's legit terrible.

But anyway I made an effort, sometimes more successful and sometimes less successful, to try to make my dog well-behaved towards every group you mention. Where I've failed to do so I manage him to keep him away from those critters and people who would rather avoid him. And I think even when people don't do all that, it's more lazy selfishness than it is hate.

Comment · 15 days ago
The "data information" section ultimately says that a mere description of the training data is sufficient, which is the dilution on the part of the OSI that the FSF and SFC have criticized. I'm aligned with that criticism.

As for the "open source license" issue, you need the four fundamental software freedoms with whatever is distributed, just like with conventional open-source software. The OSAID enumerates a formulation of each of all four, but this is the one that this release fails to meet:

> An Open Source AI is an AI system made available under terms and in a way that grant the freedoms to¹ [...] [u]se the system for any purpose and without having to ask for permission.

> 1: These freedoms are derived from the Free Software Definition (https://www.gnu.org/philosophy/free-sw.en.html)

(The footnote is theirs, not mine.)

So the OSI agree with me that these weights cannot be considered, in their terms, "open-source weights". Our disagreement is that I think the training data itself should be considered a necessary part of a bona fide open-source ML model.

I think the answer to ethical concerns about releasing training data that involves data that carries privacy restrictions, like medical data, is that such models cannot be free/open-source. I think that's okay; it's okay to acknowledge that not every machine learning model in the world can be open-source. Eve the FSF, who are generally hardliners about using, let alone producing, non-free software, admit the ethical use of non-free models under just such circumstances. They just so so without blurring the distinction between free and non-free, which is the tack I wish the OSI had taken.

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton