babashka

ag 2025-07-29T18:06:20.063969Z

Hey friends, we've kind of had a debate of silly importance on my team. I noticed how we tend to name our babashka scripts using dashes in the name. And then I noticed that kondo complains that the filename is not conventional for Clojure namespaces. My initial point was "if we ever decide to start reusing some code ... afaik you can't (require 'some-script)" if the filename is "some-script.clj" (it has to be some_script.clj). Counter-arguments are: • These are command line tools (sorta) • Unix philosophy, "apt-get", "docker-compose", "clojure-lsp", etc. - naming convention is for dashes • This is YAGNI and If we need ever to share functionality in a new script, it's better to move it into a library that is then referenced by both I personally like the aesthetics of dashed names and agree with my colleagues, but I also think my initial instinct wasn't wrong either. I wonder what your thoughts on this?

borkdude 2025-07-29T18:09:54.567079Z

I don't really have a strong opinion on this, you can easily silence the warning with an ignore hint

borkdude 2025-07-29T18:10:37.852619Z

kondo just compains because "on the classpath" this is a problem and kondo doesn't know that a script isn't on the classpath

scottbale 2025-07-29T19:08:52.139229Z

Hello folks. If anyone has time and interest to https://github.com/cognitect-labs/aws-api/pull/273, we are adding babashka support to aws-api.

🚀 3
borkdude 2025-07-29T19:14:19.052509Z

Hey @scottbale - happy to take a look. Are the maintainers of aws-api ready to take on bb compatibility?

borkdude 2025-07-29T19:14:49.290209Z

or wait, you are a maintainer, right?

scottbale 2025-07-29T19:15:02.049829Z

I am, yes 🙂

borkdude 2025-07-29T19:15:06.322189Z

awesome!

scottbale 2025-07-29T19:15:12.198729Z

And @marcobiscaro2112 too

borkdude 2025-07-29T19:16:04.638609Z

That's great. Do you have any specific questions? Since you have a test suite and the tests pass, that's already a good sign I guess - that's usually what I go by first

scottbale 2025-07-29T19:17:19.204369Z

No specific questions, we just want extra sets of eyes in case we missed anything or didn't think of some thing(s).

borkdude 2025-07-29T19:18:54.296089Z

what's this about?

babashka uses a different thread to interpret the code, and the test that spits a cognitect_aws_http.edn and tries to create a new client was failing.

borkdude 2025-07-29T19:20:58.774319Z

overall PR looks good to me!

1
1
scottbale 2025-07-29T19:31:32.291719Z

> what's this about? There's a lot more context in the issue that @marcobiscaro2112 linked to in that same comment: > A bug similar to https://github.com/cognitect-labs/aws-api/issues/265 was probably lurking here. But tl;dr is that aws-api would sometimes experience resource file loading problems if the classloader that was used to load the resource did not have access to the resource. So we had written this utility https://github.com/cognitect-labs/aws-api/blob/main/src/cognitect/aws/resources.clj to have better control over what classloader was used, and Marco found this additional place that we need to use it.

👍 2