babashka 2026-10-27

Hi! I just became aware of https://github.com/babashka/babashka.sqlite. What motivated its creation? Superficially, it seems similar to andersmurphy/sqlite4clj to me. SQLite over FFI, no jdbc overhead.

Yes, it's similar but existed prior to when andersmurphy/sqlite4clj was made bb-compatible using babashka.ffi

👍 1

That explains it! 😄

sqlite4clj switched from coffi to babashka.ffi

but I just checked and their library still won't run in bb, they just switched because bb.ffi gave them a slight edge

so babashka.sqlite is still justified to exist for its primary reason: to run with bb

ah, very nice! Very cool that there's a fast, simple, babashka-compatible way of interfacing with a proper database, I assume not going via the pod is going to provide a quite good performance improvement! I've been pondering bb scripts keeping some state of sorts in ~/.local/share/..., and proper sqlite seems like a great fit for that!

I host web-apps built with bb + bb.sqlite + buzz which caters multiple users. 50-100mb memory usage is plenty on a VPS

😍 1

ffi is about 3-10x faster than the pod

💯 1

that's right

Interesting! Very smooth client / server separation, nice that it's all just clojure and hiccup.

I'm still trying to work out a good API but I've built several bb apps with it

👍 1

It's ridiculous that all this can just be a babashka script. No build step, no JVM, no... I dunno, no big, heavy stuff. We're back to the benefits of plain php, just without php itself 😁

BHB :-D

😁 2

Babashka Home B.... bundle? build? Babashka at Home, it's Bananas how lightweight it is.

Just bb but with H in the middle

BaHBashka / BHaBashka

BHB: Babashka Hypertext Builder

💯 1
🎯 2
❤️ 1

that sounded a lot better than changing Public Home Page to something Babashka related. 😄

Hi there. I'm just wondering if I can reference subcommands (:cmd) in a :depends vector. Or more generally: I want to create a build task that builds part of the projects through subcommands. But I also want the option to build the whole project with one command. What are my options?

Hi @bendix.petersen No, you can't use :depends and specify a subcommand . You can however use (binding [**command-line-args** ...] (run 'task)) explicitly, or just write a bit more code in a normal .clj file to get the desired effect

👍 1