A project needs a name
forki opened this issue ยท 20 comments
While things like "FSharp.Project.FileOrderer" are technically correct I personally prefer things that are puns or slightly related terms im foreign languages or just completely unrelated words.
So let's do some bikeshedding here.
How about FShuffle? The F can stand in for FSharp or Files with Shuffle implying a rearrangement.
Isn't shuffle more like using random order? If so then it would be opposite of what we are trying to do
What about FsSpruce?
Fair point on Shuffle. Sticking with the theme, what about Mechanic which is a term for a card dealer that deliberately orders the deck. It also implies that the project is being "fixed"
I like that one.
Another restriction on the name that I forgot to write above. Since it's a cmd line tool the name should be short and easy to type. mechanic seems legit. I think it should not be longer than that
We could also shorten the CLI name to mech similar to how Chocolatey uses choco if people feel the full name is too long.
Because i don't know this meaning of card mechanic I have looked up the term on google, and what i found was this, which implies the negative connotation of cheating.
When people talk about a card mechanic, they are talking about a form of cheating.
I think this tool can actually be seen as a kind of cheating ;-)
Are there any object to use the name mechanic for the project? To me it looks like it is the name.
Should we then use a different namespace than FSharp.Project.FileOrderer?
While a [p|f]unny name is, well, [p|f]unny, I think there's merit in considering discoverability of the tool, too. If we choose a name such as mechanic (which is very good in the aspects mentioned above, IMO), we need to make sure there are other ways except the project name that people can find the tool.
This doesn't have to be difficult - a single sentence that summarizes what the project does is enough, as long as we use it in package descriptions, GitHub repo summary etc.
Also, even if we call the executable mechanic or mech, with lowercase, we should use a PascalCased namespace (e.g. Mechanic). Otherwise we'll wreak havoc with all kinds of IDE defaults and linting tools...
A card mechanic moves cards into an order to benefit themselves, so ๐ from me
Ok, I think it's a good choice. Let's do it:
- ProjectName: Mechanic
- ShortName for tooling: mech
- Namespace: Mechanic.xyz
The code I created for the build system is literally just a Hello World app with different project/namespace names, so feel free to ditch that completely and start over. As long as
- all tests projects, and no other projects, are named
*.Tests.fsproj - there's a solution file which includes all projects, both source and tests, in the root of
src - all projects are in subfolders of
src
everything should keep working without change.
Sorry late to the game, was thinking about it a bit and came up with the idea of hilo or forklift since the tool is used for lifting files up or pulling them down the project build order. These also have the advantage of being somewhat short and easy to remember.
forklift would have been a good idea as well. But I don't want my name involved too much ;-)
Would appreciate a PR to the readme that explains the name.
Yeah forklift may have the best marketing potential but I thought of another alternative. How about philo for "project hilo" since the tool is like a hilo for your project file. I'm guessing it could be pronounced filo which would keep the F# f phoneme intact or p-hilo which indicates the origin of the name.
Maybe it's just me who's ignorant (English is not my first language) but does everybody know what a hilo is? I had to google it (and apparently there's a place on Hawaii called Hilo, so I searched for "hilo tool") but I couldn't recognize what I was looking at on the top image hits...
However, noticing that the spelling of the tool in at least one place seems to be HiLo, i.e. High-Low, that does sound fitting :)
(And as you may have noticed from the changeset in #21, all I did was a find-replace on FSharp.Project.FileOrderer across all source and project files, and that was enough, so if we want to change again it's not very difficult. However, we should make a final decision before too many people have cloned/forked the repo, otherwise a lot of people will end up with broken remote configs in their git repos...)
To defend the existing name a bit :) - Hilo is short for helicopter, and has the same implication as ForkLift which is lifting. I don't know that really conveys what the tool is doing. Its much more about reordering. It also doesn't really make the project more discoverable. To your recent issue on a logo @tlycken, I was thinking of a dealer's hand with a deck of .fs files. I would imagine it would make the connection for a lot of people. I have a friend who's a graphic designer I was going to speak to. That said if the group is keen to change I am happy with either.