<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>Sat, 20 Jun 2026 04:09:40 +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 "Ten years of ClickHouse in open source"]]></title><description><![CDATA[
<p>It's interesting that the blog post places SQLite and Ladybird on the spectrum, but omits it's chief open source rival: DuckDB.<p>Agree that Level 3 is what inspires confidence. But we need to invent new business models to sustain in the era of vibe-coded databases.</p>
]]></description><pubDate>Fri, 19 Jun 2026 14:44:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=48599208</link><dc:creator>adsharma</dc:creator><comments>https://news.ycombinator.com/item?id=48599208</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48599208</guid></item><item><title><![CDATA[New comment by adsharma in "Rayforce"]]></title><description><![CDATA[
<p>DuckDB and LadybugDB use the same terminology to describe internals.</p>
]]></description><pubDate>Wed, 10 Jun 2026 02:24:30 +0000</pubDate><link>https://news.ycombinator.com/item?id=48470570</link><dc:creator>adsharma</dc:creator><comments>https://news.ycombinator.com/item?id=48470570</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48470570</guid></item><item><title><![CDATA[New comment by adsharma in "Python JIT project was asked to pause development"]]></title><description><![CDATA[
<p>The future is to write Rust in a python interpreter compatible way leveraging large parts of the python ecosystem.<p>This will require minor tweaks to the language and perhaps a forked interpreter (a forked parser already exists).<p>Then you solve the two language problem with a combination of probabilistic and deterministic translation.</p>
]]></description><pubDate>Sun, 07 Jun 2026 05:07:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=48431999</link><dc:creator>adsharma</dc:creator><comments>https://news.ycombinator.com/item?id=48431999</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48431999</guid></item><item><title><![CDATA[New comment by adsharma in "One year of Roto, a compiled scripting language for Rust"]]></title><description><![CDATA[
<p>7 years of python -> rust here.<p><a href="https://github.com/py2many/static-python-skill/blob/main/assets/claude_jpeg_parser.py" rel="nofollow">https://github.com/py2many/static-python-skill/blob/main/ass...</a></p>
]]></description><pubDate>Sun, 31 May 2026 16:57:33 +0000</pubDate><link>https://news.ycombinator.com/item?id=48347315</link><dc:creator>adsharma</dc:creator><comments>https://news.ycombinator.com/item?id=48347315</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48347315</guid></item><item><title><![CDATA[New comment by adsharma in "Omarchy Is Not A Distro"]]></title><description><![CDATA[
<p>Installing thing like this should be an agent skill, not a distribution.</p>
]]></description><pubDate>Mon, 25 May 2026 02:36:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=48262926</link><dc:creator>adsharma</dc:creator><comments>https://news.ycombinator.com/item?id=48262926</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48262926</guid></item><item><title><![CDATA[New comment by adsharma in "Bun Rust rewrite: "codebase fails basic miri checks, allows for UB in safe rust""]]></title><description><![CDATA[
<p>+1 - I was making exactly this argument in other threads. But I have a slightly different take on how software should be written.<p>Translating zig -> rust is more complex than writing a JPEG parser in static python and then lowering it into zig and rust differently using idiomatic construct for each language.<p>Towards that end, I've created a parser for a dialect of python which is suitable for this purpose. It should maintain compatibility with the vast majority of python code out there, while picking up some rust/zig features that make translation easier. JPEG parser included in the assets of the skill for a flavor.<p><a href="https://github.com/py2many/static-python-skill" rel="nofollow">https://github.com/py2many/static-python-skill</a><p><a href="https://github.com/py2many/spy-ast" rel="nofollow">https://github.com/py2many/spy-ast</a></p>
]]></description><pubDate>Sat, 16 May 2026 00:33:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=48155671</link><dc:creator>adsharma</dc:creator><comments>https://news.ycombinator.com/item?id=48155671</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48155671</guid></item><item><title><![CDATA[New comment by adsharma in "Bun's experimental Rust rewrite hits 99.8% test compatibility on Linux x64 glibc"]]></title><description><![CDATA[
<p>A SMT solver may work better.</p>
]]></description><pubDate>Sat, 09 May 2026 20:42:32 +0000</pubDate><link>https://news.ycombinator.com/item?id=48078056</link><dc:creator>adsharma</dc:creator><comments>https://news.ycombinator.com/item?id=48078056</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48078056</guid></item><item><title><![CDATA[Show HN: Vpg – Pglite for Native Code]]></title><description><![CDATA[
<p>Previously I called pgembed, pglite for native code here: <<a href="https://news.ycombinator.com/item?id=47726489">https://news.ycombinator.com/item?id=47726489</a>>.<p>However that's not true. pglite runs as a single process inside the browser leveraging postgres single user mode.<p>pgembed gives you the illusion of being an embedded database, but really its running a managed multi-process postgres behind the scenes.<p>vpg is trying to mimic what pglite does. It's mostly written in C with the top level glue code written in vlang and exposed via python using a custom bindgen implementation.</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48065100">https://news.ycombinator.com/item?id=48065100</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Fri, 08 May 2026 16:08:10 +0000</pubDate><link>https://github.com/Ladybug-Memory/vpg</link><dc:creator>adsharma</dc:creator><comments>https://news.ycombinator.com/item?id=48065100</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48065100</guid></item><item><title><![CDATA[New comment by adsharma in "PGLite Evangelism"]]></title><description><![CDATA[
<p>Experimenting with the pglite way, this time using vlang here:<p><a href="https://github.com/adsharma/vpg" rel="nofollow">https://github.com/adsharma/vpg</a><p><pre><code>  v run cmd/vpg_test.v</code></pre></p>
]]></description><pubDate>Thu, 16 Apr 2026 01:15:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=47787529</link><dc:creator>adsharma</dc:creator><comments>https://news.ycombinator.com/item?id=47787529</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47787529</guid></item><item><title><![CDATA[New comment by adsharma in "PGLite Evangelism"]]></title><description><![CDATA[
<p>The first one. It's forked from pgserver.<p>Yes, what you get is a multi-server postgres under the covers. But for many users, the convenience of "uv pip install...", auto clean up via context manager is the higher order bit that takes them to SQLite.<p>Of course the bundled extensions are the key differentiator.<p>With enough distribution and market opportunities we (yes, there is a for profit company behind it) can invest in making it truly embedded.</p>
]]></description><pubDate>Sat, 11 Apr 2026 14:31:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=47730962</link><dc:creator>adsharma</dc:creator><comments>https://news.ycombinator.com/item?id=47730962</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47730962</guid></item><item><title><![CDATA[New comment by adsharma in "PGLite Evangelism"]]></title><description><![CDATA[
<p>Pgserver is not maintained. Had to fork it as pgembed, compile recent versions and bundle BM25 and vector extensions.</p>
]]></description><pubDate>Sat, 11 Apr 2026 14:26:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=47730921</link><dc:creator>adsharma</dc:creator><comments>https://news.ycombinator.com/item?id=47730921</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47730921</guid></item><item><title><![CDATA[New comment by adsharma in "PGLite Evangelism"]]></title><description><![CDATA[
<p>Pgembed is pglite for native code.</p>
]]></description><pubDate>Sat, 11 Apr 2026 01:58:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=47726489</link><dc:creator>adsharma</dc:creator><comments>https://news.ycombinator.com/item?id=47726489</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47726489</guid></item><item><title><![CDATA[New comment by adsharma in "Lisette a little language inspired by Rust that compiles to Go"]]></title><description><![CDATA[
<p>This is why transpilers exist.<p>py2many can compile static python to mojo, apart from rust and golang.<p>Is it comprehensive? No. But it's deterministic. In the age of LLMs, with sufficient GPU you can either:<p><pre><code>  * Get the LLM to enhance the transpiler to cover more of the language/stdlib
  * Accept the non-determinism for the hard cases
