Posted by todsacerdoti 12/11/2025
- runtypes - https://github.com/runtypes/runtypes
- zod - https://zod.dev/
- ajv - https://ajv.js.org/
AJV and runtypes use the naming convention that the article suggestions. It's named is derived from how it's used. Zod on the other hand seems to come from left field.
Personally, I built a simple caster called "ShallowCaster" before choosing to move to a library as things got move complex but I think a problem is that as competition increases the "generic" naming becomes more difficult to find.
I suppose an option is to include the author name for each package such as "json casting from google" or "@google/json-casting" this way all packages can use the descriptive naming while not conflicting
so many times I download something and the filename has nothing to do with the file or it's too much of an abbreviation so when I go to look for the file it's hard to find or if I come across one of these files I have no idea what it actually contains
[0]https://huggingface.co/blog/ProCreations/transformers-are-ge...
So we ended up with “auth service” instead of something like “Galactus”. The problem of course is that “auth service” isn’t searchable in our monorepo and it was a nightmare to find or discuss any info or references to the service itself. Now imagine if docker was called “container manager”. Good luck googling that and disentangling it from all the search results.
The value of a name doesn’t come from it being self-explanatory but rather from it being a pseudo-unique identifier. The small cognitive tax of remembering it serves as a shared bookmark between people that you can refer to when discussing or speaking to others about it - whether we’re talking about docker, Linux, or another person.
I would rather have fantasy names than wrong names.
The "Zephyr" that I knew about was a notification system for workstation clusters on a LAN, written at the MIT Athena project. You'd announce something on it, and the info would spread through the network as if by a gentle breeze. See: https://en.wikipedia.org/wiki/Zephyr_(protocol)
I do recall there was an experimental study in the 1980s (Hartwell, Landauer, and Gigliotti iirc) showing that this naming stuff doesn't matter. This exact same debate was going on back then. The study refuted Don Norman's "The Truth about Unix" paper which claimed that Unix commands ("rm", "mv", etc.) were too hard to remember.
Boring names are also very generic, by definition, and thus often harder to remember. Especially when there are 10 other similar tools. Is it sql-validator, sql-schema-validator, schema-validate, db-validator, or god knows what else?
Edit: I am in favor of better “sub titles” / descriptive slugs / and so on. As well as names that are a hybrid of creative and descriptive. Sqlalchemy is a good example.
Why isn’t there a command line utility called “whatisthis” with a standard protocol that allows tools to give a brief description of what they are?
It could be extended to package managers as well. E.g “pip whatisthis foo_baz”.
Shit we should create this…
I called by zsh bookmark tool `tutu`, my idea was to make it sound like what it does.
- It helps you go TO places - The main command is `tu` because it is short, a homophone of "to", and wasn't already taken - Additional commands `tutu` (which does a `pushd` instead of `cd`) and `untu` (which is just a wrapper around `popd`) are short, memorable, and pronouncable.
All of those naming decisions were made with ergonomics in mind.
Was I successful? I like it. A few other people are using it and seem to like it, too.
To the extent that I was, I think it's because the name is meaningful enough while remaining distinct.
Cheekily, man?
curl cheat.sh/grep # fetches brief grep cheat sheet
'pedes
Glook
Fitznik
Plops
Gyralight
I wanted a new tower defence game: So I made one
Oh and https://lerc.itch.io/namesarehardpart5The examples given for real world things The Golden Gate Bridge and The Hoover Dam, are instances of things. Things that the class of which they belong is old enough that Dam and Bridge are not new words.
If you are making new things you need a new name. Software is inherently new because computers have been in wide use for only a few decades. Instances of software rarely even get names, just numbers, with project names or nicknames attached. I'd be willing to bet both The Golden Gate Bridge and the Hoover dam had project names or nicknames.
“Butterfly valve” is the name for a type of widget.
There are many instances of “butterfly valve”, some of which will have strange brand names.
Just like there are many “web frameworks”, each with weird and wonderful names (“Django”, “Rails”, “Spring” etc.)
We’re really not that different.
I realize this isn't chemistry, but aren't there like 15 elements that are named after people (Curium, Einsteinium, etc) another handful named after places (Americium, Tennessine, etc).
Also, a bunch are named after Norse and Greek gods like Thorium, Titanium, Plutonium.
The article also goes to talk about the Hoover Dam, but it's not like the government is immune to this either. We just had Operation Warp Speed which doesn't tell you anything about what that program did