Weavejester
weavejester.mastodon.social.ap.brid.gy
Weavejester
@weavejester.mastodon.social.ap.brid.gy
I've returned to an old #clojure project of mine: a simple templating system called Comb that was inspired by Ruby's erb library.

Comb hasn't changed for 10 years, so long past time it was made stable. I've released version 1.0.0 with the only change being some extra clj-kondo metadata to make […]
Original post on mastodon.social
mastodon.social
November 23, 2025 at 10:01 PM
cljfmt 0.15.4 has just been released. cljfmt is a formatter for #clojure code.
November 12, 2025 at 7:45 PM
cljfmt 0.15.1 has been released, with support for aligning maps and bindings forms into neat columns (a harder problem than you might expect!).

cljfmt is a code formatter for #clojure. https://github.com/weavejester/cljfmt
GitHub - weavejester/cljfmt: A tool for formatting Clojure code
A tool for formatting Clojure code. Contribute to weavejester/cljfmt development by creating an account on GitHub.
github.com
October 21, 2025 at 8:26 PM
Duct now has a proper website at https://duct-framework.org/ - albeit one where responsiveness is a work in progress.

Duct is a #clojure framework for server-side development that bases itself on an immutable data structure rather than a file tree layout.
The Duct Framework
duct-framework.org
October 8, 2025 at 8:46 PM
I've used Spacemacs for some years now as my primary editor, but recently I've been looking into #neovim.

It starts up a lot quicker, even with a bunch of plugins, and surprisingly for a terminal editor it has a more sophisticated UI than windowed Emacs.
September 30, 2025 at 5:40 PM
Thanks @nikitonsky for helping me convert my #clojure library Integrant-REPL to use clj-reload, which is smarter about reloading than the older tools.namespace library. https://github.com/weavejester/integrant-repl
GitHub - weavejester/integrant-repl: Reloaded workflow functions for Integrant
Reloaded workflow functions for Integrant. Contribute to weavejester/integrant-repl development by creating an account on GitHub.
github.com
September 13, 2025 at 12:23 AM
Ring 1.15.1 has been released. This fixes a small bug in the content-length middleware. https://github.com/ring-clojure/ring

I've also released Ring-Defaults 0.7.0, a #clojure library that supplies sensible default middleware configurations for Ring-based applications […]
Original post on mastodon.social
mastodon.social
September 13, 2025 at 12:18 AM
Integrant 1.0.0 has been released, a #clojure microframework for creating data-driven applications. Not much has changed since 0.13.1 was released a year ago, but the API can now be considered stable. https://github.com/weavejester/integrant
GitHub - weavejester/integrant: Micro-framework for data-driven architecture
Micro-framework for data-driven architecture. Contribute to weavejester/integrant development by creating an account on GitHub.
github.com
September 10, 2025 at 7:01 PM
I've also released Ring 1.15.0-RC1. This is the first release candidate for Ring 1.15, a #clojure web abstraction library.

Ring 1.15 adds a wrap-content-length middleware function, and acceptor/selector thread number options to the default Jetty adapter.

