Jamsocket's Avatar

Jamsocket

@jamsocket.com.bsky.social

Company updates from Jamsocket, the platform for scaling sync engines.

179 Followers  |  72 Following  |  47 Posts  |  Joined: 04.11.2024  |  2.0299

Latest posts by jamsocket.com on Bluesky

Video thumbnail

The cool thing about using ForeverVM with LLMs is that you can create diagrams almost as quickly as you can think of them.

25.03.2025 15:03 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Video thumbnail

Code execution is the ultimate tool call.

Here we're using ForeverVM with boto3 to visualize our AWS infrastructure without needing specialized tools.

25.03.2025 15:02 β€” πŸ‘ 1    πŸ” 1    πŸ’¬ 1    πŸ“Œ 0
Post image Post image Post image Post image

Had a blast hosting MCP Lightning talks SF with Cloudflare! Thanks to everyone who spoke.

Doing it again next week in NYC.

20.03.2025 00:02 β€” πŸ‘ 2    πŸ” 1    πŸ’¬ 0    πŸ“Œ 1
ForeverVM MCP Server Use ForeverVM as an MCP Server, enabling Claude to execute code in a Python REPL.

Install ForeverVM in your @windsurf_ai editor: https://forevervm.com/docs/guides/forevervm-mcp-server/

24.02.2025 18:01 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Video thumbnail

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.

24.02.2025 18:01 β€” πŸ‘ 1    πŸ” 1    πŸ’¬ 1    πŸ“Œ 0
Video thumbnail

Because ForeverVM keeps REPLs alive forever, you can ask Claude unlimited queries about a dataset and Claude can always access the same context.

20.02.2025 18:01 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Post image

Give Claude the power of a Python REPL. Perform complex data analysis or draw a mandlebrot with ASCII characters.

Install ForeverVM as a tool on Claude Desktop: https://forevervm-com.vercel.app/docs/guides/forevervm-mcp-server/

20.02.2025 15:01 β€” πŸ‘ 1    πŸ” 1    πŸ’¬ 1    πŸ“Œ 0
Post image

Signups for ForeverVM are now open! If you have node.js or uv, you can sign up from your terminal with a one-liner.

npx forevervm signup

Or read our new docs for more: https://forevervm.com/docs

14.02.2025 16:16 β€” πŸ‘ 4    πŸ” 2    πŸ’¬ 0    πŸ“Œ 1
Post image

Jamsocket is now officially SOC 2 Type II compliant!

Whether you use our managed platform or bring-your-own-cloud, rest easy knowing that we put security and reliability first.

12.02.2025 18:52 β€” πŸ‘ 0    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0
Video thumbnail

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

29.01.2025 17:52 β€” πŸ‘ 9    πŸ” 4    πŸ’¬ 0    πŸ“Œ 2
Post image

Y-Sweet now supports Read-Only Tokens for use cases where a client should only have read access to a document.

See docs at https://docs.jamsocket.com/y-sweet/features/read-only-tokens

24.01.2025 19:00 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Video thumbnail

New demo drop! https://demos.y-sweet.dev/monaco

Collaborate in code with Monaco and Y-Sweet

21.01.2025 04:00 β€” πŸ‘ 2    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0
Post image

The trick is a technique called fractional indexing, in which indices are fractions rather than integers. Can you solve the exercise and implement it?

Give it a shot at https://learn.yjs.dev/lessons/03-todo-list/!

17.01.2025 17:01 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Video thumbnail

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…

17.01.2025 17:01 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Video thumbnail

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.

17.01.2025 17:01 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Video thumbnail

Just like before, though, things can get a little wonky when we start adding latency…

17.01.2025 17:00 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Video thumbnail

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.

17.01.2025 17:00 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Post image

Can you solve the exercise and implement a counter that shows the correct count, even when clients update it concurrently?

Give it a shot at https://learn.yjs.dev/lessons/02-counter/!

16.01.2025 17:01 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Video thumbnail

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!

16.01.2025 17:00 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Video thumbnail

In Learn Yjs lesson 2, we look at the β€œhello world” of JavaScript framework demos: the humble click counter.

Seems pretty simple, right?

16.01.2025 17:00 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Post image

Can you solve the exercise and implement a function that returns whether all the keys in a map are true?

Give it a shot at https://learn.yjs.dev/lessons/01-introduction/!

15.01.2025 20:22 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Video thumbnail

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.

15.01.2025 20:22 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Y.Array stores an ordered list of items.
Y.Map stores key/value pairs.
Y.Text stores a string of plain or formatted text.
Y.XmlElement stores a node found in an HTML-like tree structure.
Y.XmlFragment stores a collection of Y.XmlElements.
Y.XmlText stores text found within a Y.XmlElement.

Y.Array stores an ordered list of items. Y.Map stores key/value pairs. Y.Text stores a string of plain or formatted text. Y.XmlElement stores a node found in an HTML-like tree structure. Y.XmlFragment stores a collection of Y.XmlElements. Y.XmlText stores text found within a Y.XmlElement.

A Yjs document is like a container for your state. To read and update that state, Yjs has a feature called shared types. They’re similar to JavaScript data structures such as Map β€” except shared types automatically sync between clients.

All in all, there are six shared types:

15.01.2025 20:22 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Video thumbnail

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.

15.01.2025 20:22 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Preview
Learn Yjs by Jamsocket An interactive guide to the Yjs CRDT library.

Want to learn about building local-first apps? Check out Learn Yjs, our interactive guide to Yjs! Featuring three lessons jam-packed with explorable explanations and coding exercises.

14.01.2025 16:00 β€” πŸ‘ 11    πŸ” 2    πŸ’¬ 0    πŸ“Œ 2
Video thumbnail

Something cool coming tomorrow πŸ‘€

13.01.2025 20:19 β€” πŸ‘ 10    πŸ” 1    πŸ’¬ 0    πŸ“Œ 1
Preview
Why Rayon replaced their database with Jamsocket

Read our interview with @bastiendolla.bsky.social, cofounder of Rayon. We talk about why Rayon replaced their database with Jamsocket, building Rayon V2 and features like version control.

jamsocket.com/blog/why-ray...

10.01.2025 17:38 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 1
Post image

Easily build collaborative apps like Google Docs using our new Y-Sweet x InstantDB starter kit: https://buff.ly/40nbfbe

07.01.2025 17:00 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
What’s new in Y-Sweet 0.7.0: offline support and more!

Y-Sweet now has offline support! Read about it and the other changes in the newly-released Y-Sweet 0.7.0.

jamsocket.com/blog/y-sweet...

18.12.2024 19:13 β€” πŸ‘ 7    πŸ” 3    πŸ’¬ 0    πŸ“Œ 1
Post image

@jamsocket.com & @extism.bsky.social gang 🫑

03.12.2024 22:41 β€” πŸ‘ 6    πŸ” 2    πŸ’¬ 1    πŸ“Œ 0

@jamsocket.com is following 20 prominent accounts