Totally Terrific Terminal Tools

With all the wonderful graphical interfaces available, it’s easy to forget that a terminal is still a powerful tool. And depending on your job or what you’re doing, it can be the only interface available. Or you may just be longer in the tooth like me and have been using terminal emulators or actual real-life terminals for decades, and feel comfortable and at home working within a terminal. I will use the term “terminal” from here on out, even though for almost everyone we’re really using terminal emulators. But even if you’re used to using terminals, you may not have heard of some of the newer tools available, which can seriously make you much more productive. So whether you’re relatively new to terminals or a seasoned pro, here are tools for the terminal that have made me much more productive. Some of these are replacements for tools you may be familiar with, and others are new(ish) and make one wonder how we got along without them. ...

February 3, 2025 · 14 min · Ray Suliteanu

Creating a TUI in Rust

Way back when, before nice graphical user interfaces, all we had was the terminal. I won’t waste time with a trip down memory lane. Suffice to say there were many cool terminal-based interfaces, and some of us still use terminals (or terminal emulators more likely). And there are still nice terminal-based user interfaces used by many of us, even if that’s just vim or emacs. As I continue my journey learning Rust, I thought I’d take a stab at writing a terminal user-interface (AKA TUI). In this case I will leverage a Rust crate called ratatui. Ratatui provides UI widgets for building a TUI — things like laying out your UI, tabs, tables, scrollbars, and the like. Ratatui focuses on the UI aspects, and leverages other crates for the low level terminal interaction. Several are supported, but the one I chose (and the most common?) is called Crossterm. I am going to focus here more on Ratatui then Crossterm, except as needed. ...

May 2, 2024 · 10 min · Ray Suliteanu