<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: adsharma</title><link>https://news.ycombinator.com/user?id=adsharma</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Fri, 28 Aug 2026 12:54:28 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=adsharma" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by adsharma in "Markdown Database Pattern"]]></title><description><![CDATA[
<p>Many competent embedded graph DBs out there. More suitable than graphs on SQLite projects.</p>
]]></description><pubDate>Fri, 28 Aug 2026 00:28:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=49472978</link><dc:creator>adsharma</dc:creator><comments>https://news.ycombinator.com/item?id=49472978</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49472978</guid></item><item><title><![CDATA[New comment by adsharma in "Markdown Database Pattern"]]></title><description><![CDATA[
<p>For what benefit though?<p>Much better off storing this in an embedded graph database and use cypher.<p>MVCC, Indexes, Strong typing, WAL, changefeeds.<p>The simplicity of markdown and JSON are deceptive. SQLite is a solid choice, but then you deal with graph-relational impedance mismatch.</p>
]]></description><pubDate>Fri, 28 Aug 2026 00:10:26 +0000</pubDate><link>https://news.ycombinator.com/item?id=49472845</link><dc:creator>adsharma</dc:creator><comments>https://news.ycombinator.com/item?id=49472845</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49472845</guid></item><item><title><![CDATA[New comment by adsharma in "Show HN: LatticeDB – Like SQLite but for graph databases"]]></title><description><![CDATA[
<p><a href="https://www.youtube.com/@ladybugdb" rel="nofollow">https://www.youtube.com/@ladybugdb</a> - what content would you like to see?</p>
]]></description><pubDate>Thu, 27 Aug 2026 02:02:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=49458563</link><dc:creator>adsharma</dc:creator><comments>https://news.ycombinator.com/item?id=49458563</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49458563</guid></item><item><title><![CDATA[New comment by adsharma in "AWS Acquires DuckLabs"]]></title><description><![CDATA[
<p>Several "Graph on DuckDB" efforts started on DuckDB and ended up reinventing a basic columnar codebase to innovate on because of these reasons. Even though people didn't document why, lack of outside contributor friendly flows is likely one of the reasons.<p>KuzuDB folks worked on something called GRainDB in 2022: <a href="https://vldb.org/cidrdb/2022/graindb-a-relational-core-graph-relational-dbms.html" rel="nofollow">https://vldb.org/cidrdb/2022/graindb-a-relational-core-graph...</a><p>But circa 2023 decided to write their own. Work continues as LadybugDB. One of my long term goals is to find an integration point with DuckDB's table implementation as the "node table". Conversely at some point DuckDB could implement all the join algorithms and LadybugDB's REL table in their code base.<p>For now, any talk of Graph on DuckDB is limited to DuckPGQ and the more recent entrant DuckGQL (both of which don't touch the storage layer which is the main reason why LadybugDB exists).</p>
]]></description><pubDate>Wed, 26 Aug 2026 21:01:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=49455860</link><dc:creator>adsharma</dc:creator><comments>https://news.ycombinator.com/item?id=49455860</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49455860</guid></item><item><title><![CDATA[New comment by adsharma in "AWS Acquires DuckLabs"]]></title><description><![CDATA[
<p>Surprised that there isn't more discussion of DuckDB source distributions.<p>Why do we need a source distribution for a well regarded MIT licensed project? Because it's not easy to contribute code to DuckDB if you don't work at DuckLabs. The CI used to take 5 hours for a simple bug fix last I looked (may have improved since I flagged it on social media).<p>There are two that I'm aware of:<p><pre><code>  * Haybarn: https://rusty.today/blog/duckdb-extension-distribution-gap/
  * Pygmy-Goose: https://github.com/Pygmy-Goose/pygmy-goose
