<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: 1718627440</title><link>https://news.ycombinator.com/user?id=1718627440</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Thu, 18 Jun 2026 04:27:04 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=1718627440" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by 1718627440 in "Sixty percent of US consumers say 'AI' in brand messaging is a turnoff"]]></title><description><![CDATA[
<p>> Could they not just have separate numbers?<p>That's what they actually are, you just get an interactive type through for selecting your number.  You can just type it all at once if you already know it.</p>
]]></description><pubDate>Wed, 17 Jun 2026 23:30:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=48578481</link><dc:creator>1718627440</dc:creator><comments>https://news.ycombinator.com/item?id=48578481</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48578481</guid></item><item><title><![CDATA[New comment by 1718627440 in "Sixty percent of US consumers say 'AI' in brand messaging is a turnoff"]]></title><description><![CDATA[
<p>When they don't even want to try the thing, they are allegedly proud of, I would expect them to actually now, that the thing is garbage.</p>
]]></description><pubDate>Wed, 17 Jun 2026 23:26:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=48578452</link><dc:creator>1718627440</dc:creator><comments>https://news.ycombinator.com/item?id=48578452</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48578452</guid></item><item><title><![CDATA[New comment by 1718627440 in "How memory safety CVEs differ between Rust and C/C++"]]></title><description><![CDATA[
<p>No, it's also removed if you dereference it later on, that's why it is said, that UB has time traveling behaviour.  This means, that the compiler can emit a program, that let's you access data without a security check, while the crash only comes later.  Also the crash can be removed, because dereferencing it is UB anyway, so the compiler does not need to emit it.</p>
]]></description><pubDate>Wed, 17 Jun 2026 23:17:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=48578352</link><dc:creator>1718627440</dc:creator><comments>https://news.ycombinator.com/item?id=48578352</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48578352</guid></item><item><title><![CDATA[New comment by 1718627440 in "Lore – Open source version control system designed for scalability"]]></title><description><![CDATA[
<p>If you don't read the documentation you can't complain if a machine stays a mystery for you.  Normally you don't get to use a machine without proving you actually now what you are doing.</p>
]]></description><pubDate>Wed, 17 Jun 2026 23:10:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=48578298</link><dc:creator>1718627440</dc:creator><comments>https://news.ycombinator.com/item?id=48578298</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48578298</guid></item><item><title><![CDATA[New comment by 1718627440 in "Lore – Open source version control system designed for scalability"]]></title><description><![CDATA[
<p>But that's all Git originally aspired to be.  It was supposed to be the base VCS, that you eventually can build a UI layer on top.</p>
]]></description><pubDate>Wed, 17 Jun 2026 23:08:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=48578287</link><dc:creator>1718627440</dc:creator><comments>https://news.ycombinator.com/item?id=48578287</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48578287</guid></item><item><title><![CDATA[New comment by 1718627440 in "Lore – Open source version control system designed for scalability"]]></title><description><![CDATA[
<p>Because it is a progress indicator, that you stare at while waiting.  Even Youtube does that and that is written for the general population.</p>
]]></description><pubDate>Wed, 17 Jun 2026 23:05:32 +0000</pubDate><link>https://news.ycombinator.com/item?id=48578260</link><dc:creator>1718627440</dc:creator><comments>https://news.ycombinator.com/item?id=48578260</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48578260</guid></item><item><title><![CDATA[New comment by 1718627440 in "Lore – Open source version control system designed for scalability"]]></title><description><![CDATA[
<p>It's a progress indicator.  Everyone has had the concept of percent in school even if they are an artist.</p>
]]></description><pubDate>Wed, 17 Jun 2026 23:03:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=48578230</link><dc:creator>1718627440</dc:creator><comments>https://news.ycombinator.com/item?id=48578230</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48578230</guid></item><item><title><![CDATA[New comment by 1718627440 in "Lore – Open source version control system designed for scalability"]]></title><description><![CDATA[
<p>A percentage information for a network upload is very much not useless information.  In fact making the user wait without any indication of progress is very bad UX.</p>
]]></description><pubDate>Wed, 17 Jun 2026 23:01:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=48578216</link><dc:creator>1718627440</dc:creator><comments>https://news.ycombinator.com/item?id=48578216</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48578216</guid></item><item><title><![CDATA[New comment by 1718627440 in "Lore – Open source version control system designed for scalability"]]></title><description><![CDATA[
<p>Cache is like the old name, index is the new name, because the implementation didn't really make sense to use as a term for the users.  Staging area was invented by third-parties as a term for training.  Now Git uses --cached to mean only work on the context cached in the index and --index to mean also look at the --index.  --stages exists as an alias for --cached for the people who want it, but it has no additional meaning and is not advertised in the documentation.<p>The actual documentation is actually sensible, the issue is just that most people just learn from third parties, who are lax with terms.<p>> At the end user level, "cache" is only used as an adjective these days; "cached", meaning "contents cached in the index, not the contents in the work tree".  We could have called it "indexed", but "cached contents" was an already established phrase from very early days to mean that exact concept, and we did not need another word that meant the same thing.<p>> There are some commands that take --index and --cached options, and even some that can take both (but not at the same time).  Many people find this confusing, but there is a pair of simple rules:<p><pre><code>    "--cached" always means "work only on contents cached in the index, ignoring the work tree";
    "--index" makes a command that usually works on files in the work tree also pay attention to the index.
