←back to thread

170 points ksdme9 | 1 comments | | HN request time: 0s | source

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 context
guessmyname ◴[] No.45484198[source]
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.

replies(6): >>45484266 #>>45484273 #>>45484389 #>>45484480 #>>45484962 #>>45484977 #
1. thayne ◴[] No.45484977[source]
Probably for the same reasons that uutils/coreutils uses a single binary. Specifically:

- it reduces the total install size, since common code, including the standard library, is only included once, rather than copied for each executable

- it makes installation easier on some platforms, since you just have to install a single executable, instead of a bunch of executables