</code></pre>
Pygmy-Goose is focused on making agentic workflows faster by splitting the repo, making git worktrees cheap and 5 minute cached CI on 3 major platforms.</p>
]]></description><pubDate>Wed, 26 Aug 2026 20:54:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=49455768</link><dc:creator>adsharma</dc:creator><comments>https://news.ycombinator.com/item?id=49455768</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49455768</guid></item><item><title><![CDATA[New comment by adsharma in "Show HN: LatticeDB – Like SQLite but for graph databases"]]></title><description><![CDATA[
<p>I measured this on a M4 mac mini (base model):<p><pre><code>  zig build sqlite-benchmark

  Medium (100K nodes)

  +----------------------+-----------+---------+---------+
  | Workload             | LatticeDB | SQLite  | Speedup |
  +----------------------+-----------+---------+---------+
  | 1-hop traversal      | 5.7μs     | 16.1μs  | 2.8x    |
  | 2-hop traversal      | 30.1μs    | 59.4μs  | 2.0x    |
  | 3-hop traversal      | 171.1μs   | 228.8μs | 1.3x    |
  | Variable path (1..5) | 82.2μs    | 5.8ms   | 70.4x   |
  +----------------------+-----------+---------+---------+
</code></pre>
Very different from the comparison on github and the website.<p>Given that on-disk data structures are similar to SQLite, I expect the competition from other "graph on sqlite" projects when they co-opt the techniques in LatticeDB.</p>
]]></description><pubDate>Wed, 26 Aug 2026 03:45:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=49443992</link><dc:creator>adsharma</dc:creator><comments>https://news.ycombinator.com/item?id=49443992</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49443992</guid></item><item><title><![CDATA[New comment by adsharma in "Show HN: LatticeDB – Like SQLite but for graph databases"]]></title><description><![CDATA[
<p>Wikidata doesn't imply RDF/SPARQL. Cypher works fine too. A columnar storage engine means you get indexes and the relational goodness for free.<p><a href="https://huggingface.co/datasets/ladybugdb/wikidata-20260401" rel="nofollow">https://huggingface.co/datasets/ladybugdb/wikidata-20260401</a></p>
]]></description><pubDate>Wed, 26 Aug 2026 02:53:05 +0000</pubDate><link>https://news.ycombinator.com/item?id=49443654</link><dc:creator>adsharma</dc:creator><comments>https://news.ycombinator.com/item?id=49443654</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49443654</guid></item><item><title><![CDATA[New comment by adsharma in "Show HN: LatticeDB – Like SQLite but for graph databases"]]></title><description><![CDATA[
<p>LadybugDB maintainer here.<p>Couple of corrections:<p>* LadybugDB has revamped the Kuzu WAL design. It shouldn't be hard to build WAL based replication<p>* 19ms vs 39us - like the author says these are vastly different systems and the benchmark methodology may not be comparable.<p>We've mostly focused on query plan optimizations, not so much the micro query operator optimizations.<p>The 0.20.x end of the month release should have some interesting optimizations.<p><pre><code>  * Prepared statements will cache query plans and result vectors. So you don't pay malloc costs
  * SIMD optimizations for filter. More to come in the next release.</code></pre></p>
]]></description><pubDate>Wed, 26 Aug 2026 02:24:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=49443437</link><dc:creator>adsharma</dc:creator><comments>https://news.ycombinator.com/item?id=49443437</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49443437</guid></item><item><title><![CDATA[New comment by adsharma in "Knowledge Compressor"]]></title><description><![CDATA[
<p><a href="https://huggingface.co/datasets/ladybugdb/github-knowledge-compressor/tree/main" rel="nofollow">https://huggingface.co/datasets/ladybugdb/github-knowledge-c...</a><p>These methods could not beat the 480 token result because of the small dataset. But for a sufficiently large corpus with graph reordering and columnar parquet compression, they could be quite competitive.<p>The parquet files are self explanatory. For knowledge.lbdb.zst, first decompress with zstd and then run a cypher such as:<p><pre><code>  lbug> MATCH (a:E)-[t:TRIPLE]->(b:E) RETURN a.name AS subj, t.predicate AS pred, b.name AS obj, t.props AS props, t.scope AS scope;</code></pre></p>
]]></description><pubDate>Tue, 25 Aug 2026 23:18:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=49442023</link><dc:creator>adsharma</dc:creator><comments>https://news.ycombinator.com/item?id=49442023</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49442023</guid></item><item><title><![CDATA[New comment by adsharma in "Knowledge Compressor"]]></title><description><![CDATA[
<p>Did you consider extracting knowledge from the doc into a graph database (while passing the Q&A) and compressing the graph instead?</p>
]]></description><pubDate>Tue, 25 Aug 2026 21:45:05 +0000</pubDate><link>https://news.ycombinator.com/item?id=49441122</link><dc:creator>adsharma</dc:creator><comments>https://news.ycombinator.com/item?id=49441122</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49441122</guid></item><item><title><![CDATA[Show HN: Icebug-format: immutable, interoperable graph standard]]></title><description><![CDATA[
<p>Most graph analytics packages have a mutable graph implementation that uses a heap allocated vector to store the graph. It works for toy graphs. But if you're loading a billion edge graph using G.add_edge() it's going to take a while.<p>We don't need to invent new standards. Such interoperable, immutable memory standards already exist: Apache Arrow and Compressed Sparse Rows (CSR). CSR is widely used in scipy, cugraph and columnar graph databases among others. Both on CPUs and GPUs.<p>icebug-format combines both into a on-disk standard based on Apache Parquet and an in-memory format based on Apache Arrow.<p>Bindings available in many popular languages including python, typescript and rust.<p>The package ships with convenience scripts to convert flat tables such as vertex.parquet and edges.parquet to this format in RAM/disk constrained environments.<p>Sample graphs:
<a href="https://huggingface.co/datasets/ladybugdb/ldbc-csr/tree/main" rel="nofollow">https://huggingface.co/datasets/ladybugdb/ldbc-csr/tree/main</a><p>Converted from:
<a href="https://ldbcouncil.org/benchmarks/graphalytics/datasets/" rel="nofollow">https://ldbcouncil.org/benchmarks/graphalytics/datasets/</a><p>Largest converted graph has 3B edges.
License: MIT<p>Quick Start:<p><pre><code>  uv tool install icebug-format
  icebug-format --source-dir wiki-Talk
  lbug -i wiki-Talk-csr/schema.cypher</code></pre></p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=49381909">https://news.ycombinator.com/item?id=49381909</a></p>
