# strace-ui, Bonsai\_term, and the TUI renaissance

DevFeed: [strace-ui, Bonsai\_term, and the TUI renaissance](<https://devfeed.tech/articles/strace-ui-bonsai-term-and-the-tui-renaissance-20213.md>)

Original publisher: [Read original article](<https://blog.janestreet.com/strace-ui-bonsai-term-and-the-tui-renaissance/>)

Author: James Somers

Published: 2026-05-26T00:00:00Z

Content type: article

Language: en

Sources: [Jane Street](<https://devfeed.tech/sources/jane-street.md>)

Topics: [Text-based user interface](<https://devfeed.tech/topics/tui.md>), [Terminal](<https://devfeed.tech/topics/terminal.md>), [debug](<https://devfeed.tech/topics/debug.md>), [tracing](<https://devfeed.tech/topics/tracing.md>), [OCaml](<https://devfeed.tech/topics/ocaml.md>), [reactive](<https://devfeed.tech/topics/reactive.md>), [Bonsai](<https://devfeed.tech/topics/bonsai-rx.md>), [Library](<https://devfeed.tech/topics/library.md>)

Tags: [debugging](<https://devfeed.tech/tags/debugging.md>), [framework](<https://devfeed.tech/tags/framework.md>), [functional](<https://devfeed.tech/tags/functional.md>), [library](<https://devfeed.tech/tags/library.md>), [ocaml](<https://devfeed.tech/tags/ocaml.md>), [reactive](<https://devfeed.tech/tags/reactive.md>), [terminal](<https://devfeed.tech/tags/terminal.md>), [threads](<https://devfeed.tech/tags/threads.md>), [trace](<https://devfeed.tech/tags/trace.md>), [ui](<https://devfeed.tech/tags/ui.md>)

## AI overview

The article introduces strace-ui, an interactive terminal UI that makes strace output easier to inspect by formatting data, assigning short identifiers to processes and threads, and supporting interactive filtering and navigation. It also discusses how OCaml and the Bonsai framework have made interactive terminal UI development more practical.

## Source excerpt

We've always found strace useful but somewhat hard to work with. Its output is often inscrutable, it's hard to follow subprocesses or threads, and if you want to filter syscalls you have to rerun the trace with a flag for each one. What you want in debugging is a tool for exploring, refining, etc., but strace can make this difficult.