That's easy - use non-English names. I, for one, try to give Latin names where possible. I'm currently working on a SPA called "scriptare"[1] (which is Latin for "write"). The front-end part is called "calamus" (pencil) and the node.js back-end is "praeceptor" (teacher), and the ML back-end is "augur" (seer).
As luck would have it, I was just putting out a new version of our in-house MVC framework called "Compago"[2] (structure/framework in Latin). While it has been used in various versions since 2013, we didn't share it until 2015, and even then didn't document beyond the JSDoc comments since we are not interested in popularizing it.
Swahili is a great language for finding good-sounding project names. Most words are easily pronounceable with a 'pleasant' balance between vowels and consonants, they just 'sound good'.
Take a word like 'rafiki', Swahili for 'friend'. That's a perfect name for some social platform. Or 'nena' - which means 'speak' - for a chat app. Just get a Swahili-whatever dictionary and you'll soon have more project names than you can shake a fimbo at. Fimbo is Swahili for 'stick', by the way.
Oh I like that idea, and I'm looking to rebrand the software I have been working on and off for 2+ years, I will have to look up some translations online.
Thanks!
Also makes me wonder about some other languages too.
"Scribere" is Latin for "to write". It's third conjugation, not first (-are). "Calamus" is Latin for "reed" but it can also mean "pen": https://en.wikipedia.org/wiki/Kalamos . Pencils weren't invented until the 16th century. The modern Latin word for pencil is "plumbum" (lead): https://glosbe.com/la/en/calamus
Has anybody considered not having a single global repository of JS packages? (Also, as usual, has anybody considered just not doing this whole JS thing?)
Separate uncoordinated repositories (which risks namespace collisions), or separate repositories with a rule effectively providing a system for assuring universally unique names, e.g., by prefixing project names with the identification of the repository responsible for the local uniqueness of the name.
An example alternative is a ports tree. You have a repository which can build packages from descriptions. This repository itself is a formal parameter, so it can be replaced easily. It's also a basic filesystem structure that doesn't depend on external services directly in order to be queried. At this point in history, we are starting to become much more capable of federating basic read-only filesystems, so the availability of a simple ports tree (and any referent tarballs) are no longer depending as much on central authority servers.
In addition to the BSDs, this is how the Nix ecosystem manages its package repositories. There is (of course [0]) a singularly large repository, nixpkgs, but there are also forks which can vary greatly in appearance, from nixpkgs + custom packages, all the way to systems like Triton, which replace a lot of the fundamental repository structure. Nonetheless, they are largely interchangeable at the top level.
NPM would have to be distributed as a git repository, at the least, for this to be feasible.
[0] Why is there always a single large structure at the center of repositories of data? It's because data likes to aggregate as a side-effect of what some people call "network effects" or "economies of scale" or "Boyle's law", although I'm not sure that any of them cover it succinctly. The best introduction to this that I know of is the two-balloon experiment: https://en.wikipedia.org/wiki/Two-balloon_experiment
Perhaps you mean "has anybody considered having formal, hierarchical namespaces", an orthogonal concern to having or not having a single global repository (although the two can be coupled together by the community if they so choose).
Is there any particular reason not to use emoji? JavaScript is by specification a unicode language. I already have registered users in my system with pictographic name strings, why not software? Might be some introductory issues with logs and terminals and incorrect assumptions by developer tools, surely nothing we can't fix.
- Hey, I’m new to programming, which framework is the best for creating single page applications?
- Hello, I believe .js is the best, but at work we use .js for its speed and flexibility. Other popular choices are .js, .js and .js. Hope I’ve helped!
That's not a reason not to use emoji. That's a reason to drag an ASCII-centric communications medium into the Unicode era. We're in an time where application data is Unicode. You may wish to paste such data into a chat, or refer to people and organisations whose names aren't written in latin script.
When your chosen comms medium doesn't support those things, it should be updated.
I've never been afraid to use interpretive dance in my presentations.
What actually happens: see Chinese. One broadly-speaking-unified set of logograms, 200 spoken dialects, of which a handful are widely adopted, and one has governmental primacy.
I've had Chinese lessons and even Chinese people have problems understanding each other for example because of voice and voice emotions are so important. I think Chinese language shouldn't be role model for what IT world should be. :)
Obviously facial expressions combined with illustrating sound sequences to resolve ambiguities.
- Hello, I believe MEEP.js is the best, but at work we use MOOP.js for its speed and flexibility. Other popular choices are WEEEEE.js, BLEEEH.js and WEEOOHWEEHOOWEEBLUB.js. Hope I’ve helped!
Fun thing; I named Umbrella JS that way when i realized that you can use unicode as javascript variable names AND I just happened to find that as the first one. So the initial library (a jQuery sustitute) was literaly `"UMBRELLA UNICODE"('selector')` (note: HN doesn't allow for the character). Of course sanity came back and when releasing something decent I changed the name back to "u('selector')"
The number of node packages there are is deceptive when it comes to measuring the js ecosystem. It's better to count how many packages are well referenced, which might be a number as low as 10k.
Drug companies seemed to have run out of names a while ago and have resorted to barely pronouncible strings of mostly consonants. Like Xeljanz and Viibryd.
The reason for that is there are all kinds of rules about what you can name your drug. Can't sound like anything else. Can't suggest any effects it doesn't have. Etc. Made up words are pretty much the only safe bet. From there you want to make up a word that's memorable and short so it stands out and people remember it.
The part of me that cares about my HN karma wants me to refrain from saying that I hope people stop making JavaScript frameworks well before we run out of names. JavaScript is a monstrosity that from a usability standpoint really has made the web worse and not better.
I would love a web without js tracking, scroll bar hijacking, browser back/forward hijacking, delayed modal popups, useless animations that bring my Oneplus 3T to its knees, etc.
I also would love a computing ecosystem where nodejs didn't enable every journeyman web designer to try their hands at bringing all that cruft to the desktop.
I find the UX improves significantly with noscript.
The real question here is, will the web, in anything resembling it's current form still exist in 20 years? 100 years? 1000 years? And if so, will it rely on ES2037, ES2117, ES3017? Books haven't changed much at all in the last 1000 years, and although it would be naive for us to expect the internet to say the same, there will likely still be a demand for fairly simple blogs and forums well into the future.
Github.com will be the de facto canonical naming. It's already used in several language/packing systems, supported by others. And as the article points out, what other alternatives are there?
There are issues with this as is evident in Go projects using forks, etc which will have to get sorted out and evolve.
67 comments
[ 4.3 ms ] story [ 133 ms ] threadIt seemed pretty clear it was making jokes to me.
From just above the joke about JavaScript and Java:
> Whether they use it in their job or just to make coffee (coffee-maker).
> But it’s not normal rapper like Eminem, it’s more like:
or further above:
> Some describe its usage — like anti-ecological tree-kill, some not
> [Image of ducks/birds idk] JavaScript developers pictured trying to find their way around in node_modules directory :(
I never got a serious feel at all.
As luck would have it, I was just putting out a new version of our in-house MVC framework called "Compago"[2] (structure/framework in Latin). While it has been used in various versions since 2013, we didn't share it until 2015, and even then didn't document beyond the JSDoc comments since we are not interested in popularizing it.
[1]http://scriptare.com (in closed beta)
[2]https://github.com/scriptare/compago
Take a word like 'rafiki', Swahili for 'friend'. That's a perfect name for some social platform. Or 'nena' - which means 'speak' - for a chat app. Just get a Swahili-whatever dictionary and you'll soon have more project names than you can shake a fimbo at. Fimbo is Swahili for 'stick', by the way.
Thanks!
Also makes me wonder about some other languages too.
Fun fact: the word "pencil" is related to the word "penis". See http://www.etymonline.com/index.php?term=pencil
[1] http://latin-dictionary.net/definition/34351/scripto-scripta...
E.g. apt.
But I don't use the vast majority of apt repos.
I use a handful of well-curated ones with high-quality software, plus a handful for one-off packages.
In contrast, there's basically no limit to how much debris you can upload to npm.
In addition to the BSDs, this is how the Nix ecosystem manages its package repositories. There is (of course [0]) a singularly large repository, nixpkgs, but there are also forks which can vary greatly in appearance, from nixpkgs + custom packages, all the way to systems like Triton, which replace a lot of the fundamental repository structure. Nonetheless, they are largely interchangeable at the top level.
NPM would have to be distributed as a git repository, at the least, for this to be feasible.
[0] Why is there always a single large structure at the center of repositories of data? It's because data likes to aggregate as a side-effect of what some people call "network effects" or "economies of scale" or "Boyle's law", although I'm not sure that any of them cover it succinctly. The best introduction to this that I know of is the two-balloon experiment: https://en.wikipedia.org/wiki/Two-balloon_experiment
To which the answer is yes [1][2][3][4].
[1] https://github.com/npm/npm/issues/798 [2] https://github.com/npm/npm/issues/5239 [3] http://blog.npmjs.org/post/116936804365/solving-npms-hard-pr... [4] https://docs.npmjs.com/getting-started/scoped-packages
- Hello, I believe .js is the best, but at work we use .js for its speed and flexibility. Other popular choices are .js, .js and .js. Hope I’ve helped!
- That’s great! Thanks a lot!
Well, at least it's shorter, so there's that..
edit: Ok, that's the reason...
When your chosen comms medium doesn't support those things, it should be updated.
What actually happens: see Chinese. One broadly-speaking-unified set of logograms, 200 spoken dialects, of which a handful are widely adopted, and one has governmental primacy.
- Hello, I believe MEEP.js is the best, but at work we use MOOP.js for its speed and flexibility. Other popular choices are WEEEEE.js, BLEEEH.js and WEEOOHWEEHOOWEEBLUB.js. Hope I’ve helped!
- That’s great! Thanks a lot!
(Though in this case, the communication medium is Hacker News. Shame on you, Hacker News!)
See the character I mean: http://www.fileformat.info/info/unicode/char/2602/index.htm
Go give a tech talk about .js but careful, don't want to confuse it with .js
"Show HN: ćřàp - a JS framework to name your JS framework using UTF-32 characters"
I know that. That's a Welsh town.
I would love a web without js tracking, scroll bar hijacking, browser back/forward hijacking, delayed modal popups, useless animations that bring my Oneplus 3T to its knees, etc.
I also would love a computing ecosystem where nodejs didn't enable every journeyman web designer to try their hands at bringing all that cruft to the desktop.
I find the UX improves significantly with noscript.
When that doesn't work any more, start prefixing names with 'get': getmochaly, getasyncly, getunderscorely.
After that, you need to start requiring at least 2 numerals, 3 capital letters, and 1 punctuation mark: geTBab3!lY9, Ge!ax1OSly2, g3tW%b4acKlY.
What could be more natural than npm install --save-dev getBAB3l-prese!-sta&e-0ly ?
Quote from article:
" (500k > 200k === true). "
Wat??
There are issues with this as is evident in Go projects using forks, etc which will have to get sorted out and evolve.