<p>Points: 3</p>
<p># Comments: 0</p>
]]></description><pubDate>Thu, 20 Aug 2026 23:57:45 +0000</pubDate><link>https://github.com/Ladybug-Memory/icebug-format</link><dc:creator>adsharma</dc:creator><comments>https://news.ycombinator.com/item?id=49381909</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49381909</guid></item><item><title><![CDATA[New comment by adsharma in "The Mojo language (by Modular, now Qualcomm) is now open-source"]]></title><description><![CDATA[
<p>[ mojo explaining why they didn't create an embedded DSL]<p>> This is particularly problematic if you're trying to introduce fundamental new concepts because you can't change the grammar of Python or C++.<p>Yet, this is exactly the approach py2many is taking.<p>Keep it 99% python compatible. Deviate from the python grammar only for new features and where python made a decision incompatible with compiled language backends.</p>
]]></description><pubDate>Wed, 19 Aug 2026 14:14:35 +0000</pubDate><link>https://news.ycombinator.com/item?id=49361929</link><dc:creator>adsharma</dc:creator><comments>https://news.ycombinator.com/item?id=49361929</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49361929</guid></item><item><title><![CDATA[New comment by adsharma in "The Mojo language (by Modular, now Qualcomm) is now open-source"]]></title><description><![CDATA[
<p>Mojo as MLIR++ is how I've thought about it as well.<p>Many users will find transpiling static python to mojo an interesting path.<p>Updating py2many --mojo to 1.0 to see what breaks.<p>Also looking forward to translating existing python adt module to mojo Variant in phase 2. I hope the mojo pattern matching proposal looks more like rust (expression) and not like python (statement).</p>
]]></description><pubDate>Wed, 19 Aug 2026 14:09:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=49361860</link><dc:creator>adsharma</dc:creator><comments>https://news.ycombinator.com/item?id=49361860</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49361860</guid></item><item><title><![CDATA[New comment by adsharma in "Mojo 1.0"]]></title><description><![CDATA[
<p>Given the shared heritage with MLIR, one way to think about mojo: higher level IR, but still an IR. Rpython for GPUs.<p>But mojo is a superset, not a subset. So why not use a subset, infer what you need and generate mojo?<p>I've never seen this question actually presented to the company and discussed in more detail.</p>
]]></description><pubDate>Wed, 12 Aug 2026 05:05:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=49268012</link><dc:creator>adsharma</dc:creator><comments>https://news.ycombinator.com/item?id=49268012</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49268012</guid></item><item><title><![CDATA[New comment by adsharma in "Mojo 1.0"]]></title><description><![CDATA[
<p><a href="https://github.com/py2many/static-python-skill" rel="nofollow">https://github.com/py2many/static-python-skill</a><p>You can stick to python and generate mojo or rust or lean.<p>There is more than one solution to the two language problem.</p>
]]></description><pubDate>Wed, 12 Aug 2026 05:00:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=49267976</link><dc:creator>adsharma</dc:creator><comments>https://news.ycombinator.com/item?id=49267976</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49267976</guid></item><item><title><![CDATA[New comment by adsharma in "What I love about Django"]]></title><description><![CDATA[
<p>If you must use Django, use it through an abstraction layer like this:<p><a href="https://adsharma.github.io/django-fquery/" rel="nofollow">https://adsharma.github.io/django-fquery/</a><p>Your models can be plain old python data classes, declaratively mapped to Django primitives.</p>
]]></description><pubDate>Thu, 06 Aug 2026 22:52:33 +0000</pubDate><link>https://news.ycombinator.com/item?id=49203724</link><dc:creator>adsharma</dc:creator><comments>https://news.ycombinator.com/item?id=49203724</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49203724</guid></item><item><title><![CDATA[New comment by adsharma in "DuckPGQ – A DuckDB community extension for graph workloads"]]></title><description><![CDATA[
<p>- Installing a db these days is not prohibitive. You don't have to hire a DBA<p><pre><code>  curl <url> | bash
</code></pre>
- Some graph databases allow you to query a relational source without migrating data</p>
]]></description><pubDate>Sat, 01 Aug 2026 03:07:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=49130685</link><dc:creator>adsharma</dc:creator><comments>https://news.ycombinator.com/item?id=49130685</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49130685</guid></item><item><title><![CDATA[New comment by adsharma in "Algorithms on billion-scale graph using 10GB RAM: I love DataFusion"]]></title><description><![CDATA[
<p>The reason for not recommending networkx is the choice it offers:<p><pre><code>  fast on the GPU: nx-cugraph
  slow on the CPU: networkx (no arrow, see linked graph-benchmark)
