<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: sujayakar</title><link>https://news.ycombinator.com/user?id=sujayakar</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Tue, 04 Aug 2026 02:52:46 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=sujayakar" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by sujayakar in "Show HN: isometric.nyc – giant isometric pixel art map of NYC"]]></title><description><![CDATA[
<p>I'd absolutely love to play with this. one idea I had is to train another model to create bitmaps of sidewalks and roads and add a simulation for pedestrians and cars. day/night cycle would also be so cool!</p>
]]></description><pubDate>Thu, 22 Jan 2026 23:28:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=46726474</link><dc:creator>sujayakar</dc:creator><comments>https://news.ycombinator.com/item?id=46726474</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46726474</guid></item><item><title><![CDATA[New comment by sujayakar in "GCP Outage"]]></title><description><![CDATA[
<p>switch to auto mode and it should still work!</p>
]]></description><pubDate>Thu, 12 Jun 2025 18:35:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=44261290</link><dc:creator>sujayakar</dc:creator><comments>https://news.ycombinator.com/item?id=44261290</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44261290</guid></item><item><title><![CDATA[New comment by sujayakar in "Data Compression Nerds Hate This One Trick [video]"]]></title><description><![CDATA[
<p>Here's an interesting negative result.<p>After watching this video, my first thought was whether recent results from columnar compression (e.g. <a href="https://docs.vortex.dev/references#id1" rel="nofollow">https://docs.vortex.dev/references#id1</a>) applied "naively" like QOI would have good results.<p>I started with a 1.79MiB sprite file for a 2D game I've been hacking on, and here are the results:<p><pre><code>  PNG: 1.79 MiB
  QOI: 2.18 MiB
  BtrBlocks: 3.69 MiB
