<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>Sun, 16 Aug 2026 18:17:33 +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 "OxiSH: SSH Server Written in Rust"]]></title><description><![CDATA[
<p>From the readme: “Please don't publicize this project at its current stage.”</p>
]]></description><pubDate>Thu, 13 Aug 2026 19:55:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=49291071</link><dc:creator>comex</dc:creator><comments>https://news.ycombinator.com/item?id=49291071</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49291071</guid></item><item><title><![CDATA[New comment by comex in "My phone detects going on a run as “someone snatching my phone and running off”"]]></title><description><![CDATA[
<p>The parent isn’t looking for pure walking, they’re looking for transit directions that include a higher amount of walking in order to save time overall.</p>
]]></description><pubDate>Thu, 06 Aug 2026 23:12:33 +0000</pubDate><link>https://news.ycombinator.com/item?id=49203904</link><dc:creator>comex</dc:creator><comments>https://news.ycombinator.com/item?id=49203904</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49203904</guid></item><item><title><![CDATA[New comment by comex in "Don't credit the LLM"]]></title><description><![CDATA[
<p>At work I recently credited Claude with writing some of the tests in my PR.  Why?  Partly to apologize for the verbosity of the tests making them harder to review.  Partly to set expectations: the tests are more likely to be buggy, low-quality, or incomplete, or misunderstand the code being tested, than if I had written them by hand.<p>I did in fact "bother to review" the tests, and I thought they were good enough to merge.  Indeed, they were better than what I would have written on my own: they were lower-quality on a line-by-line basis, but for tests, quantity is a quality of its own, and I would not have bothered to write nearly as many tests.  Even so, it was worth flagging that Claude wrote them.<p>If I trusted LLMs more, would I still feel the need to credit them?  Maybe.  They are improving very quickly, and I think they will eventually improve to the point where a mostly-LLM-written PR will be as good as mine in every way.  Then it will no longer be necessary to <i>apologize</i> for submitting LLM code.  But if and when that point is reached, I wouldn’t get used to taking credit for said code!  Because it probably won’t be much longer until the human in the loop becomes redundant.<p>Going back to today, I don’t feel the need to credit LLMs when I use them for tasks that don’t involve submitting their output.  In particular, they have recently become quite good at finding bugs in my code.</p>
]]></description><pubDate>Sun, 02 Aug 2026 06:24:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=49141663</link><dc:creator>comex</dc:creator><comments>https://news.ycombinator.com/item?id=49141663</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49141663</guid></item><item><title><![CDATA[New comment by comex in "Investigating three real-world incidents in our cybersecurity evaluations"]]></title><description><![CDATA[
<p>If the model was just too dumb to have any clue it was connected to the real internet, then it’s not its fault.<p>If the model saw signs, but “subconsciously” (below the level of reasoning traces)  chose to turn a blind eye to them, out of a relentless focus on achieving the objective, then that absolutely is the model’s “fault”, i.e. a case of misalignment of the sort which will become increasingly dangerous over time.<p>The blog post mentions that some runs “rationalized that the real company must be part of the exercise” and to me that seems suspiciously like the latter.<p>Hacking can be patched with classifiers and with better sandboxes, but this is a much more general problem.  Fundamentally, we need be able to trust that models will be honest with users and with themselves.  This applies at some level to almost every LLM interaction.</p>
]]></description><pubDate>Fri, 31 Jul 2026 05:01:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=49119189</link><dc:creator>comex</dc:creator><comments>https://news.ycombinator.com/item?id=49119189</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49119189</guid></item><item><title><![CDATA[New comment by comex in "An Uncomplicated Man – A review of The Odyssey, directed by Christopher Nolan"]]></title><description><![CDATA[
<p>The review does in fact use the phrase “sex scenes”.<p>Not that I disagree with your latter point.</p>
]]></description><pubDate>Tue, 28 Jul 2026 06:48:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=49080245</link><dc:creator>comex</dc:creator><comments>https://news.ycombinator.com/item?id=49080245</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49080245</guid></item><item><title><![CDATA[New comment by comex in "Go Analysis Framework: modular static analysis by go team"]]></title><description><![CDATA[
<p>The problem is that this stops working once you have multiple assignments to err in the same function.</p>
]]></description><pubDate>Mon, 27 Jul 2026 07:38:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=49066251</link><dc:creator>comex</dc:creator><comments>https://news.ycombinator.com/item?id=49066251</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49066251</guid></item><item><title><![CDATA[New comment by comex in "The new rules of context engineering for Claude 5 generation models"]]></title><description><![CDATA[
<p>If OpenAI is relying on “classifiers” (their word for what was disabled) to serve as the model’s judgement, rather than teaching the model itself to be well-aligned, then I worry.<p>To be fair, the system prompt was presumably also different from what it would be during deployment, and perhaps the model was also at a different stage of training.  Without more details it’s hard to judge.  But it does seem models should be able to avoid performing obviously misaligned actions – misaligned not only with the model spec, but with the user’s intent – without needing external classifiers or instructions.  The only case where I’d personally let the model off the hook is if the instructions given were <i>very</i> badly worded, in such a way that the model could actually reasonably think that hacking HuggingFace was part of the assignment.  But I doubt that’s what happened.</p>
]]></description><pubDate>Sat, 25 Jul 2026 23:45:32 +0000</pubDate><link>https://news.ycombinator.com/item?id=49053014</link><dc:creator>comex</dc:creator><comments>https://news.ycombinator.com/item?id=49053014</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49053014</guid></item><item><title><![CDATA[New comment by comex in "Apple defeats liability for not scanning iCloud for CSAM"]]></title><description><![CDATA[
<p>The paper you linked doesn’t reveal blurred versions of the images being hashed.  It does train a classifier to determine which of 1,000 ImageNet classes an image belongs to, which “achieved a top-1 test accuracy of 4.34%”.</p>
]]></description><pubDate>Tue, 21 Jul 2026 16:48:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=48994837</link><dc:creator>comex</dc:creator><comments>https://news.ycombinator.com/item?id=48994837</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48994837</guid></item><item><title><![CDATA[New comment by comex in "C++20 Improved the For-Loop Syntax"]]></title><description><![CDATA[
<p>No, it's a for loop that happens to include an unrelated variable declaration.</p>
]]></description><pubDate>Wed, 15 Jul 2026 01:19:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=48915076</link><dc:creator>comex</dc:creator><comments>https://news.ycombinator.com/item?id=48915076</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48915076</guid></item><item><title><![CDATA[New comment by comex in "Since Chromium 148, Math.tanh is now fingerprintable to link underlying OS"]]></title><description><![CDATA[
<p>This can be used to fingerprint version range, but so can a million other things.  Browsers are constantly adding new features and fixing bugs, most of which can be detected from JavaScript.</p>
]]></description><pubDate>Sun, 12 Jul 2026 22:25:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=48885495</link><dc:creator>comex</dc:creator><comments>https://news.ycombinator.com/item?id=48885495</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48885495</guid></item><item><title><![CDATA[New comment by comex in "Show HN: Shirei, cross-platform GUI framework in native Go"]]></title><description><![CDATA[
<p>It is still meaningfully cross-platform to support all 3 major desktop platforms rather than just one.</p>
]]></description><pubDate>Sun, 12 Jul 2026 18:51:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=48883498</link><dc:creator>comex</dc:creator><comments>https://news.ycombinator.com/item?id=48883498</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48883498</guid></item><item><title><![CDATA[New comment by comex in "Rewriting Bun in Rust"]]></title><description><![CDATA[
<p>I addressed some of these points in my reply to a sibling comment:<p><a href="https://news.ycombinator.com/item?id=48856158">https://news.ycombinator.com/item?id=48856158</a><p>I may have been a little overly specific, since there are other issues besides cycles that also block splitting crates apart, but from what I’ve seen it’s very common for modules within a crate to have cyclic dependencies and therefore not be easily factorable into separate crates.</p>
]]></description><pubDate>Fri, 10 Jul 2026 05:48:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=48856192</link><dc:creator>comex</dc:creator><comments>https://news.ycombinator.com/item?id=48856192</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48856192</guid></item><item><title><![CDATA[New comment by comex in "Rewriting Bun in Rust"]]></title><description><![CDATA[
<p>You’re thinking at the wrong scale.  Rust allows circular dependencies just fine, within modules in a crate.  And it’s extremely common for modules within a crate to have at least some circular dependencies - type X has some method (trait impl of inherent impl) that mentions type Y, and type Y has some method that mentions type X.  In fact, I would be surprised if you could name me a single medium-size-or-larger popular crate that doesn’t have at least one cyclic reference between modules!  Though, sometimes those cycles are not essential and could be avoided by splitting up modules.  But sometimes they are.  Either way, in C or C++ those modules would probably be their own compilation units.<p>That said, you also run into related parallelism blockers without cycles.  For example, the orphan rules force most trait impls for a type to be in the same crate as the type definition.  Also, a module which has no source-level cycles will often have cycles after monomorphization.  In this case, Rust doesn’t prevent you from splitting the code into crates like it does with source-level cycles, but you do lose most of the actual codegen parallelization unless you can switch from generics to trait objects.</p>
]]></description><pubDate>Fri, 10 Jul 2026 05:43:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=48856158</link><dc:creator>comex</dc:creator><comments>https://news.ycombinator.com/item?id=48856158</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48856158</guid></item><item><title><![CDATA[New comment by comex in "Postgres rewritten in Rust, now passing 100% of the Postgres regression tests"]]></title><description><![CDATA[
<p>> The issue is just that coding anything which uses shared memory is a lot of work.<p>Doesn’t that kind of prove the parent’s point though?  <i>In theory</i> shared memory can do anything that threads can do.  But if in practice some feature doesn’t get implemented in the multi-process design (because shared memory is hard), when it likely would have been implemented in a threaded design, then that’s still an advantage for threads.</p>
]]></description><pubDate>Fri, 10 Jul 2026 04:41:05 +0000</pubDate><link>https://news.ycombinator.com/item?id=48855821</link><dc:creator>comex</dc:creator><comments>https://news.ycombinator.com/item?id=48855821</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48855821</guid></item><item><title><![CDATA[New comment by comex in "Rewriting Bun in Rust"]]></title><description><![CDATA[
<p>The forbidding of circular dependencies is exactly what makes it hard to achieve parallelism!  It means you have to draw nice clean module boundaries and split your compilation units there.  Clean boundaries sound nice, except… what if the module is getting large?  Can you just take half the module, ctrl-x, ctrl-v into a new file, and get faster compilation times without having to do any massive refactors?<p>In C, usually yes.<p>In C++, sometimes yes.  It depends on how template-heavy the code is, but if you have some discipline you can keep most logic out of headers and thus easily splittable.<p>In Rust, almost always no, because of circular dependencies.  You can try to work around it by adding `dyn Trait` everywhere, but that requires a lot of code changes and comes at big ergonomic costs (and a small runtime cost).<p>Which is why in practice, Rust compilation units are almost always larger than C++ or C compilation units.  Rust can sometimes be competitive with C++ on compilation speed anyway, thanks to a smarter build system and not having to re-parse headers a billion times, but usually it's slower.</p>
]]></description><pubDate>Thu, 09 Jul 2026 05:18:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=48841283</link><dc:creator>comex</dc:creator><comments>https://news.ycombinator.com/item?id=48841283</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48841283</guid></item><item><title><![CDATA[New comment by comex in "DKIM2 and DMARCbis Have Landed"]]></title><description><![CDATA[
<p>I wonder how this post was composed.  It's full of LLM-isms, but is also pretty informative and not too fluffy - basically, higher-quality than I'm used to seeing from LLM blog posts, especially at this length.  Perhaps it was composed based on a detailed human outline?  Or perhaps, could this be the power of Fable?</p>
]]></description><pubDate>Thu, 09 Jul 2026 03:25:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=48840616</link><dc:creator>comex</dc:creator><comments>https://news.ycombinator.com/item?id=48840616</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48840616</guid></item><item><title><![CDATA[New comment by comex in "Since Linux 6.9, LUKS suspend stopped wiping disk-encryption keys from memory"]]></title><description><![CDATA[
<p>I don’t know about “almost all”.<p>If the key has been purged but you can read RAM, then you can do two things:<p>1. You can extract whatever user data happens to be in RAM.<p>2. If you can either write RAM or reboot into your own OS, and then return the device to the unsuspecting user who will put in their password, then you can run a fake password dialog and get everything.<p>1 is bad, since there may be quite a lot of user data in RAM.  But it’s not quite as bad as having the disk key, which gives the attacker <i>all</i> the data plus the future ability to decrypt or modify user data given only the physical disk.  (Still, a better solution would be encrypting the hibernation image, preventing this attack entirely.)<p>2 is fully bad, but in many plausible scenarios (e.g. seized device) the attacker cannot just return the device to the user without them knowing something happened.  Or even if they can, the method of RAM access may be one where reads are much more practical than writes, such as cold boot attacks involving physically swapping out the RAM.</p>
]]></description><pubDate>Thu, 02 Jul 2026 20:38:26 +0000</pubDate><link>https://news.ycombinator.com/item?id=48767061</link><dc:creator>comex</dc:creator><comments>https://news.ycombinator.com/item?id=48767061</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48767061</guid></item><item><title><![CDATA[New comment by comex in "A robot is sprinting towards you. Do you want it running on Claude or Grok?"]]></title><description><![CDATA[
<p>> It just seems much much higher than what it would cost to get a human to play 30 rounds<p>I suspect $482 was the total cost for all the models, so more like 11 humans.<p>But still true.</p>
]]></description><pubDate>Thu, 18 Jun 2026 04:15:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=48580748</link><dc:creator>comex</dc:creator><comments>https://news.ycombinator.com/item?id=48580748</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48580748</guid></item><item><title><![CDATA[New comment by comex in "Noise infusion banned from statistical products published by Census Bureau"]]></title><description><![CDATA[
<p>It happened a year ago in this country, with IRS sharing data with ICE (breaking a longstanding policy of keeping taxpayer data private within the government).</p>
]]></description><pubDate>Sat, 13 Jun 2026 17:34:33 +0000</pubDate><link>https://news.ycombinator.com/item?id=48519468</link><dc:creator>comex</dc:creator><comments>https://news.ycombinator.com/item?id=48519468</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48519468</guid></item><item><title><![CDATA[New comment by comex in "Swift at Apple: Migrating the TrueType hinting interpreter"]]></title><description><![CDATA[
<p>Beware: As of a few months ago, when I tried to use the lifetime features shown off in this post, I ran into constant compiler crashes with very simple programs, until I gave up and wrote off the features as unusable.  This happened on both stable and nightly compilers.  I guess they work well enough for this TrueType interpreter, but I suspect they’re using a narrow subset of what the features are supposed to support.  Or maybe things have been fixed very recently.<p>That said, I’m looking forward to using Swift lifetimes once they actually work!</p>
]]></description><pubDate>Sat, 13 Jun 2026 02:03:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=48511793</link><dc:creator>comex</dc:creator><comments>https://news.ycombinator.com/item?id=48511793</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48511793</guid></item></channel></rss>