Skip to content

Instantly share code, notes, and snippets.

View nick1udwig's full-sized avatar

Nick Ludwig nick1udwig

View GitHub Profile

231211

Compatible Rust and Python chat clients

Compare the following Rust & Python implementations.

Some notes:

  1. There is a little less error handling in the Python client.
  2. The Python client is a more-or-less direct translation from Rust. I expect it can be made more idiomatic & concise.

231106

Third-party process repos, uqbar utils, and process lib: a proposal

This is a brief proposal of how process repos, dev utilities, and the process lib might be laid out to make devex pleasant.

Process lib

Process lib should live in its own repo, e.g. uqbar-dao/process_lib. It would be imported in a Cargo.toml in third-party or Uqbar-native processes via

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

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

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

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

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

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