Babashka survey Q1 2022 results!

In Q1 of 2022 I ran the babashka survey again. I've done this once before (in November 2020) to see how people are using babashka and what they think could be improved. This year about 200 people responded. That is double the amount since the previous survey!

Here follows every question of the survey with a summary of the reactions.

How are you using babashka?

The first two options were selected in the majority of answers. Unsurprisingly most people are using babashka as a shell-scripting replacement for bash, exactly how it was intended. Babashka tasks is catching on: almost half of babashka users are using it to replace their Makefiles.

Are you using babashka for personal projects, at work, or both?

About 50% of people used babashka both for personal projects and work. Only personal and only work was about 25% each. Some people use babashka to sneak in some Clojure at their non-Clojure jobs.

Where do you think babashka should be improved?

This question was free format. Some common themes:

What features / libraries / namespaces in babashka do you use the most?

This question was also free format. Probably the top 5 most named libraries:

What features or namespaces in babashka are redundant and could be left out?

The majority answer here was: none. People seem to be happy with the current selection of libraries.

What features or libraries would you like to see in babashka in the future, if any?

It's hard to see common patterns here. A random pick:

Note that spec is available in babashka via this library. Specter also works from source now since :mvn/version "1.1.4". Dealing with time is done via java.time and cljc.java-time is one of the java.time based libraries that work in babashka.

Are you using babashka.* libraries with Clojure on the JVM?

In order of highest frequency:

It's great that people are using fs and process on the JVM. I didn't expect so many people to be using babashka.curl on the JVM too!

Is the binary size of babashka important to you?

84% of the people didn't care, 12% cared and 4% had a nuanced answer.

Note that bigger binary size in babashka is correlated with a longer compilation time and more strain on CI resources. That is the primary reason I'm trying to keep it down.

What operating system are you using babashka on?

Which babashka pods are you using, if any?

The top 7:

Note that for AWS we now also have a source-compatible library: awyeah-api.

When would you use babashka instead of JVM Clojure?

A pick of the free-formatted answers:

Any other feedback on babashka you would like to give?

Lots of thank you's and compliments... *blush*

Are you a user of other babashka-related projects? Please share!

Favorite pick:

Other answers:

Conclusion

The majority of answers to this survey were not too surprising, yet a good confirmation that babashka is doing what it's supposed to be doing. In individual answers there were a few fun discoveries, like learning which big companies are using babashka.

You can read results from the previous survey here. In that survey I asked users what they thought was currently missing in babashka. You can find those answers here. I think almost all points were addressed in the meanwhile. The improvements requested in this survey feel mostly as finishing touches: documentation, error messages, nREPL improvements, so it's probably safe to say that babashka now covers the most important Clojure scripting use cases.

Hardly anyone mentioned performance as something that should be improved, although that has been an area of focus in the beginning of this year and something I will be looking into in an ongoing basis. Most if not all of that work is happening in SCI, which is also powering nbb and other JS targets.

If you are interested in the raw (anonimized) data for this survey, then send me a message.

Thanks

Thanks for taking the survey and being part of the babashka community! Also, thanks to everyone making babashka possible. Sponsors, contributors and users.

Discuss this post here.

Published: 2022-05-12

OSS Updates of March - April 2022

In this post I'll give updates about open source I worked on during March and April 2022.

Sponsors

But first off, I'd like to thank all the sponsors and contributors that make this work possible. To name a few: Clojurists Together, Roam Research, Adgoji, Cognitect, Nextjournal.

If you'd like to sponsor this work or see who else is sponsoring, you can do so via the following channels:

Clj-kondo

A linter for Clojure (code) that sparks joy.

Published versions: 2022.03.04, 2022.03.08, 2022.03.09, 2022.04.08, 2022.04.23, 2022.04.25

Read the changelog here.

Highlights:

Babashka

Native, fast starting Clojure interpreter for scripting.

Published versions: 0.7.7, 0.7.8, 0.8.0, 0.8.1

Read the changelog here.

Highlights:

SCI

Configurable Clojure interpreter suitable for scripting and Clojure DSLs.

Published versions: 0.3.2, 0.3.3, 0.3.4

Read the changelog here.

Summary: many small incremental improvements.

Nbb

Ad-hoc CLJS scripting on Node.js using SCI.

Published versions: v0.2.1 - v0.3.10.

Read the changelog here.

Highlights:

Joyride

Modify VSCode by executing ClojureScript (SCI) code in your REPL and/or run scripts via keyboard shortcuts.

Read the changelog here.

This is a new project!

Grasp

Grep Clojure code using clojure.spec regexes.

Highlights:

Obb

Ad-hoc ClojureScript scripting of Mac applications via Apple's Open Scripting Architecture.

Published versions: 0.0.3

Read the changelog here.

Neil

A CLI to add common aliases and features to deps.edn-based projects.

Highlights:

Rewrite-edn

Utility lib on top of rewrite-clj with common operations to update EDN while preserving whitespace and comments.

Read the changelog here.

Tools.misc

Tools library similar to clojure.tools.logging but for misc. tools.

So far this is just an experiment, but join the discussion if you want.

Fs

File system utility library for Clojure.

Published versions: 0.1.4.

Read the changelog here.

Discuss this post here.

Published: 2022-04-29

OSS Updates of January - February 2022

In this post I'll give updates about open source I worked on during January and February 2022.

Sponsors

But first off, I'd like to thank all the sponsors and contributors that make this work possible. To name a few: Clojurists Together, Roam Research, Adgoji, Cognitect, Nextjournal.

If you'd like to sponsor this work or see who else is sponsoring, you can do so via the following channels:

Babashka

Native, fast starting Clojure interpreter for scripting.

Published versions: 0.7.4 - 0.7.6.

Read the changelog here.

Highlights:

I also submitted a PR to cli-matic to fix the long standing issue about babashka compatibility.

Please leave some feedback about babashka in the Q1 Survey!

Clj-kondo

A linter for Clojure (code) that sparks joy.

Published versions: 2022.01.13, 2022.01.15, 2022.02.09.

Read the changelog here.

Highlights:

SCI

Configurable Clojure interpreter suitable for scripting and Clojure DSLs.

Published versions: v0.2.9 - v0.3.1.

Read the changelog here.

Nbb

Ad-hoc CLJS scripting on Node.js using SCI.

Published versions: v0.1.1 - v0.2.0.

Read the changelog here.

Highlights:

Scittle

Published versions: v0.1.0 - v0.1.2.

Read the changelog here.

Highlights:

Obb

Ad-hoc ClojureScript scripting of Mac applications via Apple's Open Scripting Architecture.

Published versions: 0.0.1 - 0.0.2

Read the changelog here.

Highlights:

Fs

File system utility library for Clojure.

Published versions: 0.1.3.

Read the changelog here.

Highlights:

Process

Clojure wrapper for java.lang.ProcessBuilder.

Published versions: 0.1.1. Read the changelog here.

Highlights:

Pod-babashka-go-sqlite-3

A babashka pod for interacting with sqlite3.

Released versions: 0.1.0.

Highlights:

Pod-babashka-buddy

A pod around buddy core (Cryptographic Api for Clojure).

Released versions: 0.1.0.

Highlights: expose more namespaces.

Pod-babashka-aws

AWS pod wrapping the Cognitect aws-api library.

Released versions: 0.1.1-0.1.2.

Read the changelog here.

Highlights:

Discuss this post here.

Published: 2022-02-27

Archive