News for hackers. Stuff that matters.

mjw1007

Parliament can also impeach ministers. It hasn't bothered trying for about 180 years because a vote of no confidence is simpler, but it hasn't given up the power (and it's hard to argue that it's somehow fallen into abeyance through lack of use, as there's precedent for a gap of a couple of centuries between impeachments).
Re:Why Don't People Use Formal Methods? (2019) on Thursday July 30, 2026 @02:08PM (#49113538)
The physical replication docs say "the hardware architecture must be the same", though they don't define "architecture".
Re:Why Don't People Use Formal Methods? (2019) on Thursday July 30, 2026 @01:29PM (#49113033)
I think the postgresql maintainers don't claim to support moving a database from x86 to arm without a dump-and-reload. The docs tend to say "same hardware architecture". Though if they don't intend to support this case I think it's a shame if the pg_control checks allow the server to start after such a migration.
Re:Why I'm leaving GitHub for Forgejo on Wednesday May 13, 2026 @10:39AM (#48122558)
GitHub also centralises abuse detection. I'm not thinking about sophisticated attacks here so much as dealing with plain old spam. That's fairly easy to deal with on a tiny scale, and possible on a huge scale, but it's a great pain at a medium scale.
Re:The Two Kinds of Error on Tuesday March 03, 2026 @04:57PM (#47239624)
It's common that if you extract a function or a module with a well defined interface, that function or module can't tell whether a "bad" input indicates an expected or an unexpected error.

For example division by zero often indicates an "unexpected" error, but it wouldn't if you were implementing a spreadsheet.

So to me the approach of using different forms of error reporting for the two kinds of error doesn't seem promising: if you imagine you had to implement division yourself, which kind of error should it report? Should you have two variants of every fallible function so the caller can choose?

Not any more, according to this article you're commenting on, no.
Re:Debian's Git Transition on Tuesday December 23, 2025 @07:12AM (#46364675)
> If a package hosted by Fedora or Debian or PyPI or crates.io, etc claims to correspond to an upstream git commit or release, then the hosting system should build the package, from the commit or release in question plus whatever package-specific config and patches are needed, and publish that.

For Debian, that's what tag2upload is doing.

They weren't in any way attempting to rely on security by obscurity.

They didn't assume nobody would guess the URL.

They did take active steps to ensure the data was only available at the correct time.

But they didn't check that their access control was working, and it wasn't.

Re:Scoop: Judge Caught Using AI to Read His Court Decisions on Sunday November 23, 2025 @02:46PM (#46026658)
Is this a real judge, or is an "Immigration Judge" one of those not-actually-a-judge decisionmakers employed by the executive?
Re:A Note on Fil-C on Friday November 07, 2025 @04:14AM (#45844778)
I think what you've written is pretty much what the "almost all programs have paths that crash" was intended to convey.

I think "perhaps the density of crashes will be tolerable" means something like "we can reasonably hope that the crashes from Fil-C's memory checks will only be of the same sort, that aren't reached when the program is used as it should be".

Re:./watch on Saturday October 18, 2025 @07:31AM (#45626507)
It makes tab completion work.
One of the things that this group of "stewards" could do to get their costs down is get together and implement a high quality free software caching proxy that understands all their back-ends.

But that would compete with the commercial offerings of at least one of the organisations sponsoring that message. So I expect they won't do that.

It's clear from that bug tracker that you shouldn't let libxlst see untrusted stylesheets or xpath expressions.

I haven't yet seen a problem with running your own transformations against untrusted XML.

Maybe a new maintainer could aim to make the second case fully supported but not the first.

Re:Rust in 2025: Targeting foundational software on Saturday August 16, 2025 @06:52PM (#44927519)
There's still work being done on the Reference, which is being maintained in the same way as it has been since the Rust documentation team was disbanded in 2020. But it's a very long way from being either complete or correct enough to reliably answer questions about Rust-the-language.

After the "write a new spec" plan was abandoned in 2024 the next stated plan was to turn the Reference into the spec, though they never got as far as deciding how that was going to work. That plan lasted six months before they changed direction again. The only practical effect was to add the paragraph identifiers like [destructors.scope.nesting.function-body].

They're currently arguing about whether to write something from scratch or somehow convert the FLS[1] into a spec.

[1]: https://github.com/rust-lang/fls

Re:Rust in 2025: Targeting foundational software on Saturday August 16, 2025 @05:36PM (#44927095)
The plan described in "Our Vision for the Rust Specification", and the linked RFC3355, were abandoned early in 2024.

The team that was formed to carry out RFC3355 still exists, though it's had an almost complete turnover of membership.

They're currently engaged in repeating the process of deciding what they think a spec ought to be like, and how it might be written, from scratch, as if the discussion and decisions from 2023 had never happened.

The tracking issue for the RFC was https://github.com/rust-lang/rust/issues/113527 . You can see the last update was in 2023, at the point where it was time to start the actual "write the spec" part.

That's when it all fell apart, because most of the people involved were, and are, much more interested in having their say on the subject of what the spec should and shouldn't be like than they are in doing the work to write it.

Also vidir, which is in the moreutils package in popular distros.
It's supposed to be 10^5 W heating per square metre, and the aeroplane's cross-section is much smaller than a square metre.
Re:Serving 200M requests per day with a CGI-bin on Sunday July 06, 2025 @06:14AM (#44479396)
My mistake.

The support for writing CGI programs in Python is in wsgiref.handlers.CGIHandler .

Re:Serving 200M requests per day with a CGI-bin on Sunday July 06, 2025 @04:18AM (#44478819)
The Python maintainers are removing the module _named_ cgi, but they're not removing the support for implementing CGI scripts, which is CGIHTTPRequestHandler in the http.server module.

All that was in the cgi module was a few functions for parsing HTML form data.

Re:Libxml2's "no security embargoes" policy on Thursday June 26, 2025 @05:41AM (#44385727)
It would be better if there was a layer of maintainers between the free software authors and the end users that could act as a buffer in cases like this, in particular to take care of security vulnerabilities that genuinely need dealing with quickly.

Of course that's exactly what traditional Linux distributions signed up to do.

Clearly many people have decided that they're better off without the distributions' packaging work. But maybe they should be thinking about how to get the "buffering" part back, and ideally make it work better than the distributions managed to.

Re:Falsify: Hypothesis-Inspired Shrinking for Haskell on Monday April 21, 2025 @04:45AM (#43749662)
I agree it can be domain-specific, but I think it's more common than not that empty containers, and the number zero, are corner cases rather than typical values.

So I think it would be a decent quality-of-life improvement to make generators of the sort you suggest easily available, and have the tutorial docs use them from the start.

Re:Falsify: Hypothesis-Inspired Shrinking for Haskell on Sunday April 20, 2025 @06:51PM (#43747119)
I've found in practice that shrinking to get the "smallest amount of detail" is often unhelpful.

Suppose I have a function which takes four string parameters, and I have a bug which means it crashes if the third is empty.

I'd rather see this in the failure report:

("ldiuhuh!skdfh", "nd#lkgjdflkgdfg", "", "dc9ofugdl ifugidlugfoidufog")

than this:

("", "", "", "")

Re:Postgres Language Server: Initial Release on Saturday March 29, 2025 @08:08AM (#43514872)
I suggest it would be helpful if the README's intro expanded a little more on the project's scope. "for postgres" is a bit vague, and "focusing on developer experience and reliable SQL tooling." doesn't tell me much about what it actually does.

If I was coming to this project for the first time I think the questions I'd immediately like the answers to are:

- What language is this language server for? Is it just for SQL proper, or for PL/pgSQL, or writing C extensions, or what?

- What makes it PostgreSQL-specific? Is it just that it follows PostgreSQL's dialect of SQL?

- Does it expect to be told about your database's schema? And if so, do you tell it by giving it a database connection, or letting it see files defining the schema, or what?

Re:Rust Adopting Ferrocene Language Specification on Thursday March 27, 2025 @07:12PM (#43499320)
Re:Rust Adopting Ferrocene Language Specification on Thursday March 27, 2025 @06:54PM (#43499173)
The Ferrocene Language Specification has two serious problems: there are very large gaps in it, and what's present is very buggy.

If you pick a small part and look at it in isolation it typically looks quite plausible, but if you try to follow the definitions it very often just falls apart.

Re:Wheel Reinventor's Principles on Friday March 21, 2025 @01:49PM (#43438895)
Beyond the basic implementation of quoting and escaping, those are things you also have to worry about if you use someone else's csv parser.

And if you implement your own, you get to choose the answers you want.

Re:Teach, Don't Tell (2013) on Monday March 17, 2025 @12:01PM (#43389921)
The former.
Re:Teach, Don't Tell (2013) on Sunday March 16, 2025 @04:05PM (#43381790)
The bad documentation I come across often shows every sign of having taken the advice from this article (and others like it) to heart.

The trouble is that the advice doesn't include ways to make sure your documentation actually covers everything it has to.

What this article says is that you should have « "API documentation" for every user-facing part of your project. »

That commonly leads to "reference" pages which are very little better than the autogenerated documentation the author dismisses. The main problems tend to be that behaviour that isn't controlled by a specific command or function or configuration setting doesn't get documented at all, and that commands with complex behaviour get described using terms that themselves need further definition which isn't provided anywhere.

Older »