Fork me on GitHub

Q: I’m considering re-writing my deploy scripts (currently jvm clj) using bb. my naive design is that it’s just logic wrapped around shell calls to the aws cli. I wonder if there’s a better way than shelling out or some other trick I haven’t thought of. Has anyone done anything like this already?


One alternative would be nodejs for the scripting and using it’s aws client. but bb is so cool, I want to explore the comparison of the two designs


Apparently the aws-api lib doesn't work with graalvm, so I don't have other ideas besides shelling out to aws cli.


@ also had some kind of stripped down AWS clojure lib that worked with babashka or GraalVM I believe


@ For a long term tool I have done a lot of manually work to get part of the aws-api working (, but for more adhoc stuff I had more success wrapping the aws cli tool


@ thanks. that’s really helpful. even just confirming the using shell calls is a valid solution is good


I was thinking if it could be possible to use bb as interactive shell


Eshell is a good example of a lisp based shell, where if don't put any parenthesis is just interpreted as something to shell out


It would be a dream to have all the same auto completion I have in fish /bash plus the ability to switch up clojure whenever I want


There is a shell macro here: Not the same as a REPL, but a custom REPL can be built on top of clojure.main/repl which is available as a function inside babashka. This allows you to start a REPL inside a script, but can also be used to create custom things.


Alternatively there is which tries to be a Clojure shell replacement. There is work in progress to leverage sci to be able to run on GraalVM


Bootleg 0.1.8 released. the babashka pod release - add babashka pod support - YAML upgrade to SnakeYAML 2.0 - Fix Build failed when trying build with graalvm-ce-java11-19.3.0 - Fix the ns/require code from spire in bootleg? - Fix Running from file in same directory requires leading ./ - Fix Generating XML preserving the tag name case - Fix reflection error preventing XML roundtrip


Really awesome job @retrogradeorbit: I think this is the most extensive pod so far.


Thanks! Hopefully people put it to some good use. Get their babashka scripts processing heaps of html!


As a large library with lots of namespaces there is bound to be parts that dont work right in the pod form. Remember to open tickets for anything that has issues! Mention in the ticket its as a pod!


both babashka and bootleg are in scoop now. Scoop users can enjoy the fruits right after update.


I put there a troubleshooting section, because of the vcredist2015 dependency that needs to be installed in addition. But otherwise should be good.


Is someone in here running macOS Catalina? There are some articles on the internet about slowdown of executables due to a notarization check:


I'm still on Mojave myself


hmm, i'm on catalina. lemme check real quick


immediately after startup it was really slow, but then dropped to instant:

.../src on  master [✘!?] at dev (dev-view-us)
➜ time /tmp/ && time /tmp/
/tmp/  0.00s user 0.00s system 0% cpu 10.844 total
/tmp/  0.00s user 0.00s system 0% cpu 10.301 total

.../src on  master [✘!?] at dev (dev-view-us) took 21s
➜ time /tmp/ && time /tmp/
/tmp/  0.00s user 0.00s system 83% cpu 0.005 total
/tmp/  0.00s user 0.00s system 87% cpu 0.005 total
i changed the script and it's name, and got about the same result every time:
.../src on  master [✘!?] at dev (dev-view-us)
➜ time /tmp/ && time /tmp/
/tmp/  0.00s user 0.00s system 0% cpu 1.086 total
/tmp/  0.00s user 0.00s system 0% cpu 1.012 total

.../src on  master [✘!?] at dev (dev-view-us) took 3s
➜ time /tmp/ && time /tmp/
/tmp/  0.00s user 0.00s system 0% cpu 1.015 total
/tmp/  0.00s user 0.00s system 0% cpu 1.015 total


1.015 still seems slow compared to the 0.005 in other runs?


Yeah, agreed. I’m not sure why it never dipped back down. Definitely feels like there’s something there. Maybe later I’ll install Little Snitch and block some outgoing traffic


I've got a similar app called TripMode which I'm using to block traffic from certain apps when I'm on the train. Wonder if that also works for this.