</code></pre>
> Here are a handful of examples.<p><pre><code>    "git apply" usually patches the files in the work tree without touching the index.
    "git apply --cached" only updates the contents in the index without modifying the file in the work tree.
    "git apply --index" patches both the contents in the work tree and in the index.
    "git diff HEAD" shows a patch to update the contents in the HEAD commit to contents in the work tree.
    "git diff --cached HEAD" shows a patch to update the contents in the HEAD commit to contents that is cached in the index.  "git diff --cached" is a short-hand for "git diff --cached HEAD" only because the HEAD commit is what you most often would want to compare the cached contents with.
    There is no "git diff --index HEAD" (yet); it would imply showing a three-way diff between HEAD, the index and the work tree.
    "git grep" finds matches in the work tree.
    "git grep --cached" finds matches in the contents in the index.
    "git rm" removes both the file in the work tree and the corresponding path in the index.
    "git rm --cached" removes the path from the index, leaving the file in the work tree untracked.</code></pre></p>
]]></description><pubDate>Wed, 17 Jun 2026 22:58:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=48578181</link><dc:creator>1718627440</dc:creator><comments>https://news.ycombinator.com/item?id=48578181</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48578181</guid></item><item><title><![CDATA[New comment by 1718627440 in "Lore – Open source version control system designed for scalability"]]></title><description><![CDATA[
<p>I do want a progress indicator for something that might take a while without asking.  If you clone things locally, Git only reports that it cloned something.</p>
]]></description><pubDate>Wed, 17 Jun 2026 22:47:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=48578078</link><dc:creator>1718627440</dc:creator><comments>https://news.ycombinator.com/item?id=48578078</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48578078</guid></item><item><title><![CDATA[New comment by 1718627440 in "Lore – Open source version control system designed for scalability"]]></title><description><![CDATA[
<p>That it is difficult to merge e.g. media files has nothing to do with Git.  It's just that it is one of the core assumptions in Git, that it is fine to diverge locally and cheaply, because you can just merge.  I think this can't really be solved without a centralized server and that is just something, that Git doesn't want to be.</p>
]]></description><pubDate>Wed, 17 Jun 2026 22:45:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=48578054</link><dc:creator>1718627440</dc:creator><comments>https://news.ycombinator.com/item?id=48578054</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48578054</guid></item><item><title><![CDATA[New comment by 1718627440 in "Lore – Open source version control system designed for scalability"]]></title><description><![CDATA[
<p>But it's more like a fundamental design choice.</p>
]]></description><pubDate>Wed, 17 Jun 2026 22:41:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=48578008</link><dc:creator>1718627440</dc:creator><comments>https://news.ycombinator.com/item?id=48578008</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48578008</guid></item><item><title><![CDATA[New comment by 1718627440 in "Lore – Open source version control system designed for scalability"]]></title><description><![CDATA[
<p>You can combine the push step.  A submodule intentionally follows a different development/commit/version cycle, otherwise you are supposed to use a subtree.</p>
]]></description><pubDate>Wed, 17 Jun 2026 22:38:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=48577972</link><dc:creator>1718627440</dc:creator><comments>https://news.ycombinator.com/item?id=48577972</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48577972</guid></item><item><title><![CDATA[New comment by 1718627440 in "Lore – Open source version control system designed for scalability"]]></title><description><![CDATA[
<p>You can set submodule.recurse to true and then git commands operate as if you passed --recurse to them?  It's just that most people don't actually want that, because a submodule is generally something you intentionally want to handle separate.</p>
]]></description><pubDate>Wed, 17 Jun 2026 22:37:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=48577955</link><dc:creator>1718627440</dc:creator><comments>https://news.ycombinator.com/item?id=48577955</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48577955</guid></item><item><title><![CDATA[New comment by 1718627440 in "Lore – Open source version control system designed for scalability"]]></title><description><![CDATA[
<p>Submodules ARE multiple repositories.  This is not an either or.</p>
]]></description><pubDate>Wed, 17 Jun 2026 22:33:35 +0000</pubDate><link>https://news.ycombinator.com/item?id=48577915</link><dc:creator>1718627440</dc:creator><comments>https://news.ycombinator.com/item?id=48577915</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48577915</guid></item><item><title><![CDATA[New comment by 1718627440 in "Lore – Open source version control system designed for scalability"]]></title><description><![CDATA[
<p>Because code is not supposed to contain parts that are secret or specific rules: those are data, that your program should work on.  Git is coming from the open source movement.</p>
]]></description><pubDate>Wed, 17 Jun 2026 22:32:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=48577900</link><dc:creator>1718627440</dc:creator><comments>https://news.ycombinator.com/item?id=48577900</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48577900</guid></item><item><title><![CDATA[New comment by 1718627440 in "How memory safety CVEs differ between Rust and C/C++"]]></title><description><![CDATA[
<p>> When I'm writing C, I have no idea if using restrict will help other than staring at the assembly.<p>It's also a statement, whether you want callers to pass the same object to different parameters.  If that doesn't make sense or you don't want that, write restrict.</p>
]]></description><pubDate>Tue, 16 Jun 2026 08:00:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=48552061</link><dc:creator>1718627440</dc:creator><comments>https://news.ycombinator.com/item?id=48552061</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48552061</guid></item><item><title><![CDATA[New comment by 1718627440 in "How memory safety CVEs differ between Rust and C/C++"]]></title><description><![CDATA[
<p>But the compiler tells you about the issue.</p>
]]></description><pubDate>Tue, 16 Jun 2026 07:53:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=48552020</link><dc:creator>1718627440</dc:creator><comments>https://news.ycombinator.com/item?id=48552020</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48552020</guid></item><item><title><![CDATA[New comment by 1718627440 in "How memory safety CVEs differ between Rust and C/C++"]]></title><description><![CDATA[
<p>A dereference in the final binary is not different from Rust.  A dereference in the source code, that makes the whole program invalid, so the compiler doesn't emit a credentials check you wanted it to emit, is.<p>For availability and stability concerns, the C approach is actually better, but for security and reproducibility, it is not.</p>
]]></description><pubDate>Tue, 16 Jun 2026 07:50:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=48551993</link><dc:creator>1718627440</dc:creator><comments>https://news.ycombinator.com/item?id=48551993</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48551993</guid></item><item><title><![CDATA[New comment by 1718627440 in "How memory safety CVEs differ between Rust and C/C++"]]></title><description><![CDATA[
<p>But that's not a wrong approach.  First you want to as many vulnerabilities as you can, than you want to fix as many as you can.  If you rate the developing department for that, that's another story.</p>
]]></description><pubDate>Tue, 16 Jun 2026 07:46:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=48551962</link><dc:creator>1718627440</dc:creator><comments>https://news.ycombinator.com/item?id=48551962</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48551962</guid></item></channel></rss>