<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: benesch</title><link>https://news.ycombinator.com/user?id=benesch</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Tue, 07 Apr 2026 07:17:56 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=benesch" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by benesch in "ANN v3: 200ms p99 query latency over 100B vectors"]]></title><description><![CDATA[
<p>I agree our sample may not be representative but we try to stay focused on the current and next crop of tpuf customers rather than the software industry as a whole. So far "CI prohibits network access during tests" just hasn't come up as a pain point for any of them, but as I mentioned in another comment [0], we're definitely keeping an open mind about introducing an offline dev experience.<p>(I am familiar with Bazel, but I'll have to save the war stories for another thread. It's not a build tool we see our particular customers using.)<p>[0]: <a href="https://news.ycombinator.com/item?id=46758156">https://news.ycombinator.com/item?id=46758156</a></p>
]]></description><pubDate>Sun, 25 Jan 2026 22:58:02 +0000</pubDate><link>https://news.ycombinator.com/item?id=46759491</link><dc:creator>benesch</dc:creator><comments>https://news.ycombinator.com/item?id=46759491</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46759491</guid></item><item><title><![CDATA[New comment by benesch in "ANN v3: 200ms p99 query latency over 100B vectors"]]></title><description><![CDATA[
<p>Thanks, appreciate this! Jotted down some notes on our roadmap.</p>
]]></description><pubDate>Sun, 25 Jan 2026 21:13:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=46758295</link><dc:creator>benesch</dc:creator><comments>https://news.ycombinator.com/item?id=46758295</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46758295</guid></item><item><title><![CDATA[New comment by benesch in "ANN v3: 200ms p99 query latency over 100B vectors"]]></title><description><![CDATA[
<p>Yep, we're well aware of the selection bias effects in product feedback. As we grow we're thinking about how to make our product more accessible to small orgs / hobby projects. Introducing a local dev environment may be part of that.<p>Note that we already have a in-your-own-VPC offering for large orgs with strict security/privacy/regulatory controls.</p>
]]></description><pubDate>Sun, 25 Jan 2026 20:59:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=46758156</link><dc:creator>benesch</dc:creator><comments>https://news.ycombinator.com/item?id=46758156</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46758156</guid></item><item><title><![CDATA[New comment by benesch in "ANN v3: 200ms p99 query latency over 100B vectors"]]></title><description><![CDATA[
<p>The exact CPU depends on the region/cloud provider, but this Granite Rapids CPU is representative: <a href="https://www.intel.com/content/www/us/en/products/sku/240777/intel-xeon-6980p-processor-504m-cache-2-00-ghz/specifications.html" rel="nofollow">https://www.intel.com/content/www/us/en/products/sku/240777/...</a></p>
]]></description><pubDate>Sun, 25 Jan 2026 20:45:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=46758009</link><dc:creator>benesch</dc:creator><comments>https://news.ycombinator.com/item?id=46758009</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46758009</guid></item><item><title><![CDATA[New comment by benesch in "ANN v3: 200ms p99 query latency over 100B vectors"]]></title><description><![CDATA[
<p>So I can note this down on our roadmap, what's the root of your requirement here? Supporting local dev without internet (airplanes, coffee shops, etc.)? Unit test speed? Something else?</p>
]]></description><pubDate>Sun, 25 Jan 2026 20:30:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=46757848</link><dc:creator>benesch</dc:creator><comments>https://news.ycombinator.com/item?id=46757848</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46757848</guid></item><item><title><![CDATA[New comment by benesch in "ANN v3: 200ms p99 query latency over 100B vectors"]]></title><description><![CDATA[
<p>My point is it's enough of a hassle to set up that I've yet to see that level of restriction in practice (across hundreds of CI systems).</p>
]]></description><pubDate>Sun, 25 Jan 2026 20:13:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=46757705</link><dc:creator>benesch</dc:creator><comments>https://news.ycombinator.com/item?id=46757705</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46757705</guid></item><item><title><![CDATA[New comment by benesch in "ANN v3: 200ms p99 query latency over 100B vectors"]]></title><description><![CDATA[
<p>> in many CI environments unit tests don't have network access, it's not purely a price consideration.<p>I've never seen a hard block on network access (how do you install packages/pull images?) but I am sympathetic to wanting to enforce that unit tests run quickly by minimizing/eliminating RTT to networked services.<p>We've considered the possibility of a local simulator before. Let me know if it winds up being a blocker for your use case.</p>
]]></description><pubDate>Sun, 25 Jan 2026 19:30:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=46757351</link><dc:creator>benesch</dc:creator><comments>https://news.ycombinator.com/item?id=46757351</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46757351</guid></item><item><title><![CDATA[New comment by benesch in "ANN v3: 200ms p99 query latency over 100B vectors"]]></title><description><![CDATA[
<p>Often not a dealbreaker, actually! We can spin up new tpuf regions and procure dedicated interconnects to minimize latency to the on-prem network on request (and we have done this).<p>When you're operating at the 100B scale, you're pushing beyond the capacity that most on-prem setups can handle. Most orgs have no choice but to put a 100B workload into the nearest public cloud. (For smaller workloads, considerations are different, for sure.)</p>
]]></description><pubDate>Sun, 25 Jan 2026 16:33:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=46755516</link><dc:creator>benesch</dc:creator><comments>https://news.ycombinator.com/item?id=46755516</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46755516</guid></item><item><title><![CDATA[New comment by benesch in "ANN v3: 200ms p99 query latency over 100B vectors"]]></title><description><![CDATA[
<p>For local dev + testing, we recommend just hitting the production turbopuffer service directly, but with a separate test org/API key: <a href="https://turbopuffer.com/docs/testing" rel="nofollow">https://turbopuffer.com/docs/testing</a><p>Works well for the vast majority of our customers (although we get the very occasional complaint about wanting a dev environment that works offline). The dataset sizes for local dev are usually so small that the cost rounds to free.</p>
]]></description><pubDate>Sun, 25 Jan 2026 16:16:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=46755379</link><dc:creator>benesch</dc:creator><comments>https://news.ycombinator.com/item?id=46755379</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46755379</guid></item><item><title><![CDATA[New comment by benesch in "Leaving Google"]]></title><description><![CDATA[
<p>It’s hard to overstate the amount of service Ian provided to the Go community, and the programming community at large. In addition to gccgo, Ian wrote the gold linker, has blogged prolifically about compiler toolchains, and maintains huge swaths of the gcc codebase [0]. And probably much, much more that I’m not aware of.<p>I’ve had the pleasure of trading emails with Ian several times over the years. He’s been a real inspiration to me. Amidst whatever his responsibilities and priorities were at Google he always found time to respond to my emails and review my patches, and always with insightful feedback.<p>I have complicated feelings about the language that is Go, but I feel confident in saying the language will be worse off without Ian involved. The original Go team had strong Bell Labs vibes—a few folks who understood computers inside and out who did it all: as assembler, linker, two compilers, a language spec, a documentation generator, a build system, and a vast standard library. It has blander, corporate vibes now, as the language has become increasingly important to Google, and standard practices for scaling software projects have kicked in. Such is the natural course of things, I suppose. I suspect this cultural shift is what Ian alluded to in his message, though I am curious about the specific tipping point that led to his decision to leave.<p>Ian, I hope you take a well-deserved break, and I look forward to following whatever projects you pursue next.<p>[0]: <a href="https://github.com/gcc-mirror/gcc/blob/master/MAINTAINERS">https://github.com/gcc-mirror/gcc/blob/master/MAINTAINERS</a></p>
]]></description><pubDate>Sun, 11 May 2025 04:02:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=43951260</link><dc:creator>benesch</dc:creator><comments>https://news.ycombinator.com/item?id=43951260</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43951260</guid></item><item><title><![CDATA[New comment by benesch in "Apache Iceberg"]]></title><description><![CDATA[
<p>Yes, the three major open table formats are all quite similar.<p>When AWS launched S3 Tables last month I wrote a blog post with my first impressions: <a href="https://meltware.com/2024/12/04/s3-tables" rel="nofollow">https://meltware.com/2024/12/04/s3-tables</a><p>There may be more in depth comparisons available by now but it’s at least a good starting point for understanding how S3 Tables integrates with Iceberg.</p>
]]></description><pubDate>Sun, 26 Jan 2025 12:18:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=42829629</link><dc:creator>benesch</dc:creator><comments>https://news.ycombinator.com/item?id=42829629</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42829629</guid></item><item><title><![CDATA[New comment by benesch in "Amazon Aurora DSQL"]]></title><description><![CDATA[
<p>> I'm sure they'd quickly argue it's wire compatibility, but even then it's a slippery slope and wire compatible is left open to however the person wants to interpret it.<p>I actually think that they'd argue they intend to close the feature gap for full Postgres semantics over time. Indeed their marketing was a bit wishful, but on Bluesky, Marc Brooker (one of the developers on the project) said they reused the parser, planner, and optimizer from Postgres: <a href="https://bsky.app/profile/marcbrooker.bsky.social/post/3lcghjbvyx22n" rel="nofollow">https://bsky.app/profile/marcbrooker.bsky.social/post/3lcghj...</a><p>That means they actually have a very good shot at approaching reasonably full Postgres compatibility (at a SQL semantics level, not just at the wire protocol level) over time.</p>
]]></description><pubDate>Tue, 03 Dec 2024 20:29:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=42310950</link><dc:creator>benesch</dc:creator><comments>https://news.ycombinator.com/item?id=42310950</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42310950</guid></item><item><title><![CDATA[New comment by benesch in "Thoughts on DuckDB's Grammar Patching Thing"]]></title><description><![CDATA[
<p>> I liked the author's write-up, but as an old programmer take umbrage at the idea that changing your parser in the middle of a program is "crazy", we used to do this... well maybe not all the time... but with a greater frequency than we do today.<p>I think Justin addresses that point, though! He writes:<p>> The development of programming languages over the past few decades has been, at least in part, a debate on how best to allow users to express ways of building new functionality out of the semantics that the language provides: functions, generics, modules.<p>And indeed by modern PL standards patching the parser at runtime is very unusual.<p>The "modern" language that I've worked in that comes closest is Ruby, since the combination of monkey patching and the lack of symbols in the function call syntax is well suited to constructing DSLs. But most teams I've worked with that use Ruby eventually developed a strict "no monkey patching" rule, based on lived experience. At scale allowing developers to invent DSLs on the fly via monkey patching made the programs as a whole too complicated to reason about—too hard to move between modules in the codebase if every module essentially had its own syntax that needed to be learned.<p>I suppose describing this as "dark, demonic pathways" is a bit overstated for comedic effect but indeed "change the language syntax at runtime" does seem to be generally accepted these days as a bad software engineering practice. Works fine at a small scale, but doesn't age well as a team and codebase grows.</p>
]]></description><pubDate>Tue, 03 Dec 2024 17:42:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=42308859</link><dc:creator>benesch</dc:creator><comments>https://news.ycombinator.com/item?id=42308859</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42308859</guid></item><item><title><![CDATA[New comment by benesch in "Amazon S3 Adds Put-If-Match (Compare-and-Swap)"]]></title><description><![CDATA[
<p>Yes! I’m actively working on it, in fact. We’re waiting on the next release of the Rust `object_store` crate, which will bring support for S3’s native conditional puts.<p>If you want to follow along: <a href="https://github.com/slatedb/slatedb/issues/164">https://github.com/slatedb/slatedb/issues/164</a></p>
]]></description><pubDate>Tue, 26 Nov 2024 06:47:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=42243076</link><dc:creator>benesch</dc:creator><comments>https://news.ycombinator.com/item?id=42243076</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42243076</guid></item><item><title><![CDATA[New comment by benesch in "Skeptical of rewriting JavaScript tools in "faster" languages"]]></title><description><![CDATA[
<p>> Anecdotally I have had to do this in js a few times. I have never had to do this in Rust. Probably because Rust projects are likely to ship with fewer bugs.<p>Still anecdotal, but I have worked on a large Rust codebase (Materialize) for six years, worked professionally in JavaScript before that, and I definitely wouldn’t say that Rust projects have fewer bugs than JavaScript projects. Rust projects have plenty of bugs. Just not memory safety bugs—but then you don’t have those in JavaScript either. And with the advent of TypeScript, many JS projects now have all the correctness benefits of using a language with a powerful type system.<p>We’ve forked dozens of Rust libraries over the years to fix bugs and add missing features. And I’m know individual Materialize developers have had to patch log lines into our dependencies while debugging locally many a time—no record of that makes it into the commit log, though.</p>
]]></description><pubDate>Mon, 21 Oct 2024 14:40:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=41904679</link><dc:creator>benesch</dc:creator><comments>https://news.ycombinator.com/item?id=41904679</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41904679</guid></item><item><title><![CDATA[New comment by benesch in "The notifier pattern for applications that use Postgres"]]></title><description><![CDATA[
<p>Ah, I misunderstood! Yes, we may have invented that. I whipped up the cron job a few years back in response to concerns from our legal team. I’m not aware of any prior art for automatically advancing the change date for the BSL.</p>
]]></description><pubDate>Wed, 15 May 2024 00:11:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=40361606</link><dc:creator>benesch</dc:creator><comments>https://news.ycombinator.com/item?id=40361606</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40361606</guid></item><item><title><![CDATA[New comment by benesch in "The notifier pattern for applications that use Postgres"]]></title><description><![CDATA[
<p>We haven't benchmarked TimescaleDB, so I can't say. Results tend to vary heavily by workload, too.<p>What I can say is that the research at the heart of Materialize (<a href="https://dl.acm.org/doi/10.1145/2517349.2522738" rel="nofollow">https://dl.acm.org/doi/10.1145/2517349.2522738</a>) allows us to efficiently maintain computations that are more complex than what a lot of other IVM systems can handle.<p>Your best bet is to run your own benchmark of both systems using data that's representative of your workload. We offer a free seven day playground if you'd like to run such a benchmark: <a href="https://console.materialize.com/account/sign-up" rel="nofollow">https://console.materialize.com/account/sign-up</a><p>We also have a community Slack where a number of Materialize employees hang out and answer questions: <a href="http://materialize.com/s/chat" rel="nofollow">http://materialize.com/s/chat</a></p>
]]></description><pubDate>Tue, 14 May 2024 21:29:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=40360366</link><dc:creator>benesch</dc:creator><comments>https://news.ycombinator.com/item?id=40360366</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40360366</guid></item><item><title><![CDATA[New comment by benesch in "The notifier pattern for applications that use Postgres"]]></title><description><![CDATA[
<p>We did not originate the Business Source License (BSL/BUSL). It was originally developed by the folks behind MariaDB. Wikipedia has a good article that covers the history: <a href="https://en.wikipedia.org/wiki/Business_Source_License" rel="nofollow">https://en.wikipedia.org/wiki/Business_Source_License</a><p>Other large projects using the BSL include CockroachDB and (somewhat infamously) Terraform.<p>We're very glad to have been using the BSL for Materialize since our very first release. Relicensing an existing open source project under the BSL can be a painful transition.</p>
]]></description><pubDate>Tue, 14 May 2024 21:23:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=40360314</link><dc:creator>benesch</dc:creator><comments>https://news.ycombinator.com/item?id=40360314</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40360314</guid></item><item><title><![CDATA[New comment by benesch in "The notifier pattern for applications that use Postgres"]]></title><description><![CDATA[
<p>Not to my knowledge. I believe TimescaleDB has their own incremental view maintenance engine.</p>
]]></description><pubDate>Tue, 14 May 2024 19:22:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=40359069</link><dc:creator>benesch</dc:creator><comments>https://news.ycombinator.com/item?id=40359069</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40359069</guid></item><item><title><![CDATA[New comment by benesch in "The notifier pattern for applications that use Postgres"]]></title><description><![CDATA[
<p>Those updates are not retroactive. They apply on a go forward basis. Each day's changes become Apache 2.0 licensed on that day four years in the future.<p>For example, v0.28 was released on October 18, 2022, and becomes Apache 2.0 licensed four years after that date (i.e., 2.5 years from today), on October 18, 2026.<p>[0]: <a href="https://github.com/MaterializeInc/materialize/blob/76cb6647dc9fba4f43b51eada7ae543b08f718c4/LICENSE#L35">https://github.com/MaterializeInc/materialize/blob/76cb6647d...</a></p>
]]></description><pubDate>Tue, 14 May 2024 19:19:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=40359035</link><dc:creator>benesch</dc:creator><comments>https://news.ycombinator.com/item?id=40359035</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40359035</guid></item></channel></rss>