←back to thread

170 points ksdme9 | 3 comments | | HN request time: 0.521s | 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
xpe ◴[] No.45486091[source]
I can understand why people would find `ut` convenient. That said, I would caution against trying to include too much functionality. What is too much? I don't have a clear idea on this yet.

But I would probably argue that including HTTP functionality is going too far. Why? Because there are already amazing tools dedicated to this already. On the client side, see `xh` [1]. On the server side, see `miniserve` [2]. Both have approximately 7K stars on GitHub.

It seems wiser to let specialized projects focus on a particular functional area; this is better for users and less work for maintainers.

[1]: https://github.com/ducaale/xh

[2]: https://github.com/svenstaro/miniserve

replies(2): >>45486882 #>>45487627 #
1. Jotalea ◴[] No.45487627[source]
I agree. this tool feels like an all-in-one swiss knife. granted, it is useful. But it goes directly against one of the UNIX core values which is "do one thing and do it well". as well, including too much functionality in one single package will eventually bloat it, and there are many examples of this happening (windows, systemd, etc.).
replies(2): >>45488020 #>>45488459 #
2. dtj1123 ◴[] No.45488020[source]
I feel that the applicability of the "do one thing and do it well" philosophy scales with the frequency with which you expect to do that thing and the complexity of the task. In the case of a text editor or a VCS it obviously makes sense. In the case of tools that I use a couple times a year like these, having them all grouped together under a 'misc' application is exactly what I need in order to waste time fumbling through my installed apps trying to remember where I left the QR code generator.
3. efskap ◴[] No.45488459[source]
I see this more like `busybox`, where being a single binary is an implementation detail. The commands are still orthogonal and composable.