Supporting Rust by using Rust

An exploration of great command line tools

Melbourne Rust Meetup
Tue 26 Sep 2017

Rust is great

What is a Rust tool?

Why Rust tools are great

  • Performance

    Fast and efficient with resources
  • No runtime

    Few runtime dependencies
  • Cross Platform

    Supports all major platforms

Why Rust tools are great

  • Easy to install

    Package manager or cargo install
  • Usable

    Provide a nice interface

Demos

watchexec

Executes commands in response to file modifications

https://github.com/mattgreen/watchexec

fd

A simple, fast and user-friendly alternative to find

https://github.com/sharkdp/fd

fe

A super-fast and easy to use command line fuzzy file searcher

https://github.com/btipling/fe

exa

A modern replacement for ls

https://the.exa.website/

ripgrep

The usability of The Silver Searcher with the raw speed of [GNU] grep.

https://github.com/BurntSushi/ripgrep/

alt

Command line tool to find alternate files

https://github.com/uptech/alt

tac

A high-performance, cross-platform file reverse utility

https://github.com/neosmart/tac

dot

Dot file management

https://github.com/ubnt-intrepid/dot

titlecase

Capitalise text according to a style guide

https://github.com/wezm/titlecase

ion

A shell written in Rust for Redox and Linux

https://github.com/redox-os/ion

You can build tools too!

  • If you use a tool that is frustrating to install due to runtime requirements or dependency issues, perhaps it's a candidate for a Rust version.
  • Maybe you use a tool that is error prone or could benefit from fearless concurrency.

Conclusion

  • You can help spread Rust by using tools written in Rust
  • There's already a stack of great tools out there
  • Lots of opportunity to write your own tools

Questions?


Slides will be available at:
http://wezm.net/talks/rust-tools