teletype-crdt
samples
Our great sponsors
teletype-crdt | samples | |
---|---|---|
3 | 15 | |
732 | 13,607 | |
- | 0.8% | |
0.0 | 7.1 | |
over 1 year ago | 2 days ago | |
JavaScript | JavaScript | |
MIT License | BSD 3-clause "New" or "Revised" 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.
teletype-crdt
- Teletype: String-wise sequence CRDT powering peer-to-peer collaborative editing
-
5000x Faster CRDTs: An Adventure in Optimization
Cool! It'd be interesting to see those CRDT implementations added to Kevin Jahns' CRDT Benchmarks page[1]. The LogootSplit paper looks interesting. It looks like xray is abandoned, and I'm not sure about teletype. Though teletype's CRDT looks to be entirely implemented in javascript[2]? If the authors are around I'd love to see some benchmarks so we can compare approaches and learn what actually works well.
And I'm not surprised these techniques have been invented before. Realising a tree is an appropriate data structure here is a pretty obvious step if you have a mind for data structures.
To name it, I often find myself feeling defensive when people read my work and respond with a bunch of links to academic papers. Its probably totally unfair and a complete projection from my side, but I hear a voice in my head reword your comment to instead say something awful like: "Cool, but everything you did was done before. Even if they didn't make any of their work practical, usable or good they still published first and you obviously didn't do a good enough literature review if you didn't know that." And I feel an unfair defensiveness arise in me as a result that wants to find excuses to dismiss the work, even if the work might be otherwise interesting.
Its hard to compare their benchmark results because they used synthetic randomized editing traces, which always have different performance profiles than real edits for this stuff. Their own university gathered some great real world data in an earlier study. It would have been much more instructive if that data set was used here. At a glance their RAM usage looks to be about 2 orders of magnitude worse than diamond-types or yjs. And their CPU usage... ?? I can't tell because they have no tables of results. Just some hard to read charts with log scales, so you can't even really eyeball the figures. So its really hard to tell if their work ends up performance-competitive without spending a couple days getting their enterprise style java code running with a better data set. Do you think thats worth doing?
[1] https://github.com/dmonad/crdt-benchmarks
[2] https://github.com/atom/teletype-crdt
-
Atom Teletype's peer-to-peer connection
1) crdt
samples
-
Passing Blob to server and back to client?
I record video from a webcam using MediaRecorder 100ms segments in the way described here. When the piece is ready, I send it using socket.io to the server (on a node.js 6.3.0 server). The server writes this piece to the database and gives it to everyone else on the socket. It is known for sure that the correct data is coming to the server, I can save any piece and start the video (then I glue them together and get the recording). The problem is that when the data is returned back to the client, it is invalid.
-
Real Time Audio Processing from the Main Thread
Thank you so far :) the "complex data processing" is a webpacked DSP hardware simulator, which has to exist in the global scope as it manipulates the DOM and cannot re-instantiate within the AudioWorkletGlobalScope. I have found this, which uses MediaStreamTrackProcessor, MediaStreamTrackGenerator and TransformStream to expose the microphone samples to the global scope and then "cheats" by sending them to an audio HTML component instead of directly to the audiocontext destination, mimicing actual realtime processing. This is what I was looking for, however:
-
An ad-hoc idea for defeating the Shahed-136 suicide drone
WebRTC: https://webrtc.github.io/samples/
- is synced streaming of torrents between peers using webtor.io?
- WebRTC - help - Choosing webcams
-
A vision for a social model of open source
Demos are often snapshots in time, created to showcase an aspect of technology. They are typically small, self-contained, and single-purpose. Demonstrative projects can range from the practical stress-testing of a particular feature to creative, wacky ways to use them. Examples include WebRTC samples and the Dependabot Demo.
-
Using WebRTC and Svelte
This repo includes all the tutorials that are on https://webrtc.github.io/samples/. The aim of the project is to convert all the sample code to a Svelte app.
-
Discord (web version) screen sharing not working
Maybe you can identify which part of WebRTC is failing using some test webpages like https://webrtc.github.io/samples/
- Google AI / MediaPipe's new selfie-segmentation model + ThreeJS particle system. Info in comments
-
How would i go about making a VoIP
Here's a few samples. The video chat example will be very useful to you.
What are some alternatives?
crdt-woot - Implementation of collaborative editing algorithm CRDT WOOT.
RecordRTC - RecordRTC is WebRTC JavaScript library for audio/video as well as screen activity recording. It supports Chrome, Firefox, Opera, Android, and Microsoft Edge. Platforms: Linux, Mac and Windows.
automerge - A JSON-like data structure (a CRDT) that can be modified concurrently by different users, and merged again automatically.
mirotalksfu - 🏆 WebRTC - SFU - Simple, Secure, Scalable Real-Time Video Conferences Up to 4k, compatible with all browsers and platforms.
diamond-types - The world's fastest CRDT. WIP.
tfjs-models - Pretrained models for TensorFlow.js
crdt-benchmarks - A collection of CRDT benchmarks
WebRTC-Audio-Stream-Example - Proof-of-concept work for streaming audio over a WebRTC connection (Socket.io signaling server)
teletype-server - Server-side application that facilitates peer discovery for collaborative editing sessions in Teletype
cow-list - Copy-On-Write iterable list
intro-to-vue - Workshop Materials for my Introduction to Vue.js Workshop