Skip to content

Commit 834f710

Browse files
committed
fix typos
1 parent b9f48cf commit 834f710

2 files changed

Lines changed: 7 additions & 5 deletions

File tree

content/blog/2025-04-playground.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
11
+++
2-
title = "Try uutils Coreutils directly in your browser"
2+
title = "Try Uutils Coreutils directly in your browser"
33
date = 2025-04-04
44
page_template = "post.html"
55
authors = ["Sylvestre Ledru"]
66
+++
77

8-
We are happy to announce the [uutils playground](/playground) - an interactive terminal that lets you run real Rust coreutils directly in your browser, with no installation, no server, and no network round-trips after the initial page load.
8+
We are happy to announce the [Uutils playground](/playground) - an interactive terminal that lets you run real Rust Uutils Coreutils directly in your browser, with no installation, no server, and no network round-trips after the initial page load.
99

1010
Just open the page and start typing commands like `ls`, `sort`, `cat`, `head`, `factor`, or any of the 60+ utilities available. You can pipe commands together (`sort fruits.txt | uniq -c | sort -rn`), use redirections (`echo hello > file.txt`, `cat < file.txt`), explore the virtual filesystem, and even switch between 30+ languages using the locale dropdown.
1111

1212
### How it works
1313

14-
The uutils coreutils are compiled to WebAssembly (targeting `wasm32-wasip1`) as a single multicall binary - similar to BusyBox. When you type a command, a minimal JavaScript shell parses your input, sets up pipes between stages, and executes each one by instantiating the WASM binary with the right arguments. A virtual in-memory filesystem backed by [browser_wasi_shim](https://github.com/bjorn3/browser_wasi_shim) provides file I/O. Everything runs client-side - once loaded, the playground works entirely offline.
14+
The Uutils Coreutils are compiled to WebAssembly (targeting `wasm32-wasip1`) as a single multicall binary - similar to BusyBox. When you type a command, a minimal JavaScript shell parses your input, sets up pipes between stages, and executes each one by instantiating the WASM binary with the right arguments. A virtual in-memory filesystem backed by [browser_wasi_shim](https://github.com/bjorn3/browser_wasi_shim) provides file I/O. Everything runs client-side - once loaded, the playground works entirely offline.
1515

1616
An important distinction worth noting: **coreutils only provides individual commands** (`sort`, `cat`, `ls`, etc.). Features like `if`/`then`/`else`, `while` loops, variable expansion (`$VAR`), and globbing (`*.txt`) are shell features provided by Bash, Zsh, or similar - not by coreutils. The playground's JavaScript shell is intentionally minimal, keeping the focus on the coreutils themselves.
1717

content/playground.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -107,9 +107,11 @@ The following are **shell builtins** implemented in JavaScript:
107107

108108
- `help` - list available commands and examples
109109
- `clear` - clear the terminal screen
110+
- `cd` - change the current working directory
111+
- `locale` - show or change the current locale
110112

111-
Some commands (ex: `chcon`, `runcon`, etc) are not yet available in the WASM build because they
112-
depend on platform-specific syscalls not fully supported by WebAssembly/WASI yet.<br />
113+
Some commands (e.g. `chcon`, `runcon`, etc.) are not yet available in the WASM build because they
114+
depend on platform-specific syscalls not fully supported by WebAssembly/WASI.
113115

114116
We are actively working on adding more commands as we improve WASI compatibility in uutils coreutils.
115117

0 commit comments

Comments
 (0)