announcements

gersak 2026-03-18T11:11:36.057899Z

https://github.com/gersak/timing 0.8.2 “Have you ever had to...” • Calculate business days skipping weekends AND country-specific holidays? • Figure out “30 business days from now” for a contract deadline? • Handle payroll across multiple countries with different holiday calendars? • Convert meeting times across 5 timezones without losing your mind? Numeric core - Time as milliseconds. Simple arithmetic, functional pipelines.

Variable-length periods:
;; Jan 31 + 1 month = Feb 29 (not Feb 31!)
(add-months (time->value (date 2024 1 31)) 1)

;; Add 6 months, not "180 days"
(add-months invoice-date 6)

Business days with holidays:
;; 30 business days from now, skipping Polish holidays
(add-business-days now 30)  ; holidays auto-detected by locale
~200 country holidays - Cherry-pick by locale:
(require '[timing.holiday.pl])  ; just Poland
Teleport between timezones:
(teleport timestamp "Asia/Tokyo")
Cron expressions for scheduling:
(take 10 (future-timestamps now "0 0 9 * * MON"))
Multiple calendars - Gregorian, Julian, Hebrew, Islamic. 🕊️ Zero dependencies. JVM, JS, Babashka. https://github.com/gersak/timing

🆒 3
🤯 2
🤩 5
🎉 27
2026-03-18T11:37:16.289929Z

okay this is sick

gersak 2026-03-18T11:42:20.088429Z

😁 thanks…

ericdallo 2026-03-18T15:45:09.145319Z

Announcing https://github.com/ericdallo/rewrite-json/ - A Clojure library for format-preserving JSON and JSONC editing After struggling with json editting not messing style/format in #eca, and not finding any good lib to do that, I realized a lib would help and might help more people!

(def settings "{\n  // Font settings\n  \"editor.fontSize\": 14\n}")

(-> (rj/parse-string settings)
    (rj/assoc-in ["editor.fontSize"] 16)
    rj/to-string)
;; => "{\n  // Font settings\n  \"editor.fontSize\": 16\n}"
It supports both Path based and Zipper APIs Inspired by #rewrite-clj 💙

🆒 13
❤️ 6
🎉 25
borkdude 2026-03-19T16:01:45.840259Z

Amazing. It also works with bb:

$ bb -Sdeps '{:deps {dev.ericdallo/rewrite-json {:mvn/version "0.1.1"}}}' -e '(require (quote [rewrite-json.core :as rj])) (-> (rj/parse-string "{\"a\": 1}") (rj/update-in ["a"] inc) rj/to-string)'
"{\"a\": 2}"

🎉 3
2026-03-18T20:00:23.662139Z

_  _        __ _       _      _
    ___| |(_)      / _(_) __ _| | ___| |_
   / __| || |_____| |_| |/ _` | |/ _ \ __|
  | (__| || |_____|  _| | (_| | |  __/ |_
   \___|_|/ |     |_| |_|\__, |_|\___|\__|
        |__/             |___/
clj-figlet — native FIGlet ASCII art for Clojure. No shelling out, no dependencies beyond Clojure itself. Render text in arbitrary font, directly in your Clojure code: Fonts load as plain Clojure maps. Rendering is a pure function. The whole thing composes naturally with the language — no subprocess, no state. What’s in the box: - Implements the FIGfont Version 2 spec (Cowan & Burton, 1996-97) - All 6 horizontal smushing rules + universal smushing - Output identical to the reference C figlet (verified against 16 fonts) - 16 bundled fonts including standard, doom, slant, script, banner, graffiti, starwars, and more - Two-function API: load-font and render GitHub: https://github.com/danlentz/clj-figlet Feedback welcome — this is the initial release. Enjoy!

❤️ 7
🎉 16
flowthing 2026-03-20T08:56:47.931559Z

This is really cool. The code's a pleasure to read, too!

2026-03-20T09:46:17.278929Z

Tks!

2026-03-20T16:59:39.543329Z

There are a few important things to do (ie, better randomized testing). And maybe serializing fonts so you can edit them / save new ones in Clojure. And probably better if there were more bundled fonts (that are reasonably licensed)

plexus 2026-03-19T08:54:22.393229Z

very cool! a small suggestion, maybe use a slightly longer phrase than "hello" in the font catalog, so you get a better representation of the font?

2026-03-19T09:23:24.758839Z

good idea

borkdude 2026-03-19T15:13:35.221759Z

nice. works with bb too :)

$ bb -Sdeps '{:deps {com.github.danlentz/clj-figlet {:mvn/version "0.1.3"}}}'
Downloading: com/github/danlentz/clj-figlet/0.1.3/clj-figlet-0.1.3.pom from clojars
Downloading: com/github/danlentz/clj-figlet/0.1.3/clj-figlet-0.1.3.jar from clojars
Babashka v1.12.218-SNAPSHOT
Type :repl/help for help
user=> (require '[clj-figlet.core :as fig])
nil
user=> (print (fig/render "standard" "Hello!"))
 _   _      _ _       _
| | | | ___| | | ___ | |
| |_| |/ _ \ | |/ _ \| |
|  _  |  __/ | | (_) |_|
|_| |_|\___|_|_|\___/(_)

2026-03-19T15:14:06.417949Z

sweet!

2026-03-18T21:29:58.922379Z

Congrats - this is awesome - great work!! Very happy to finally see a pure clojure impl of Figlet :) I recently took a little dive into this space and did a quick and dirty (no smushing) implementation of Figlet + lolcat. https://github.com/paintparty/bling?tab=readme-ov-file#figlet-banners, if you curious. The goal was to support a few select fonts for a “banner” feature in Bling. Do you plan to accept contributions (original fonts) for this lib?

2026-03-18T21:33:11.474359Z

ya absolutely

2026-03-18T21:33:34.939899Z

thanks!

2026-03-18T21:34:30.131149Z

submit a PR?

2026-03-18T21:36:32.598009Z

im interest in bling i hadn’t run into it before. will try to read through

dpsutton 2026-03-18T22:16:25.578759Z

api=> (add-lib 'com.github.danlentz/clj-figlet {:mvn/version "0.1.3"})
[com.github.danlentz/clj-figlet
 com.google.javascript/closure-compiler
 com.zaxxer/HikariCP-java7
 org.clojure/clojurescript
 org.clojure/google-closure-library
 org.clojure/google-closure-library-third-party
 org.mozilla/rhino
 org.slf4j/jcl-over-slf4j]
weird that adding the lib brought in weird stuff

dpsutton 2026-03-18T22:17:23.787029Z

not related to you i guess

❯ clj
Clojure 1.12.1
user=> (add-lib 'com.github.danlentz/clj-figlet {:mvn/version "0.1.3"})
[com.github.danlentz/clj-figlet]

2026-03-18T22:20:10.640229Z

ya wow no idea. we have no external deps

dpsutton 2026-03-18T22:20:30.802929Z

yeah. not you. but no idea why the project did that. sorry for the noise

dpsutton 2026-03-18T22:24:12.973369Z

Hooked it up to our logs

2
2026-03-18T22:24:55.229659Z

lol yikes

dpsutton 2026-03-18T22:25:25.689599Z

it’s such a fun library. nice job

🤗 1
2026-03-18T22:26:07.829509Z

thanks. hope its useful to folks

2026-03-24T22:35:36.851799Z

As far as i understand, its bad manners (?) to re-announce so soon. but significant new release i hope folks check it out. I think we’re in a good place here, unless anyone has any other ideas or suggestions.

Rendering engine rewritten to match the C figlet exactly. 45 bundled fonts. Output verified against the reference binary with 17,000+ randomized assertions per test run.

  What's new:
  - write-font for serializing fonts back to .flf — full round-trip support
  - validate-font / valid-font? backed by clojure.spec
  - all-fonts discovers bundled fonts from the classpath
  - 35 new contributed fonts (45 total)

2026-03-24T22:35:40.284229Z

https://github.com/danlentz/clj-figlet

2026-03-24T22:43:59.631639Z

is this worth to post in #annoucements ? i think i’m done for a while one this

borkdude 2026-03-24T22:44:47.754759Z

the #announcements only lets you post once a month for the same project, it's in the description of the channel

borkdude 2026-03-24T22:44:55.967259Z

you could either wait or post it in #releases

2026-03-24T22:45:04.344299Z

ah ok makes sense

2026-03-24T22:50:30.643199Z

meh. i think its cool. i hope people see it and it gets some use, but i’m not going to spend much effort promoting it

borkdude 2026-03-24T22:51:53.963059Z

you can post in #releases all you want and there's plenty of people following that. you can also edit the original message you posted here and add on to it

2026-03-18T20:02:03.817429Z

oof cut and paste didn’t work that hurts.

_  _        __ _       _      _
    ___| |(_)      / _(_) __ _| | ___| |_
   / __| || |_____| |_| |/ _` | |/ _ \ __|
  | (__| || |_____|  _| | (_| | |  __/ |_
   \___|_|/ |     |_| |_|\__, |_|\___|\__|
        |__/             |___/

😅 6
2026-03-18T20:05:52.387499Z

_ | | | | _| | | _ | | | || |/ \ | |/ _ \| | | | _/ | | () || || ||\_|||\_/(_)

cjohansen 2026-03-18T05:00:04.984709Z

https://github.com/cjohansen/lookup: CSS selectors and text extraction tools for hiccup https://clojars.org/no.cjohansen/lookup/versions/2026.03.1 is now available. This version fixes a bug in attribute selectors for non-string attribute values, so lookup finds stuff like [:button {:data-variant :primary} "Click it"] with the selector "button[data-variant=primary]"

14
9