delta-elixir
cachex
delta-elixir | cachex | |
---|---|---|
8 | 4 | |
335 | 1,473 | |
1.5% | - | |
5.8 | 8.0 | |
12 days ago | about 1 month ago | |
Elixir | Elixir | |
GNU General Public License v3.0 or later | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
delta-elixir
-
Is Go the best language to build a web page with a collaborative text field?
I'm exploring web stacks to build a multiplayer text editor. Elixir's Delta has been recommended to me.
-
Would you use Phoenix LiveView to build a collaborative text field?
Definitely checkout Slab’s Operational Transform library Delta as well. I think conventional wisdom is that CRDTs can be really helpful when there is no single source of truth (i.e. a server), but OT can simplify things when there is.
-
Is there an equivalent to Yjs in Elixir's Phoenix?
For the particular goal of text collaboration, there are also operational transforms. There is a library maintained by the folks at Slab: https://slab.com/blog/announcing-delta-for-elixir/
-
Ask HN: What tech stack would you use to build a new web app today?
Yeah offline or complex client side state management is a good use case for Javascript. There are Hooks and Push Events with Liveview for real time integrations with Liveview in those scenarios. In my experience offline requirements are rare and often in mobile scenarios where a native or Flutter-like approach is a good option.
Complex client side state or collaborative features might use something like https://github.com/slab/delta-elixir or https://www.inkandswitch.com/local-first/ which is where I'd want JS.
- Delta (OT) for Elixir
- Delta: Operational Transforms for Elixir
-
Track content and changes with Delta in Elixir
Here's a little context on Delta (https://github.com/slab/delta-elixir) and the linked blog post:
Delta is a format to describe documents' contents and how it changes over time. This is a core piece of technology at Slab, that powers our real-time collaboration engine, thanks to the built-in support for Operational Transform (think multiple users working together in Google docs).
Though we've been using it internally for almost 4 years now, we're finally open-sourcing it to the wider Elixir community.
Would love your feedback!
-
Announcing Delta – Operational Transform in Elixir
Here's a little context on Delta and the linked blog post:
cachex
-
Optimizing Elixir Phoenix action with huge json response by responding by cached, gzipped values.
By integrating cachex into our system, we're now able to optimize the loading process, providing users with a smoother experience while still benefiting from offline accessibility. Stay tuned as I delve deeper into the caching practices that helped us enhance the performance of our Phoenix Controller actions with JSON responses.
-
Should I use ETS or a GenServer when I just need a K/V store
There's also ConCache or Cachex which will handle the clunky ETS interface for you.
-
try-catch vs "let it crash"
I have a web application which uses cowboy and cachex every so often cachex errors, which means my server returns a 500.
-
Show HN: Hackernews-style stock news (from 40 sources)
Thanks @kuzee! Much appreciated :)
I appreciate that info on LiveView, I plan on digging into it!
The public-facing pages of this site aren't currently using LiveView, but I see it on the horizon.
For speed considerations, I'm actually caching news stories in memory using the excellent Cachex (https://github.com/whitfin/cachex) library.
What are some alternatives?
htmx - </> htmx - high power tools for HTML
Nebulex - In-memory and distributed caching toolkit for Elixir.
nexus-prisma - Prisma plugin for Nexus
con_cache - ets based key/value cache with row level isolated writes and ttl support
Plausible Analytics - Simple, open source, lightweight (< 1 KB) and privacy-friendly web analytics alternative to Google Analytics.
elixir_locker
delta_crdt_ex - Use DeltaCrdt to build distributed applications in Elixir
lru_cache - ETS-based fix-sized LRU cache for elixir
memento - Simple + Powerful interface to the Mnesia Distributed Database 💾
Mem - KV cache with TTL, Replacement and Persistence support
Phoenix - Peace of mind from prototype to production
locker - Atomic distributed "check and set" for short-lived keys