News for hackers. Stuff that matters.

black_knight

Re:ArXiv's Updated Rate Limit Policy on Friday October 02, 2026 @04:03AM (#49931014)
I agree fully that Arxiv is the principle publishing platform for mathematics. However, I have almost always gotten good value out of journal peer-review. It might just be that my sub-field is tightly knit, but I always receive thorough reviews with mostly good questions and suggestions for improvement. And I try to give the same when I do reviews of my own.

Even critical remarks are in the spirit of "You should do this better!", never the kind of gate-keeping bullshit I have seen in other fields.

Re:Windows 11½ on Monday September 28, 2026 @06:02PM (#49885074)
I dont even remember now why windows 2000 was superior to XP, but I ran it until I switched to Linux some time in 2004, despite having XP available too. Installed XP on other people’s computers though, FCKGW…
Re:What even is an OS now? on Saturday September 26, 2026 @06:22PM (#49861116)
capability systems, datalog… I will be all ears when you decide to speak about this!
Re:One Month Without AI on Saturday September 26, 2026 @08:08AM (#49855763)
My experience was similar to yours, upon till earlier this year. Now the code which comes out of Claude code is acceptable most of the time.

It usually takes me two or three iterations to get there though. Discussing design and principles before writing the bulk of the code is a must. And then a pass or two of review to weed out ugliness.

Still saves time compared to writing the code by hand. Especially for tricky things, where type checking and tests can verify correctness.

It does say Dillo is unsupported, though! Which is a shame. No mention of Mothra…
Re:PDF Forgeries Are Surprisingly Rare (2022) on Tuesday September 22, 2026 @03:27AM (#49797731)
Typos are so easy to weed out these days, I assume including them is a stylistic choice.
Re:How to Write with an LLM on Saturday September 19, 2026 @09:48AM (#49766592)
As I said. If you look not at the entire world, but say Northern Europe, reading literacy (a different measure from the literacy discussed in many modern sources which includes writing literacy) was almost universal by the late 1800s.

For instance, in Sweden, to cherrypick a stat, in 1875 only 1% of military recruits were found unable to read [1].

We really must stop thinking that people of yestertimes where so much inferior to people today. Yes, there were differences between men and women, but this was also starting to change.

[1]: https://history.state.gov/historicaldocuments/frus1876/d308

Re:How to Write with an LLM on Saturday September 19, 2026 @05:55AM (#49765006)
I use Fable to give me feedback on things I write. But I discard about 50%, because it often does not have the context and thus tends to favour hedging stuff. Also, it does not always vibe with my writing style.

But the 50% I do take into account, improves the text! And, like TFA, I never ask it for concrete text. It only helps me diagnose the issues, I prescribe the medicine!

Re:How to Write with an LLM on Saturday September 19, 2026 @05:06AM (#49764722)
> Yes, true, but in the 1800s, literacy rates were extremely low as well. Most people didn't read then either.

False, at least from an American or Northern European perspective.

In the 1800s reading was an extremely popular activity. Not something restricted to a few. Printing press had been around for ages and the majority of the population read.

Re:How my e-reader lost its stripes on Tuesday September 15, 2026 @02:50AM (#49708690)
I have in my Claude.md that comments must be diegetic, if needed at all. This seems to have helped. And it is then something which gets checked by agents in code review.
Re:A misalignment of AI in mathematics on Saturday September 12, 2026 @05:12AM (#49670514)
This mirrors my understanding when I use Claude code for mathematics. I can have deep discussions with it and it can solve my hairy problems. But whenever we go off the beaten track into design new mathematics, it struggles to make conceptual leaps and find the right definitions. Once I give it my ideas, it is back to its super-human pace and top notch intelligence.

This situation suits me fine, since I am anyways more of an ideas person, than a crunching open problems person. But I understand the desperation of my colleagues who mad solving hard problems their identity.

Re:Clay Mathematics Institute on the Navier-Stokes Problem on Saturday September 12, 2026 @04:20AM (#49670206)
The thing about mathematics is that it can be arbitrarily hard, including impossible to prove a given theorem.

I don’t know the details of RH, it might very well be solved soon, but it could also be impossible or just so difficult that even orders of magnitude more intelligent AI can’t solve it even.

If it is impossible to prove, it might be possible to prove that it is impossible to prove, or that itself might be difficult or impossible…

Re:Working with Git Worktrees in Magit on Friday September 11, 2026 @03:54AM (#49654938)
I think my layout is similar to yours. What do your scripts do?

My branches end up in a tree structure (no shit!), and I rebase and merge up stream as changes land. I guess it could be more automated, but the only tedious part is remembering to remove old worktrees and prune the old branches

Re:Version Control Second Coming on Thursday September 10, 2026 @04:06AM (#49640088)
Could you explain the connection you see a bit more?

Part of the appeal of the Plan 9 approach was that you could use any program in your distributed environment, written in any language, because the abstraction layer was the file system – the lingua Franca of IO.

Re:Version Control Second Coming on Thursday September 10, 2026 @02:05AM (#49639051)
Plan 9 had such a powerful model for networked systems using these virtual file systems, it sounds like a fairytale!

Oh, want to use that other machine as a gateway? Just mount its /net.

Oh, want to route audio through another machine? Just mount their soundcard into your /dev.

Oh, your machine is too puny to do the task at hand? Just run “cpu thebigmachine” which transplanted your entire environment over there (all the virtual file systems) so that you can continue doing what you were doing, but using that machine’s CPU and memory.

This solved the problem of having to transplant your setup to the remote machine, which you have with modern SSH. If you wanted a different environment you instead created it locally. Each process har its own virtual file tree with mounts.

There were cool things at the local level too: All the programs would expose virtual file systems to interact with. Text editor? Each window had a directory with files containing window content, current selection, even the UI “tagline” with commands. This meant you could write scripts for your programs in any language, because you just had to interact with files.

A modern take on plan 9 is definitely on my Christmas wishlist!

Re:Fermat's Last Theorem in Lean 4 on Friday September 04, 2026 @06:14PM (#49570866)
Kevin might not care, but I care more about building the foundation for future proofs and human understanding than I do about this particular result.
Re:Authorization Terminology Is a Mess: Let's Fix It on Friday September 04, 2026 @05:52PM (#49570675)
Indeed, that strikes me as a fine example of capability inspired design. The mechanism used is passing file descriptors, and for some reason file descriptors is the most "capability based" part of the Linux kernel.
Re:Formalizing Fermat's Last Theorem on Friday September 04, 2026 @05:44PM (#49570589)
Oh, I am quite sure there are inefficiencies! Just that they are not entirely inefficiencies.

I have used Fable for formalisation and it will, unless I catch it, reprove results it previously had proven, inline, in other results.

Re:Fermat's Last Theorem in Lean 4 on Friday September 04, 2026 @05:37PM (#49570525)
I wonder if any piece of the lean code is in a shape which means it could be contributed to one of the existing Lean libraries.

My experience is that it takes a lot of human input to make Fable write code nice enough for a formalisation library others can work on. But since this is certainly a lot of prerequisites formalised as well, it would be nice if not all of the effort was wasted on one capstone proof! (Repost of a earlier comment, but I feel it fits better here)

Re:Formalizing Fermat's Last Theorem on Friday September 04, 2026 @05:34PM (#49570494)
I wonder if any piece of the lean code is in a shape which means it could be contributed to one of the Lean libraries.

My experience is that it takes a lot of human input to make Fable write code nice enough for a formalisation library others can work on. But since this is certainly a lot of prerequisites formalised as well, it would be nice if not all of the effort was wasted on one capstone proof!

Re:Formalizing Fermat's Last Theorem on Friday September 04, 2026 @05:31PM (#49570468)
A human can cite previous published results. I am sure a lot of this development was formalising the prerequisites.
Re:Authorization Terminology Is a Mess: Let's Fix It on Friday September 04, 2026 @05:15PM (#49570324)
"utter" meaning writing in the code, and "transfer" as in pass between functions/objects/processes/machines.
Re:Authorization Terminology Is a Mess: Let's Fix It on Friday September 04, 2026 @10:49AM (#49565481)
First, I am talking about the capability based HTTP APIs I have worked on here. Not some imagined operating system. I can see if I get around to your question in the other sub thread.

But the point is, you would not grant access to a “path” or some such. You gain access to a collection of actions, described by types. It can be simple “get/set property” or more complicated actions, maybe involving capabilities to several things at once.

To mint such an access token the “admin” will have say how the actions are performed, and then pass the token to you. The client code then will have a typed set of actions it can perform using the token.

This does not mean that we compile in the specific rights of each user or anything, it only means that we must ensure a valid flow of rights in order for the whole program to compile. You can get a capability in two ways: you mint a capability for something you already can do (you are the admin and own the data base, say), or you receive it (via an API call, say).

There is definitely a knack to design the system with this kind of flow. But once in place it feels very natural, you get the right to do something just in time for your need to do it. Very much principle of least privilege taken to an extreme.

Re:Authorization Terminology Is a Mess: Let's Fix It on Friday September 04, 2026 @09:40AM (#49564499)
I would hate to argue over semantics. But in addition to the keys being checked automatically at run time, the type system ensured that, unless the capability had been revoked, illegal requests would not type-check at compile time. Which I think is pretty close to unutterable.

The keys were there to stop an attacker, the type-checker helps the good guys stay in line.

Re:Authorization Terminology Is a Mess: Let's Fix It on Friday September 04, 2026 @09:30AM (#49564360)
There a sort of “might makes right” principle here. If you can do it, you can mint a capability for it, which means you will perform the action when someone with that capability requests it.

A central authority is not a requirement. What is required is some way making sure capabilities are unforgeable.

This can be a central authority, which then has a completely mechanical task of registering capabilities and their ownership. But it can also be ensured “cryptographically” with a key.

The OS already has a capability system called “file descriptors”. Which works quite well, within its limited scope. This could be expanded out to more areas.

Re:Authorization Terminology Is a Mess: Let's Fix It on Friday September 04, 2026 @09:13AM (#49564160)
I have designed capability based HTTP APIs before, it took some work but the end result was ergonomic. Of course over the web the capabilities must be secured in some way. I opted for keys to prove that you can perform a given action.

So, “utter” there means make a valid request with a key. On both the client side and the server side the keys and validations were invisible to the business logic, they just carried objects as usual.

You created capabilities by registering a handler for the operation, and got back a token object you could hand out and even send over the api to those who were meant to use them. And the clients got these objects which they could just manipulate and keep around for making API requests.

The cool part was that you could never forget to do an authorisation check. The keys were automatically checked when the request came in. An API request handler would have no privilege itself, it would only call the key-validated handlers created when the capability was minted.

Re:Authorization Terminology Is a Mess: Let's Fix It on Friday September 04, 2026 @09:05AM (#49564061)
The point is to flip the burden of proof.

Instead of an authorisation system trying to find a reason to give you permission, you have to carry the proof in the form of a “verb”. Which you use when you perform the action.

Re:Authorization Terminology Is a Mess: Let's Fix It on Friday September 04, 2026 @06:20AM (#49562686)
I chose those words here because they are not programming language specific. For the OOPers, I guess you can imagine I said “objects” and “methods”.
Re:Authorization Terminology Is a Mess: Let's Fix It on Friday September 04, 2026 @06:17AM (#49562661)
You seem to understand it just fine.

Your accessor, dirB, should not contain the “upload files” verb, while your dirA accessor (noun) should.

My favorite example is the home directory and the file picker. Why should a program have access to all your files by default then politely ask you which file it should read/write to? It would make more sense if the file picker was something the operating system ran when a program wants to edit a file, and what came back to the program after you selected was the accessor for that file (with read and/or write verbs).

So the program only have access to those files you have it access to. It cannot even ask the question to open another file, because it only has opaque accessors to those files it has been given.

Re:Authorization Terminology Is a Mess: Let's Fix It on Friday September 04, 2026 @04:54AM (#49562174)
> can this subject perform this action on this object?

IMHO, the most elegant method to answer this question is capability based access control. If the subject can utter the action, then it can perform it. And then delegation is the transfer of nouns and verbs to perform the utterances.

Older »