What does HackerNews think of biff?

A Clojure web framework for solo developers.

Language: Clojure

I definitely believe Clojure needs a rails. Not only will it help beginners get started, if it can help people get started faster and build fast like Django and rails do, I think it'll help more with adoption.

Biff and fulcro seems like they have a shot at this

Biff- https://github.com/jacobobryant/biff

Fulcro - https://github.com/fulcrologic/fulcro

Hi, OP here. I started working on recommender systems in 2016 during my undergrad, specifically doing music recommendation. I spent about five months in 2019 trying to make a music startup based on that. However, during that time I realized that there would probably be more value in having a really good general-purpose recommender system. i.e. if you're looking for something specific, use Google, and if you're not looking for something specific, use Findka. That's the vision anyway.

Some good articles on this topic:

"Search, discovery and marketing"[1]

> Google is very good at giving you what you're looking for, but no good at all at telling you what you want to find, let alone things you didn't know you wanted.

"The Big Promise of Recommender Systems"[2] (2011)

> When we evaluate the current generation of recommender systems from the point of view of the “recommendee,” we find that most recommender systems serve the goals of the business instead of their users’ interests. Thus we believe that the big promise of recommender systems has yet to be fulfilled. We foresee a third wave of recommender systems that act directly on behalf of their users across a range of domains instead of acting as a sales assistant.

The algorithm currently is dead simple. Just collaborative filtering without explicitly taking into account content type. So it's naively cross-domain. Since the data set is still small, there's no need for matrix factorization. I recompute the whole matrix every hour and store it in memory. See [3] for the implementation (it only took 30 LOC). That's a little out-of-date but the general approach hasn't changed.

For the tech stack, I'm using a Clojure web framework + deployment solution that I made.[4] It's like a self-hosted version of Firebase (I'm running it on DigitalOcean). See [5].

[1] https://www.ben-evans.com/benedictevans/2015/6/24/search-dis...

[2] https://www.aaai.org/ojs/index.php/aimagazine/article/view/2...

[3] https://findka.com/blog/rec-sys-in-30-lines/

[4] https://github.com/jacobobryant/biff

[5] https://findka.com/blog/migrating-to-biff/

+1, very excited about this.

They're marketing it in the OLAP space right now, but at some point I'd like to try integrating it with a web framework I've been working on.[1][2] It'd be a more powerful version of firebase's real-time queries. Firebase's queries don't let you do joins; you basically can just filter over a single table at a time. So you have to listen to multiple queries and then join the results by hand on the frontend. Doesn't work if you're aggregating over a set of entities that's too large to send to the client (or that the client isn't authorized to see).

[1] https://findka.com/blog/migrating-to-biff/ [2] https://github.com/jacobobryant/biff