惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
V
Visual Studio Blog
IT之家
IT之家
博客园 - 聂微东
The Cloudflare Blog
月光博客
月光博客
阮一峰的网络日志
阮一峰的网络日志
S
SegmentFault 最新的问题
Apple Machine Learning Research
Apple Machine Learning Research
酷 壳 – CoolShell
酷 壳 – CoolShell
爱范儿
爱范儿
H
Help Net Security
博客园 - 叶小钗
V
V2EX
WordPress大学
WordPress大学
J
Java Code Geeks
Hugging Face - Blog
Hugging Face - Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园_首页
C
Check Point Blog
B
Blog
D
DataBreaches.Net
美团技术团队
罗磊的独立博客

Show HN

Show HN: AI agents for UK GDAD PCF roles and their skills The Two Pillars: Mixer Mode and Meta-Software in the Reorganization of Software Work After AI GitHub - JaiCode08/teleport-env What 1,000+ Harness Experiments Taught Me About Self-Improving Agents Show HN: Liiists, a Markdown-first, iOS and CLI list app SwiperTab – Get this Extension for 🦊 Firefox (en-US) GitHub - kouhxp/fftext: Summarize, explain, fact-check, or translate any text, URL, or file. No GPU. No cloud. One command GitHub - sweetpad-dev/sweetpad: Develop Swift/iOS projects using VSCode GitHub - dogmaticdev/IRON: IRON a.k.a. Intermediate Representation Object Notation is a Interpreter/Database that is used to create Programming Languages. GitHub - sjhalani7/vaen: Package your AI coding harness into a portable .agent file, and share it across repos, teams, & the community without ever having to copy-paste instructions, skills, MCP config, or secrets. Show HN: Gandalf the Grader Show HN: Citadeld – replay any CI failure locally from a single file GitHub - tdortman/cuSBF: High-Performance GPU Super Bloom Filter coral-ai/claude-code-token-xray at main · Coral-Bricks-AI/coral-ai GitHub - ulyssestenn/funes: Funes is a Git-based framework for LLM-managed knowledge work: an AI Librarian ingests raw sources, builds an interlinked Markdown knowledge base, and uses it to produce cited reports, analyses, and other outputs. GitHub - ThatXliner/gah: Git Add Hunk, built for agents to use GitHub - harmont-dev/harmont-cli: Command-line client for the Harmont CI platform GitHub - brooksmcmillin/mcp-authflow: OAuth 2.0 Authorization Server framework for MCP servers GitHub - javaid-codes/audit-supply-chain-agents GitHub - amorey/gochan: A small library of common channel architectures for Go, inspired by Rust GitHub - arifozgun/OpenGem: Free, Open-Source AI API Gateway with Gemini, OpenAI & Anthropic Compatibility in 1 file GitHub - Pranesh950/BioPetals: 🌸 Run BIOxAI models at home, BitTorrent-style. Fine-tuning and inference up to 10x faster than offloading GitHub - cnguyen14/bounty-doctor: Diagnose a GitHub bounty issue before you waste hours: detects honeypot scam repos, AI-bot attempt swarms, and stale contests. Show HN: CoreMCP – MCP Server for On-Prem DBs Show HN: KittyHTML – Render HTML/CSS as an inline image in your terminal GitHub - bingud/filemat: Web-based file manager Show HN: TruthLens – Free multi-signal deepfake image detector GitHub - apexlocal-jz/claude-usage-tray: Windows system-tray app showing your Claude Code rate-limit usage at a glance. Zero deps, ~300 lines of PowerShell. Cross-IDE (works regardless of VS Code, Cursor, plain terminal). Release v0.1.2.1 · kouhxp/yapsnap GitHub - noopolis/moltnet: Self-hostable chat network for AI agents. Pre-built bridges for Claude Code, Codex, and the Claws. Rooms, DMs, history. No Slack bots, no Matrix, no glue code.
GitHub - GianIac/numax: The beginning of a new runtime model
gianiac · 2026-06-17 · via Show HN

NUMAX

Docs Whitepaper Roadmap

A portable runtime for distributed apps. Written in Rust.

Three things, and only three:

  1. Runs WebAssembly modules in an isolated sandbox.
  2. Has a local embedded key/value datastore, state lives next to the code.
  3. Syncs state across nodes with CRDTs and gossip.

You write a WASM module. numax runs it. The state is there. Sync just happens.

Status: v0.1.0 - first stable Numax release line for controlled, non-critical workloads. It works, it's tested, and the remaining limits are documented. See the Roadmap.


Why

Building distributed software today is heavier than the problem it's trying to solve. Containers, orchestrators, remote databases, ad-hoc sync layers, three different toolchains depending on where the code runs.

numax tries a different path: keep the runtime tiny, keep the state local, let CRDTs handle convergence. The hard parts of distributed systems don't disappear, but you stop paying for the ones you didn't actually need.


Quickstart

Quickstart in 5 Minutes.

For now, build from source:

git clone https://github.com/GianIac/numax
cd numax
cargo build --release

Run the distributed_counter example on two nodes:

# Node A
nx run distributed_counter.wasm \
    --listen 0.0.0.0:9000 \
    --datastore-path ./data-a -v

# Node B
nx run distributed_counter.wasm \
    --listen 0.0.0.0:9001 \
    --peer 127.0.0.1:9000 \
    --datastore-path ./data-b -v

The two nodes find each other, sync, and converge. You don't have to do anything else.

You can also move the node settings into TOML files and keep the command line focused on run-specific options:

# node-a.toml
[storage]
datastore_path = "./data-a"

[network]
listen = "0.0.0.0:9000"
peers = ["127.0.0.1:9001"]
serialization_format = "bincode"

[discovery]
mode = "static"
nx config validate --config node-a.toml
nx config show --config node-a.toml --effective

nx run distributed_counter.wasm \
    --config node-a.toml \
    --settle-for 5s \
    --print-gcounter counter:visits

Runtime precedence is explicit: CLI flags override NX_* environment variables, environment variables override the TOML file, and the file overrides runtime defaults. The distributed examples below include full two-node TOML setups.


Writing a guest module

Your first module

A minimal module using the local datastore:

use nx_sdk::{db, log};

#[no_mangle]
pub extern "C" fn run() {
    db::set("hello", b"numax").unwrap();
    log("done.");
}

Or with a replicated CRDT counter:

use nx_sdk::{log, crdt::gcounter};

#[no_mangle]
pub extern "C" fn run() {
    gcounter::inc("visits", 1).unwrap();
    let v = gcounter::value("visits").unwrap();
    log(&format!("visits: {}", v));
}

Same module, any node. State stays local. Sync happens through the runtime.


Learn more


A small ask

If numax interests you - if you think the idea is worth something - drop a star !

Right now it's pretty much the only signal I have to understand whether this is worth pushing further.


Try it. Break it. Tell me.

numax is in its first stable release line. It is usable, but still early: focused feedback matters a lot.

  • Clone it, run the examples, see if the two nodes really converge on your machine.
  • Write a tiny module of your own and try to break the sandbox or the sync.
  • If something behaves in a way you didn't expect - open an issue. Even a small one. Especially a small one.
  • If you have an opinion on the design, the host API, the CRDT model - open an issue for that too.

There's no community to pretend already exists. There's a project, an idea, and a door that's open. If you walk through it now, you're early. That's the best moment to leave a mark.

ps: If you'd like to help, take a look at CONTRIBUTING.md.

  • GianIac

License: Apache 2.0