userspace.party

Rust / no_std-first / from abstraction to reality

userspace.party

A Rust ecosystem built around explicit boundaries. Define the forms. Cross the operating-system boundary. Describe machines. Meet humans. Simulate and control the physical world.

from first principles
ample       abstractions
   ↓
userspace   execution
   ↓
computers   machines
humans      perception
webspace    presentation
   ↓
twins       physical world

# small dependencies
# explicit domains
# open source

From form
to world.

Each crate owns a different kind of meaning. The point is not to hide boundaries behind one giant library, but to make them visible.

  1. 01ampleabstract forms
  2. 02userspaceprocess + OS
  3. 03computersmachines
  4. 04humansperception
  5. 05webspacepresentation
  6. 06twinsphysical reality

Nine pieces.
One system.

Nine public crates and repositories, coordinated through one hub and one release line while keeping their conceptual responsibilities separate.

userspace_hub Nine repositories. One system.
ample Abstractions, nothing more.
userspace System calls and ELF loading.
kernelspace Across the userspace boundary.
computers Machines made explicit.
humans Where computation meets perception.
webspace Userspace, in the browser.
twins Simulate reality. Control reality.
userspace_build Build the machinery.

Hard borders. Small dependency surface.

ample does not know Linux. userspace owns syscalls rather than exporting them upward into generic abstractions. humans owns perceptual meaning while webspace owns browser presentation. twins is where computation returns to the physical world through simulation and control.

  • Abstract before concrete.
  • Domain meaning stays in its domain.
  • Platform bindings stay at platform boundaries.
  • Prefer owned primitives over broad dependency trees.
  • Source on GitHub. Releases on crates.io. APIs on docs.rs.