<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hacker News: mjw1007</title><link>https://news.ycombinator.com/user?id=mjw1007</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Mon, 25 May 2026 19:04:29 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=mjw1007" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by mjw1007 in "Leaving GitHub for Forgejo"]]></title><description><![CDATA[
<p>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.</p>
]]></description><pubDate>Wed, 13 May 2026 14:39:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=48122558</link><dc:creator>mjw1007</dc:creator><comments>https://news.ycombinator.com/item?id=48122558</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48122558</guid></item><item><title><![CDATA[New comment by mjw1007 in "Two kinds of error"]]></title><description><![CDATA[
<p>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.<p>For example division by zero often indicates an "unexpected" error, but it wouldn't if you were implementing a spreadsheet.<p>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?</p>
]]></description><pubDate>Tue, 03 Mar 2026 21:57:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=47239624</link><dc:creator>mjw1007</dc:creator><comments>https://news.ycombinator.com/item?id=47239624</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47239624</guid></item><item><title><![CDATA[New comment by mjw1007 in "Q&A: New UK onshore wind and solar is '50% cheaper' than new gas"]]></title><description><![CDATA[
<p>Not any more, according to this article you're commenting on, no.</p>
]]></description><pubDate>Wed, 11 Feb 2026 22:32:36 +0000</pubDate><link>https://news.ycombinator.com/item?id=46982178</link><dc:creator>mjw1007</dc:creator><comments>https://news.ycombinator.com/item?id=46982178</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46982178</guid></item><item><title><![CDATA[New comment by mjw1007 in "Debian's Git Transition"]]></title><description><![CDATA[
<p>> 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, <i>from the commit or release in question</i> plus whatever package-specific config and patches are needed, and publish that.<p>For Debian, that's what tag2upload is doing.</p>
]]></description><pubDate>Tue, 23 Dec 2025 12:12:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=46364675</link><dc:creator>mjw1007</dc:creator><comments>https://news.ycombinator.com/item?id=46364675</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46364675</guid></item><item><title><![CDATA[New comment by mjw1007 in "WordPress plugin quirk resulted in UK Gov OBR Budget leak [pdf]"]]></title><description><![CDATA[
<p>They weren't in any way attempting to rely on security by obscurity.<p>They didn't assume nobody would guess the URL.<p>They did take active steps to ensure the data was only available at the correct time.<p>But they didn't check that their access control was working, and it wasn't.</p>
]]></description><pubDate>Mon, 01 Dec 2025 18:20:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=46110892</link><dc:creator>mjw1007</dc:creator><comments>https://news.ycombinator.com/item?id=46110892</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46110892</guid></item><item><title><![CDATA[New comment by mjw1007 in "Scoop: Judge Caught Using AI to Read His Court Decisions"]]></title><description><![CDATA[
<p>Is this a real judge, or is an "Immigration Judge" one of those not-actually-a-judge decisionmakers employed by the executive?</p>
]]></description><pubDate>Sun, 23 Nov 2025 19:46:26 +0000</pubDate><link>https://news.ycombinator.com/item?id=46026658</link><dc:creator>mjw1007</dc:creator><comments>https://news.ycombinator.com/item?id=46026658</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46026658</guid></item><item><title><![CDATA[New comment by mjw1007 in "A Note on Fil-C"]]></title><description><![CDATA[
<p>I think what you've written is pretty much what the "almost all programs have paths that crash" was intended to convey.<p>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".</p>
]]></description><pubDate>Fri, 07 Nov 2025 09:14:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=45844778</link><dc:creator>mjw1007</dc:creator><comments>https://news.ycombinator.com/item?id=45844778</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45844778</guid></item><item><title><![CDATA[New comment by mjw1007 in "./watch"]]></title><description><![CDATA[
<p>It makes tab completion work.</p>
]]></description><pubDate>Sat, 18 Oct 2025 11:31:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=45626507</link><dc:creator>mjw1007</dc:creator><comments>https://news.ycombinator.com/item?id=45626507</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45626507</guid></item><item><title><![CDATA[New comment by mjw1007 in "Open Infrastructure Is Not Free: A Joint Statement on Sustainable Stewardship"]]></title><description><![CDATA[
<p>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.<p>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.</p>
]]></description><pubDate>Tue, 23 Sep 2025 18:37:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=45351066</link><dc:creator>mjw1007</dc:creator><comments>https://news.ycombinator.com/item?id=45351066</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45351066</guid></item><item><title><![CDATA[New comment by mjw1007 in "PSA: Libxslt is unmaintained and has 5 unpatched security bugs"]]></title><description><![CDATA[
<p>It's clear from that bug tracker that you shouldn't let libxlst see untrusted stylesheets or xpath expressions.<p>I haven't yet seen a problem with running your own transformations against untrusted XML.<p>Maybe a new maintainer could aim to make the second case fully supported but not the first.</p>
]]></description><pubDate>Fri, 29 Aug 2025 08:41:35 +0000</pubDate><link>https://news.ycombinator.com/item?id=45061679</link><dc:creator>mjw1007</dc:creator><comments>https://news.ycombinator.com/item?id=45061679</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45061679</guid></item><item><title><![CDATA[New comment by mjw1007 in "Rust in 2025: Targeting foundational software"]]></title><description><![CDATA[
<p>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.<p>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].<p>They're currently arguing about whether to write something from scratch or somehow convert the FLS[1] into a spec.<p>[1]: <a href="https://github.com/rust-lang/fls" rel="nofollow">https://github.com/rust-lang/fls</a></p>
]]></description><pubDate>Sat, 16 Aug 2025 22:52:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=44927519</link><dc:creator>mjw1007</dc:creator><comments>https://news.ycombinator.com/item?id=44927519</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44927519</guid></item><item><title><![CDATA[New comment by mjw1007 in "Rust in 2025: Targeting foundational software"]]></title><description><![CDATA[
<p>The plan described in "Our Vision for the Rust Specification", and the linked RFC3355, were abandoned early in 2024.<p>The team that was formed to carry out RFC3355 still exists, though it's had an almost complete turnover of membership.<p>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.<p>The tracking issue for the RFC was <a href="https://github.com/rust-lang/rust/issues/113527" rel="nofollow">https://github.com/rust-lang/rust/issues/113527</a> . You can see the last update was in 2023, at the point where it was time to start the actual "write the spec" part.<p>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.</p>
]]></description><pubDate>Sat, 16 Aug 2025 21:36:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=44927095</link><dc:creator>mjw1007</dc:creator><comments>https://news.ycombinator.com/item?id=44927095</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44927095</guid></item><item><title><![CDATA[New comment by mjw1007 in "Show HN: VS Code extension to edit the filesystem like a text buffer"]]></title><description><![CDATA[
<p>Also vidir, which is in the moreutils package in popular distros.</p>
]]></description><pubDate>Tue, 15 Jul 2025 12:23:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=44570397</link><dc:creator>mjw1007</dc:creator><comments>https://news.ycombinator.com/item?id=44570397</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44570397</guid></item><item><title><![CDATA[New comment by mjw1007 in "Could a Paper Plane Thrown from the ISS Survive the Flight?"]]></title><description><![CDATA[
<p>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.</p>
]]></description><pubDate>Thu, 10 Jul 2025 20:24:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=44525146</link><dc:creator>mjw1007</dc:creator><comments>https://news.ycombinator.com/item?id=44525146</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44525146</guid></item><item><title><![CDATA[New comment by mjw1007 in "Serving 200M requests per day with a CGI-bin"]]></title><description><![CDATA[
<p>My mistake.<p>The support for writing CGI programs in Python is in wsgiref.handlers.CGIHandler .</p>
]]></description><pubDate>Sun, 06 Jul 2025 10:14:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=44479396</link><dc:creator>mjw1007</dc:creator><comments>https://news.ycombinator.com/item?id=44479396</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44479396</guid></item><item><title><![CDATA[New comment by mjw1007 in "Serving 200M requests per day with a CGI-bin"]]></title><description><![CDATA[
<p>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.<p>All that was in the cgi module was a few functions for parsing HTML form data.</p>
]]></description><pubDate>Sun, 06 Jul 2025 08:18:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=44478819</link><dc:creator>mjw1007</dc:creator><comments>https://news.ycombinator.com/item?id=44478819</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44478819</guid></item><item><title><![CDATA[New comment by mjw1007 in "Libxml2's "no security embargoes" policy"]]></title><description><![CDATA[
<p>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.<p>Of course that's exactly what traditional Linux distributions signed up to do.<p>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.</p>
]]></description><pubDate>Thu, 26 Jun 2025 09:41:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=44385727</link><dc:creator>mjw1007</dc:creator><comments>https://news.ycombinator.com/item?id=44385727</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44385727</guid></item><item><title><![CDATA[New comment by mjw1007 in "Falsify: Hypothesis-Inspired Shrinking for Haskell (2023)"]]></title><description><![CDATA[
<p>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.<p>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.</p>
]]></description><pubDate>Mon, 21 Apr 2025 08:45:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=43749662</link><dc:creator>mjw1007</dc:creator><comments>https://news.ycombinator.com/item?id=43749662</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43749662</guid></item><item><title><![CDATA[New comment by mjw1007 in "Falsify: Hypothesis-Inspired Shrinking for Haskell (2023)"]]></title><description><![CDATA[
<p>I've found in practice that shrinking to get the "smallest amount of detail" is often unhelpful.<p>Suppose I have a function which takes four string parameters, and I have a bug which means it crashes if the third is empty.<p>I'd rather see this in the failure report:<p>("ldiuhuh!skdfh", "nd#lkgjdflkgdfg", "", "dc9ofugdl ifugidlugfoidufog")<p>than this:<p>("", "", "", "")</p>
]]></description><pubDate>Sun, 20 Apr 2025 22:51:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=43747119</link><dc:creator>mjw1007</dc:creator><comments>https://news.ycombinator.com/item?id=43747119</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43747119</guid></item><item><title><![CDATA[New comment by mjw1007 in "Postgres Language Server: Initial Release"]]></title><description><![CDATA[
<p>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.<p>If I was coming to this project for the first time I think the questions I'd immediately like the answers to are:<p>- What language is this language server for? Is it just for SQL proper, or for PL/pgSQL, or writing C extensions, or what?<p>- What makes it PostgreSQL-specific? Is it just that it follows PostgreSQL's dialect of SQL?<p>- 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?</p>
]]></description><pubDate>Sat, 29 Mar 2025 12:08:36 +0000</pubDate><link>https://news.ycombinator.com/item?id=43514872</link><dc:creator>mjw1007</dc:creator><comments>https://news.ycombinator.com/item?id=43514872</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43514872</guid></item></channel></rss>