Replace str(1) with stris(1) #102
No reviewers
Labels
No Label
bug
duplicate
enhancement
help wanted
invalid
joke
question
wontfix
No Milestone
No project
No Assignees
3 Participants
Notifications
Due Date
No due date set.
Depends on
#96 testing
bonsai/harakit
Reference: bonsai/harakit#102
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "stris"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
I voiced my design regrets regarding str(1) in #79. I've rewritten str(1) to look more like my proposed new stris(1). It doesn't flinch when presented with UTF-8, has a much more expansive manual page, and is written in Rust rather than C.
I don't expect this pull request to be decided immediately or without discourse but I do think stris(1) makes a very compelling case for its replacement of str(1).
What about
strid(1)
for “string identifier”?I think that is less intuitive than stris(1); it identifies qualities of the string, yes, but it's easier to remember that it tells you what the string is.
Intuition is less important than memorability. Users aren’t going to be guessing
stris(1)
from thin air, they will learn it from another source and then memorize it. Making memorization as easy as possible is the ideal.To me strid(1) sounds like it's identifying a string; giving it an identifier, maybe hashing it or something. stris(1) asks what the string is - it's hard to read the name and draw the conclusion that the utility is doing some sort of conversion instead of observation. id(1p) does, observationally, identify a user, which lends this use of "id" precedent, but stris(1) very subtly nods at the interface being very similar to libc's
<ctypes.h>
which has definitions for isupper(3p), islower(3p), etc.I am mostly fine with it being called
stris(1)
, but I just want to avoid having a lot of samey names. Thefileis(1)
utility definitely needs to be renamed anyway so unless I can think of something better for this I am cool with this name.The original UNIX had a lot of samey names;
chmod
,chroot
,chdir
,chsh
all come to mind. I can remember them all off the top of my head because they're all intuitive considering their purpose.It lets the user create a very strong conceptual map in their mind of how the tools are related and what they do
I think I just have a specific problem with the naming of
fileis(1)
, but I think there’s a difference between consistency and sameyness.I’m worried about collisions with this name and #14, with the -
is
being “isolator” there.I don't think the collision is much concern. Consider ed(1) and shred(1) - they're obviously different based on their names and used in different contexts. They don't get mixed up. "Ed" is not a commonly used word and "shred" is, similar to how "fis" isn't based on an existing word but "fileis" is obvious.
@silt recommended
sid(1)
(short for string identify) as a compromise for our disagreement on the naming of this utility.I like sid(1) but don't love it.
This pull request is acceptable but the program needs a good name.
We can hammer out the name later. Getting this merged will be good.
Checkout
From your project repository, check out a new branch and test the changes.