January & February 2024 Long-Term Project Updates

By Kathy Davis

We’re excited to post the first reports of the year from our 2024 long-term developers. There is a lot of great work to catch-up on, so dive in!

Bozhidar Batsov: CIDER, Clojure-mode, clojure ts-mode
Michiel Borkent: clj-kondo, babashka, SCI, squint, nbb, CLI, and more
Toby Crawley: clojars
Thomas Heller: shadow-cljs
Kira McLean: Scicloj Libraries
Nikita Prokopov: Humble UI, Clj-reload, Datascript, and more
Tommi Reiman: Malli
Peter Taoussanis: Telemere, Tempel, and more

Bozhidar Batsov

Another busy couple of months with quite a few achievements, both big and small. This time around I even managed to write a few articles about the bigger achievements! Here are the highlights for this period:

On top of this I wrote an article about the positive impact that community-contributed funding has had on CIDER and friends. Thanks to everyone for their continued support!

P.S. Some of you might be interested to hear that in this period I’ve also become of Flycheck’s maintainers. I’ve spent quite a bit of time working on Flycheck, and I see it very connected to the rest of my projects (e.g. there’s flycheck-elgot and flycheck-clj-kondo which many Clojure programmers user)


Michiel Borkent

In this post I’ll give updates about open source I worked on during January and February 2024. To see previous OSS updates, go here.

Sponsors

I’d like to thank all the sponsors and contributors that make this work possible. Like you can read on Bozhidar Batsov’s blog these aren’t the easiest times for Open Source sponsored software. I have no reason to complain, but I did see a similar drop in sponsoring in the last year. I’m thankful for those who sponsored my projects in the past and even more for those who keep doing so! Without you, the below projects would not be as mature or wouldn’t exist or be maintained at all.

Current top tier sponsors:

Additional sponsor info: If you want to ensure that the projects I work on are sustainably maintained, you can sponsor this work in the following ways. Thank you!
Clojurists Together
Github Sponsors
The Babaska or Clj-kondo OpenCollective
Ko-fi
Patreon
If you’re used to sponsoring through some other means which isn’t listed above, please get in touch. On to the projects that I’ve been working on!

Updates

Here are updates about the projects/libraries I’ve worked on last two months.

Other projects

There are many other projects I’m involved with but that had little to no activity in the past month. Check out the Other Projects section (more details) of my blog here to see a full list.
Published: 2024-02-29
Tagged: clojure oss updates


Toby Crawley

January 2024

Commit Logs: clojars-web, infrastructure

I upgraded the PostgreSQL database from v12.1 to v15.5.

February 2024

Commit Logs: clojars-web

This month was a smattering of small changes/fixes:


Thomas Heller

Time was mostly spent on doing maintenance work and some bugfixes. As well as helping people out via the typical channels (e.g. Clojurians Slack).

Current shadow-cljs version: 2.27.5 Changelog

Notable Updates:


Kira McLean

This is a summary of the work I did on open source projects in January and February 2024. It was published as a blog post on my website here.

Clojure Tidy Tuesdays

The main thing I spent my time working on over the past couple of months was a collection of tutorials and guides for working with data in Clojure. The R for Data Science online learning community publishes toy datasets every week for “Tidy Tuesdays” with a question to answer or example article to reproduce. I’ve been going through them in Clojure, and it’s proven a great tool for uncovering areas for future development in the Clojure data science ecosystem.

Other Work

The explorations with the Tidy Tuesday data have been revealing areas where I think we could benefit from more ergonomic ways to work with tablecloth datasets. I started two little projects each with a couple of little wrappers around existing functions to make them easier to use with tablecloth datasets. So far I’m calling them tcstats (for statistical operations on datasets) and tcutils (with miscellaneous dataset manipulation tools that aren’t built-in to tablecloth directly).

I am also still working on the Clojure Data Cookbook. I nudged it forward ever so slightly these last couple of months, and I plan to finish it despite the remaining holes in Clojure’s data science stack. I would love to also fill these in eventually, but the Cookbook will be a living document that can easily evolve and be updated as new tools and libraries are developed.

