Hi folks - Check out the https://www.clojuriststogether.org/news/annually-funded-developers-update-november-and-december-2025/ from the 5 developers receiving annual funding from Clojurists Together in 2025 (Dragan Djuric, Eric Dallo, Michiel Borkent, Oleksandr Yakushev, and Peter Taoussanis). Toby Crawley also issued his https://www.clojuriststogether.org/news/clojars-maintenance-and-support-november/december-2025-update/ on Clojars support and maintenance.
Some announcements I made in #yamlscript and shared in #clj-yaml https://clojurians.slack.com/archives/C05HQFMTURF/p1769627265283389
oh shit, i never put it together that you created yaml, no wonder you're such a wiz at yaml
> HEY EVERYONE!!! I CREATED YAML!!! HOLY SHIT!!! Not really my style. Maybe it should be π€·
I got some recruiter spam a while back that said I was in the top 1% of Clojure code authors in the world.
If it's true, it's gotta be because I write so much bad Clojure. π
hah you have it in your profile so it's on me for not noticing before
You mean "bad ass" Clojure, I'm sure.
aww
We were a bit red-faced in #clj-yaml... we were getting into a bit of a YAML-diss session when @ingy dropped in... you were very cool about it, Ingy! β€οΈ
I recall that. I never even bothered to read your disses. I've seen my share.
btw I don't think there were any Clojure YAMLs on https://yaml.org/libraries/ Now we have 3 π
YAMLScript ships its Clojure and Java assets to Clojars. But YAMLStar ships its Java to Maven Central... That was a bit of a pain, but all sorted/automated now. I recall asking about how to do this once in #clojure and iirc we ended up realizing that (likely) of all the Clojurists here, only @alexmiller does that. Now there are 2! π
Oh. YAMLStar works on Windows (YAMLScript doesn't yet)
And also on Fortran π
Also check out this new YAML parser comparison site: https://play.yaml.com/
https://github.com/hive-agi/hive-mcp, release https://github.com/hive-agi/hive-mcp/releases/tag/v0.10.0 Now with Knowledge Graph support, using Datalevin to persist associations and frequent co-accessed memories. Your AI learning to learn on it's own! PS: sorry the screenshot line glitches. gshot and picom (compositor) clashing π
Hi, I'm using eca-emacs and want to stay with it, I need only memory function (chroma) so that I don't have to repeat myself again and again, is there a way to setup just the memory part?
Hello, Mateusz!
Yes, you could. In the docker-compose.yaml there are multiple dependencies. One of them is chroma. You could just up that one or milvus.
Start an emacs session (could be deamon mode) -- you won't be using the multi-agent setup. E.g., you don't need to touch emacs if you want.
Then, start hive-mcp using start-mcp.sh the start-bb-mcp.sh would need you to clone somewhere the bb-cmp (which would enable multiplexing the JVM cost down on new claude sessions).
But if you are strictly using an agent, you could use start-mcp.sh as entrypoint. It's the setup where you spawn the heavy-JVM etc.
I would advise cloning the bb-mcp anyway and then using:
# Required: Paths to repositories (adjust to your clone locations)
export HIVE_MCP_DIR="$HOME/projects/hive-mcp"
export BB_MCP_DIR="$HOME/projects/bb-mcp"
# Register hive-mcp as "hive" MCP server
claude mcp add hive --scope user -- \
$HIVE_MCP_DIR/start-bb-mcp.sh
In your emacs init etc:
;;; hive-mcp minimal configuration
;; 1. Add hive-mcp to load-path (REQUIRED)
;; The order matters: elisp/ BEFORE elisp/addons/
(add-to-list 'load-path "/path/to/hive-mcp/elisp")
(add-to-list 'load-path "/path/to/hive-mcp/elisp/addons")
;; 2. Install required packages (if not present)
(unless (package-installed-p 'websocket)
(package-refresh-contents)
(package-install 'websocket))
;; 3. Load core module (REQUIRED)
(require 'hive-mcp)
;; 4. Enable the global minor mode (REQUIRED)
(hive-mcp-mode 1)
;; 5. Start Emacs server for emacsclient (REQUIRED)
;; Idempotent: safe to call multiple times
(unless (server-running-p)
(server-start))
Run chroma
docker compose up chroma -d
Then, you are good to go...
Just ask claude to make a memory using hive-mcp and it will do it. Even telling make a memory may already be enough, in my experience. It will find the tool in the tool registry.You could also ask her, of couse, lookup memory for. When I explicitly want her to explore something, but use memory first, currently I do:
<so and so> (lookup memories)
With the knowledge graph + priming, eventually she will understand to do that, and which memories to lookup, on her onOh, I forgot. But, you either/or need to run ollama nomic-embed-text:latest model, or setup the OPENROUTER_API_KEY and use it.
When using OpenRouter, the default embedding model is qwen/qwen3-embedding-8b (4096 dimensions, 33k context, free tier).
Supported OpenRouter Embedding Models
ββββββββββββββββββββββββββββββββββ¬βββββββββββββ¬βββββββββββββββββββββ
β Model β Dimensions β Notes β
ββββββββββββββββββββββββββββββββββΌβββββββββββββΌβββββββββββββββββββββ€
β qwen/qwen3-embedding-8b β 4096 β Default, free tier β
ββββββββββββββββββββββββββββββββββΌβββββββββββββΌβββββββββββββββββββββ€
β openai/text-embedding-3-small β 1536 β Paid β
ββββββββββββββββββββββββββββββββββΌβββββββββββββΌβββββββββββββββββββββ€
β openai/text-embedding-3-large β 3072 β Paid β
ββββββββββββββββββββββββββββββββββΌβββββββββββββΌβββββββββββββββββββββ€
β cohere/embed-english-v3.0 β 1024 β Paid β
ββββββββββββββββββββββββββββββββββΌβββββββββββββΌβββββββββββββββββββββ€
β cohere/embed-multilingual-v3.0 β 1024 β Paid β
ββββββββββββββββββββββββββββββββββ΄βββββββββββββ΄βββββββββββββββββββββ
Configuration
From src/hive_mcp/embeddings/openrouter.clj:110-129:
;; Default (uses OPENROUTER_API_KEY env var)
(openrouter/->provider)
;; Explicit model
(openrouter/->provider {:model "openai/text-embedding-3-small"})
The API key is read from OPENROUTER_API_KEY environment variable by default.I use a split solution, for memories I use nomic-embed-text:latest (4K context) and for presets (bigger sized text, in general) I use the qwen/qwen3-embedding-8b (supports up to 32K context)
It's not free, btw. It's just cheap to use the embedding qwen model - the information above is inaccurate, regarding this.
I created #hive-mcp because I will be updating it frequently there. May even hook a way to auto-release notes on what was worked on through versions eventually. Anyone that have questions or need help setting it up. We can schedule a call and record it to share with others interested. I'm up for it. π
https://github.com/BuddhiLW/clojure-elisp first minor release https://github.com/BuddhiLW/clojure-elisp/releases/tag/v0.1.0
One of the projects I'm working, to test out hive-mcp.
Eventually the Elisp parts of hive-mcp will all be implemented in clel. E.g., pure clojure syntax.
Announcing Yggdrasil - Unified Copy-on-Write Protocols for Heterogeneous Storage We're excited to introduce Yggdrasil, a protocol stack that unifies Git-like branching semantics of many storage systems - filesystems, databases, containers, ... In Norse mythology, Yggdrasil is the World Tree connecting all realms. This library connects different storage backends under one unified API. Key Features: β’ Unified protocols - Snapshotable, Branchable, Graphable, Mergeable, Watchable β’ 11 adapters - Git, ZFS, Btrfs, OverlayFS, Podman, Datahike, LakeFS, Dolt, Scriptum, IPFS, Apache Iceberg β’ PSI consistency - Parallel Snapshot Isolation guarantees across systems β’ Zero-copy branching - COW semantics on supported filesystems β’ Compliance test suite - Verify any adapter implementation
(require '[yggdrasil.adapters.git :as git])
(require '[yggdrasil.protocols :as p])
(def sys (git/init! "/tmp/repo" {:system-name "my-project"}))
;; Git-like operations via protocols
(p/branch! sys :experiment)
(p/checkout sys :experiment)
;; ... make changes ...
(p/merge! sys :experiment)
;; Time-travel
(p/history sys {:limit 10})
(p/as-of sys "abc123")
Perfect for agent sandboxing, reproducible pipelines, or composing versioned storage across heterogeneous backends.
Install:
org.replikativ/yggdrasil {:mvn/version "0.1.5"}
Links:
β’ GitHub: https://github.com/replikativ/yggdrasil
β’ Docs: See README for adapter-specific setup (ZFS, Btrfs, etc.)
Works with https://github.com/replikativ/proximum and https://github.com/replikativ/scriptum for versioned vector and fulltext search.
Feedback welcome! π±I am happy to discuss this in #datahike, including how to expose it through its versioning bindings.