announcements

vlaaad 2026-05-13T09:59:34.606549Z

I created 2 libs: 1. https://github.com/vlaaad/ghosttyfx — pure Java library that provides a JavaFX terminal view using https://github.com/ghostty-org/ghostty 2. https://github.com/cljfx/ghosttyfx — Clojure library that provides a GhosttyFX wrapper for https://github.com/cljfx/cljfx

🆒 5
🔥 20
👻 5
🎉 16
2026-05-13T11:03:06.602649Z

The Problem Persistent Data Structures use structural sharing to create an efficient in-memory representation, but these same structures can be a problem to serialize/deserialize: 1. the shared parts are duplicated in the serialised output which can lead to a large and inefficient representation. 2. when the process is reversed, deserialization doesn't recreate the original, shared, efficient in-memory representation because sharing information was lost in the original serialisation. The Solution - de-dupe 0.3.0 Originally written in 2015, yes, 11 years ago, and now freshly modernised for both clj and cljs so we can use it as part of the wire protocol for https://github.com/day8/re-frame2/tree/main MCPs https://github.com/day8/de-dupe

🚀 9
🎉 8
🤔 2
2026-05-13T15:54:53.868339Z

this is a nice bottling-up of a nice solution 👍 have done similar things for GC happiness reasons, receiving heavily indexed structures over wire

Ahmed Hassan 2026-05-13T18:17:52.729769Z

Is it used for client server data transfer as well?

dgr 2026-05-13T23:32:27.541819Z

Oh nice! I was having a similar issue with something I've been working on. Maybe this is my solution.

2026-05-13T12:10:19.142999Z

https://github.com/flow-storm/clojure 1.12.5 - A fork of the official Clojure compiler that adds support for execution tracing. • Nothing new, just rebases over the latest stuff in Clojure 1.12.5

12
🙇‍♂️ 4
🙏 1
🎉 4
dvorme 2026-05-13T17:25:47.385069Z

I just open-sourced Winze — a persistent memory system for AI coding agents: https://github.com/coconutpalm/winze . It's both an MCP server and a native desktop application that lives in your system tray; built in Clojure using Clojure Desktop Toolkit (https://github.com/coconutpalm/clojure-desktop-toolkit). Babashka powers the MCP server. The problem: every Claude Code session starts with a blank slate. No memory of what you decided last week, why you rejected an approach, or what's half-finished. Winze fixes this by indexing your planning docs (plain Markdown in a Plans/ directory) with vector embeddings, so an AI can recover full project context in seconds across sessions and projects. The native desktop UI — as-you-type semantic search, rich Markdown editor, system tray icon — is a pretty thorough real-world CDT case study if you've been meaning to dig into it. Babashka acts as a lightweight proxy to the long-lived JVM server process, keeping startup instant and the JVM warm between agent sessions. I'm also in the job market for AI-centric roles if anyone is looking.

👀 3
🔥 1
lread 2026-05-13T17:43:23.750229Z

https://github.com/clj-easy/graal-build-time 1.0.6 - Initialize Clojure classes at build time with GraalVM native-image Highlights from the https://github.com/clj-easy/graal-build-time/blob/main/CHANGELOG.md#v106: • now supports namespaces with chars like + (thanks @borkdude!) Drop by #clj-easy should you have any questions.

13