<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: comex</title><link>https://news.ycombinator.com/user?id=comex</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Mon, 13 Apr 2026 19:32:53 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=comex" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by comex in "A macOS bug that causes TCP networking to stop working after 49.7 days"]]></title><description><![CDATA[
<p>They probably aren’t affected because the buggy code was only added in macOS 26:<p><a href="https://github.com/apple-oss-distributions/xnu/blame/f6217f891ac0bb64f3d375211650a4c1ff8ca1ea/bsd/netinet/tcp_subr.c#L3753" rel="nofollow">https://github.com/apple-oss-distributions/xnu/blame/f6217f8...</a></p>
]]></description><pubDate>Tue, 07 Apr 2026 05:15:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=47670995</link><dc:creator>comex</dc:creator><comments>https://news.ycombinator.com/item?id=47670995</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47670995</guid></item><item><title><![CDATA[New comment by comex in "A macOS bug that causes TCP networking to stop working after 49.7 days"]]></title><description><![CDATA[
<p>The bug was introduced only last year in macOS 26:<p><a href="https://github.com/apple-oss-distributions/xnu/blame/f6217f891ac0bb64f3d375211650a4c1ff8ca1ea/bsd/netinet/tcp_subr.c#L3753" rel="nofollow">https://github.com/apple-oss-distributions/xnu/blame/f6217f8...</a></p>
]]></description><pubDate>Mon, 06 Apr 2026 21:30:42 +0000</pubDate><link>https://news.ycombinator.com/item?id=47667423</link><dc:creator>comex</dc:creator><comments>https://news.ycombinator.com/item?id=47667423</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47667423</guid></item><item><title><![CDATA[New comment by comex in "German implementation of eIDAS will require an Apple/Google account to function"]]></title><description><![CDATA[
<p>It definitely would be unwelcome for EU authorities in cases like the recent US sanctions against ICC officials.</p>
]]></description><pubDate>Sun, 05 Apr 2026 05:53:30 +0000</pubDate><link>https://news.ycombinator.com/item?id=47646487</link><dc:creator>comex</dc:creator><comments>https://news.ycombinator.com/item?id=47646487</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47646487</guid></item><item><title><![CDATA[New comment by comex in "Ziggit: A Reimplementation of Git in Zig"]]></title><description><![CDATA[
<p>From some skimming of the code, it seems like a nightmare quality-wise.  But if it works, it works.  I wonder what makes it faster.</p>
]]></description><pubDate>Thu, 02 Apr 2026 20:07:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=47619518</link><dc:creator>comex</dc:creator><comments>https://news.ycombinator.com/item?id=47619518</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47619518</guid></item><item><title><![CDATA[New comment by comex in "New Apple Silicon M4 and M5 HiDPI Limitation on 4K External Displays"]]></title><description><![CDATA[
<p>Well, it sounds like a real issue, but the diagnosis is AI slop.  You can see, for example, how it takes the paragraph quoted from waydabber (attributing the issue to dynamic resource allocation) and expands it into a whole section without really understanding it.  The section is in fact self-contradictory: it first claims that the DCP firmware implements framebuffer allocation, then almost immediately goes on to say it's actually the GPU driver and "the DCP itself is not the bottleneck".  Similar confusion throughout the rest of the post.</p>
]]></description><pubDate>Mon, 30 Mar 2026 03:11:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=47570004</link><dc:creator>comex</dc:creator><comments>https://news.ycombinator.com/item?id=47570004</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47570004</guid></item><item><title><![CDATA[New comment by comex in "C++26: A User-Friednly assert() macro"]]></title><description><![CDATA[
<p>It does in Rust: assert is always enabled, whereas the debug-only version is called debug_assert.<p>But yes, “assert” in most languages is debug-only.</p>
]]></description><pubDate>Sat, 28 Mar 2026 23:02:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=47558836</link><dc:creator>comex</dc:creator><comments>https://news.ycombinator.com/item?id=47558836</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47558836</guid></item><item><title><![CDATA[New comment by comex in "Zero-Cost POSIX Compliance: Encoding the Socket State Machine in Lean's Types"]]></title><description><![CDATA[
<p>Some of what you said is true, but you definitely can’t call close multiple times on the same file descriptor.  close always immediately drops the file descriptor and isn’t like non-blocking socket operations that you have to try repeatedly until they succeed.  You could, however, create multiple file descriptors pointing to the same socket with dup or other methods, in which case you’d need to close all of them to disconnect the socket.</p>
]]></description><pubDate>Wed, 25 Mar 2026 03:40:26 +0000</pubDate><link>https://news.ycombinator.com/item?id=47512980</link><dc:creator>comex</dc:creator><comments>https://news.ycombinator.com/item?id=47512980</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47512980</guid></item><item><title><![CDATA[New comment by comex in "An update on Steam / GOG changes for OpenTTD"]]></title><description><![CDATA[
<p>That was a very different case.<p>Out of the two claims, the only one that made it to appeals court was about whether it was fair use for Bleem to use screenshots of PS1 games to advertise its emulator (which was compatible with those games).  The Ninth Circuit decided it was.  But that's not relevant here.<p>The other claim was more relevant, as it was an unfair competition claim that apparently had something to do with Bleem's reimplementation of the PS1 BIOS.  But the district court's record of the case doesn't seem to be available online, and the information I was able to find online was vague, so I don't know what exactly the facts or legal arguments were on that claim.  Without an appeal it also doesn't set precedent.<p>If there were a lawsuit over OpenTTD, it would probably be for copyright infringement rather than unfair competition, and it would probably focus more on fair use and copyrightability.  For fair use, it matters how much something is functional versus creative.  The PS1 BIOS is relatively functional, but a game design and implementation are highly creative.  On the other hand, despite being creative, game mechanics by themselves are not copyrightable.  So it might come down to the extent to which OpenTTD's code was based on the reverse-engineered original code, as opposed to being a truly from-scratch reimplementation of the same mechanics.  Visual appearance would also be relevant.  Oracle v. Google would be an important precedent.</p>
]]></description><pubDate>Thu, 19 Mar 2026 19:55:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=47444982</link><dc:creator>comex</dc:creator><comments>https://news.ycombinator.com/item?id=47444982</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47444982</guid></item><item><title><![CDATA[New comment by comex in "4Chan mocks £520k fine for UK online safety breaches"]]></title><description><![CDATA[
<p>> Unless they're also implying that the US government should be allowed to go after UK companies that don't follow it's free speech regulations because American citizens can access them.<p>Precedent in the US is that courts do in fact have jurisdiction over a foreign website's owner if the owner "purposefully availed itself of the U.S. forum or purposefully directed its activities toward it", a test which is less demanding than it sounds. [1]<p>And  US has taken advantage of this to go after foreign websites such as Megaupload, BTC-e, Liberty Reserve, etc.<p>Therefore, <i>if</i> there were a US law requiring companies to follow free speech rules, it could potentially be enforced against foreign website owners.  But no such law currently exists.  The First Amendment itself only applies to the US government (and to companies working on behalf of the US government).  There is also the SPEECH Act, which, among other provisions, creates a cause of action where if someone sues a US person in a foreign court over their speech, they can sue back in US court.  But only for declaratory judgement, not damages or an injunction.  The goal is mainly just to prevent US courts from enforcing judgements from the foreign court in such cases.<p>[1] <a href="https://tlblog.org/how-to-find-personal-jurisdiction-over-foreign-website-operators/" rel="nofollow">https://tlblog.org/how-to-find-personal-jurisdiction-over-fo...</a></p>
]]></description><pubDate>Thu, 19 Mar 2026 19:23:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=47444539</link><dc:creator>comex</dc:creator><comments>https://news.ycombinator.com/item?id=47444539</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47444539</guid></item><item><title><![CDATA[New comment by comex in "Finding a CPU Design Bug in the Xbox 360 (2018)"]]></title><description><![CDATA[
<p>Typically, it doesn't have the ability to deal with a full 64 bits of memory, but it does have the ability to deal with more than 32 bits of memory, and all pointers are 64 bits long for alignment reasons.<p>It's possible but rare for systems to have 64-bit GPRs but a 32-bit address space.  Examples I can think of include the Nintendo 64 (MIPS; apparently commercial games rarely actually used the 64-bit instructions, so the console's name was pretty much a misnomer), some Apple Watch models (standard 64-bit ARM but with a compiler ABI that made pointers 32 bits to save memory), and the ill-fated x32 ABI on Linux (same thing but on x86-64).<p>That said, even "32-bit" CPUs usually have some kind of support for 64-bit floats (except for tiny embedded CPUs).</p>
]]></description><pubDate>Tue, 17 Mar 2026 20:50:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=47418096</link><dc:creator>comex</dc:creator><comments>https://news.ycombinator.com/item?id=47418096</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47418096</guid></item><item><title><![CDATA[New comment by comex in "It Took Me 30 Years to Solve This VFX Problem – Green Screen Problem [video]"]]></title><description><![CDATA[
<p>See also this video comparing Corridor Key to traditional keyers:<p><a href="https://www.youtube.com/watch?v=abNygtFqYR8" rel="nofollow">https://www.youtube.com/watch?v=abNygtFqYR8</a></p>
]]></description><pubDate>Tue, 17 Mar 2026 20:17:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=47417725</link><dc:creator>comex</dc:creator><comments>https://news.ycombinator.com/item?id=47417725</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47417725</guid></item><item><title><![CDATA[New comment by comex in "Even faster asin() was staring right at me"]]></title><description><![CDATA[
<p>It depends on what you want to do with it.<p>If you just want the optimizer to be able to constant-fold a value, then yes, either of those will work.<p>If you want to be able to use the value in the other contexts the parent mentioned that require constant expressions as a language rule, then you generally need constexpr.  As an exception, non-constexpr variable values can be used if they’re const (not ‘happens to not vary’) and have integer or enum type (no floats, structs, pointers, etc.).  This exception exists for legacy reasons and there’s no particular reason to rely on it unless you’re aiming for compatibility with older versions of C++ or C.<p>Even if you don’t need to use a variable in those contexts, constexpr evaluation is different from optimizer constant evaluation, and generally better if you can use it.  In particular, the optimizer will give up if an expression is too hard to evaluate (depending on implementation-specific heuristics), whereas constexpr will either succeed or give an error (depending only on language rules).  It’s also a completely separate code path in the compiler.  There <i>are</i> some cases where optimizer constant evaluation can do things constexpr can’t, but most of those have been removed or ameliorated in recent C++ standards.<p>So it’s often an improvement to tag anything you want to be evaluated at compile time as constexpr, and rarely worse.  However, if an expression is so trivial that it’s obvious the optimizer will be able to evaluate it, and you don’t need it in contexts that require a constant expression, then there’s no concrete benefit either way and it becomes a matter of taste.  Personally, I wouldn’t tag this particular pi/2 variable constexpr or const, because it does satisfy those criteria and I personally prefer brevity.  But I understand why some people prefer a rule of “always constexpr if possible”, either because they like the explicitness or because it’s a simpler rule.</p>
]]></description><pubDate>Mon, 16 Mar 2026 20:25:50 +0000</pubDate><link>https://news.ycombinator.com/item?id=47404404</link><dc:creator>comex</dc:creator><comments>https://news.ycombinator.com/item?id=47404404</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47404404</guid></item><item><title><![CDATA[New comment by comex in "Lies I was told about collaborative editing, Part 2: Why we don't use Yjs"]]></title><description><![CDATA[
<p>It doesn’t strike me as AI.   The writing is reasonably information-dense and specific, logically coherent, a bit emotional.  Rarely overconfident or vague.  If it is AI then there was a lot more human effort put into refining it than most AI writing I’ve read.</p>
]]></description><pubDate>Mon, 16 Mar 2026 06:24:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=47395717</link><dc:creator>comex</dc:creator><comments>https://news.ycombinator.com/item?id=47395717</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47395717</guid></item><item><title><![CDATA[New comment by comex in "The Road Not Taken: A World Where IPv4 Evolved"]]></title><description><![CDATA[
<p>As long as IPv4x support was just something you got via software update rather than a whole separate configuration you had to set up, the vast majority of servers probably would have supported IPv4x by the time addresses got scarce.<p>However, if it did become a problem, it might be solvable with something like CGNAT.</p>
]]></description><pubDate>Fri, 13 Mar 2026 17:47:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=47367420</link><dc:creator>comex</dc:creator><comments>https://news.ycombinator.com/item?id=47367420</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47367420</guid></item><item><title><![CDATA[New comment by comex in "RVA23 Ends Speculation's Monopoly in RISC-V CPUs"]]></title><description><![CDATA[
<p>This article has a whole lot of "it's not X, it's Y"…<p>In reality this isn't much of a change.  For decades it's been a given that mainstream CPUs have vector instructions.  RISC-V was the odd man out in _not_ mandating vector instructions.  Even so, most CPU code doesn't use them.<p>And this is unlikely to change anytime soon.  Yes, ML workloads are becoming much more popular, but CPUs are still not parallel enough to do a good job at them.  Only occasionally is it a good idea to try anyway.<p>Edit: Note that there is <i>something</i> novel about the approach that RISC-V and ARM are now following, namely being vector-length agnostic, but this is unlikely to have much impact on how much CPU code is vectorized in the first place.  It improves scalability a little, but also gives compilers a little harder of a job.  It is not something that's going to fundamentally transform the extent to which CPU code uses vector instructions.</p>
]]></description><pubDate>Tue, 10 Mar 2026 05:30:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=47319389</link><dc:creator>comex</dc:creator><comments>https://news.ycombinator.com/item?id=47319389</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47319389</guid></item><item><title><![CDATA[New comment by comex in "I don't know Apple's endgame for the Fn/Globe key–or if Apple does"]]></title><description><![CDATA[
<p>That would not be a good approach on Macs where most users are using reduced/laptop keyboards that have no Insert key.<p>In this respect, Apple got pretty lucky.  Most users were <i>not</i> using reduced keyboards in 1987 when they originally decided to add the Control key separate from Command.  Plus, Mac OS didn't even have a native terminal at the time; I assume there were terminal emulators for networking/serial use but I can't imagine that was top-of-mind for Apple either.<p>Regardless, Cmd-C is definitely a more convenient shortcut than Control-Insert, even if you do have the keys for the latter.</p>
]]></description><pubDate>Tue, 10 Mar 2026 03:21:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=47318757</link><dc:creator>comex</dc:creator><comments>https://news.ycombinator.com/item?id=47318757</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47318757</guid></item><item><title><![CDATA[New comment by comex in "LLMs work best when the user defines their acceptance criteria first"]]></title><description><![CDATA[
<p>Supposedly the frontier LLMs are multimodal and trained on images as well, though I don't know how much that helps for tasks that don't use the native image input/output support.<p>Whatever the cause, LLMs have gotten significantly better over time at generating SVGs of pelicans riding bicycles:<p><a href="https://simonwillison.net/tags/pelican-riding-a-bicycle/" rel="nofollow">https://simonwillison.net/tags/pelican-riding-a-bicycle/</a><p>But they're still not very good.</p>
]]></description><pubDate>Sat, 07 Mar 2026 02:25:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=47283817</link><dc:creator>comex</dc:creator><comments>https://news.ycombinator.com/item?id=47283817</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47283817</guid></item><item><title><![CDATA[New comment by comex in "LLMs work best when the user defines their acceptance criteria first"]]></title><description><![CDATA[
<p>Based on a search, the SQLite reimplementation in question is Frankensqlite, featured on Hacker News a few days ago (but flagged):<p><a href="https://news.ycombinator.com/item?id=47176209">https://news.ycombinator.com/item?id=47176209</a></p>
]]></description><pubDate>Sat, 07 Mar 2026 02:18:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=47283769</link><dc:creator>comex</dc:creator><comments>https://news.ycombinator.com/item?id=47283769</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47283769</guid></item><item><title><![CDATA[New comment by comex in "An LLM doesn’t write correct code, it writes plausible code"]]></title><description><![CDATA[
<p>LLMs are really bad at anything visual, as demonstrated by pelicans riding bicycles, or Claude Plays Pokémon.<p>Opus would probably do better though.</p>
]]></description><pubDate>Sat, 07 Mar 2026 02:13:30 +0000</pubDate><link>https://news.ycombinator.com/item?id=47283724</link><dc:creator>comex</dc:creator><comments>https://news.ycombinator.com/item?id=47283724</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47283724</guid></item><item><title><![CDATA[New comment by comex in "Apple: Enough Is Enough"]]></title><description><![CDATA[
<p>> We wanted to download a clip using yt_dlp (a Python program). Terminal told us, this would require dev tools (which it doesn't).<p>It is offering to install Apple's developer tools package which includes Python.  The download is ~900MB, much of which consists of large Swift and C compiler binaries.  That's pretty large if you only need Python, but in practice you probably do want the full dev tools because Python packages often compile C extensions when installed.<p>> Except, that non-blessed python could not access the internet because of some MacOS "security" feature.<p>There is no such security feature.  Perhaps a TLS issue?<p>> Another "security" feature requires all apps on Apple computers to be notarized, even the ones I built myself. This used to have a relatively easy workaround (right click, open, accept the risk). Now it needs a terminal command.<p>You can also do it from System Settings.  Or if you are actually building on the same machine, you can avoid the problem as described at the bottom of this page:<p><a href="https://lapcatsoftware.com/articles/catalina-executables.html" rel="nofollow">https://lapcatsoftware.com/articles/catalina-executables.htm...</a><p>> On some Apple systems, this fails to show any audio devices, "for security reasons".<p>While the implementation is somewhat janky, there are real and valid security reasons to require consent for using the microphone.<p>> There is no indication anywhere that the hard drive is getting full.<p>Not proactive warnings (does any OS do that?), but there are plenty of ways to see how full the disk is, including the newish System Settings -> General -> Storage, which breaks down storage use and offers some ways to save space.<p>> There is no simple way to reset the computer to factory conditions.<p>System Settings -> General -> Erase All Content and Settings.</p>
]]></description><pubDate>Thu, 05 Mar 2026 19:19:35 +0000</pubDate><link>https://news.ycombinator.com/item?id=47266011</link><dc:creator>comex</dc:creator><comments>https://news.ycombinator.com/item?id=47266011</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47266011</guid></item></channel></rss>