</code></pre>
The way mojo solves it is by stuffing two languages into one. There are two ways to write a function for example.<p>I don't think the cost imposed by a transpiler is worse. In fact, it gets better over time. As the transpiler improves, you stop thinking about the generated code.</p>
]]></description><pubDate>Mon, 06 Apr 2026 17:59:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=47664469</link><dc:creator>adsharma</dc:creator><comments>https://news.ycombinator.com/item?id=47664469</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47664469</guid></item><item><title><![CDATA[New comment by adsharma in "Lisette a little language inspired by Rust that compiles to Go"]]></title><description><![CDATA[
<p>There is a question of what benefit would it bring even if its open sourced?<p>Static python can transpile to mojo. I haven't seen an argument on what concepts can only be expressed in mojo and not static python?<p>Borrow checker? For sure. But I'm not convinced most people need it.<p>Mojo therefore is a great intermediate programming language to transpile to. Same level of abstraction as golang and rust.</p>
]]></description><pubDate>Sun, 05 Apr 2026 17:32:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=47651759</link><dc:creator>adsharma</dc:creator><comments>https://news.ycombinator.com/item?id=47651759</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47651759</guid></item><item><title><![CDATA[New comment by adsharma in "Lisette a little language inspired by Rust that compiles to Go"]]></title><description><![CDATA[
<p>Amazing people still keep discovering it. And google search fails to surface working implementations.<p>"Python to rust transpiler" -> pyrs (py2many is a successor)
"Python to go transpiler" -> pytago<p>Grumpy was written around a time when people thought golang would replace python. Google stopped supporting it a decade ago.<p>Even the 2022 project by a high school student got more SEO<p><a href="https://github.com/py2many/py2many/issues/518" rel="nofollow">https://github.com/py2many/py2many/issues/518</a></p>
]]></description><pubDate>Sun, 05 Apr 2026 17:14:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=47651552</link><dc:creator>adsharma</dc:creator><comments>https://news.ycombinator.com/item?id=47651552</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47651552</guid></item><item><title><![CDATA[New comment by adsharma in "Lisette a little language inspired by Rust that compiles to Go"]]></title><description><![CDATA[
<p>Cython uses C-API. This one doesn't.</p>
]]></description><pubDate>Sun, 05 Apr 2026 16:25:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=47651003</link><dc:creator>adsharma</dc:creator><comments>https://news.ycombinator.com/item?id=47651003</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47651003</guid></item><item><title><![CDATA[New comment by adsharma in "Lisette a little language inspired by Rust that compiles to Go"]]></title><description><![CDATA[
<p>Static python as described in this skill.<p><a href="https://github.com/py2many/static-python-skill" rel="nofollow">https://github.com/py2many/static-python-skill</a></p>
]]></description><pubDate>Sun, 05 Apr 2026 15:54:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=47650695</link><dc:creator>adsharma</dc:creator><comments>https://news.ycombinator.com/item?id=47650695</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47650695</guid></item><item><title><![CDATA[New comment by adsharma in "Show HN: Postgres extension for BM25 relevance-ranked full-text search"]]></title><description><![CDATA[
<p>Do you have LongMemEval numbers for pgvector vs pgvector+ hybrid search?</p>
]]></description><pubDate>Wed, 01 Apr 2026 01:13:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=47595587</link><dc:creator>adsharma</dc:creator><comments>https://news.ycombinator.com/item?id=47595587</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47595587</guid></item><item><title><![CDATA[New comment by adsharma in "Grafeo – A fast, lean, embeddable graph database built in Rust"]]></title><description><![CDATA[
<p>Thank you for the shout out! I looked into your benchmark setup a bit. Two things going on:<p>- Ladybug by default allocates 80% of the physical memory to the buffer pool. You can limit it. This wasn't the main reason.<p>- Much of the RSS is in ladybug native memory connected to the python connection object. I noticed that you keep the connection open between benchmark runs. For whatever reason, python is not able to garbage collect the memory.<p>We ran into similar lifetime issues with golang and nodejs bindings as well. Many race conditions where the garbage collector releases memory while another thread still has a reference to native memory. We now require that the connection be closed for the memory to be released.<p><pre><code>  https://github.com/LadybugDB/ladybug/issues/320
  https://github.com/LadybugDB/go-ladybug/issues/7
  https://github.com/LadybugDB/ladybug-nodejs/pull/1</code></pre></p>
]]></description><pubDate>Wed, 25 Mar 2026 04:24:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=47513210</link><dc:creator>adsharma</dc:creator><comments>https://news.ycombinator.com/item?id=47513210</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47513210</guid></item><item><title><![CDATA[New comment by adsharma in "Grafeo – A fast, lean, embeddable graph database built in Rust"]]></title><description><![CDATA[
<p>Makes it a good match for columnar databases which already operate on the read-only, read-mostly part of the spectrum.<p>Perhaps people can invent LSM like structures on top of them.<p>But at least establish that CSR on disk is a basic requirement before you claim that you're a legit graph database.</p>
]]></description><pubDate>Sun, 22 Mar 2026 21:50:47 +0000</pubDate><link>https://news.ycombinator.com/item?id=47482558</link><dc:creator>adsharma</dc:creator><comments>https://news.ycombinator.com/item?id=47482558</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47482558</guid></item></channel></rss>