Fork me on GitHub

I've found using bb to calculate a dynamic GitHub Actions testing matrix to be really useful at home and at work.

Jakub Holý (HolyJak)08:05:28

Hello! How can I distinguish between whether a file is run from the terminal via bb or evaluated in repl via my editor's load file in REPL? What I do now is checking (str/includes? *file* "\n") which, if true, means we run from repl as the var is the content of the file instead of a path. But there must surely be a better way?

Jakub Holý (HolyJak)08:05:22

How could I have overlooked that? Thanks a lot!


I'm afk for the rest of the day, back tonight (hiking!)

👍 2
Jakub Holý (HolyJak)08:05:01

enjoy the trip! ⛰️

Jakub Holý (HolyJak)08:05:45

(Living in Norway, when you say hiking, I of course only think about mountains, though I bet the situation is rather different in Holland)


are people using bb for server automation tasks? like “ssh in, do some config changes, restart a service” typo of things?


there’s also but bb is more general purpose


I don’t see why not :)


any examples publicly available?


@U11SJ6Q0K I was afk today, but I'm finally back. An example:

bb -e '(:out @(babashka.process/process ["ssh" "" "ls"] {:out :string :err :inherit}))'


this would return the string return from the ssh command and would pipe the stderr stream to bb's stderr


sure, I can always shell out to ssh command line


that gives me an idea that if the other machine has bb installed, one could make a macro like (remote-bb "" (println "I'm evaluated on the remote machine")) that would invoke bb on the other machine via ssh and return result

Jakub Holý (HolyJak)09:05:38

Any tips how to encrypt data from bb? Since javax.crypto.Cipher is not available? I see there is a pod for but I want something that does not require to install an external binary. So I guess my best option is to use openssl via CLI?


There is a buddy pod for this

Jakub Holý (HolyJak)12:05:57

But it seemed to have only Mac, hash, nonce, not crypto ns?


true, but it does seem simple to add though, without having looked into it further than just looking here:


@holyjak So did you find another solution?