+
+ +
+
+

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 +

+
+ + +
+ +
+ +