Kevin Liu
Kevin Liu
Normalization is a core concept in computer science, it shows up everywhere. Fulcro is a UI library built around the concept that a whole lot of problems go away when...
If you don't need the data to participate in joins you can always just reset! it into an atom somewhere. I do that a lot, RETE frontloads all its work...
Yeah, it's generally nice to write data normalized and let it get materialized/denormalized out into the shape you need by some declarative engine. With real databases the downside is consistency/latency...
Odoyle doesn't give you control over rule salience, though it's actually not too hard to modify the internals, I think you can just turn the :then-queue into a priority map....
Missionary is tough but not because it's verbose, it's too terse if anything. It's used by Electric which is probably the hottest Clojure project around now. I use it with...
missionary doesn't have anything to do with state management, it's a structured concurrency (https://vorpus.org/blog/notes-on-structured-concurrency-or-go-statement-considered-harmful/) and functional reactive programming DSL. It's a low level building block for working with ambiguous processes...
You could learn odoyle first and help me implement Uni-Rete :) should be a 3-50x improvement in performance but I can't seem to get it quite correct https://projects.iq.harvard.edu/files/teamcore/files/1991_2_teamcore_uni_rete.pdf
Came here from @plexus's tip on https://github.com/thheller/shadow-cljs/issues/579. The fix is just: ``` FROM docker.io/clojure:temurin-18-tools-deps-focal RUN apt-get update; apt-get -y install nodejs ``` I've pushed it to `docker.io/nivekuil/clojure-with-node` for the lazy.
same for vector/List, looking into it I found some leads: https://github.com/datastax/java-driver/pull/1555 https://github.com/datastax/spark-cassandra-connector/pull/1334
From the first link, I figured out a workaround ``` If you are looking for a BLOB codec, the right call is CachingCodecRegistry.codecFor(DataType.BLOB, ByteBuffer.class). Indeed, there is a default BLOB...