Live data from Hacker News

Show HN: ut – Rust based CLI utilities for devs and IT

github.com

1–10 of 66 posts

Show HN: ut – Rust based CLI utilities for devs and IT

#1
Hey HN,

I find myself reaching for tools like it-tools.tech or other random sites every now and then during development or debugging. So, I built a toolkit with a sane and simple CLI interface for most of those tools.

For the curious and lazy, at the moment, ut has tools for,

- Encoding: base64 (encode, decode), url (encode, decode)

- Hashing: md5, sha1, sha224, sha256, sha384, sha512

- Data Generation: uuid (v1, v3, v4, v5), token, lorem, random

- Text Processing: case (lower, upper, camel, title, constant, header, sentence, snake), pretty-print, diff

- Development Tools: calc, json (builder), regex, datetime

- Web & Network: http (status), serve, qr

- Color & Design: color (convert)

- Reference: unicode

For full disclosure, parts of the toolkit were built with Claude Code (I wanted to use this as an opportunity to play with it more). Feel free to open feature requests and/or contribute.

Show HN: ut – Rust based CLI utilities for devs and IT
github.com

Re: Show HN: ut – Rust based CLI utilities for devs and IT

#2
Very neat.

Although philosophically I prefer the unix approach of "do one thing and do it well", I really admire this tool. I think it might be the fact that the one thing this does well is curating a set of functions for a particular profile of developer. My story is someone doing web focused full stack development?

It might be worth doing a survey of your users to see what they use ut for and what areas you should focus on next.

Re: Show HN: ut – Rust based CLI utilities for devs and IT

#3
Why is everything in the same binary? Why not multiple binaries, one for each function? That way people can install only the ones they need, a-la Unix tools: do only one thing and do it well.

I also have the exact same tools but written in Go. Rust would be a nice upgrade (lower footprint) but to keep them all in the same binary is a bit silly.

Re: Show HN: ut – Rust based CLI utilities for devs and IT

#4
Slightly odd suggestion: package it up as both a Python and an NPM module - both just thin wrappers around the combined binary - and then people within those ecosystems will be able to run:

  uvx ut md5 ...
Or:

  npx ut md5 ...
To execute it without having to figure out cargo or how to add a Rust binary to their path.

I've seen a few tools do things like this recently, it's a pretty interesting pattern. I believe there's tooling in the Python/Rust world that makes compiling the different binary wheels relatively easy using GitHub Actions.

Re: Show HN: ut – Rust based CLI utilities for devs and IT

#5

Why is everything in the same binary? Why not multiple binaries, one for each function? That way people can install only the ones they need, a-la Unix tools: do only one thing and do it well. I also have the exact same tools but written in Go. Rust would be a nice upgrade (lower footprint) but to keep them all in the same binary is a bit silly.

The single binary thing reminds me of BusyBox - https://en.wikipedia.org/wiki/BusyBox

Sometimes it can be quite convenient to grab a single binary that does a whole bunch of useful stuff in one package.

Re: Show HN: ut – Rust based CLI utilities for devs and IT

#6

Why is everything in the same binary? Why not multiple binaries, one for each function? That way people can install only the ones they need, a-la Unix tools: do only one thing and do it well. I also have the exact same tools but written in Go. Rust would be a nice upgrade (lower footprint) but to keep them all in the same binary is a bit silly.

To me the biggest upside would be terminal completion and discovery via help text. Sure you can always bounce to a search engine and bounce back, but I can imagine cases where you want a toolkit in front of you that you know how to use when your focus is not on memorizing commands.

This could be great for students without sysadmins needing to lodge complaints.

Re: Show HN: ut – Rust based CLI utilities for devs and IT

#7
post #4

Slightly odd suggestion: package it up as both a Python and an NPM module - both just thin wrappers around the combined binary - and then people within those ecosystems will be able to run: uvx ut md5 ... Or: npx ut md5 ... To execute it without having to figure out cargo or how to add a Rust binary to their path. I've seen a few tools do things like this recently, it's a pretty interesting pattern. I believe there's…

[deleted]

Re: Show HN: ut – Rust based CLI utilities for devs and IT

#8

Why is everything in the same binary? Why not multiple binaries, one for each function? That way people can install only the ones they need, a-la Unix tools: do only one thing and do it well. I also have the exact same tools but written in Go. Rust would be a nice upgrade (lower footprint) but to keep them all in the same binary is a bit silly.

I don't think it's that silly. BusyBox packages a bunch of utilities in a single binary. It amortizes fixed costs: a single binary takes less space than 30 binaries that each do one tiny thing.

These are small bits of code, and the functionality is interrelated. The entire thing feels like a calculator, or awk, and seems reasonable to put in one binary.

The Unix philosophy doesn't actually say anything about whether different tools should live in the same binary. It's about having orthogonal bits of functionality and using text as the universal interface. BusyBox is just as Unix as having all the tools be different binaries.

Re: Show HN: ut – Rust based CLI utilities for devs and IT

#9
post #4

Slightly odd suggestion: package it up as both a Python and an NPM module - both just thin wrappers around the combined binary - and then people within those ecosystems will be able to run: uvx ut md5 ... Or: npx ut md5 ... To execute it without having to figure out cargo or how to add a Rust binary to their path. I've seen a few tools do things like this recently, it's a pretty interesting pattern. I believe there's…

cargo-dist will get you the npm one for free. They've got pypi support planned as well but don't have it yet, though they can also generate standard curl | sh installers and all too.

Re: Show HN: ut – Rust based CLI utilities for devs and IT

#10

Why is everything in the same binary? Why not multiple binaries, one for each function? That way people can install only the ones they need, a-la Unix tools: do only one thing and do it well. I also have the exact same tools but written in Go. Rust would be a nice upgrade (lower footprint) but to keep them all in the same binary is a bit silly.

Also, lots of the ut functions already exist as decades old unix tools.
Post reply on HN