|2 months ago||6 days ago|
|GNU General Public License v3.0 only||GNU General Public License v3.0 or later|
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.
Setup an ArchLinux package caching proxy on Raspberry Pi 4
2 projects | reddit.com/r/archlinux | 23 Jan 2021
So I built my own tool pacman-backup that allows exporting the cache to a usb drive, and to emulate a simple pacman server that you can run inside the local network.
Todos: The Hard Parts
3 projects | dev.to | 15 Sep 2021
But still, frontend development is pretty damn hard! And that makes sense. Web applications can have interfaces as complex as IDEs and data exchange layers as complex as distributed databases.
A Simple Way to Build Collaborative Web Apps
I haven't yet done this but based on some research it seems to me like the core of any collaborative app today is easiest served by picking some CRDT library.
My basic assumption is that as long as you put all your relevant data into one of these data structures and have the CRDT library hook into a server for storing the data, you're basically done.
This may be a simplistic view of the problem though. For example I've heard people mention that CRDTs can be space inefficient so you may want/have to do periodic compaction.
I've used YJS and can strongly recommend. https://github.com/yjs/yjs
Built a Google Docs like rich text collaborator for a client on Express/Psql and React. Worked like a charm (the hardest part was dealing with ports on AWS tbh).
That's a really nice tutorial. However, most of collaborative apps mentioned in the beginning operate on documents where merging concurrent edits by different users is more of a problem, and there's a really nice tool for that problem: CRDT (https://en.wikipedia.org/wiki/Conflict-free_replicated_data_...) and even ready to use libraries like Yjs (https://docs.yjs.dev).
Of course, there's a lot of very senior HN users who already know about it. I only mention it because I never explored these tools before, learned about it a couple of months ago for the first time in my life and was really impressed.
Kanban board in one HTML using localstorage
10 projects | news.ycombinator.com | 15 Feb 2021
For shared use and remote storage, I'd consider using CRDTs like yjs  for instance.
Should be pretty easy, local-first, and allow synchronous as well as asynchronous collaboration and syncing. Even p2p over LAN, webrtc or whatever (I'm unsure how to do local peer discovery in a web browser, on the desktop you'd simply use link-local multicast/avahi (DNS-SD)).
What are some alternatives?
automerge - A JSON-like data structure (a CRDT) that can be modified concurrently by different users, and merged again automatically.
Kanboard - Kanban project management software
gun - An open source cybersecurity protocol for syncing decentralized graph data.
cardi - A full-featured, static-generated PWA for notes stored in privately owned DynamoDB tables
crdt-woot - Implementation of collaborative editing algorithm CRDT WOOT.
player.html - One file drop-in video player web app for using video files served using basic directory listing
Visual Studio Code - Visual Studio Code