surrealdb
embassy
Our great sponsors
surrealdb | embassy | |
---|---|---|
93 | 70 | |
25,191 | 4,377 | |
2.3% | 9.5% | |
9.8 | 9.9 | |
5 days ago | 3 days ago | |
Rust | Rust | |
GNU General Public License v3.0 or later | Apache License 2.0 |
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.
surrealdb
-
Show HN: I made a tool to easily compare pricing of developer tools and services
you should add https://surrealdb.com -- basically an open source firebase. and they will launch a paid cloud offering soon.
-
Task tracker application using NextJS and SurrealDB
In this article, I have shared how I have built a simple task-tracking full-stack application using NextJS and SurrealDB.
-
The one thing I do not like about the Nix package manager (and a fix for it)
In this article, I'll show you how you can create a binary package for your desired program. I wanted to download the SurrealDB package, but the package on nix was a source package, meaning that I had to spend over 50 minutes waiting for a stupid package to compile.
-
2024 Web Development Wish List
Get Cloud Version going!
-
Live Queries in Rust
SurrealDB comes with a LIVE SELECT statement that allows you to listen for creations, updates and deletions to specific records you are interested in or entire tables. While you could already take advantage of this powerful feature with our JavaScript SDK or WebSockets, the Rust SDK added an API for it in v1.1.0. The Rust API for live queries builds on top of the already existing select method by simply adding a live method which converts the select query into a live select one. It works seamlessly with our current API, so you can use it with single records, a range of records, or entire tables. Unlike the normal select method which returns either a single result or a vector of results, it returns a stream of notifications. This works for the WebSocket engine and the local ones (the key value stores you can embed in your app). The only engine not yet supported is the HTTP one. In this article, we show some examples of running live queries via the Rust SDK. We will skip imports for brevity but your IDE and/or the Rust compiler should give you the correct suggestions. Please refer to this example in our repo for a full, working example.
-
SurrealDB 1.0
1.0 version but https://github.com/surrealdb/surrealdb/issues/1548 is still open :)
- SurrealDB Dependents
-
How to Design a SurrealDB schema and create a basic client for TypeScript
In the midst of a dynamic landscape of exciting new projects, one name shines bright — SurrealDB.
- SurrealDB 1.0 Live
- SurrealDB the Scalable Rust SQL/NoSQL/Graph DB Released v1.0.0 Today
embassy
- Embassy 在 Blue Pill 上的点灯案例
-
Why choose async/await over threads?
thanks. looked that up. for the curious: https://embassy.dev/
-
Accessing the Pinecil UART with Picoprobe
Running the Embassy RP2040 USB CDC ACM serial example takes about 5 seconds on a Pico.
https://github.com/embassy-rs/embassy/blob/main/examples/rp/...
-
Avoid Async Rust at All Cost
Async solves different problems, you can, for instance, have just a single-threaded CPU and still have a nice API if you have async-await. It might not be so cool at a higher level as Go's approach of channels and threads, but it's cool in embedded, read this:
https://github.com/embassy-rs/embassy?tab=readme-ov-file#rus...
"Rust's async/await allows for unprecedently easy and efficient multitasking in embedded systems. Tasks get transformed at compile time into state machines that get run cooperatively. It requires no dynamic memory allocation, and runs on a single stack, so no per-task stack size tuning is required. It obsoletes the need for a traditional RTOS with kernel context switching, and is faster and smaller than one!"
I'm just toying with Raspberry Pi Pico and it's pretty nice.
Go and Rust have different use cases, the async-await is nice at a low level.
-
Is anyone using coroutines seriously?
I have not yet dipped by toes in the Rust waters, but reading about the embassy project is actually what piqued my curiosity about using C++ coroutines in embedded. Are you familiar with the project or have you found it lacking?
-
The state of BLE and Rust (no_std)
I think I get the basics (shoutout to the Rust Embedded Working Group!), and I've started looking for the stack I'd be using. I think Embassy is really amazing, as well as the work of the ESP team -- hats off.
-
Rust newcomers are 70x less likely to create vulnerabilities than C++ newcomers [pdf]
> }
And this is how to do it using embassy, which is an async framework for embedded in rust:
https://github.com/embassy-rs/embassy/blob/main/examples/rp/...
-
The State of Async Rust
> not good for embedded
embassy begs to differ
https://embassy.dev/
async/await is really just a syntax for building state machines in a way that resembles regular code. It's compiled down to the same code that you would write by hand anyway (early on it had some bloat in state size but I think it's all fixed now).
And embedded has a lot of state machines!
-
Asynchronous Rust on Cortex-M Microcontrollers
You can run multiple executors at different interrupt priority levels (with multiple tasks per executor), which allows tasks on the higher priority executor to interrupt other tasks. Here's an example https://github.com/embassy-rs/embassy/blob/main/examples/nrf...
- Espressif advances with Rust – 30-06-2023
What are some alternatives?
pocketbase - Open Source realtime backend in 1 file
rtic - Real-Time Interrupt-driven Concurrency (RTIC) framework for ARM Cortex-M microcontrollers
tikv - Distributed transactional key-value database, originally created to complement TiDB
rusty-clock - An alarm clock with environment stats in pure bare metal embedded rust
neon - Rust bindings for writing safe and fast native Node.js modules.
smoltcp - a smol tcp/ip stack
tantivy - Tantivy is a full-text search engine library inspired by Apache Lucene and written in Rust
rust-mos - Empowering everyone to build reliable and efficient software.
drizzle-orm - Headless TypeScript ORM with a head. Runs on Node, Bun and Deno. Lives on the Edge and yes, it's a JavaScript ORM too 😅
nrf-hal - A Rust HAL for the nRF family of devices
Apache AGE - Graph database optimized for fast analysis and real-time data processing. It is provided as an extension to PostgreSQL.
async-std - Async version of the Rust standard library