</code></pre>
I'm looking to offer something that's best in class on both CPU and GPU, so people don't have to choose.<p>Now that nvidia is becoming a major CPU vendor, they may like the idea too.</p>
]]></description><pubDate>Fri, 31 Jul 2026 21:59:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=49129027</link><dc:creator>adsharma</dc:creator><comments>https://news.ycombinator.com/item?id=49129027</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49129027</guid></item><item><title><![CDATA[New comment by adsharma in "Algorithms on billion-scale graph using 10GB RAM: I love DataFusion"]]></title><description><![CDATA[
<p>There is a bit of healthy competition going on between graphframes and icebug. See:<p><a href="https://github.com/Ladybug-Memory/icebug-graphframes-comparison/" rel="nofollow">https://github.com/Ladybug-Memory/icebug-graphframes-compari...</a><p>I thought of datafusion work and the rust implementation as a way to address the delta seen vs the Spark/JVM GraphFrames implementation (author is a major contributor).<p>Looking forward to more such innovations, which will benefit the ecosystem as a whole. Why would anyone want to use a pure python graph algorithm package unless they're dealing with toy graphs?</p>
]]></description><pubDate>Fri, 31 Jul 2026 21:46:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=49128899</link><dc:creator>adsharma</dc:creator><comments>https://news.ycombinator.com/item?id=49128899</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49128899</guid></item><item><title><![CDATA[New comment by adsharma in "Algorithms on billion-scale graph using 10GB RAM: I love DataFusion"]]></title><description><![CDATA[
<p>They use networkx today: <a href="https://github.com/rapidsai/nx-cugraph/" rel="nofollow">https://github.com/rapidsai/nx-cugraph/</a> because it's more popular than networkit or icebug. But its popularity is based on ease of use, not performance:<p><a href="https://github.com/timlrx/graph-benchmarks" rel="nofollow">https://github.com/timlrx/graph-benchmarks</a><p>Not clear if the author or anyone else has an updated version of these benchmarks. Opened an icebug issue on the repo.</p>
]]></description><pubDate>Fri, 31 Jul 2026 21:29:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=49128716</link><dc:creator>adsharma</dc:creator><comments>https://news.ycombinator.com/item?id=49128716</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49128716</guid></item></channel></rss>