<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: ryanshrott</title><link>https://news.ycombinator.com/user?id=ryanshrott</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sat, 13 Jun 2026 14:07:56 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=ryanshrott" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by ryanshrott in "Port React Compiler to Rust"]]></title><description><![CDATA[
<p>The test suite gets you through the port. The scary part is the first feature request that is not already covered by a test - that is when you find out if anyone actually knows how the code works.</p>
]]></description><pubDate>Wed, 10 Jun 2026 14:28:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=48476832</link><dc:creator>ryanshrott</dc:creator><comments>https://news.ycombinator.com/item?id=48476832</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48476832</guid></item><item><title><![CDATA[New comment by ryanshrott in "Config Files That Run Code: Supply Chain Security Blindspot"]]></title><description><![CDATA[
<p>I started grepping .vscode/settings.json for terminal.integrated before opening any new repo. VS Code workspace settings being executable by default is quietly terrifying.</p>
]]></description><pubDate>Tue, 09 Jun 2026 14:31:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=48461661</link><dc:creator>ryanshrott</dc:creator><comments>https://news.ycombinator.com/item?id=48461661</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48461661</guid></item><item><title><![CDATA[New comment by ryanshrott in "Are you expected to run five Python type-checkers now?"]]></title><description><![CDATA[
<p>I run pyright in CI and mypy locally. They catch different things - pyright is stricter on overloads, mypy catches more None issues in our codebase. Annoying, but I have not found one that covers both.</p>
]]></description><pubDate>Tue, 09 Jun 2026 02:26:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=48455484</link><dc:creator>ryanshrott</dc:creator><comments>https://news.ycombinator.com/item?id=48455484</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48455484</guid></item><item><title><![CDATA[New comment by ryanshrott in "Show HN: Mercek – A Desktop IDE for AWS ECS"]]></title><description><![CDATA[
<p>E1S is solid for terminal use, but a visual task and service view helps when you are debugging across clusters. Does this handle cross-region ECS or only single region?</p>
]]></description><pubDate>Sat, 06 Jun 2026 02:24:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=48420805</link><dc:creator>ryanshrott</dc:creator><comments>https://news.ycombinator.com/item?id=48420805</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48420805</guid></item><item><title><![CDATA[New comment by ryanshrott in "WSL 2 is getting faster Windows file system access"]]></title><description><![CDATA[
<p>80% is being generous. I gave up on USB for WSL altogether and just pass the whole controller through with Hyper-V. On laptops, though, that is not always possible.</p>
]]></description><pubDate>Fri, 05 Jun 2026 14:26:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=48413014</link><dc:creator>ryanshrott</dc:creator><comments>https://news.ycombinator.com/item?id=48413014</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48413014</guid></item><item><title><![CDATA[New comment by ryanshrott in "Bun has been converted to rust. Now what?"]]></title><description><![CDATA[
<p>OS boundary unsafe is easy to audit because it's at the edges. The problem here is 10k unsafe blocks scattered through the core - that's a different thing entirely.</p>
]]></description><pubDate>Fri, 05 Jun 2026 02:24:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=48407219</link><dc:creator>ryanshrott</dc:creator><comments>https://news.ycombinator.com/item?id=48407219</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48407219</guid></item><item><title><![CDATA[New comment by ryanshrott in "DNS is for people, not for IT infrastructure"]]></title><description><![CDATA[
<p>Everyone's dunking on /etc/hosts, but I've debugged enough production DNS loops to get the temptation. It's not the right answer, but the impulse isn't crazy either.</p>
]]></description><pubDate>Thu, 04 Jun 2026 15:24:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=48400063</link><dc:creator>ryanshrott</dc:creator><comments>https://news.ycombinator.com/item?id=48400063</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48400063</guid></item><item><title><![CDATA[New comment by ryanshrott in "Show HN: Streambed – Stream Postgres to Iceberg on S3, Supports Postgres Wire"]]></title><description><![CDATA[
<p>We ran into issues with CDC when tables had a lot of TOAST columns. The WAL records don't include the full values unless you set REPLICA IDENTITY FULL. Does Streambed handle that, or do you need the extra config?</p>
]]></description><pubDate>Tue, 02 Jun 2026 02:24:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=48365203</link><dc:creator>ryanshrott</dc:creator><comments>https://news.ycombinator.com/item?id=48365203</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48365203</guid></item><item><title><![CDATA[New comment by ryanshrott in "Cessation of public development of Kefir C compiler"]]></title><description><![CDATA[
<p>The gcc torture tests are no joke. I skimmed them once thinking I’d write a toy C compiler. Thousands of test cases covering edge cases I’d never even thought about. Respect to anyone who gets through the full suite.</p>
]]></description><pubDate>Mon, 01 Jun 2026 14:26:30 +0000</pubDate><link>https://news.ycombinator.com/item?id=48357290</link><dc:creator>ryanshrott</dc:creator><comments>https://news.ycombinator.com/item?id=48357290</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48357290</guid></item><item><title><![CDATA[New comment by ryanshrott in "One year of Roto, a compiled scripting language for Rust"]]></title><description><![CDATA[
<p>Rhai is dynamically typed and uses reference counting, Rune has a full VM with a borrow checker, and Roto compiles to bytecode. The tradeoff is basically faster iteration with Rhai vs faster execution with Roto, with Rune sitting somewhere in the middle but feeling heavier.</p>
]]></description><pubDate>Sun, 31 May 2026 14:28:47 +0000</pubDate><link>https://news.ycombinator.com/item?id=48345942</link><dc:creator>ryanshrott</dc:creator><comments>https://news.ycombinator.com/item?id=48345942</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48345942</guid></item><item><title><![CDATA[New comment by ryanshrott in "Perry Compiles TypeScript directly to executables using SWC and LLVM"]]></title><description><![CDATA[
<p>Static linking just puts the runtime inside the binary. The binary size is the real clue here.</p>
]]></description><pubDate>Sun, 31 May 2026 02:28:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=48342529</link><dc:creator>ryanshrott</dc:creator><comments>https://news.ycombinator.com/item?id=48342529</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48342529</guid></item><item><title><![CDATA[New comment by ryanshrott in "HeidiSQL – Lightweight MariaDB, MySQL, SQL Server, PostgreSQL and SQLite Manager"]]></title><description><![CDATA[
<p>Starts instantly compared with DBeaver's Java startup. The table data editor is better for quick in-place edits too, less clicking through dialogs.</p>
]]></description><pubDate>Sat, 30 May 2026 02:26:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=48331815</link><dc:creator>ryanshrott</dc:creator><comments>https://news.ycombinator.com/item?id=48331815</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48331815</guid></item><item><title><![CDATA[New comment by ryanshrott in "Show HN: Posthorn, self-hosted mail gateway"]]></title><description><![CDATA[
<p>Does the SMTP relay handle DMARC aggregate reports, or do you still need something like parsedmarc set up alongside it? That's always the loose end when I put these together.</p>
]]></description><pubDate>Thu, 28 May 2026 14:29:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=48309442</link><dc:creator>ryanshrott</dc:creator><comments>https://news.ycombinator.com/item?id=48309442</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48309442</guid></item><item><title><![CDATA[New comment by ryanshrott in "Raft Consensus with a Minority of Nodes"]]></title><description><![CDATA[
<p>This is neat, but I wonder how it handles asymmetric partitions. The Fano plane math assumes clean splits. Real networks don’t cooperate like that.</p>
]]></description><pubDate>Wed, 27 May 2026 14:24:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=48294869</link><dc:creator>ryanshrott</dc:creator><comments>https://news.ycombinator.com/item?id=48294869</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48294869</guid></item><item><title><![CDATA[New comment by ryanshrott in "DynIP – Dynamic DNS with RFC 2136, IPv6, DNSSEC, and BYOD"]]></title><description><![CDATA[
<p>You generate a short-lived token, update, then rotate it. For most home setups, a cron job every 5 minutes with a 10-minute token window is fine. The RFC 2136 path is the real reason to use this instead of the HTTP update protocols most DDNS services use.</p>
]]></description><pubDate>Tue, 26 May 2026 14:36:47 +0000</pubDate><link>https://news.ycombinator.com/item?id=48280458</link><dc:creator>ryanshrott</dc:creator><comments>https://news.ycombinator.com/item?id=48280458</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48280458</guid></item><item><title><![CDATA[New comment by ryanshrott in "Gnutella: A Protocol Outliving the World That Created It"]]></title><description><![CDATA[
<p>Gnutellas real legacy is not the file sharing, it is the lessons it taught about protocol design. Flood-based query routing is awful at scale, but it is dead simple to implement, with no central server, no SPOF, and it works behind NAT. The structured overlay networks that came after, like Chord, Pastry, and Kademlia, fixed the routing efficiency problem, but they also added enough complexity to make them harder to deploy in practice. Most modern P2P systems ended up somewhere in the middle: DHT for discovery, direct connections for data transfer. It is the same tradeoff people keep running into with mesh networking and federated protocols today.</p>
]]></description><pubDate>Sun, 24 May 2026 15:28:36 +0000</pubDate><link>https://news.ycombinator.com/item?id=48258051</link><dc:creator>ryanshrott</dc:creator><comments>https://news.ycombinator.com/item?id=48258051</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48258051</guid></item><item><title><![CDATA[New comment by ryanshrott in "Bun's unreleased Rust port has 13,365 unsafe blocks"]]></title><description><![CDATA[
<p>13k unsafe blocks is a reminder that unsafe on its own isn’t the problem, it’s whether that unsafe boundary is small and audited. The number that matters more is how much of the codebase depends on unchecked invariants. If the answer is most of it, the port is moving too fast.</p>
]]></description><pubDate>Sat, 23 May 2026 15:23:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=48248460</link><dc:creator>ryanshrott</dc:creator><comments>https://news.ycombinator.com/item?id=48248460</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48248460</guid></item><item><title><![CDATA[New comment by ryanshrott in "Aether: High-performance, formally-verified storage engine written in Rust"]]></title><description><![CDATA[
<p>Formally verified only matters if the implementation actually improves the model, not just matches it in some abstract way. That difference matters a lot once you stop demoing and start trusting it with real data.</p>
]]></description><pubDate>Tue, 19 May 2026 21:26:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=48199902</link><dc:creator>ryanshrott</dc:creator><comments>https://news.ycombinator.com/item?id=48199902</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48199902</guid></item><item><title><![CDATA[New comment by ryanshrott in "Linux security mailing list 'almost unmanageable'"]]></title><description><![CDATA[
<p>Mailing lists are a bad fit for this problem once spam starts taking over. If the first pass can cluster duplicates and reject reports that don’t include a reproducer or a two sentence summary, that would save everyone a ton of time.</p>
]]></description><pubDate>Tue, 19 May 2026 21:23:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=48199852</link><dc:creator>ryanshrott</dc:creator><comments>https://news.ycombinator.com/item?id=48199852</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48199852</guid></item><item><title><![CDATA[New comment by ryanshrott in "Cursor Introduces Composer 2.5"]]></title><description><![CDATA[
<p>The cost claim is the easy part to sell. The real test is whether it stays useful in ugly codebases, long files, and repos with a bunch of half-broken conventions. That’s where these assistants usually fall apart, even when the benchmark numbers look great.</p>
]]></description><pubDate>Tue, 19 May 2026 21:20:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=48199818</link><dc:creator>ryanshrott</dc:creator><comments>https://news.ycombinator.com/item?id=48199818</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48199818</guid></item></channel></rss>