https://github.com/ring-clojure/ring
GitHub - ring-clojure/ring: Clojure HTTP server abstraction
Clojure HTTP server abstraction. Contribute to ring-clojure/ring development by creating an account on GitHub.
github.com
September 4, 2025 at 12:31 PM
I've release Ragtime 0.12.0 with support for SQL migrations that use Clojure functions - in case you need a little more logic than raw SQL. Ragtime is a #clojure library for handling database migrations. https://github.com/weavejester/ragtime
GitHub - weavejester/ragtime: Database-independent migration library
Database-independent migration library. Contribute to weavejester/ragtime development by creating an account on GitHub.
github.com
September 4, 2025 at 12:28 PM
Released Ring 1.15.0-beta2, a #clojure web abstraction library. This beta release adds support for configuring acceptor and selector thread pool sizes in the included Jetty adapter. https://github.com/ring-clojure/ring
GitHub - ring-clojure/ring: Clojure HTTP server abstraction
Clojure HTTP server abstraction. Contribute to ring-clojure/ring development by creating an account on GitHub.
github.com
August 30, 2025 at 1:52 PM
Released Medley 1.9.0, a #clojure utility library, with new functions: find-in, index-of and window. https://github.com/weavejester/medley
GitHub - weavejester/medley: A lightweight library of useful Clojure functions
A lightweight library of useful Clojure functions. Contribute to weavejester/medley development by creating an account on GitHub.
github.com
August 29, 2025 at 9:39 PM
After trying out Copilot for a while, there are currently two major use-cases for LLMs. First, they're good at searching through documentation and giving relevant information to questions, as long as you have a way of verifying the answers. Second, they're good at reading unstructured data and […]
Original post on mastodon.social
mastodon.social
August 29, 2025 at 9:20 PM
I experimented with using Copilot with ChatGPT 5 to do some analysis and refactoring, to get an idea of what state of the art was. It managed some simple improvements, but still made errors that had to be manually corrected, such as not replacing all calls for a function it moved around.
August 29, 2025 at 5:09 PM
I tried out writing a small single-page web app with Copilot with ChatGPT 4.1. It was broadly competent at writing individual functions, but made some very elementary mistakes (e.g. putting Javascript outside the script tags). It didn't have a consistent style or good organisational skills, and […]
Original post on mastodon.social
mastodon.social
August 29, 2025 at 3:01 PM
I've put out a release candidate of Integrant 1.0.0, which is essentially the same as 0.13.1 but with the deprecations removed. Integrant is a #clojure micro-framework for data-driven applications. https://github.com/weavejester/integrant
GitHub - weavejester/integrant: Micro-framework for data-driven architecture
Micro-framework for data-driven architecture. Contribute to weavejester/integrant development by creating an account on GitHub.
github.com
August 13, 2025 at 4:37 PM
Duct is now in a pre-1.0.0 beta, with a stable release looming on the horizon. Duct is a #clojure application framework with an emphasis on web development. The complete docs and a full tutorial is at: https://duct-framework.github.io/
The Duct Framework [Beta]
duct-framework.github.io
August 7, 2025 at 6:12 PM
I've recently released Ring 1.15.0-beta1 for #clojure. This includes some improvements to response streaming, and the addition of wrap-content-length middleware for string and file response bodies. https://github.com/ring-clojure/ring
GitHub - ring-clojure/ring: Clojure HTTP server abstraction
Clojure HTTP server abstraction. Contribute to ring-clojure/ring development by creating an account on GitHub.
github.com
July 22, 2025 at 7:52 PM
I've released a small library for building TCP servers in #clojure, TeensP. https://github.com/weavejester/teensyp
GitHub - weavejester/teensyp
Contribute to weavejester/teensyp development by creating an account on GitHub.
github.com
July 12, 2025 at 3:18 PM
Electric #clojure: Differential Dataflow for UI - a talk at #reclojure 2025 from Dustin Getz - is up on YouTube: https://www.youtube.com/watch?v=ML8cFrWkWeg
July 7, 2025 at 1:44 PM
Released Ring 1.14.2 to fix a vulnerability with Apache FileUpload (https://nvd.nist.gov/vuln/detail/CVE-2025-48976)

#clojure
NVD - CVE-2025-48976
nvd.nist.gov
June 17, 2025 at 1:34 AM
UI, Pure and Simple - a talk at #reclojure 2025 by @christian - is now up on YouTube: https://www.youtube.com/watch?v=AGTDfXKGvNI

#clojure #clojurescript #reclojure2025
June 16, 2025 at 12:37 PM
The first video from reClojure 2025 is up, the keynote from Nathan Marz on Rama and Specter: https://youtu.be/25lJNRibYv8?si=isciQ6drJJAiGI7y
June 9, 2025 at 10:47 AM
#reclojure2025 was a resounding success, and thanks go out to everyone who pitched in!

We should have the first videos out by next week on the London Clojurians YouTube channel (https://www.youtube.com/@LondonClojurians), and we'll stagger the release of the videos to about 2 every week.
May 28, 2025 at 4:54 PM