<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: mrlongroots</title><link>https://news.ycombinator.com/user?id=mrlongroots</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sat, 25 Apr 2026 09:05:27 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=mrlongroots" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by mrlongroots in "Our eighth generation TPUs: two chips for the agentic era"]]></title><description><![CDATA[
<p>That training is compute-bound and inference is memory-bound is well-known, but I don't think Nvidia deployments typically specialize for one vs the other.<p>One reason is that most clouds/neoclouds don't own workloads, and want fungibility. Given that you're spending a lot on H200s and what not it's good to also spend on the networking to make sure you can sell them to all kinds of customers. The Grok LPU in Vera Rubin is an inference-specific accelerator, and Cerebras is also inference-optimized so specialization is starting to happen.</p>
]]></description><pubDate>Wed, 22 Apr 2026 14:43:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=47864386</link><dc:creator>mrlongroots</dc:creator><comments>https://news.ycombinator.com/item?id=47864386</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47864386</guid></item><item><title><![CDATA[New comment by mrlongroots in "What category theory teaches us about dataframes"]]></title><description><![CDATA[
<p>MapReduce is nice but it doesn't, by itself, help you reason about pushdowns for one. Parquet, for example, can pushdown select/project/filter, and that's lost if you have MapReduce. And a reduce is just a shuffle + map, not very different from a distributed join. MapReduce as an escape hatch over what is fundamentally still relational algebra may be a good intuition.</p>
]]></description><pubDate>Fri, 03 Apr 2026 14:44:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=47627244</link><dc:creator>mrlongroots</dc:creator><comments>https://news.ycombinator.com/item?id=47627244</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47627244</guid></item><item><title><![CDATA[New comment by mrlongroots in "What Category Theory Teaches Us About DataFrames"]]></title><description><![CDATA[
<p>Algebras are also nice for implementations. If you can decompose a domain into a few algebraic primitives you can write nice SIMD/CUDA kernels for those primitives.<p>To your point, I wonder if the 73 distinct transforms were just different defaults/usability wrappers over these. And you may also get into situations where kernels can be fused together or other batching constraints enable optimizations that nice algebraic primitives don't capture. But that's just systems---theory is useful in helping rethink API bloats and keeping us all honest.</p>
]]></description><pubDate>Fri, 03 Apr 2026 14:40:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=47627195</link><dc:creator>mrlongroots</dc:creator><comments>https://news.ycombinator.com/item?id=47627195</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47627195</guid></item><item><title><![CDATA[New comment by mrlongroots in "The Waymo World Model"]]></title><description><![CDATA[
<p>Yes, GPT5-series thinking models are extremely pedantic and tedious. Any conversation with them is derailed because they start nitpicking something random.<p>But Codex/5.2 was substantially more effective than Claude at debugging complex C++ bugs until around Fall, when I was writing a lot more code.<p>I find Gemini 3 useless. It has regressed on hallucinations from Gemini 2.5, to the point where its output is no better than a random token stream despite all its benchmark outperformance. I would use Gemini 2.5 to help write papers and all, can't see to use Gemini 3 for anything. Gemini CLI also is very non-compliant and crazy.</p>
]]></description><pubDate>Fri, 06 Feb 2026 20:08:50 +0000</pubDate><link>https://news.ycombinator.com/item?id=46917518</link><dc:creator>mrlongroots</dc:creator><comments>https://news.ycombinator.com/item?id=46917518</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46917518</guid></item><item><title><![CDATA[New comment by mrlongroots in "Replacing Protobuf with Rust"]]></title><description><![CDATA[
<p>While Arrow is amazing, it is only the C Data Interface that can be FFI'ed, which is pretty low level. If you have something higher-level like a table or a vector of recordbatches, you have to write quite a bit of FFI glue yourself. It is still performant because it's a tiny amount of metadata, but it can still be a bit tedious.<p>And the reason is ABI compatibility. Reasoning about ABI compatibility across different C++ versions and optimization levels and architectures can be a nightmare, let alone different programming languages.<p>The reason it works at all for Arrow is that the leaf levels of the data model are large contiguous columnar arrays, so reconstructing the higher layers still gets you a lot of value. The other domains where it works are tensors/DLPack and scientific arrays (Zarr etc). For arbitrary struct layouts across languages/architectures/versions, serdes is way more reliable than a universal ABI.</p>
]]></description><pubDate>Fri, 23 Jan 2026 16:43:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=46734604</link><dc:creator>mrlongroots</dc:creator><comments>https://news.ycombinator.com/item?id=46734604</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46734604</guid></item><item><title><![CDATA[New comment by mrlongroots in "AWS Trainium3 Deep Dive – A Potential Challenger Approaching"]]></title><description><![CDATA[
<p>Hyperscalers do not need to achieve parity with Nvidia. There's a (let's say) 50% headroom in terms of profit margins, and plenty of headroom in terms of the complexity custom chip efforts need to implement: they don't need the complexity or generality of Nvidia's chips. If a simple architecture allows them to do inference at 50% of the TCO and 1/5th the complexity and reduce their Nvidia bill by 70% that's a solid win. I'm being fast and loose with numbers and Trainium clearly seems to have ambitions beyond inference, but given the hundreds of billions each cloud vendor is investing in the AI buildout, a couple billion on IP that you will own afterwards is a no brainer. Nvidia has good products and a solid head start but they're not unassailable or anything.</p>
]]></description><pubDate>Tue, 09 Dec 2025 18:19:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=46208443</link><dc:creator>mrlongroots</dc:creator><comments>https://news.ycombinator.com/item?id=46208443</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46208443</guid></item><item><title><![CDATA[New comment by mrlongroots in "The C++ standard for the F-35 Fighter Jet [video]"]]></title><description><![CDATA[
<p>Yeah unfortunately no amount of manoeuvering is a substitute for a kill chain where a distributed web of sensors and relays and weapon carriers can result in an AAM being dispatched from any direction at lightspeed.</p>
]]></description><pubDate>Mon, 08 Dec 2025 04:53:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=46188506</link><dc:creator>mrlongroots</dc:creator><comments>https://news.ycombinator.com/item?id=46188506</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46188506</guid></item><item><title><![CDATA[New comment by mrlongroots in "650GB of Data (Delta Lake on S3). Polars vs. DuckDB vs. Daft vs. Spark"]]></title><description><![CDATA[
<p>The appropriate comparison point for aggregate cluster storage bandwidth would be its bisection bandwidth.<p>(I do HPC, IIRC ANL Aurora is < 1PB/s DAOS and 20 PB/s bisection).</p>
]]></description><pubDate>Fri, 14 Nov 2025 16:30:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=45928485</link><dc:creator>mrlongroots</dc:creator><comments>https://news.ycombinator.com/item?id=45928485</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45928485</guid></item><item><title><![CDATA[New comment by mrlongroots in "650GB of Data (Delta Lake on S3). Polars vs. DuckDB vs. Daft vs. Spark"]]></title><description><![CDATA[
<p>I think I'm talking about cluster-scale network bisection bandwidth vs attached storage bandwidth. With replication/erasure coding overhead and the economics, the order of magnitude difference still prevails.<p>I think your point is a good one in that it is more economics than systems physics. We size clusters to have more compute/network than storage because it is the design point that maximizes overall utility.<p>I think it also raises an interesting question in that let's say we get to a point where the disparity really no longer holds: that would justify a complete rethinking of many Spark-like applications that are designed to exploit this asymmetry.</p>
]]></description><pubDate>Fri, 14 Nov 2025 16:28:47 +0000</pubDate><link>https://news.ycombinator.com/item?id=45928442</link><dc:creator>mrlongroots</dc:creator><comments>https://news.ycombinator.com/item?id=45928442</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45928442</guid></item><item><title><![CDATA[New comment by mrlongroots in "650GB of Data (Delta Lake on S3). Polars vs. DuckDB vs. Daft vs. Spark"]]></title><description><![CDATA[
<p>Yep I think the value of the experiment is not clear.<p>You want to use Spark for a large dataset with multiple stages. In this case, their I/O bandwidth is 1GB/s from S3. CPU memory bandwidth is 100-200GB/s for a multi-stage job. Spark is a way to pool memory for a large dataset with multiple stages, and use cluster-internal network bandwidth to do shuffling instead of storage.<p>Maybe when you have S3 as your backend, the storage bandwidth bottleneck doesn't show up in perf, but it sure does show up in the bill. A crude rule of thumb: network bandwidth is 20X storage, main memory bandwidth is 20X network bandwidth, accelerator/GPU memory is 10X CPU. It's great that single-node DuckDB/Polars are that good, but this is like racing a taxiing aircraft against motorbikes.</p>
]]></description><pubDate>Fri, 14 Nov 2025 03:25:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=45923510</link><dc:creator>mrlongroots</dc:creator><comments>https://news.ycombinator.com/item?id=45923510</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45923510</guid></item><item><title><![CDATA[New comment by mrlongroots in "Ticker: Don't die of heart disease"]]></title><description><![CDATA[
<p>> LDL-C is much much cheaper to measure. ApoB costs 36x times as much, so Insurance Companies don't like to pay for it<p>Unfortunately American retail prices might as well be generated by a PRNG, and do not mean much.<p>On Ulta, a basic lipid panel vs an ApoB test are $22 and $36 respectively. Looking at Indian lab prices, (approx. INR->USD), both are under $10 there.<p><a href="https://www.ultalabtests.com/test/cholesterol-and-lipids-test" rel="nofollow">https://www.ultalabtests.com/test/cholesterol-and-lipids-tes...</a>
<a href="https://www.ultalabtests.com/test/cardio-iq-apolipoprotein-b-test" rel="nofollow">https://www.ultalabtests.com/test/cardio-iq-apolipoprotein-b...</a></p>
]]></description><pubDate>Sun, 09 Nov 2025 01:38:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=45862093</link><dc:creator>mrlongroots</dc:creator><comments>https://news.ycombinator.com/item?id=45862093</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45862093</guid></item><item><title><![CDATA[New comment by mrlongroots in "Ticker: Don't die of heart disease"]]></title><description><![CDATA[
<p>Maybe 80-90% of people should take doctors at face value, but it is easy and only getting easier to at least access the knowledge to better advocate for your own healthcare (thanks to LLMs), with better outcomes. Of course, this requires doctors that respect your ability to provide useful inputs, which in your case did not happen.<p>My advice would be to "shop around" for doctors, establish a relationship where you demonstrate openness to what they say, try not to step on their toes unnecessarily, but also provide your own data and arguments. Some of the most "life-changing" interventions in terms of my own healthcare have been due to my own initiative and stubbornness, but I have doctors who humor me and respect my inputs. Credentials/vibes help here I think: in my case "the PhD student from the brand name school across the street who shows up with plots and regressions" is probably a soft signal that indicates that I mean business.</p>
]]></description><pubDate>Sun, 09 Nov 2025 01:30:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=45862052</link><dc:creator>mrlongroots</dc:creator><comments>https://news.ycombinator.com/item?id=45862052</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45862052</guid></item><item><title><![CDATA[New comment by mrlongroots in "C++ move semantics from scratch (2022)"]]></title><description><![CDATA[
<p>Same, I don't understand the complaints against modern C++. A lambda, used for things like comparators etc, is much simpler than structs with operators overloaded defined elsewhere.<p>My only complaint is the verbosity, things like `std::chrono::nanonseconds` break even simple statements into multiple lines, and you're tempted to just use uint64_t instead. And `std::thread` is fine but if you want to name your thread you still need to get the underlying handle and call `pthread_setname_np`. It's hard work pulling off everything C++ tries to pull off.</p>
]]></description><pubDate>Sat, 08 Nov 2025 20:46:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=45859821</link><dc:creator>mrlongroots</dc:creator><comments>https://news.ycombinator.com/item?id=45859821</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45859821</guid></item><item><title><![CDATA[New comment by mrlongroots in "Falcon: A Reliable, Low Latency Hardware Transport"]]></title><description><![CDATA[
<p>>  Getting 200 Gb/s of reliable in-order bytestream per core over a unreliable, out-of-order packet-switched network using standard ethernet is not very hard with proper protocol design.<p>You also suggested that this can be done using a single CPU core. It seems to me that this proposal involves custom APIs (not sockets), and even if viable with a single core in the common case, would blow up in case of loss/recovery/retransmission events. Falcon provides a mostly lossless fabric with loss/retransmits/recovery taken care of by the fabric: the host CPU never handles any of these tail cases.<p>Ultimately there are two APIs for networks: sockets and verbs. Former is great for simplicity, compatibility, and portability, and the latter is the standard for when you are willing to break compatibility for performance.</p>
]]></description><pubDate>Wed, 29 Oct 2025 08:27:50 +0000</pubDate><link>https://news.ycombinator.com/item?id=45744155</link><dc:creator>mrlongroots</dc:creator><comments>https://news.ycombinator.com/item?id=45744155</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45744155</guid></item><item><title><![CDATA[New comment by mrlongroots in "Falcon: A Reliable, Low Latency Hardware Transport"]]></title><description><![CDATA[
<p>> Is this just a cost efficiency thing?<p>It's not entirely, but even that would be a justifiable reason. Tail behavior of all sorts matters a lot, sophisticated congestion control and load-balancing matters a lot. ML training is all about massive collectives: a single tail latency event in a NCCL collective means all GPUs in that group are idling until the last GPU makes it.<p>>  It only takes like 1 core to terminate 200 Gb/s of reliable bytestream using a software protocol with no hardware offload over regular old 1500-byte MTU ethernet.<p>The conventional TCP/IP stack is a lot more than just 20GB/s of memcpy's with 200 GbE: there's a DMA into kernel buffers and then a copy into user memory, there's syscalls and interrupts and back and forth, there's segmentation and checksums and reassembly and retransmits, and overall a lot more work. RDMA eliminates all that.<p>> all you need is a parallel hardware crypto accelerator
> all you need is a hardware copy/DMA engine<p>And when you add these and all the other requirements you get a modern RDMA network :).<p>The network is what kicks in when Moore's law recedes. Jensen Huang wants you to pretend that your 10,000 GPUs are one massive GPU: that only works if you have Nvlink/Infiniband or something in that league, and even then barely. And GOOG/MSFT/AMZN are too big and the datacenter fabric is too precious to be outsourced.</p>
]]></description><pubDate>Wed, 29 Oct 2025 07:54:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=45743912</link><dc:creator>mrlongroots</dc:creator><comments>https://news.ycombinator.com/item?id=45743912</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45743912</guid></item><item><title><![CDATA[New comment by mrlongroots in "Let's Help NetBSD Cross the Finish Line Before 2025 Ends"]]></title><description><![CDATA[
<p>Yes, unfortunately even the best intentioned individuals have very limited ability to make meaningful carbon-minimizing decisions. Carbon tax is such a sensible solution!</p>
]]></description><pubDate>Sun, 26 Oct 2025 19:34:35 +0000</pubDate><link>https://news.ycombinator.com/item?id=45714590</link><dc:creator>mrlongroots</dc:creator><comments>https://news.ycombinator.com/item?id=45714590</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45714590</guid></item><item><title><![CDATA[New comment by mrlongroots in "Designing a Low Latency 10G Ethernet Core (2023)"]]></title><description><![CDATA[
<p>The other funny bit is that one-way PCIe latency is 250ns-ish (don't quote me on the exact numbers), which imposes a hard 1us constraint on latency between two hosts.</p>
]]></description><pubDate>Thu, 09 Oct 2025 06:41:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=45524304</link><dc:creator>mrlongroots</dc:creator><comments>https://news.ycombinator.com/item?id=45524304</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45524304</guid></item><item><title><![CDATA[New comment by mrlongroots in "LLM Observability in the Wild – Why OpenTelemetry Should Be the Standard"]]></title><description><![CDATA[
<p>I think standard relational databases/schemas are underrated for when you need richness.<p>OTel or anything in that domain is fine when you have a distributed callgraph, which inference with tool calls does. I think the fallback layer if that doesn't work is just say Clickhouse.</p>
]]></description><pubDate>Sat, 27 Sep 2025 21:58:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=45399684</link><dc:creator>mrlongroots</dc:creator><comments>https://news.ycombinator.com/item?id=45399684</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45399684</guid></item><item><title><![CDATA[New comment by mrlongroots in "How Palantir is mapping the nation’s data"]]></title><description><![CDATA[
<p>Our social contract bestows individuals with freedom and governments with the monopoly of violence to police the limits of individual freedom.<p>If the acts of law abiding individuals (or groups) are a net negative for society, that is not an individual failure. Fiduciary responsibility is a useful parallel: it is not the job of a sugar manufacturer to think about the public health aspects of sugar. Their responsibility to their shareholders is to produce clean, safe, and edible sugar at competitive prices and do a good job with marketing and distributin, that's all.</p>
]]></description><pubDate>Fri, 12 Sep 2025 21:45:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=45227136</link><dc:creator>mrlongroots</dc:creator><comments>https://news.ycombinator.com/item?id=45227136</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45227136</guid></item><item><title><![CDATA[New comment by mrlongroots in "How Palantir is mapping the nation’s data"]]></title><description><![CDATA[
<p>If a selection mechanism is orthogonal to a property, it seems weird to argue that the selected subset is distributed differently along that axis than the broader population.</p>
]]></description><pubDate>Fri, 12 Sep 2025 00:27:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=45217489</link><dc:creator>mrlongroots</dc:creator><comments>https://news.ycombinator.com/item?id=45217489</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45217489</guid></item></channel></rss>