Skip to content

Instantly share code, notes, and snippets.

View nick1udwig's full-sized avatar

Nick Ludwig nick1udwig

View GitHub Profile

230803

Uqbar JS component processes

We use componentize-js to package up a .js file into a WASM binary. Support for JS-based WASM binaries was added in PR #72. Currently, only 0.1.0 is known to work.

Usage example: hello.js -> hello.wasm

230804

Errors & Panics

Proposal

Principle: errors & panics should feel, to the Rust process dev, like Rust errors and panics.

Errors

230805

Errors

What data do WitErrors contain?

struct WitError {
    source: ProcessNode,
    name/error_type: String,

230815

MVP PM persistence

PM persists all its desired metadata immediately upon change

When a new process is spun up, e.g., the new metadata is written to disk immediately.

When starting a new process, specify whether to persist it or not

230817

Kernel types thinking

Sending to loop

Would be nice to change current system (send_requests(), send_response(), send_response_with_side_effect_result() with enforcement and erroring happening in kernel) to a type-based system.

E.g., return to a single send_() function: send_to_loop() or something. That function takes as input

230904

VFS proposal

Goals

  1. Human-readable, central store-of-truth where metadata can be attached to files.
  2. A translation layer between WASI filesystem sys calls and our filesystem.

Types

230905

App distribution non-proposal writeup

Vision

Applications are registered on-chain. App store/aggregator is backed by chain for security (think: chain version of signing a binary) & off-chain for storage & distribution of files.

Flows

230926

WASI KV saga continues

cabi realloc

current problem is a crash:

error while executing at wasm backtrace:
    0: 0x11199e - wit-component:shim!indirect-wasi:io/streams-write

231004

SQL thinking

The goal

Use an existing library and replace the calls out to filesystem to be routed to our filesystem.

How KV works