<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: gopalv</title><link>https://news.ycombinator.com/user?id=gopalv</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Fri, 23 Oct 2026 03:53:37 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=gopalv" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by gopalv in "DuckDB 2.0.0 LTS “Cinnamon Teal”"]]></title><description><![CDATA[
<p>> does duckdb support querying custom storage formats?<p>No, this is still parquet being loaded in.<p>The "trick" is running through sort order combinations which result in maximum packing in a Dremel style data format (like Parquet).<p>Here's the trick explained in enough detail to understand, but not enough to copy as-is<p><a href="https://cloud.google.com/blog/products/bigquery/inside-capacitor-bigquerys-next-generation-columnar-storage-format" rel="nofollow">https://cloud.google.com/blog/products/bigquery/inside-capac...</a><p>Search for the section with<p>"Capacitor builds an approximation model that takes into account all relevant factors and comes up with a reasonable solution."<p>or a more detailed dive in the paper (by the favourite author of performance engineers, Daniel Lemire)<p><a href="https://arxiv.org/abs/1207.2189" rel="nofollow">https://arxiv.org/abs/1207.2189</a></p>
]]></description><pubDate>Thu, 22 Oct 2026 02:10:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=50190310</link><dc:creator>gopalv</dc:creator><comments>https://news.ycombinator.com/item?id=50190310</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50190310</guid></item><item><title><![CDATA[New comment by gopalv in "DuckDB 2.0.0 LTS “Cinnamon Teal”"]]></title><description><![CDATA[
<p>> because of the overhead of parallelizing, despite them running at 100%<p>Duckdb might not be the reason, the real reason might be AWS.<p>It's been two years since I worked on this, but AWS Nitro might be triggering a high CPU Steal % when all the cores are busy at the same time.<p>You can do taskset -c 1-191 <server-process> and get a tiny bit of breathing room there.<p>I almost always do this above 32 cores, since this lets me always have a nice responsive ssh connection when the rest of the CPUs are churning high.<p>The more cores you have, the less of a problem sparing 1 core becomes.</p>
]]></description><pubDate>Wed, 21 Oct 2026 22:49:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=50188787</link><dc:creator>gopalv</dc:creator><comments>https://news.ycombinator.com/item?id=50188787</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50188787</guid></item><item><title><![CDATA[New comment by gopalv in "DuckDB 2.0.0 LTS “Cinnamon Teal”"]]></title><description><![CDATA[
<p>> read_parquet() making tons of tiny range requests to load a parquet's footer from S3<p>This is somewhat unavoidable if you have a number of files and a tight filter which rejects most of them. The footer choice was a bad one in hindsight (not for HDFS), but for anything which uses XOR or other kind of erasure coding. The other other file format I worked with used headers only instead of footers, to save a few ms in latency for the initial GET<p>I don't think Ducklake can maintain a zone-map or ART index over parquet files, but there is no equivalent of iceberg metadata/something which has min/max/HLL compacted across multiple files yet.<p>The secondary indexes with file identifiers stored in a sequential file is most likely the next useful thing duckdb can make.</p>
]]></description><pubDate>Wed, 21 Oct 2026 20:43:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=50187349</link><dc:creator>gopalv</dc:creator><comments>https://news.ycombinator.com/item?id=50187349</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50187349</guid></item><item><title><![CDATA[New comment by gopalv in "DuckDB 2.0.0 LTS “Cinnamon Teal”"]]></title><description><![CDATA[
<p>> What are you guys using it for?<p>Transparent queries on server/browser in identical sql.<p>If you play all the tricks Google's Capacitor does to the data layout, you can shove ~2-3 million rows to a browser based query engine in 16-20Mb with duckdb-wasm. We can scale it up to ~1Gb with HTTP range queries, with cache-control.<p>Then we use Jev to write SQL queries over it in 1-2s, whenever someone has a followup question. Getting Jev to write SQL takes a bit of prep, but my co-founder wrote a paper about clairvoyant query execution a few years ago [1].<p>I could have 3000 users logged into the same application, but all of them would be bringing their own CPU to run duckdb. My compute scaling problems for my data cube is a solved problem with this approach.<p>[1] - <a href="https://dl.acm.org/doi/10.14778/2733004.2733064" rel="nofollow">https://dl.acm.org/doi/10.14778/2733004.2733064</a></p>
]]></description><pubDate>Wed, 21 Oct 2026 17:16:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=50184409</link><dc:creator>gopalv</dc:creator><comments>https://news.ycombinator.com/item?id=50184409</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50184409</guid></item><item><title><![CDATA[New comment by gopalv in "DuckDB 2.0.0 LTS “Cinnamon Teal”"]]></title><description><![CDATA[
<p>>  Not just reading data from S3, but the actual computations too.<p>Async io generally causes a CPU bump as a side-effect, when the bottleneck moves from the disk to the CPU (more usually memory bandwidth).<p>My experience is from a different SQL engine, but the improvement in scan rates directly translates all other operators getting more work to do per unit time.<p>More CPUs pegged at 100% is always a good sign of smooth flows, but optimizing further requires data layout changes from that point. Even if it is a sub-linear speedup out of concurrency scaling - more with more is still a win, assuming you can pay for more (the Dy-skew paper has an example I can quote).</p>
]]></description><pubDate>Wed, 21 Oct 2026 16:56:36 +0000</pubDate><link>https://news.ycombinator.com/item?id=50184094</link><dc:creator>gopalv</dc:creator><comments>https://news.ycombinator.com/item?id=50184094</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50184094</guid></item><item><title><![CDATA[New comment by gopalv in "Why do we have so many meetings?"]]></title><description><![CDATA[
<p>My dad used to joke that a meeting is where minutes are kept and hours are lost.<p>Buried in the pdf in different sections<p>> Managers attend meetings far more frequently and spend substantially more time in them than non-managerial employees.<p>> Separately, interactions with senior colleagues are associated with stronger wage growth<p>A meeting is called to coordinate or communicate. Wadge's law of meetings tell you which one is which.<p>But not all coordination is top down, sometimes you need your manager to go negotiate a point with another division.<p>And neither is all communication, most often you can impress on others the potential of a new approach or the problems with the existing one.<p>The only trouble for the neurodivergent among us is that "appearing to pay attention" is also communication, same goes for eye-contact or not stuttering.<p>Corolllary is that skip meetings at your own risk, decisions will be made and you won't be in the room where it happens. And don't be the person who is not welcome in meetings, that too eventually makes your pay suffer.</p>
]]></description><pubDate>Tue, 20 Oct 2026 15:53:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=50168272</link><dc:creator>gopalv</dc:creator><comments>https://news.ycombinator.com/item?id=50168272</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50168272</guid></item><item><title><![CDATA[New comment by gopalv in "PGO or not PGO this is the dilemma. Step 2"]]></title><description><![CDATA[
<p>> A switch statement with many cases can be compiled as a jump table (fast, O(1), but requires a full table load and indirect jump) or as a cascade of compares (slower per-case but better branch prediction if one case dominates).<p>Switch case is the workhorse of a lexer, parser and execution engine. Lots of them over enums.<p>This was all mis-optimized for years thanks to Spectre/Meltdown changing how the actual runtime of pre-fetch and speculation used to work.<p>All my work on CGOTO was made irrelevant by the CPU advances, only to become relevant again when fetch speculation got nerfed.<p>The indirect call scenario is a bit more interesting, because the JVM has an amazing paper about interface dispatch caches [1] on how to do it runtime instead of compile time.<p>The PGO is still useful, but not unless you can predict the workload you're going to have - Benchmarketing with a TPC benchmark is a good situation for it.<p>If you have consistent hardware, tuning an OLTP system for the hardware is much more interesting. Going back in the memory hole, Yahoo used to have a Jeremy Cole build of Mysql which was specially optimized for the raid disk layout that was in production (ZFS came by to fix those issues directly).<p>[1] - <a href="https://dl.acm.org/doi/10.1145/504311.504291" rel="nofollow">https://dl.acm.org/doi/10.1145/504311.504291</a></p>
]]></description><pubDate>Fri, 16 Oct 2026 22:28:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=50125622</link><dc:creator>gopalv</dc:creator><comments>https://news.ycombinator.com/item?id=50125622</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50125622</guid></item><item><title><![CDATA[New comment by gopalv in "RFC8950: Announce IPv4 with an IPv6 next-hop"]]></title><description><![CDATA[
<p>> They still do things the old way but Backbone can run IPv6 only at its core.<p>This would turn an internal IPv4 into an externally routed IPv6, which is a neat trick which would replace all the NAT madness that we do run today.<p>I'd like nothing more than the ability to run ipv4 internally indefinitely, especially with things like mesh networks where the ACLs are carried over from ages ago (2018 doesn't feel that long ago, but it is).<p>Most of the time I don't even need a route to a direct connection, I just need legible flow logs out of a kubernetes platform.</p>
]]></description><pubDate>Fri, 16 Oct 2026 20:17:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=50123995</link><dc:creator>gopalv</dc:creator><comments>https://news.ycombinator.com/item?id=50123995</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50123995</guid></item><item><title><![CDATA[New comment by gopalv in "Tesla Roadster"]]></title><description><![CDATA[
<p>> what glued panels fall off<p>The Lotus Elise was famously glued together instead of welds. The original Roadster also had the same innards.<p>This is clearly not a car for someone who wants to go from A to B, but a lot of Tesla components gets binned together for the next iteration of the cheaper car because they always order too many of them.<p>Oddly enough this makes their cheaper cars more reliable than the expensive ones (think about the Audis right when Ferdinand Piech took over Lamborgini).</p>
]]></description><pubDate>Fri, 16 Oct 2026 01:59:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=50112912</link><dc:creator>gopalv</dc:creator><comments>https://news.ycombinator.com/item?id=50112912</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50112912</guid></item><item><title><![CDATA[New comment by gopalv in "More on Anthropic's Scion ripping off Mononoke"]]></title><description><![CDATA[
<p>Picasso apocryphally said "good artists copy, great artists steal"<p>> Imagine how they must feel about their work being deliberately copied wholesale and intentionally presented as someone else’s.<p>Nobody copies from a mid-tier product.<p>As someone who worked in open source till recently, I've seen a copycat as validation that my idea was better than what they could come up with on their own.<p>All those people now have evidence that their approach is the best for an AI native future.<p>The interesting point is that there is overlap in personnel, so this is less of copied homework, more that Anthropic hired some good people who knew a good solution that worked.<p>But from a pure AI lens, this is what we're doing - putting great ideas into one system and now everyone can drink from that well.<p>The bad part is that the well has a coin meter next to it, rather than it being a commons. So the fruits of that is not distributed to the people who planted those seeds. This is also happening too fast that the people whose work is getting redistributed to others are still not done being compensated for their work.</p>
]]></description><pubDate>Thu, 15 Oct 2026 17:44:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=50107329</link><dc:creator>gopalv</dc:creator><comments>https://news.ycombinator.com/item?id=50107329</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50107329</guid></item><item><title><![CDATA[New comment by gopalv in "Steam Client is now faster than Epic's new vibe coded launcher"]]></title><description><![CDATA[
<p>> forcing function to clean up tech debt<p>The real reason rewrites to fix tech debt used to fail was that it took too long to get to feature partity & the goal posts moved constantly while you were on the rewrite team.<p>The sunk cost of existing code is no longer considered in a rewrite.<p>Maybe it was hard to write in the first place, but it is not hard to rewrite anymore, as long you've got decent tests.</p>
]]></description><pubDate>Thu, 15 Oct 2026 17:24:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=50107029</link><dc:creator>gopalv</dc:creator><comments>https://news.ycombinator.com/item?id=50107029</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50107029</guid></item><item><title><![CDATA[Beyond the leaderboard. Decision models in a real workflow]]></title><description><![CDATA[
<p>Article URL: <a href="https://isotopes.ai/blog/decision-models">https://isotopes.ai/blog/decision-models</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=50106703">https://news.ycombinator.com/item?id=50106703</a></p>
<p>Points: 6</p>
<p># Comments: 0</p>
]]></description><pubDate>Thu, 15 Oct 2026 17:03:36 +0000</pubDate><link>https://isotopes.ai/blog/decision-models</link><dc:creator>gopalv</dc:creator><comments>https://news.ycombinator.com/item?id=50106703</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50106703</guid></item><item><title><![CDATA[New comment by gopalv in "We’re releasing Jev 1.14.0 along with experimental features for dreamers"]]></title><description><![CDATA[
<p>You can turn a lot of process and workflow systems into deep decision trees.<p>My team hasn't finished writing their blog posts yet, but the customer demos [2] went out the moment TypeSafe took our call and sorted all the paperwork out.<p>There's a tiny section at the bottom of the demo which explains how it actually works (or the github repo is the code).<p>We have a single decision API[1] over all similar models, so we run evals across all the "System One" api products & definitely don't trust any benchmark that you haven't run. All standardized benchmarks have been benchmaxxed already.<p>PS: just in case it wasn't clear, the demo is a game where we play to calibrate the human vs machine decision making (or just do it in auto-pilot mode).<p>[1] - <a href="https://github.com/prasanthj/duckdb-dual-cognition" rel="nofollow">https://github.com/prasanthj/duckdb-dual-cognition</a><p>[2] - <a href="https://demos.isotopes.ai/demo/apps/chain-command" rel="nofollow">https://demos.isotopes.ai/demo/apps/chain-command</a></p>
]]></description><pubDate>Wed, 14 Oct 2026 22:16:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=50096209</link><dc:creator>gopalv</dc:creator><comments>https://news.ycombinator.com/item?id=50096209</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50096209</guid></item><item><title><![CDATA[New comment by gopalv in "How tabasco became the hot sauce"]]></title><description><![CDATA[
<p>The annoying thing with hot-sauces is that they're somewhat like a vintage product and longer it ferments the more lag the decisions have on the sales.<p>The management decisions to scale up production take years to materialize on your food.<p>Even if you hate what you got out of a bottle you bought this week, that taste is not what made the sauce popular years ago. Popularity seems to cause a quality fade in everything that scales out of a single factory.<p>For example, the Sriracha from 7 years ago tasted totally different than today & it is the peppers that changed, not the recipe. Palo Alto fire fighters has gotten more cumin than chillis as the spicy stuff goes to the XX version. The Athabascan sauces I've loved from Alaska have slowly morphed sweeter and maple.<p>Tabasco for all its faults hasn't changed that much in the 20 years I've been having it.</p>
]]></description><pubDate>Wed, 14 Oct 2026 16:27:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=50090314</link><dc:creator>gopalv</dc:creator><comments>https://news.ycombinator.com/item?id=50090314</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50090314</guid></item><item><title><![CDATA[New comment by gopalv in "Strands Decider 2B: a small, open-source, decision model"]]></title><description><![CDATA[
<p>On my M3 mac, it works okay inside a docker container with just CPU.<p>{
  "model": "strands-decider-2B-hobson-v19",
  "answers": {
    "is_urgent": {
      "type": "noul",
      "noul": 0.8287
    }
  },
  "usage": {
    "input_tokens": 86,
    "output_tokens": 1
  },
  "latency_ms": 1732.17
}<p>This is how I got it running - <a href="https://gist.github.com/2891eb0db9ea92c1a4e860d44f556292" rel="nofollow">https://gist.github.com/2891eb0db9ea92c1a4e860d44f556292</a><p>There's a lot more to be done if we optimize for MLX & let it run on a Mac mini instead of the docker wrapper.</p>
]]></description><pubDate>Wed, 07 Oct 2026 05:18:36 +0000</pubDate><link>https://news.ycombinator.com/item?id=49988538</link><dc:creator>gopalv</dc:creator><comments>https://news.ycombinator.com/item?id=49988538</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49988538</guid></item><item><title><![CDATA[New comment by gopalv in "Decision models like Jev don't beat LLM-as-a-judge or traditional classifiers"]]></title><description><![CDATA[
<p>> I write harnesses that do decision steps and regularly use competing models<p>Competing models is table stakes for decision making.<p>While doing the ablations for the "Team of Rivals" paper, I found that the models were very happy to ignore errors[1] when the data it is classifying looks like its own output.<p>Jev slots into the middle critique in the paper. The only reason we haven't flipped to Jev last week is because we're a HIPAA shop and Typesafe hasn't responded to our emails.<p>[1] - <a href="https://github.com/t3rmin4t0r/critique-evals" rel="nofollow">https://github.com/t3rmin4t0r/critique-evals</a></p>
]]></description><pubDate>Mon, 05 Oct 2026 16:02:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=49966655</link><dc:creator>gopalv</dc:creator><comments>https://news.ycombinator.com/item?id=49966655</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49966655</guid></item><item><title><![CDATA[New comment by gopalv in "RIP, vector database"]]></title><description><![CDATA[
<p>> This write amplification is large enough that our efforts to tune indexing throughput have started to hit diminishing returns.<p>> don't key on the ANN address. That is precisely the change turbopuffer v3 makes. As you can imagine, it is not a trivial change.<p>This is a direct parallel to how Postgres and Mysql built indexes.<p>Your design choice went from a Postgres design pattern to a Mysql one. The difference is the reindexing cost vs the lookup cost - Postgres optimized for lookup and Mysql does for indexing on writes. Or more accurately, Postgres was better with good schema design using joins & mysql was optimized for a bad design with less normalization where many indexes exist for the same table.<p>Postgres always points an index to a row-id within postgres which is an arbitrary value which changes on each update.<p>Mysql, always assuming the storage engine is pluggable, points to the primary index entry and adds an extra indirection to the lookup.<p>This means that you point the mysql index to a stable id, so unless you go update the primary key for a row, you won't have to update the indexes for all the attribute lookups you might have made to data.<p>I don't do databases any more that much, but the design for NIMBLE file format has a lot of quirks which are relevant to this specific idea (wide tables).<p>But the old Uber post about switching from Postgres to Mysql to prevent index amplification[1] is a direct mirror to this post.<p>[1] - <a href="https://www.uber.com/us/en/blog/postgres-to-mysql-migration/" rel="nofollow">https://www.uber.com/us/en/blog/postgres-to-mysql-migration/</a></p>
]]></description><pubDate>Thu, 01 Oct 2026 16:46:33 +0000</pubDate><link>https://news.ycombinator.com/item?id=49924039</link><dc:creator>gopalv</dc:creator><comments>https://news.ycombinator.com/item?id=49924039</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49924039</guid></item><item><title><![CDATA[New comment by gopalv in "Gemini 4 Argon"]]></title><description><![CDATA[
<p>> taking careful precautions against feeding the findings back into training so as to not risk shaping Argon’s reasoning to evade our monitoring. We strongly encourage the rest of the industry to preserve reasoning transparency in these pivotal moments of increased capabilities while navigating alignment risks, so that model thoughts remain helpful in identifying and diagnosing misalignment.<p>This is good, but they're the slow mover due to this exact thing.<p>Google is getting punished for not letting the models enter an echo chamber and go faster than humanly possible.</p>
]]></description><pubDate>Wed, 30 Sep 2026 20:10:36 +0000</pubDate><link>https://news.ycombinator.com/item?id=49913665</link><dc:creator>gopalv</dc:creator><comments>https://news.ycombinator.com/item?id=49913665</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49913665</guid></item><item><title><![CDATA[New comment by gopalv in "Claude Opus 5.5"]]></title><description><![CDATA[
<p>The whole thing reminds me of the Apple feature flag story[1] from a generation ago.<p>[1] - <a href="https://news.ycombinator.com/item?id=6372466">https://news.ycombinator.com/item?id=6372466</a></p>
]]></description><pubDate>Tue, 22 Sep 2026 16:35:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=49803994</link><dc:creator>gopalv</dc:creator><comments>https://news.ycombinator.com/item?id=49803994</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49803994</guid></item><item><title><![CDATA[New comment by gopalv in "Cloudflare Quick Tunnels"]]></title><description><![CDATA[
<p>> it’s missing the bigger integration offerings Tailscale has/does still.<p>Until I had tailscale serve generating valid certs, I had a good reason to use Cloudflare tunnels.<p>But in general I don't want to put everything on the internet side of things.<p>Mostly, I don't want something open, but more like a "share with" for people who are in the same office (virtually over tailnet, not physically on the same LAN).<p>This still works great for a demo instead of a product pitch, to send an link out to see something.<p>I'd still use a real host over a laptop for those.</p>
]]></description><pubDate>Fri, 18 Sep 2026 19:10:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=49758836</link><dc:creator>gopalv</dc:creator><comments>https://news.ycombinator.com/item?id=49758836</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49758836</guid></item></channel></rss>