Software
Software written here, running in your browser. Every one of these is Go compiled to WebAssembly, served from a subdomain of this site, and open source. Nothing below needs an account, an install, or a round trip to a server.
Applications
Whole programs, running in the tab. Nothing is uploaded and nothing runs on a server.
Demo | What it is | Source |
|---|---|---|
chaosrack | An analog computer in the browser: 66 dynamical-system models — Lorenz, Rössler, Chua, all twenty Sprott cases, Hénon and the other maps — on an instrument rack with knobs, seven-segment readouts and toggle switches. Live audio as a spectrogram, an XY scope or a delay embedding, and a ripple tank to look through. | github.com/0magnet/chaosrack |
shipyard | A Go workstation in a browser tab. The Go toolchain is on the PATH: type go build in the shell, against the same in-memory filesystem the compiler reads, and run what comes out. | github.com/0magnet/shipyard |
shipwright | The Go toolchain itself, running in the tab. Edit a program and press build and run: cmd/compile and cmd/link do the work client-side, compiling the standard library from source, and nothing after page load touches the server. | github.com/0magnet/shipwright |
netscrape | A web browser written in Go and wasm — tab strip, address bar, history, back and forward — rendering a site served beside it, with the stylesheet inlined and images relayed back as data URIs. The same seam dials the dmsg mesh in skywire's wasm visor. | github.com/0magnet/netscrape |
desk | A desktop shell for the browser — windows, a taskbar, an applications menu — where a window is any Go program that renders into a DOM element. | github.com/0magnet/desk |
websh | A bash-like shell running entirely in your browser. Real pipes, redirections, globbing, functions, heredocs and arithmetic, over a filesystem persisted to IndexedDB, so your files survive a reload. No server, no container, no emulator. | github.com/0magnet/websh |
dict | Dictionary lookup and spell-check in a terminal, with Webster's 1913, WordNet, Wiktionary and Wikipedia. It finds the word you meant when a transposition or a doubled letter means a fuzzy matcher finds nothing at all. | github.com/0magnet/dict |
pisano | Designs made by reducing an integer sequence modulo m — the Pisano period made visible — with a shell to drive the renderer. | github.com/0magnet/pisano |
Libraries ported to Go and WebAssembly
JavaScript libraries reimplemented in Go, so a Go program in a tab can use them without a JavaScript dependency.
Demo | What it is | Source |
|---|---|---|
xterm-go | A Go port of xterm.js 6.0.0 — the terminal component behind VS Code and Hyper. The full escape-sequence machinery, a WebGL2 renderer, scrollback with reflow, and IME support. The VT core is pure Go and runs headless anywhere. | github.com/0magnet/xterm-go |
winbox-go | A Go port of WinBox.js, the HTML5 window manager: drag, eight-direction resize, minimize into a split-screen taskbar, maximize, fullscreen, modals and every lifecycle callback. The stylesheet is embedded in the binary, so there is nothing else to serve. | github.com/0magnet/winbox-go |
cosmos-go | A Go port of cosmos.gl 2.6.3, the GPU force-directed graph engine behind Cosmograph and the Skywire network visualizer. The simulation and the drawing both run in shaders, which is how it holds hundreds of thousands of points at frame rate. | github.com/0magnet/cosmos-go |
tuiwasm | Go terminal-UI libraries running in the browser on top of xterm-go — tcell, lipgloss, glamour, go-pretty, pterm and asciigraph — plus 21 terminal animations and a tcell space shooter, each in a window of its own. | github.com/0magnet/tuiwasm |
Command-line tools ported to Go
Each of these is a faithful port of a C or Go program, and each demo runs the port itself rather than an approximation of it.
Demo | What it is | Source |
|---|---|---|
plot-go | Line graphs on the command line. The demo follows two counters a browser tab actually has — the gap between animation frames, and how late a zero-millisecond timeout runs — and redraws them live in a terminal. | github.com/0magnet/plot-go |
img2txt-go | libcaca's img2txt in pure Go, with no cgo and no Imlib2: images to colored ASCII and ANSI art, in every text format libcaca supports. Drop in a picture, pick a width and a dither; the image never leaves the tab. | github.com/0magnet/img2txt-go |
ansifilter-go | A Go port of ansifilter 2.23: text with ANSI terminal escape codes converted to HTML, LaTeX, RTF, SVG, Pango markup or BBCode. The demo shows the same input in a real terminal and in a real browser at once. | github.com/0magnet/ansifilter-go |
calvin | Text converted to the Calvin S box-drawing font. Type in the box and watch the letters turn. | github.com/0magnet/calvin |
Interface libraries written here
Not ports of anything — original libraries, each with a demo that is the library doing its one job.
Demo | What it is | Source |
|---|---|---|
rack-go | Panel modules laid out the way a physical equipment rack does: side by side, each a whole number of slots wide, wrapping into rows and reflowing when one is taken out. Drag a module by its header to move it, or switch one away and watch the rest close up. | github.com/0magnet/rack-go |
Straight to one thing
Some of these take a parameter, so a link can open on a particular demo, pipeline or word instead of the front of the app.
tuiwasm — 43 terminal-UI programs, one per link
Terminal animations and TUI library demos, each drawn into a real terminal emulator in the page. The animations come from termanim; the rest exercise tcell, lipgloss, glamour, go-pretty and asciigraph.
aquarium · aurora · boids · bonsai · bounce · boxes · charts · clock · colors · cube · donut · fire · fireworks · flow · frost · julia · langton · lavalamp · life · lightning · matrix · maze · metaballs · moire · parrot · pendulum · physarum · pipes · plasma · proxima · proxima2 · rain · reaction · ripple · sand · snow · starfield · styles · tables · tunnel · unicode · widgets · wolfram
plot-go — the same counters through different pipelines
The processing pipeline comes from the query, exactly as the command line takes it. Each of these plots the same two live counters a different way.
avg:5 · roc:5 · avg:5|roc:5 · cma
dict — a word, looked up on arrival
The terminal runs whatever the link asks for, so each of these opens on a finished lookup rather than a prompt. One of the words is misspelled on purpose — that is the point of it.
serendipity · rain · recieve · aluminium