<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: conradludgate</title><link>https://news.ycombinator.com/user?id=conradludgate</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sat, 25 Apr 2026 09:21:58 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=conradludgate" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by conradludgate in "Jujutsu megamerges for fun and profit"]]></title><description><![CDATA[
<p>I've been doing this in git for years. Interactive rebasing isn't that scary. At work we have a very big stacked PR culture on github using native git</p>
]]></description><pubDate>Tue, 21 Apr 2026 07:21:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=47845600</link><dc:creator>conradludgate</dc:creator><comments>https://news.ycombinator.com/item?id=47845600</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47845600</guid></item><item><title><![CDATA[New comment by conradludgate in "AWS engineer reports PostgreSQL perf halved by Linux 7.0, fix may not be easy"]]></title><description><![CDATA[
<p>It's the performance team's job to test these things. Doesn't mean they're going to deploy it immediately.<p>Someone should be testing these things and reporting regressions</p>
]]></description><pubDate>Sun, 05 Apr 2026 06:36:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=47646725</link><dc:creator>conradludgate</dc:creator><comments>https://news.ycombinator.com/item?id=47646725</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47646725</guid></item><item><title><![CDATA[New comment by conradludgate in "Show HN: I built a DNS resolver from scratch in Rust – no DNS libraries"]]></title><description><![CDATA[
<p>What's the reason you're not using hickory? Or was that the LLMs choice? Genuinely curious</p>
]]></description><pubDate>Thu, 02 Apr 2026 18:55:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=47618661</link><dc:creator>conradludgate</dc:creator><comments>https://news.ycombinator.com/item?id=47618661</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47618661</guid></item><item><title><![CDATA[New comment by conradludgate in "The way CTRL-C in Postgres CLI cancels queries is incredibly hack-y"]]></title><description><![CDATA[
<p>This is new in postgres 18/protocol 3.2. libpq still defaults to protocol 3.0 and many client drivers don't have support for protocol 3.2</p>
]]></description><pubDate>Tue, 24 Mar 2026 07:29:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=47499545</link><dc:creator>conradludgate</dc:creator><comments>https://news.ycombinator.com/item?id=47499545</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47499545</guid></item><item><title><![CDATA[New comment by conradludgate in "The future of version control"]]></title><description><![CDATA[
<p>My understanding of the way this is presented is that merges don't _block_ the workflow. In git, a merge conflict is a failure to merge, but in this idea a merge conflict is still present but the merge still succeeds. You can commit with conflicts unresolved. This allows you to defer conflict resolution to later. I believe jj does this as well?<p>Technically you could include conflict markers in your commits but I don't think people like that very much</p>
]]></description><pubDate>Sun, 22 Mar 2026 17:59:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=47480232</link><dc:creator>conradludgate</dc:creator><comments>https://news.ycombinator.com/item?id=47480232</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47480232</guid></item><item><title><![CDATA[New comment by conradludgate in "Redox OS has adopted a Certificate of Origin policy and a strict no-LLM policy"]]></title><description><![CDATA[
<p>I've never had a one-shot prompt ever work. It's always an interactive session to eventually get to the working solution.</p>
]]></description><pubDate>Tue, 10 Mar 2026 14:31:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=47323813</link><dc:creator>conradludgate</dc:creator><comments>https://news.ycombinator.com/item?id=47323813</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47323813</guid></item><item><title><![CDATA[New comment by conradludgate in "RFC 9849. TLS Encrypted Client Hello"]]></title><description><![CDATA[
<p>ECH doesn't benefit you if you're connecting directly to one IP. Middleboxes can track that you're connecting to this IP.<p>ECH prevents tracking through routing layers where your ClientHello might contain foo.example.com or bar.example.com but route via the same IP (Cloudflare). A middlebox can see you are using a cloudflare hosted website, but not know what cloudflare website.<p>There's no benefit encrypting the SNI with 10.20.30.40 if they can see you're connecting to 10
20.30.40 anyway</p>
]]></description><pubDate>Wed, 04 Mar 2026 11:13:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=47245906</link><dc:creator>conradludgate</dc:creator><comments>https://news.ycombinator.com/item?id=47245906</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47245906</guid></item><item><title><![CDATA[New comment by conradludgate in "RFC 9849. TLS Encrypted Client Hello"]]></title><description><![CDATA[
<p>The website owner (or cloudflare in this case) has the keys to decrypt the client hello. That's necessary for routing information.</p>
]]></description><pubDate>Wed, 04 Mar 2026 11:07:26 +0000</pubDate><link>https://news.ycombinator.com/item?id=47245873</link><dc:creator>conradludgate</dc:creator><comments>https://news.ycombinator.com/item?id=47245873</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47245873</guid></item><item><title><![CDATA[New comment by conradludgate in "Why does C have the best file API"]]></title><description><![CDATA[
<p>The point the article makes is that a 32GB file can be mmapped even if you only have 8GB of memory available - it wasn't talking about the address space. So the response is irrelevant even if technically correct</p>
]]></description><pubDate>Mon, 02 Mar 2026 05:28:47 +0000</pubDate><link>https://news.ycombinator.com/item?id=47214201</link><dc:creator>conradludgate</dc:creator><comments>https://news.ycombinator.com/item?id=47214201</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47214201</guid></item><item><title><![CDATA[New comment by conradludgate in "Turn Dependabot off"]]></title><description><![CDATA[
<p><a href="https://rustsec.org/" rel="nofollow">https://rustsec.org/</a></p>
]]></description><pubDate>Fri, 20 Feb 2026 22:14:26 +0000</pubDate><link>https://news.ycombinator.com/item?id=47094772</link><dc:creator>conradludgate</dc:creator><comments>https://news.ycombinator.com/item?id=47094772</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47094772</guid></item><item><title><![CDATA[New comment by conradludgate in "Rust at Scale: An Added Layer of Security for WhatsApp"]]></title><description><![CDATA[
<p>No one I know in the UK seriously uses signal. If I'm asking for a phone number from a neighbour it's going to be WhatsApp</p>
]]></description><pubDate>Thu, 29 Jan 2026 05:43:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=46806260</link><dc:creator>conradludgate</dc:creator><comments>https://news.ycombinator.com/item?id=46806260</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46806260</guid></item><item><title><![CDATA[New comment by conradludgate in "How London became the rest of the world’s startup capital"]]></title><description><![CDATA[
<p>As long as you live within Greater London and can use TFL, it's more like 5%</p>
]]></description><pubDate>Wed, 28 Jan 2026 22:52:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=46802842</link><dc:creator>conradludgate</dc:creator><comments>https://news.ycombinator.com/item?id=46802842</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46802842</guid></item><item><title><![CDATA[New comment by conradludgate in "I built a 2x faster lexer, then discovered I/O was the real bottleneck"]]></title><description><![CDATA[
<p>Yes, but it's an O(1) random access seek rather than O(n) scanning seek</p>
]]></description><pubDate>Sun, 25 Jan 2026 14:16:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=46754242</link><dc:creator>conradludgate</dc:creator><comments>https://news.ycombinator.com/item?id=46754242</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46754242</guid></item><item><title><![CDATA[New comment by conradludgate in "ADHD drugs don't work the way we thought"]]></title><description><![CDATA[
<p>It doesn't make sense to me. I was diagnosed with ADHD at the start of the year. I've had consistently good sleep for several years prior to the diagnosis and I never particularly felt tired</p>
]]></description><pubDate>Wed, 31 Dec 2025 09:25:36 +0000</pubDate><link>https://news.ycombinator.com/item?id=46442658</link><dc:creator>conradludgate</dc:creator><comments>https://news.ycombinator.com/item?id=46442658</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46442658</guid></item><item><title><![CDATA[New comment by conradludgate in "High-performance C++ hash table using grouped SIMD metadata scanning"]]></title><description><![CDATA[
<p>To elaborate, hashbrown uses quadratic-ish probing over groups, each group can store 16 slots on sse2.<p><a href="https://github.com/rust-lang/hashbrown/blob/master/src/control/group/sse2.rs" rel="nofollow">https://github.com/rust-lang/hashbrown/blob/master/src/contr...</a><p><a href="https://github.com/rust-lang/hashbrown/blob/6efda58a30fe712a567e97cbe8f10255d6663d6e/src/raw/mod.rs#L66-L94" rel="nofollow">https://github.com/rust-lang/hashbrown/blob/6efda58a30fe712a...</a></p>
]]></description><pubDate>Mon, 29 Dec 2025 21:41:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=46426061</link><dc:creator>conradludgate</dc:creator><comments>https://news.ycombinator.com/item?id=46426061</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46426061</guid></item><item><title><![CDATA[New comment by conradludgate in "High-performance C++ hash table using grouped SIMD metadata scanning"]]></title><description><![CDATA[
<p>As far as I understand, hashbrown already does this. Hashbrown is based on Google's SwissTable, and this project references that SwissTable already does this optimisation.</p>
]]></description><pubDate>Mon, 29 Dec 2025 21:34:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=46425999</link><dc:creator>conradludgate</dc:creator><comments>https://news.ycombinator.com/item?id=46425999</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46425999</guid></item><item><title><![CDATA[New comment by conradludgate in "Pre-commit hooks are broken"]]></title><description><![CDATA[
<p>I've worked in several projects where running the tests locally automatically install pre-commit hooks and I've wanted to commit warcrimes because of it.<p>Don't do that, just dont.</p>
]]></description><pubDate>Sat, 27 Dec 2025 09:37:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=46400505</link><dc:creator>conradludgate</dc:creator><comments>https://news.ycombinator.com/item?id=46400505</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46400505</guid></item><item><title><![CDATA[New comment by conradludgate in "Pre-commit hooks are broken"]]></title><description><![CDATA[
<p>The downside currently (although I've been assured this will be fixed one day) is that it doesn't support running static analysis over each commit you want to fix.<p>My git rebase workflow often involves running `git rebase -x "cargo clippy -- --deny=warnings"`. This needs a full checkout to work and not just a single file input</p>
]]></description><pubDate>Sat, 27 Dec 2025 09:33:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=46400493</link><dc:creator>conradludgate</dc:creator><comments>https://news.ycombinator.com/item?id=46400493</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46400493</guid></item><item><title><![CDATA[New comment by conradludgate in "The Algebra of Loans in Rust"]]></title><description><![CDATA[
<p>Common wisdom is that pinning is a property of the place, not the reference or the type.<p>A type that might require stable pointers, like async{}, might want to be movable prior to use, so you don't want the type to require the value be pinned immediately. Or if you do, you need a construction like pinned-init that offers `&pin out T` - a pinned place that can be written to on initialisation of the type.</p>
]]></description><pubDate>Fri, 26 Dec 2025 13:42:50 +0000</pubDate><link>https://news.ycombinator.com/item?id=46391897</link><dc:creator>conradludgate</dc:creator><comments>https://news.ycombinator.com/item?id=46391897</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46391897</guid></item><item><title><![CDATA[New comment by conradludgate in "Avoid UUID Version 4 Primary Keys in Postgres"]]></title><description><![CDATA[
<p>100%. You can use rendezvous hashing to determine the shard(s). The hash of a sequence should be randomly distributed as changing the LSB should propagate to 50% change in the output bits.</p>
]]></description><pubDate>Mon, 15 Dec 2025 17:53:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=46277902</link><dc:creator>conradludgate</dc:creator><comments>https://news.ycombinator.com/item?id=46277902</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46277902</guid></item></channel></rss>