Lastly, one of the main missing pieces I’m discovering we really need to work on in Clojure’s data science ecosystem is a robust yet flexible graphics library. There are a few great solutions that already exist, but they take different approaches to graphing that can make them a bit clumsy to work with when it comes time to build more complex visualisations. My dream is to implement a proper grammar of graphics in Clojure, giving the Clojure data ecosystem a “profressional quality” graphics library, so to speak. Anyway.. there is still tons of work to do here so I’m grateful for the ongoing funding that will allow me to continue to focus a large amount of time on it for the foreseeable future.


Nikita Prokopov

Hello guys and gals, Nikitonsky here with some Winter 2024 updates.

New library! Clj-reload is a smarter way to reload Clojure code during development:
Main goal was to replace and improve over tools.namespace:

And it worked! Humble UI and my website are already migrated to it, and it feels fantastic to being able to use defonce again, without creating a separate namespace just to hold that one value.

Filipe Silva is working on CIDER integration, so I hope we’ll see more adoption soon.

If you’ve been using tools.namespace, give clj-reload a try. You might like it better. If you haven’t, it’s time to reconsider your REPL workflow. We have some convincing points in the README.

Oh, and DO check out our new logo. I’m pretty happy with how it turned out.

Humble UI:

JWM:

Humble Deck:

humble-starter:

DataScript:

Clojure Sublimed:

Sublime Executor:

Blogging:

Talks:

Onward and upward!



Tommi Reiman

Worked on a big new release of Malli and wrote a blog post about it.

Reitit should be now feature-complete for OpenAPI, will cut out release soon.

Helped users to use and adopt the libs.

0.14.0 (2024-01-16)

Something else

Teppo the Dog enjoying the Sun at Näsijärvi.

spring-fi

Peter Taoussanis

Open source update

A big thanks to Clojurists Together, Nubank, lambdaschmiede, and other sponsors of my open source work!

It’s been a productive start to the year! Have been focused almost entirely on open source. Output has included:

7x library releases

This includes http-kit v2.8.0-RC1 (tons of new stuff in here!), Tempel v1.0.0-RC1, Nippy v3.4.0-RC2, and Timbre v6.5.0.

See here for the full list, and also here for a new GitHub-hosted roadmap of my major upcoming open source work.

New Tempel explainer video

I recorded a short video to explain the new/upcoming Tempel data security framework.

This hopefully helps makes it clearer where Tempel can be useful.

The ultimate goal is to try make it feasible for more Clojure devs to incorporate data security in their apps, and/or at least get more Clojure devs thinking about ways to protect their users’ data.

It can be easier than you expect, and I detail one example pattern in the video.

BTW please let me know if there’s interest in me doing more of these kinds of videos in future.

London Clojurians Talk

On 20 Feb I gave an online talk at the London Clojurians Group. The talk’s now on YouTube.

Had a good time, was fun talking with folks there. A big thanks to Bruno Bonacci for organizing and hosting!

The talk was non-technical, titled:

Some controversial truths: challenging some commonly-held ideas about Clojure, software engineering, and startups; and sharing the 1 secret that will solve all your problems.

Part of the talk’s intention was to discuss some of the trade-offs that Clojure users/businesses should be aware of, but it looks like the Q&A after was unfortunately not recorded.

Please ping if there’s interest in me posting a write-up to summarize some of the key points discussed.

Interview with Daniel Compton

Had a really nice chat with Daniel Compton about my open source work and other projects. (Thanks Daniel!)

To avoid possible confusion re: discussed dates/timelines, please note that this was recorded at the end of last year (2023).

Lots of work On Telemere

Have been putting in a lot of work on the upcoming Telemere structured telemetry library for Clojure/Script.

Along with Tempel, this’ll be my first all-new Clojure library in 7+ years.

Very happy with how it’s coming along so far, and looking forward to sharing more closer to release (hopefully this April).

In some ways Telemere represents the culmination and refinement of many years of ideas from some of my other libraries - notably Timbre and Tufte.

I think the result is going to be really nice - and something possible only in Clojure.

Upcoming work

All major upcoming work is now documented live here. In addition to all the usual maintenance and support, my biggest objectives for this year are definitely Telemere and a majorCarmine update.

- Peter Taoussanis