Gordon Murray (@gortron) header
Gordon Murray (@gortron) profile picture

Creator of Firn: vector + full-text search on object storage. Platform & data infra engineer. AWS, Terraform, Flink. AWS Solutions Architect.

Cork, Ireland
Joined March 2007
Photo by Gordon Murray (@gortron)Photo by Gordon Murray (@gortron)Photo by Gordon Murray (@gortron)Photo by Gordon Murray (@gortron)Photo by Gordon Murray (@gortron)Photo by Gordon Murray (@gortron)Photo by Gordon Murray (@gortron)Photo by Gordon Murray (@gortron)Photo by Gordon Murray (@gortron)Photo by Gordon Murray (@gortron)
Firn has a Python package now! Just `pip install firn` Vector and full-text search on object storage, straight from Python. The engine embeds in-process, so there's no server: point it at a local folder or an S3 bucket. Imagine how happy your SysOps team will be with no cluster to manage. Or your CFO, with no managed solution to approve
2
1
30
1,840
Ooh, that doesn’t bode well for my experiments using Jev as a reference to try to develop a better BM25 ranking formula 😅 Although I was scoring query/document pairs rather than comparing documents directly. Might be worth testing for position bias in my results
Word of warning on Jev-as-a-judge, it is strongly biased to position (it often picks what comes first)
84
Gordon Murray retweeted
The chances of being killed by a landmine delivered by a bear are low, but they are never zero.
1,379
12,056
1,227
117,693
3,257,035
I gave Paperclip and Codex a research challenge: find a better ranking algorithm than BM25. We tried mathematical formulas, AI distillation, neural models and GPU training. Some promising results. Plenty of failures too. Even Jev wasn't better on every dataset. I wrote up what I learned about search relevance and autonomous AI research gordonmurray.ie/data/2026/10…
🤖 Made with AI
1
1
6
284
Gordon Murray retweeted
If building is easier, build harder things.
94
99
17
941
32,797
I've been trying to get AI agents to discover a better search ranking formula than BM25. After testing 432 conventional configurations, I compared the best against Jev on 100 unseen queries. FiQA nDCG@10: Tuned BM25+: 0.232 Jev reranking: 0.402 A 73% improvement. Still haven't found a cheap formula that comes close.
8
2
42
4,178
Gordon Murray retweeted
Replying to @swear_trek
This is my personal favorite:
10
47
478
😭
In lieu of flowers, memorial contributions may be made to: Johns Hopkins Alzheimer’s Disease Research Center Fund    alzresearch.org/giving/ Alzheimer’s Foundation of America Caregiver Resources     alzfdn.org/donate/ Photo Credit: Tommy Garcia
2
155
One interesting finding from these experiments For a scientific query about T-cell activation, BM25 ranked a relevant document 66th. Jev moved it to 1st. My experimental formula ranked it 67th 😅
82
I changed the approach. Instead of asking AI agents to invent ranking formulas, I trained a simple formula using 126,436 ranking preferences from Jev Results (nDCG@10): BM25: 0.753 New formula: 0.778 Jev: 0.850 The formula runs without AI inference. Still early, but interesting. Next step is unseen datasets.
I’ve been experimenting with using AI agents to discover a better ranking formula than BM25, the algorithm used by Elasticsearch and OpenSearch. One candidate looked promising: BM25 nDCG@10: 0.753 Experimental: 0.800 Then I tested it against 300 unseen queries: BM25: 0.660 Experimental: 0.616 Back to the drawing board
5
1
17
794
I’ve been experimenting with using AI agents to discover a better ranking formula than BM25, the algorithm used by Elasticsearch and OpenSearch. One candidate looked promising: BM25 nDCG@10: 0.753 Experimental: 0.800 Then I tested it against 300 unseen queries: BM25: 0.660 Experimental: 0.616 Back to the drawing board
8
1
2
30
2,627
Gordon Murray retweeted
The memes will continue until build times improve.
1
7
41
3,123
QuerySpigot now scores 92/100 (A) on Agenstry's A2A conformance check. Signed agent card, A2A 1.0 interface, ~35 ms anonymous responses, and 1,754 of 1,754 uptime probes up. Irish company data for AI agents, paid per request in USDC over x402. queryspigot.com
1
1
82
Gordon Murray retweeted
33
243
36
5,051
105,843
Gordon Murray retweeted
We should be more ambitious with the software we build: danluu.com/ambitious/
21
57
13
578
33,194
Nice to see another local lakehouse build. I explored a streaming version with MySQL CDC → Flink → Iceberg, plus Trino, Soda checks and Superset, using Docker Compose. github.com/gordonmurray/apac…
my new weekend project : local data lakehouse using: Apache Spark Apache Iceberg MinIO Trino Docker Compose Streamlit Iceberg REST Catalog 🔗 GitHub: github.com/mohamedmeqlad99/d… linkedin: linkedin.com/feed/update/urn…
1
5
271
I used this stack for MetaBare: CLIP for images, MiniLM for notes, with BM25 alongside both. Search and embeddings run in the browser; your files stay on your device. The site is static S3 + CloudFront, no expensive GPUs github.com/gordonmurray/meta…
ONNX -> Transformers.js -> Run models in your browser
1
4
276
If you’re using skills for data engineering, I’ve shared a collection for Flink, Iceberg, Paimon, Fluss, Lance and more. Each includes what to inspect first and how to verify the work. github.com/gordonmurray/data…
We're donating Agent Skills to the Agentic AI Foundation (@AgenticAIFdn), the same foundation we donated MCP to. Since December 2025, 70+ agent platforms have integrated the standard, including ChatGPT, Cursor, GitHub Copilot, and VS Code. Here's what that means for you:
1
7
518
I tested Jev with Firn on SciFact: nDCG@10 rose from 0.727 to 0.800. It worked, but I left reranking optional rather than add a hosted dependency. Relevance is only part of the decision. gordonmurray.ie/data/2026/09…
1
6
170
I benchmarked bbtree while considering it for Firn. Integer inserts were ~4.7x faster than BTreeMap, but deletes were slower. The operation mix matters. My tests and caveats: gordonmurray.ie/data/2026/10…
Building on @lancedb now 🤩, thanks a lot for this great work!
1
2
12
567