The exception is caused by a bug I noticed recently while working on Findka; I'll put the fix in the Biff codebase in a sec. I'm surprised it showed up in the example project though. haven't seen that before. let me see if I can get the example project working on my lan
@ozzloy_clojurians_net I just pushed some commits to biff that should fix both issues. Everything should work if you set :sha "626842f4c9a2965b86bc8a79384ef6f2b3f99de8"
in example/deps.edn
.
You had the config right for example/config.edn
. No need to edit config.edn
. That file isn't really used for much (it's used if you start a repl from the top level biff directory, which you might do if you were working on biff. however I usually just start a repl in the example project and change the git dependency to a local dep).
The issue was that the :example.biff/host
value is actually only used for routing requests after the web server receives them (since you can serve multiple sites from the same biff process). The web server itself was basically hard-coded to listen on localhost (even in prod, since requests are proxied through nginx). I've added some config options and set the defaults so that the web server listens on 0.0.0.0 in dev.
@foo cool. i'll give it a shot again
@foo is there a stable branch?
@foo i'm able to change the host and port!
awesome! currently I just use master
@foo my girlfriend and i just played tic tac toe and now we're getting married and having a child
thanks!
sweet, glad I was able to be a part of it
yeah, it's huge. you're invited to the wedding and the birth
@foo do you have a compare/contrast with fulcro?
i am new to clojure, clojurescript, and web dev. but with biff i've been able to run a tic tac toe game! thanks!
fulcro and biff are quite different. they can both be described as "full stack frameworks" but that's about where the similarities end: • fulcro is mostly frontend (but still has significant backend code), while biff is pretty much just backend (with a small amount of frontend code for data syncing & setting up web sockets). Fulcro has you structure your frontend code in a certain way and then provides some data syncing stuff (with pathom) so that you can plug it into your backend. fulcro doesn't care what database you use. Biff is pretty much the exact inverse: Biff sets up a bunch of structure for you on the backend (including what database you use) and then helps you sync data to the frontend, but for the most part biff doesn't care how you structure the frontend. • biff is much, much lighter than fulcro. Fulcro has a lot of features. (though as per the previous point, most of the features that biff and fulcro provide are in a different scope). Fulcro is also mature. • biff also provides some devops code. while it's not tightly coupled to digitalocean, it does make certain assumptions about the production environment.
If I can get biff ported to Datomic, would you accept a PR to add support? Or would it be better to keep it as a separate fork?
yeah I'd accept a pr
I'm hoping to get to simplifying the biff.crux names page tomorrow by the way. no promises... but I'm hoping haha. main priority tomorrow is optimizing findka tomorrow, so I may be working in that code anyway (adding profiling instrumentation at least)
are you doing cloud or on-prem? just curious
Cloud, but really just dev-local for now
👍👍
How is this approach? https://github.com/john-shaffer/biff/commit/b1569f89787d3214cba48d484d66fdf36a1ea276
looks great. at some point we'll want to replace the case forms with a protocol of course but no need to do that now
@foo thanks for the comparison!