Free software activities in October 2025 Fri, 31 Oct 2025 19:44:11 -0400 Hello and welcome to my October free software activities report. GNU & FSF --------- - [GNU Spotlight]: I prepared and sent the October GNU Spotlight to the FSF campaigns team, who will review and publish it on the FSF's community blog and as part of the next issue of the monthly Free Software Supporter newsletter. - [GNU Emacs]: - [bug#79629]: I noticed that I was unable to customize the `holiday-other-holidays` variable using the `setopt` macro: my change did not seem to take effect. As Eli Zaretskii helpfully pointed out, this was because customizing `holiday-other-holidays` did not recompute the value of `calendar-holidays`, which is computed once, when the package is loaded. So I prepared and sent a patch [`500a2d0cc55`] to recompute `calendar-holidays` when its components are set. - [`bbabc1db258`]: While reading about `custom-reevaluate-setting` in the Startup Summary node of the GNU Emacs Lisp reference manual I noticed a small typo, so I committed a patch to fix it. Misc ---- - The Free Software Foundation [celebrated its fortieth birthday] on 4 October 2025 online and in person in Boston! I was not able to attend the event in person, so I recorded a [video for the FSF40 volunteer panel] held at the venue. - This month at work one of our Elasticsearch clusters experienced partial failure, and we needed to extract document IDs from a backup of one of the cluster's shards. Elasticsearch uses Lucene under the hood and each shard is a standalone Lucene index, so I used Lucene's Java API to write a little [`GetIDS`] class to query the index for all of its documents, and for each document print its `_id` field, decoding the binary-valued `BytesRef` as needed. The gotcha was that all of the `BytesRef`s seemed to have a `-1` byte in the beginning, throwing off the recommended `BytesRef.utf8ToString()` method, so I had to reimplement that method's logic in my program and have it use an adjusted `offset + 1` and `length - 1` instead. That's about it for this month's report. Take care, and so long for now. [GNU Spotlight]: https://www.gnu.org/spotlight/spotlight.html [GNU Emacs]: https://www.gnu.org/software/emacs/ [bug#79629]: https://bugs.gnu.org/79629 [`500a2d0cc55`]: https://git.savannah.gnu.org/cgit/emacs.git/commit/?id=500a2d0cc55340eb3830f8a7ad49183c4b57c87c [`bbabc1db258`]: https://git.savannah.gnu.org/cgit/emacs.git/commit/?id=bbabc1db25835fe52ff9d29c1689c88e82146a8a [celebrated its fortieth birthday]: https://www.fsf.org/fsf40 [video for the FSF40 volunteer panel]: fsf40-volunteer-panel.html [`GetIDS`]: software/misc/GetIDS.java