stevelauc.bsky.social
@stevelauc.bsky.social
* NSScreen::visibleFrame() assumes that the dock is on the main screen, which in reality depends on how users arrange their screens and the dock position setting entry
* Sometimes it works and sometimes it doesn’t. See the demo video — bottom_half does not work correctly
August 28, 2025 at 8:12 AM
but I hate that:

* Accessibility API and AppKit use different coordinate systems, you have to do the conversion yourself
* NSScreen::visibleFrame() ignores the menu bar on non-main screens, even though macOS puts one on every screen
August 28, 2025 at 8:12 AM
Thanks for loving Topgrade:)
August 24, 2025 at 2:37 PM
Interestingly, PolarDB (for Postgres) moved these caches into shared memory

> This helps maximize memory usage by allowing all processes to share cache entries and reduces the chances of out-of-memory (OOM) issues.

www.alibabacloud.com/help/en/pola...
Global caches - PolarDB - Alibaba Cloud Documentation Center
Global caches,PolarDB:This topic describes the background information about the global cache feature and how to use this feature.
www.alibabacloud.com
August 23, 2025 at 10:17 AM
Well, looking at the index files, Tracker is a wrapper of SQLite with the fts extension...
August 21, 2025 at 9:11 AM
Thanks for answering my questions! 😆 Appreciate it!
February 24, 2025 at 2:04 AM
N/N
February 24, 2025 at 1:44 AM
If the `cache` field of `struct Bm25Weight` will be updated to reflect the average document length *at the query time*, then the scoring operation uses the "latest" fieldnorm value
February 24, 2025 at 1:43 AM
> I'm not sure what you mean by newest values.

Since Tantity stores "fieldnorm_id" rather than the actual value, when calculating the block-max score, github.com/quickwit-oss..., the `tf_factor()` function will retrieve the fieldnorm value using this fielednorm_id

2/N
github.com
February 24, 2025 at 1:39 AM
When committing a segment, we only know the current average document length, not the average length that will exist at query time. This is why you said, "tantivy does an approximation here"

1/N (well, I do not expect the post length on bsky can be so limited...)
February 24, 2025 at 1:35 AM
Yeah, document frequency is stored in TermInfo. Sorry for being unclear

> Looks like Tantivy does not store the docfreq? From the code, [code link], fieldnorm_id and term_freq are stored

By "store" here, I mean the *extra* info stored in each block for the block-max WAND algorithm
github.com
February 24, 2025 at 1:22 AM
My question:

And, since it stores fieldnorm_id rather than the fieldnorm value, the actual fieldnorm used in scoring will be the newest value, is my guess right? Thanks:)

github.com/quickwit-oss...
github.com
February 23, 2025 at 1:55 AM
My question:

Hi there, I am reading Tantivy's block-max WAND impl, and:

> and just store that argmax's docfreq / fieldnorm

Looks like Tantivy does not store the docfreq? From the code, github.com/quickwit-oss..., fieldnorm_id and term_freq are stored
github.com
February 23, 2025 at 1:54 AM
Your tweet:

During search, we inject that block max docfreq fieldnorm, into the score formula with the global statistics, hoping the winning (docfreq, fieldnorm) pair is unchanged.

2/2
February 23, 2025 at 1:53 AM
Your tweet:

> tantivy does an approximation here. We compute the argmax given the segment docfreq and average fieldnorm (yeah I had totally forgotten the average fieldnorm), and just store that argmax's docfreq / fieldnorm.

1/2 (have to split it due to word limit)
February 23, 2025 at 1:53 AM
Hi there, I was reading your tweets about Tantivy's block-max WAND implementations and have some questions. Could you please take a look at my questions and share your insights?

x.com/fulmicoton/s...

Questions were posted on Twitter/X, we can continue the discussion here😆
x.com
x.com
February 22, 2025 at 1:30 PM