<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: jankovicsandras</title><link>https://news.ycombinator.com/user?id=jankovicsandras</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Fri, 24 Apr 2026 12:00:18 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=jankovicsandras" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by jankovicsandras in "Ask HN: How are you doing RAG locally?"]]></title><description><![CDATA[
<p>You can do hybrid search in Postgres.<p>Shameless plug: <a href="https://github.com/jankovicsandras/plpgsql_bm25" rel="nofollow">https://github.com/jankovicsandras/plpgsql_bm25</a> BM25 search implemented in PL/pgSQL ( Unlicense / Public domain )<p>The repo includes also plpgsql_bm25rrf.sql : PL/pgSQL function for hybrid search ( plpgsql_bm25 + pgvector ) with Reciprocal Rank Fusion; and Jupyter notebook examples.</p>
]]></description><pubDate>Thu, 15 Jan 2026 07:18:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=46629181</link><dc:creator>jankovicsandras</dc:creator><comments>https://news.ycombinator.com/item?id=46629181</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46629181</guid></item><item><title><![CDATA[New comment by jankovicsandras in "7 Years, 2 Rebuilds, 40K+ Stars: Milvus Recap and Roadmap"]]></title><description><![CDATA[
<p>You can do hybrid search in Postgres.<p>Shameless plug: <a href="https://github.com/jankovicsandras/plpgsql_bm25" rel="nofollow">https://github.com/jankovicsandras/plpgsql_bm25</a> BM25 search implemented in PL/pgSQL ( Unlicense / Public domain )<p>The repo includes plpgsql_bm25rrf.sql : PL/pgSQL function for hybrid search ( plpgsql_bm25 + pgvector ) with Reciprocal Rank Fusion; and Jupyter notebook examples.</p>
]]></description><pubDate>Tue, 16 Dec 2025 14:33:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=46288972</link><dc:creator>jankovicsandras</dc:creator><comments>https://news.ycombinator.com/item?id=46288972</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46288972</guid></item><item><title><![CDATA[New comment by jankovicsandras in "Show HN: Fanfa – Interactive and animated Mermaid diagrams"]]></title><description><![CDATA[
<p>Looks cool!<p>Here's some feedback:<p>- the diagram is not centered and zoomed by default, this is easy to fix<p>- it would be great to have better animation controls, like progressbar, play half speed, etc.<p>- it would be great to be able to export animation to video, animgif, etc. e. g. with ffmpeg.js</p>
]]></description><pubDate>Tue, 09 Dec 2025 07:25:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=46202204</link><dc:creator>jankovicsandras</dc:creator><comments>https://news.ycombinator.com/item?id=46202204</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46202204</guid></item><item><title><![CDATA[New comment by jankovicsandras in "The Case Against PGVector"]]></title><description><![CDATA[
<p>Shameless plug:  <a href="https://github.com/jankovicsandras/plpgsql_bm25" rel="nofollow">https://github.com/jankovicsandras/plpgsql_bm25</a>   BM25 search implemented in PL/pgSQL ( Unlicense / Public domain )<p>The repo includes plpgsql_bm25rrf.sql : PL/pgSQL function for Hybrid search ( plpgsql_bm25 + pgvector ) with Reciprocal Rank Fusion; and Jupyter notebook examples.</p>
]]></description><pubDate>Mon, 03 Nov 2025 20:44:05 +0000</pubDate><link>https://news.ycombinator.com/item?id=45804191</link><dc:creator>jankovicsandras</dc:creator><comments>https://news.ycombinator.com/item?id=45804191</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45804191</guid></item><item><title><![CDATA[New comment by jankovicsandras in "Production RAG: what I learned from processing 5M+ documents"]]></title><description><![CDATA[
<p>"It's also possible to do it on top of other DBs like Postgres, but takes more effort."<p>Shameless plug: plpgsql_bm25: BM25 search implemented in PL/pgSQL (The Unlicense / PUBLIC DOMAIN)<p><a href="https://github.com/jankovicsandras/plpgsql_bm25" rel="nofollow">https://github.com/jankovicsandras/plpgsql_bm25</a><p>There's an example Postgres_hybrid_search_RRF.ipynb in the repo which shows hybrid search with Reciprocal Rank Fusion ( plpgsql_bm25 + pgvector ).</p>
]]></description><pubDate>Tue, 21 Oct 2025 09:56:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=45654119</link><dc:creator>jankovicsandras</dc:creator><comments>https://news.ycombinator.com/item?id=45654119</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45654119</guid></item><item><title><![CDATA[New comment by jankovicsandras in "CARA – High precision robot dog using rope"]]></title><description><![CDATA[
<p>Very cool robot dog and interesting video!
Can the dog climb stairs? Isn't capstan drive temperature sensitive, e.g. the ropes will be shorter in cold and longer in warm wheather?</p>
]]></description><pubDate>Thu, 24 Jul 2025 06:54:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=44667740</link><dc:creator>jankovicsandras</dc:creator><comments>https://news.ycombinator.com/item?id=44667740</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44667740</guid></item><item><title><![CDATA[New comment by jankovicsandras in "Show HN: Hyvector – A fast and modern SVG editor"]]></title><description><![CDATA[
<p>Can this solve vector tracing? <a href="https://github.com/jankovicsandras/imagetracerjs">https://github.com/jankovicsandras/imagetracerjs</a>  (Public domain) Discaimer: I made this.</p>
]]></description><pubDate>Fri, 09 May 2025 15:07:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=43937628</link><dc:creator>jankovicsandras</dc:creator><comments>https://news.ycombinator.com/item?id=43937628</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43937628</guid></item><item><title><![CDATA[New comment by jankovicsandras in "Ask HN: Alternatives to Vector DB?"]]></title><description><![CDATA[
<p>Postgres is a good idea.<p>Shameless plug: <a href="https://github.com/jankovicsandras/plpgsql_bm25" rel="nofollow">https://github.com/jankovicsandras/plpgsql_bm25</a><p>BM25 search implemented in PL/pgSQL, there's also an example of Hybrid (BM25+pgvector) search in the repo.</p>
]]></description><pubDate>Tue, 18 Mar 2025 19:38:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=43403988</link><dc:creator>jankovicsandras</dc:creator><comments>https://news.ycombinator.com/item?id=43403988</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43403988</guid></item><item><title><![CDATA[New comment by jankovicsandras in "BM25 in PostgreSQL"]]></title><description><![CDATA[
<p>This looks cool!<p>Shameless plug:<p><a href="https://github.com/jankovicsandras/plpgsql_bm25">https://github.com/jankovicsandras/plpgsql_bm25</a><p>BM25 search implemented in PL/pgSQL, might be useful if one can't use Rust extensions with Postgres, e. g. hosted Postgres without admin rights.</p>
]]></description><pubDate>Mon, 03 Mar 2025 10:00:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=43240181</link><dc:creator>jankovicsandras</dc:creator><comments>https://news.ycombinator.com/item?id=43240181</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43240181</guid></item><item><title><![CDATA[New comment by jankovicsandras in "I wrote a static web page and accidentally started a community (2023)"]]></title><description><![CDATA[
<p>I think the following works in Firefox. WARNING: this is a security risk obviously.<p>about:config -> security.fileuri.strict_origin_policy -> false<p>source: <a href="https://stackoverflow.com/questions/58067499/runing-javascript-in-local-html-files-in-firefox" rel="nofollow">https://stackoverflow.com/questions/58067499/runing-javascri...</a></p>
]]></description><pubDate>Wed, 12 Feb 2025 09:38:50 +0000</pubDate><link>https://news.ycombinator.com/item?id=43023599</link><dc:creator>jankovicsandras</dc:creator><comments>https://news.ycombinator.com/item?id=43023599</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43023599</guid></item><item><title><![CDATA[New comment by jankovicsandras in "Building a full-text search engine in 150 lines of Python code (2021)"]]></title><description><![CDATA[
<p>This is a good intro to text search.
Shameless plug: 
If you throw in a bit more, ca. 250 SLOC, you can have BM25 search:
<a href="https://github.com/jankovicsandras/bm25opt">https://github.com/jankovicsandras/bm25opt</a></p>
]]></description><pubDate>Fri, 24 Jan 2025 08:17:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=42811420</link><dc:creator>jankovicsandras</dc:creator><comments>https://news.ycombinator.com/item?id=42811420</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42811420</guid></item><item><title><![CDATA[New comment by jankovicsandras in "How to use Postgres for everything"]]></title><description><![CDATA[
<p>Can you please add this shameless plug?<p><a href="https://github.com/jankovicsandras/plpgsql_bm25">https://github.com/jankovicsandras/plpgsql_bm25</a><p>Opensource BM25 search in PL/pgSQL (for example where you can't use Rust extensions), and hybrid search with pgvector and  Reciprocal Rank Fusion.</p>
]]></description><pubDate>Sat, 07 Dec 2024 09:09:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=42348374</link><dc:creator>jankovicsandras</dc:creator><comments>https://news.ycombinator.com/item?id=42348374</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42348374</guid></item><item><title><![CDATA[New comment by jankovicsandras in "Understanding the BM25 full text search algorithm"]]></title><description><![CDATA[
<p>Shameless plug:<p><a href="https://github.com/jankovicsandras/plpgsql_bm25">https://github.com/jankovicsandras/plpgsql_bm25</a><p><a href="https://github.com/jankovicsandras/bm25opt">https://github.com/jankovicsandras/bm25opt</a></p>
]]></description><pubDate>Wed, 20 Nov 2024 06:18:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=42191251</link><dc:creator>jankovicsandras</dc:creator><comments>https://news.ycombinator.com/item?id=42191251</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42191251</guid></item><item><title><![CDATA[New comment by jankovicsandras in "Show HN: BM25opt – 30-40 x faster BM25 search algorithms (FOSS)"]]></title><description><![CDATA[
<p>This is a good point and was a difficult design decision. The reasons for changing the API are:<p>- easier to use with untokenized corpus and questions<p>- to fix issues with the tokenizing ( e.g. <a href="https://github.com/dorianbrown/rank_bm25/issues/38">https://github.com/dorianbrown/rank_bm25/issues/38</a> ); also rank_bm25 provides no default tokenizer, a naive split-on-whitespace is a wrong choice<p>- considerably simplify the code (way less SLOC)<p>- point out the similarities of the algorithms for educational purpuses / further development<p>In practice, the differences are minimal ( see Example 3: comparison with rank_bm25 ).</p>
]]></description><pubDate>Thu, 31 Oct 2024 10:00:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=42005150</link><dc:creator>jankovicsandras</dc:creator><comments>https://news.ycombinator.com/item?id=42005150</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42005150</guid></item><item><title><![CDATA[Show HN: BM25opt – 30-40 x faster BM25 search algorithms (FOSS)]]></title><description><![CDATA[
<p>BM25opt is a score-compatible optimized rewrite of the popular <a href="https://github.com/dorianbrown/rank_bm25">https://github.com/dorianbrown/rank_bm25</a> , which is used by e.g. LangChain and Llamaindex. It's much faster and tries to fix some issues as well.<p><a href="https://en.wikipedia.org/wiki/Okapi_BM25" rel="nofollow">https://en.wikipedia.org/wiki/Okapi_BM25</a></p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=42004614">https://news.ycombinator.com/item?id=42004614</a></p>
<p>Points: 1</p>
<p># Comments: 2</p>
]]></description><pubDate>Thu, 31 Oct 2024 08:35:53 +0000</pubDate><link>https://github.com/jankovicsandras/bm25opt</link><dc:creator>jankovicsandras</dc:creator><comments>https://news.ycombinator.com/item?id=42004614</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42004614</guid></item><item><title><![CDATA[New comment by jankovicsandras in "Vector databases are the wrong abstraction"]]></title><description><![CDATA[
<p>Or you can use Postgres to store the original text, the metadata and the embedding in a single table and then do hybrid queries against them (with pre- or post-filtering, optimized automatically).<p>Shameless plug:<p>BM25 search implemented in PL/pgSQL:   <a href="https://github.com/jankovicsandras/plpgsql_bm25">https://github.com/jankovicsandras/plpgsql_bm25</a><p>faster BM25 search algorithms in Python:  <a href="https://github.com/jankovicsandras/bm25opt">https://github.com/jankovicsandras/bm25opt</a></p>
]]></description><pubDate>Wed, 30 Oct 2024 10:36:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=41993491</link><dc:creator>jankovicsandras</dc:creator><comments>https://news.ycombinator.com/item?id=41993491</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41993491</guid></item><item><title><![CDATA[New comment by jankovicsandras in "Play 3.0 mini – A lightweight, reliable, cost-efficient Multilingual TTS model"]]></title><description><![CDATA[
<p>Hi, I don't know what's SOTA, but I got good results with these (open source, on-device) :<p><a href="https://github.com/SYSTRAN/faster-whisper">https://github.com/SYSTRAN/faster-whisper</a>  (speech-to-text)
<a href="https://github.com/rhasspy/piper">https://github.com/rhasspy/piper</a>  (text-to-speech)</p>
]]></description><pubDate>Tue, 15 Oct 2024 09:42:47 +0000</pubDate><link>https://news.ycombinator.com/item?id=41846783</link><dc:creator>jankovicsandras</dc:creator><comments>https://news.ycombinator.com/item?id=41846783</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41846783</guid></item><item><title><![CDATA[New comment by jankovicsandras in "The quiet art of attention"]]></title><description><![CDATA[
<p>Isn't parts of this quoting or paraphrasing from the book "The Tibetan Book of Living and Dying" ? <a href="https://en.m.wikipedia.org/wiki/The_Tibetan_Book_of_Living_and_Dying" rel="nofollow">https://en.m.wikipedia.org/wiki/The_Tibetan_Book_of_Living_a...</a></p>
]]></description><pubDate>Mon, 14 Oct 2024 07:12:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=41835013</link><dc:creator>jankovicsandras</dc:creator><comments>https://news.ycombinator.com/item?id=41835013</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41835013</guid></item><item><title><![CDATA[New comment by jankovicsandras in "Ask HN: What are you working on (September 2024)?"]]></title><description><![CDATA[
<p>Free and open source Okapi BM25 search for Postgresql implemented in PL/pgSQL, so it works without extensions.<p><a href="https://github.com/jankovicsandras/plpgsql_bm25">https://github.com/jankovicsandras/plpgsql_bm25</a><p>Might be useful in hosted/cloud Postgres, where you can't use Rust extensions.</p>
]]></description><pubDate>Mon, 30 Sep 2024 05:01:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=41693704</link><dc:creator>jankovicsandras</dc:creator><comments>https://news.ycombinator.com/item?id=41693704</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41693704</guid></item><item><title><![CDATA[New comment by jankovicsandras in "Show HN: Velvet – Store OpenAI requests in your own DB"]]></title><description><![CDATA[
<p>A hybrid search approach might help, like combining vector similarity scores with e.g. BM25 scores.<p>Shameless plug (FOSS):  <a href="https://github.com/jankovicsandras/plpgsql_bm25">https://github.com/jankovicsandras/plpgsql_bm25</a>
Okapi BM25 search implemented in PL/pgSQL for Postgres.</p>
]]></description><pubDate>Thu, 26 Sep 2024 06:12:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=41655064</link><dc:creator>jankovicsandras</dc:creator><comments>https://news.ycombinator.com/item?id=41655064</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41655064</guid></item></channel></rss>