Jamsocket
jamsocket.com
Jamsocket
@jamsocket.com
Company updates from Jamsocket, the platform for scaling sync engines.
The cool thing about using ForeverVM with LLMs is that you can create diagrams almost as quickly as you can think of them.
March 25, 2025 at 3:03 PM
Code execution is the ultimate tool call.

Here we're using ForeverVM with boto3 to visualize our AWS infrastructure without needing specialized tools.
March 25, 2025 at 3:02 PM
Code execution is the ultimate tool call. Once an LLM can run its own code, it can run loops, access APIs, and extract the result.

In this video, Windsurf uses ForeverVM to make HTTP calls to check a list of Python packages against the latest PyPi version.
February 24, 2025 at 6:01 PM
Because ForeverVM keeps REPLs alive forever, you can ask Claude unlimited queries about a dataset and Claude can always access the same context.
February 20, 2025 at 6:01 PM
Giving an LLM a code sandbox massively increases its capabilities, but managing VM lifecycles is a pain.

Introducing foreverVM, a Python REPL-as-a-service. Under the hood, we swap between memory and durable storage. To you (and your agent) it acts like an always-on REPL.

See more at forevervm.com
January 29, 2025 at 5:52 PM
New demo drop! https://demos.y-sweet.dev/monaco

Collaborate in code with Monaco and Y-Sweet
January 21, 2025 at 4:00 AM
Instead of keeping the todos in an array, try keeping them in a map.

We can give each todo an index property. The ordered list of todos is an array of the map values sorted by the index property. To move a todo, simply set a new index!

It sounds good in theory, but…
January 17, 2025 at 5:01 PM
Here’s a curious fact about Yjs. Once you add a shared type to a document, it can never be moved. You can change what it contains and you can delete it, but you can’t move it from one place to another.

That means moving array elements really means deleting and re-adding them.
January 17, 2025 at 5:01 PM
Just like before, though, things can get a little wonky when we start adding latency…
January 17, 2025 at 5:00 PM
In Learn Yjs lesson 3, we look at another classic app: the todo list!

This demo allows each client to reorder the todos and toggle their checkboxes.
January 17, 2025 at 5:00 PM
Not so fast! This demo happens to be working because updates are synchronous. Every time the button gets clicked, the other client instantly receives the update.

When we add a little latency, the counter breaks!
January 16, 2025 at 5:01 PM
In Learn Yjs lesson 2, we look at the “hello world” of JavaScript framework demos: the humble click counter.

Seems pretty simple, right?
January 16, 2025 at 5:00 PM
Like JavaScript’s Map object, a Yjs map holds key/value pairs.

Here you can see how Yjs syncs the values between two maps, with latency added to simulate a network connection.
January 15, 2025 at 8:22 PM
Yjs is a CRDT that stores its state in documents and syncs them between clients.

Here you can see how Yjs syncs documents between clients. When one client moves a slider, the other client automatically sees the updated value.
January 15, 2025 at 8:22 PM
Something cool coming tomorrow 👀
January 13, 2025 at 8:19 PM