</code></pre>
(Source: <a href="https://gist.github.com/sujayakar/aab7b4e9df01f365868ec7ca60db1c3a" rel="nofollow">https://gist.github.com/sujayakar/aab7b4e9df01f365868ec7ca60...</a>)<p>So, there's magic to being Quite OK that is more than just applying compression techniques than elsewhere :)</p>
]]></description><pubDate>Tue, 22 Apr 2025 15:00:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=43763030</link><dc:creator>sujayakar</dc:creator><comments>https://news.ycombinator.com/item?id=43763030</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43763030</guid></item><item><title><![CDATA[New comment by sujayakar in "Parameter-free KV cache compression for memory-efficient long-context LLMs"]]></title><description><![CDATA[
<p>Deepseek is already using SSDs for their KV cache: <a href="https://github.com/deepseek-ai/3FS" rel="nofollow">https://github.com/deepseek-ai/3FS</a></p>
]]></description><pubDate>Thu, 27 Mar 2025 21:43:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=43498527</link><dc:creator>sujayakar</dc:creator><comments>https://news.ycombinator.com/item?id=43498527</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43498527</guid></item><item><title><![CDATA[New comment by sujayakar in "Succinct data structures"]]></title><description><![CDATA[
<p>I really love this space: Navarro's book is an excellent survey.<p>Erik Demaine has a few great lectures on succinct data structures too: L17 and L18 on <a href="https://courses.csail.mit.edu/6.851/spring12/lectures/" rel="nofollow">https://courses.csail.mit.edu/6.851/spring12/lectures/</a></p>
]]></description><pubDate>Thu, 06 Mar 2025 19:32:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=43284228</link><dc:creator>sujayakar</dc:creator><comments>https://news.ycombinator.com/item?id=43284228</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43284228</guid></item><item><title><![CDATA[New comment by sujayakar in "Why Rust nextest is process-per-test"]]></title><description><![CDATA[
<p>that's roughly what the wasm component model is aiming for!<p><a href="https://hacks.mozilla.org/2019/11/announcing-the-bytecode-alliance/" rel="nofollow">https://hacks.mozilla.org/2019/11/announcing-the-bytecode-al...</a></p>
]]></description><pubDate>Sun, 12 Jan 2025 18:17:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=42675492</link><dc:creator>sujayakar</dc:creator><comments>https://news.ycombinator.com/item?id=42675492</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42675492</guid></item><item><title><![CDATA[New comment by sujayakar in "Ask HN: Have you ever seen a pathfinding algorithm of this type?"]]></title><description><![CDATA[
<p>can you specify the algorithm in more detail?<p>this looks to be solving a different problem than A*, which operates over discrete graphs. this looks to be operating in 2D continuous space instead.<p>so, what is the algorithm for finding the optimal point on the obstacle's outline for bypass (4)? is it finding the point on the outline nearest the destination?<p>then, how do you subsequently "backtrack" to a different bypass point on the obstacle if the first choice of bypass point doesn't work out?<p>there's something interesting here for trying to directly operate on 2D space rather than discretizing it into a graph, but I'm curious how the details shake out.</p>
]]></description><pubDate>Tue, 07 Jan 2025 19:03:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=42626004</link><dc:creator>sujayakar</dc:creator><comments>https://news.ycombinator.com/item?id=42626004</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42626004</guid></item><item><title><![CDATA[New comment by sujayakar in "Static search trees: faster than binary search"]]></title><description><![CDATA[
<p>this is unbelievably cool. ~27ns overhead for searching for a u32 in a 4GB set in memory is unreal.<p>it's interesting that the wins for batching start diminishing at 8. I'm curious then how the subsequent optimizations fare with batch size 8 (rather than 128).<p>smaller batch sizes are nice since it determines how much request throughput we'd need to saturate this system. at batch size 8, we need 1s / ~30ns * 8 = 266M searches per second to fully utilize this algorithm.<p>the multithreading results are also interesting -- going from 1 to 6 threads only improves overhead by 4x. curious how this fares on a much higher core count machine.</p>
]]></description><pubDate>Wed, 01 Jan 2025 01:53:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=42563357</link><dc:creator>sujayakar</dc:creator><comments>https://news.ycombinator.com/item?id=42563357</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42563357</guid></item><item><title><![CDATA[New comment by sujayakar in "WebGL Fluid Simulation"]]></title><description><![CDATA[
<p>I love playing with it at UltraHigh quality and 1 solver iterations. It reminds me of gradually incorporating one ingredient into another when cooking: like incorporating flour into eggs when making pasta.</p>
]]></description><pubDate>Sun, 29 Dec 2024 19:20:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=42542188</link><dc:creator>sujayakar</dc:creator><comments>https://news.ycombinator.com/item?id=42542188</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42542188</guid></item><item><title><![CDATA[New comment by sujayakar in "Show HN: Whirlwind – Async concurrent hashmap for Rust"]]></title><description><![CDATA[
<p>+1. I'd be curious how much of a pessimization to uncontended workloads it'd be to just use `tokio::sync::RwLock`.<p>and, if we want to keep it as a spinlock, I'm curious how much the immediate wakeup compares to using `tokio::task::yield_now`: <a href="https://docs.rs/tokio/latest/tokio/task/fn.yield_now.html" rel="nofollow">https://docs.rs/tokio/latest/tokio/task/fn.yield_now.html</a></p>
]]></description><pubDate>Tue, 05 Nov 2024 20:58:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=42055098</link><dc:creator>sujayakar</dc:creator><comments>https://news.ycombinator.com/item?id=42055098</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42055098</guid></item><item><title><![CDATA[New comment by sujayakar in "The PlanetScale vectors public beta"]]></title><description><![CDATA[
<p>looking forward to it!<p>I'd be curious if y'all end up supporting adding filter attributes to the inverted index that can then be pushed down into the posting list traversal.<p>for example, a restaurant search app may have (1) an embedding for each restaurant but also (2) a cuisine. then, if a restaurant has `cuisine = Italian`, we'd also store its ghost ID in a `cuisine:Italian` posting list.<p>at query time, the query planner could take a query like `SELECT * FROM t1 WHERE cuisine = 'Italian' ORDER BY DISTANCE(..)` and emit a plan that efficiently intersects the `cuisine:Italian` posting list with the union of the partitions' posting lists.<p>this feels to me like a potential strength of the inverted indexing approach compared to graph-based approaches, which struggle with general filtering (e.g. the Filtered-DiskANN paper).</p>
]]></description><pubDate>Tue, 22 Oct 2024 19:21:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=41917727</link><dc:creator>sujayakar</dc:creator><comments>https://news.ycombinator.com/item?id=41917727</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41917727</guid></item><item><title><![CDATA[New comment by sujayakar in "The PlanetScale vectors public beta"]]></title><description><![CDATA[
<p>very cool stuff! I just read the SPFresh paper a few days ago and was wondering if it's been implemented in industry (e.g. Turbopuffer's implementation of SPANN).<p>I'd be curious how y'all represent the posting lists for each partition in InnoDB:<p>- what IDs are you storing in the posting lists?<p>- how are the posting lists represented on disk? are they using compression and/or some form of skip indexing? the paper seemed to use a pretty simple block-based representation, but I'm curious what works well in practice.<p>- how do the posting list data structures themselves handle incremental updates and MVCC?</p>
]]></description><pubDate>Tue, 22 Oct 2024 18:38:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=41917310</link><dc:creator>sujayakar</dc:creator><comments>https://news.ycombinator.com/item?id=41917310</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41917310</guid></item><item><title><![CDATA[New comment by sujayakar in "The "full-stack framework" fallacy"]]></title><description><![CDATA[
<p>note that convex is open source! <a href="https://github.com/get-convex/convex-backend">https://github.com/get-convex/convex-backend</a><p>if you don't want to manage your own infrastructure, you can use our hosted product, but otherwise it's totally fine to self-host the open source binary.<p>(convex cofounder here)</p>
]]></description><pubDate>Fri, 07 Jun 2024 14:12:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=40608936</link><dc:creator>sujayakar</dc:creator><comments>https://news.ycombinator.com/item?id=40608936</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40608936</guid></item><item><title><![CDATA[New comment by sujayakar in "Testing sync at Dropbox (2020)"]]></title><description><![CDATA[
<p>yeah! we were talking to the antithesis folks during this project, but it wasn't far enough along when we started the project in 2016.<p>we were heavily influenced by the original foundationdb testing talk from strange loop (wwilson, one of the antithesis founders): <a href="https://www.youtube.com/watch?v=4fFDFbi3toc" rel="nofollow">https://www.youtube.com/watch?v=4fFDFbi3toc</a></p>
]]></description><pubDate>Fri, 31 May 2024 18:50:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=40538895</link><dc:creator>sujayakar</dc:creator><comments>https://news.ycombinator.com/item?id=40538895</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40538895</guid></item><item><title><![CDATA[New comment by sujayakar in "Testing sync at Dropbox (2020)"]]></title><description><![CDATA[
<p>former area tech lead for dropbox (and frequent collaborator with isaac) here!<p>happy to answer any questions.</p>
]]></description><pubDate>Fri, 31 May 2024 18:46:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=40538873</link><dc:creator>sujayakar</dc:creator><comments>https://news.ycombinator.com/item?id=40538873</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40538873</guid></item><item><title><![CDATA[New comment by sujayakar in "Tantivy – full-text search engine library inspired by Apache Lucene"]]></title><description><![CDATA[
<p>adding to the chorus here - this is great tech. we use it internally at convex for implementing OLTP full text search.<p>other than its runtime characteristics, the codebase is well organized and a great resource for learning about information retrieval.</p>
]]></description><pubDate>Tue, 28 May 2024 00:50:42 +0000</pubDate><link>https://news.ycombinator.com/item?id=40496296</link><dc:creator>sujayakar</dc:creator><comments>https://news.ycombinator.com/item?id=40496296</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40496296</guid></item><item><title><![CDATA[New comment by sujayakar in "How Convex Works"]]></title><description><![CDATA[
<p>we just open sourced the backend last month! <a href="https://news.convex.dev/convex-goes-open-source/" rel="nofollow">https://news.convex.dev/convex-goes-open-source/</a></p>
]]></description><pubDate>Sun, 14 Apr 2024 21:16:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=40034555</link><dc:creator>sujayakar</dc:creator><comments>https://news.ycombinator.com/item?id=40034555</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40034555</guid></item><item><title><![CDATA[New comment by sujayakar in "How Convex Works"]]></title><description><![CDATA[
<p>hey, sujay (the author) here! happy to answer any questions about the post or convex more generally.</p>
]]></description><pubDate>Sun, 14 Apr 2024 15:28:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=40031796</link><dc:creator>sujayakar</dc:creator><comments>https://news.ycombinator.com/item?id=40031796</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40031796</guid></item><item><title><![CDATA[New comment by sujayakar in "Erasure Coding versus Tail Latency"]]></title><description><![CDATA[
<p>this is a really cool idea.<p>one followup I was thinking of is whether this can generalize to queries other than key value point lookups. if I'm understanding correctly, the article is suggesting to take a key value store, and for every `(key, value)` in the system, split `value` into fragments that are stored on different shards with some `k` of `M` code. then at query time, we can split a query for `key` into `k` subqueries that we send to the relevant shards and reassemble the query results into `value`.<p>so, if we were to do the same business for an ordered map with range queries, we'd need to find a way to turn a query for `interval: [start, end]` into some number of subqueries that we could send to the different shards and reassemble into the final result. any ideas?</p>
]]></description><pubDate>Thu, 28 Mar 2024 16:00:47 +0000</pubDate><link>https://news.ycombinator.com/item?id=39853183</link><dc:creator>sujayakar</dc:creator><comments>https://news.ycombinator.com/item?id=39853183</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39853183</guid></item><item><title><![CDATA[New comment by sujayakar in "Multi – Multiplayer Collaboration for macOS"]]></title><description><![CDATA[
<p>super cool stuff — such deep OS integration is refreshing when we mostly just see cross-platform electron apps these days.</p>
]]></description><pubDate>Tue, 27 Feb 2024 15:33:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=39525258</link><dc:creator>sujayakar</dc:creator><comments>https://news.ycombinator.com/item?id=39525258</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39525258</guid></item></channel></rss>