16 ms·
Programmers and software developers lost the plot on naming their tools
- myk9001 11mo agohttps://youtube.com/watch?v=y8OnoxKotPQ https://youtube.com/watch?v=y8OnoxKotPQ
- hiccuphippo 11mo agoI remember a trend of randomly dropping vowels started with flickr.
- rini17 11mo agoThat glorious day when I explained to my boss what wiki is and that we should have one internally, he fired "viki" into google, with smoothly honed muscle memory clicked first result..and got full screen of poon.
- Kuraj 11mo agoAt least you weren't the guy hitting a wall when trying to get a testing library integrated because it was named Testacular
- Tade0 11mo agoBack in college we had an old program used to analyse oscilloscope data named ANAL.
- breezykoi 11mo agoAt school we called our module analsyn for syntactic analyser. Good times.
- madcaptenor 11mo agoI studied analytic combinatorics in grad school. Had to be sure not to abbreviate it to "anal comb".
- Izkata 11mo agoWhen I told a co-worker about https://pypi.org/project/voluptuous/ https://pypi.org/project/voluptuous/ he immediately searched for the name alone, got really wide-eyed and closed the tab, then told us not to do the same.
- hiccuphippo 11mo agoThere was a markdown library called upskirt, the authors were bullied into renaming it. They called it Misaka, because that's an anime character that uses shorts under her skirt.
- patrickmay 11mo agoI asked to have LaTeX installed at one site, several years ago. The first Google results were eye-opening.
- zzrrt 11mo agoWhat was the first result? Mine is Rakuten Viki, a streaming service focused on Asian dramas that aren’t like what you described.
- rini17 11mo agoThat was in the 2000s. Google was heavily SFW-ified since.
- marifjeren 11mo agoThere is actually a good reason not mentioned, not to name tools by their purpose: - the purpose will change Your "silicon-valley-bank-integrator" tool will eventually need to be updated to do something else. Or your "login-page-config-service" tool may eventually do more than just logins. Using gibberish or mythological names gives a nice memorable name that doesn't lead (or mislead) you to believe it does a particular thing which may or may not be correct anymore.
- lr0 11mo ago"purpose will change" argument actually proves the opposite point. When a tool's scope expands beyond its name, the descriptive name tells you something went wrong. But even if so, if you have to rename "login-page-config-service" to "auth-config-service" it is not really a big deal, renaming will be much cheaper if you're renaming to descriptive names. Most importantly though, I wouldn't optimize to avoid renaming (happens once, maybe twice in a project's lifetime) by making discovery hard (happens every single time someone encounters the tool).
- dietr1ch 11mo ago> renaming will be much cheaper if you're renaming to descriptive names Idk, renaming things that shipped is a PITA. Say you wanted to rename `fish` to `a-decent-shell`. - Packages in all distros would need to be renamed. - Configuration for all systems using/having fish would need to change. - Scripts would need to change, from the shebang to the contents if necessary. - Users would need to understand that they now need to search documentation using the new name. - Documentation would need to be migrated to new domains, sed-replaced, and reviewed. All this migration would require some synchronized, multi-step process across multiple distros and deployments. I'd rather have a name that works as an Id.
- lr0 11mo ago> Say you wanted to rename `fish` to `a-decent-shell` You just made my argument. Renaming is hard precisely because you shipped with the wrong name. That's why you should get it right from the start. Every cost you listed [distro packages, configs, scripts, docs, domain] exists whether you rename to something descriptive OR another random word. The migration pain is identical. "Fish" → "decent-shell" costs the same as "fish" → "zephyr." My argument was that this renaming won't be necessary if you started by picking up the proper name at the first place, and it's very unlikely to have the need to rename it. We shouldn't be optimizing to avoid renaming. That's trading a rare maintenance event for permanent cognitive overhead.
- the__alchemist 11mo agoIf the community followed the author's guidance, we would have names like "Generic LLM wrapper 690" ("GLW690" if following the early programming language conventions.) or "Github clone with a different ideology 11"
- lr0 11mo agoNot at all. You don't name by category, you can name by function or approach. PostgreSQL isn't "Generic SQL Database 47" it's the successor to Ingres (Post-Ingres-SQL). If your "LLM wrapper" does nothing distinctive worth naming, maybe don't publish it. But if it specifically handles streaming, call it something like "llm-stream-client." If it focuses on prompt templating, "prompt-template-engine." The name encodes the actual value proposition. I actually stated this on the post, but let me reiterate, I think that naming things in somehow fun way is totally okay as long as it stays relevant to what the tool actually does (you can have this achieved by play wording suffixes (Mongo"DB", Open"SSL", Ma"git" are good examples, all are better than elephant, dog, and beaver).
- hyperpape 11mo ago> PostgreSQL isn't "Generic SQL Database 47" it's the successor to Ingres (Post-Ingres-SQL). Indeed. This helps me know that I'm using a database more modern than Ingres. I chose not to use Oracle or SQL Server because they might have predated Ingres. Just one question: what's Ingres, and why do I care about it? Of course, I don't, which makes Postgres no more useful of a name than "fluffnutz" or "hooxup". That said, over time, I've come to like the name Postgres.
- lr0 11mo agoYou don't need to know what Ingres is. "PostgreSQL" still tells you it's SQL-related, which is infinitely more than "fluffnutz" tells you. And once you learn it's a database, the name reinforces that knowledge forever. Good luck remembering what "fluffnutz" does in 6 months.
- 11mo ago
- notepad0x90 11mo agoYeah, this is a bit relative. Use microsoft tools/products (especially cloud/office) that came out in the past decade and you'll appreciate every other naming pattern. My subjective view is that names should be exotic, flamboyant, unique and generally wild when it comes to tools. sticking your company's name as a prefix into everything (or the flagship product's) is confusing and only hurts you.
- andrewmcwatters 11mo ago[dead]
- wpollock 11mo agoIf you didn't already know, what do you think a tool called "emacs" does?
- d3Xt3r 11mo agoAn emergency bootable/rescue tool for Macs!
- Izkata 11mo ago"Mac OS through email" was what popped into my mind. No idea how that would work.
- pesus 11mo agoI still think of the short-lived Apple eMac when I read it.
- morshu9001 11mo agoIt's funny how they sold that into 2006, with a CRT still
- KingLancelot 11mo ago[dead]
- accrual 11mo ago
- formula1 11mo agoOne issue with package naming is competition. One of the great things about OSS or software in general is people can take inspiration from other projects that do the same thing. Personally I've ran into deciding which casting library to use - runtypes - https://github.com/runtypes/runtypes https://github.com/runtypes/runtypes - zod - https://zod.dev/ https://zod.dev/ - ajv - https://ajv.js.org/ 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
- jameshart 11mo ago> naming things after random nouns, mythological creatures, or random favorite fictional characters is somehow acceptable professional practice. This would be career suicide in virtually any other technical field. Really? Have you specced a microprocessor lately? Seen what pharmaceuticals are called? How polymer compound materials get named?
- lr0 11mo agoThe "Raptor Lake" codename in microprocessors is internal, the product ships with systematic designation. Engineers spec chips by model numbers that encode generation, tier, and performance class. In Pharmaceuticals, Doctors prescribe "sildenafil," not "Viagra." The generic name describes chemical structure. Brand names are marketing for consumers, not professional nomenclature. Mythology in chemistry/astronomy has centuries of legacy and connects to human cultural history. Calling an element "Titanium" after Titans carries weight. Calling a SQL replicator "Marmot" connects to... what, exactly? A weekend at the zoo?
- nemomarx 11mo agoBut the names we're talking about are the ones used to market software to users? I don't see how the same logic doesn't apply
- ralferoo 11mo ago"Raptor Lake" isn't an internal codename, it's very much external as it's what Intel actively referred to that generation as. How's a non-geek shopping for a PC going to know if it's better or worse than "Lunar Lake" or "Alder Lake"? Maybe they just think their machine is shipping with some game where your giant dinosaur bird thing has to stop off for a quick drink to regain energy. But in any case, this isn't the real travesty with these names. It's that they're reusing existing common words. The article hates on "google" when actually it's a fantastic name - if you googled it when it was introduced, all the results were about what you wanted. By comparison, Alphabet is an awful name, because if you search for Alphabet only a tiny subset of the results are going to be useful to you.
- 11mo ago
- ctoth 11mo ago> There’s an odd tendency in modern software development; we’ve collectively decided that naming things after random nouns, mythological creatures, or random favorite fictional characters is somehow acceptable professional practice. This would be career suicide in virtually any other technical field. I'm charmed by the lack of truth in this beautiful sentence. Top of mind for me, at least.
- NotGMan 11mo ago>> Early programming languages followed similar logic: FORTRAN (Formula Translation), COBOL (Common Business-Oriented Language), BASIC (Beginner’s All-purpose Symbolic Instruction Code), SQL (Structured Query Language), I believe Lisp stands for list processing. The pattern was clear: names conveyed purpose or origin. "names conveyed purpose or origin.": no they don't. If I use the authors example of the two people talking: as if saying "BASIC" instead of "Cobra" explained the meaning anything better to a person who never used BASIC. I've been programming for 15 years+ and never used basic due to my age and I never know, until today, that BASIC stands for "Beginner’s All-purpose Symbolic Instruction Code". Why? Because I don't need to know and it doesn't make the usage of BASIC anything different.
- fusslo 11mo agoare you guys naming your products? We have an internal name and our product name. Internal names start as something that describes the project/repo/tool. Then within 18 months the name no longer makes sense so we rename it to some random name - state names, lake names, presidents, mountains, etc. It's just a placeholder. The public facing product name is a compromise of marketing, trademark, and what gets approved by the CEO. Even the company name might change in startup world. No joke: the startup next door had to change their name because it was too masculine, and they realized more than half their projected market was women.
- Spivak 11mo agoThis is the way, you name things random words devoid of all connection to software because you don't want to confuse people later when the scope grows or changes. Well so in the beginning we only supported email notifications which is why it's called EmailServ but over time it grew into a robust and pretty general queueing service so now it handles all our background task processing. Sending emails is actually handled by EmailWorker but EmailServ still supports its original API which now uses EmailWorker behind the scenes if you prefer that.
- anthk 11mo ago- VTL-O2 - Forth - Grep - CVS (I'm not an American but you can relate) - Clang Altough MS products can be as opaque if not more. And let's not talk about IBM...
- collinmcnulty 11mo agoThe problem with descriptive names is that they start descriptive but then become proper nouns. At a former employer in the Fortune 100 outside the software industry, everything started with a descriptive name, that then became an acronym. And as every project and tool inevitably developed its own idiosyncrasies, the descriptive name pretty soon didn't tell you anything useful about the project at all. It is an unavoidable reality that knowing something's name gives you very, very little information about what that something is. That's what sentences are for.
- wredcoll 11mo agoKnowing mysql is a database and not a socket wrench is mildly useful but it's more important that I know whether or not it supports enums.
- nrhrjrjrjtntbt 11mo agoSpanner is a wrench, or database
- gowld 11mo agoThe military starts with a cool name, then makes an immediate backronym for launch.
- deleted 11mo ago[deleted]
- alienbaby 11mo agoI have agreed with this for at least a decade. Name your things in a way related to what they do. What does chef do? Garden? Pig? Burp? Nonsense.
- fph 11mo agoLike GMail addresses, all the good names are taken.
- morshu9001 11mo agoIdk about open source tools, but internal corporate things have codenames for good reasons.
- notpachet 11mo ago"First we have to build a Bingo service. See, Bingo knows everyone's name-o..." - 'Microservices' sketch by Krazam https://www.youtube.com/watch?v=y8OnoxKotPQ https://www.youtube.com/watch?v=y8OnoxKotPQ
- dmurvihill 11mo agoYou can really track the progression of Krazam's career based on what videos he puts out
- ramonga 11mo agoYou will never understand Galactus' pain
- deleted 11mo ago[deleted]
- TehCorwiz 11mo agoThe author should read up on the https://en.wikipedia.org/wiki/Sonic_hedgehog_protein https://en.wikipedia.org/wiki/Sonic_hedgehog_protein or maybe https://en.wikipedia.org/wiki/Boaty_McBoatface https://en.wikipedia.org/wiki/Boaty_McBoatface both of which are actually scientifically important things. Amiga famously had a custom ASIC called "Fat Gary" https://en.wikipedia.org/wiki/Amiga_custom_chips https://en.wikipedia.org/wiki/Amiga_custom_chips I really could go on about this. Names are only useful for distinct identification. They need to be distinct within their domain. Otherwise they're just an index into a list.
- lr0 11mo agoSonic hedgehog is a terrible example this case. Researchers literally had to tell parents their children had mutations in the "sonic hedgehog gene." The scientific community recognized this was a problem and it's a widely-known controversy. It's cited as an example of bad naming in medical ethics discussions. Boaty McBoatface? officials overrode the vote to name it after David Attenborough. The actual research submarine got the joke name. Again, this proves my point. Fat Gary was an internal chip designation that never needed to be public-facing. Perfectly fine. "Names are only for distinct identification" if efficiency was not at a question. Why use worse identifiers when better ones cost the same?
- michaelcampbell 11mo ago<tangent> What is it with a number of blogs recently that have turned off normal right-click behavior, and probably related, the scroll behavior is awful. This is one, and as soon as I scroll on my work high powered Macbook and it's not smooth, I'm out.
- lr0 11mo ago[OP] Can you please doublecheck? Nothing should affect right-click behavior or scroll, if you're experiencing it, it's probably from your end.
- michaelcampbell 11mo agoYou are correct, my apologies. It was at work where we have NannyWare of various sorts, so it might have been that. Working fine from home; thanks for confirming.
- irusensei 11mo agoI am more frustrated by the fact browsers allow such manipulation such as this and some clipboard operations.
- arscan 11mo ago> “But memorable names help with marketing!” > Sure, if you’re building a consumer product. Your HTTP client, cli utility helper, whatever library is not a consumer product. The people who will ever care about it just want to know what it does. —— It sounds like the author doesn’t view themselves as a consumer in this relationship, that they are immune to marketing, and that what they are advocating for isn’t just another marketing tactic. I’m not sure if any of those are true. My experience with areas that use functional names to describe things is that you end up in a sea of acronyms (the functional-based names are a mouthful!) and you end in an arguably worse situation (did you say ABDC or ADBC, those are two completely different things).
- ElevenLathe 11mo agoI agree. I've worked in places that discourage "cute" names and the result is often things like having to decide between using CoreMainHttp and MainHttpCore. Or worse, two things with exactly the same name, but two different APIs, with projects sometimes taking both as a dependency at the same time. Or even obsolete parts of the org chart encoded into dependency names, like "DataOrgUtils" when the "Data Org" stopped existing several reorgs ago, when our current VP was an intern and nobody else even worked here. Without some central control of names though, even "cute" ones tend to converge on the same handful eventually: Phoenix (and other classical allusions like Plato's Cave, etc.), Keymaster/MCP (and other 80s childrens' movie references), Simpsons characters, Star {Trek,Wars} references. These are all attractors for the kind of people that tend to be in IT/SWE even if the actual namespace (all possible ASCII-expressable words) is much larger.
- ak217 11mo agoExactly - the author thinks all these tools just materialized fully formed in their software ecosystem instead of surviving years of competition with other, less memorable tools. It takes many years of work, luck, and yes, marketing to get to the point where any of these tools are, and a memorable name can absolutely make the difference between support and oblivion.
- taeric 11mo agoI find the remark that we give things names more as a word play than purpose.... kind of amusing? Like, of course people will find a way to play with the tools they have. And in programming, that is often words. Because what else would it be? By far the worst aspect of the nerd ecosystem is the odd belief that pops up every so often that names should matter. In every ecosystem, there is usually some odd idea that it is only in their world that people abuse this. Just skim through that list of things that are unexpectedly named after people. Sure, you can get upset about Shell's sort not having any relation to shells. Or Bloom's filter not having a phase where the data "blooms" into use. But you would have the same issue with French drains. Or how gaslighting has nothing to do with lighting things on fire using gas and the affect that will have. Honestly, I think this would be a fun list to just keep going. Akin to the old Chuck Norris joke generators.
- andrewl 11mo agoI strongly agree with this. And what bothers me more than obscure or meaningless names like Viper are silly and embarrassing names like Hunchentoot. Names like that sometimes cause people to dismiss good software. It’s like using Comic Sans in a serious research paper. One area of the sciences does partly use names like this, and that is biology. Biologists do sometimes name a species after a famous person, as in the louse Strigiphilus garylarsoni: https://en.wikipedia.org/wiki/Strigiphilus_garylarsoni https://en.wikipedia.org/wiki/Strigiphilus_garylarsoni
- bluehex 11mo agoI agree. One recent example is in the Zig community a popular tool for benchmarking is "poop" [1] (Performance Optimizer Observation Platform). It could have easily been "pop" (Performance Observation Platform) and been cute enough without being intentionally cringe. Every time I see Zig now I think about "poop". [1]: https://github.com/andrewrk/poop https://github.com/andrewrk/poop
- thundergolfer 11mo agoMy old company Canva, was pretty good about this and I'm bringing that to the culture at my current place. Krazam has excellently parodied this unserious naming indulgence of programmers[1]. "See, Bingo knows everyone's name-O. So we get the user ID from there." Racoon, Wingman, EKS (Entropy Chaos Service), RGS, Barbie Doll, Ringo-2. 1. https://youtu.be/y8OnoxKotPQ?si=QkI-TPStI9I4RtAB&t=33 https://youtu.be/y8OnoxKotPQ?si=QkI-TPStI9I4RtAB&t=33
- irusensei 11mo ago>Every person who encounters your “fun” name pays a small tax. Across the industry, these taxes compound into significant waste >Reserve the creative names for end-user products where branding matters. For infrastructure, tools, and libraries, choose clarity. Every time. Ah yes the software I am giving away for free must go easy on the minds of the poor VCs and business drones who are extracting value from it.
- groby_b 11mo agoWait till you work in a corporate environment, where Project Fuzzy Mustard triggered a violation of the ElastoFish metric in the Yellow Hills subsystem, leading to a Code Mild Lavender with a side of Pink Sprinkles.
- indymike 11mo agoI worked in one that had lettuce, tomato and celery in the stack.
- queenkjuul 11mo agoWe have a boulangerie and a fromagerie
- jackvalentine 11mo agoI no shit once worked on 'Project Magenta Lobster'.
- rconti 11mo agoThat's nothing, we have an initiative called Pink Glove.
- bitwize 11mo agoI need scissors! 61!
- m3047 11mo agoAs they say in physics: color and charm may change, but up and down are forever.
- colechristensen 11mo ago>There’s an odd tendency in modern software development; we’ve collectively decided that naming things after random nouns, mythological creatures, or random favorite fictional characters is somehow acceptable professional practice. This would be career suicide in virtually any other technical field. Odd? Modern? I started working professionally in 2005 and everything had silly names. The DNS server was named athena instead of c302r5s1 or whatever building/room/rack/position name. I once rebooted a server that had an uptime of 12 years, so it had been running since 1993... it indeed had a silly name. Everything had silly names, usually types of things had a theme. >Same thing applies to other fields like chemical engineering, where people there maintain even stricter discipline. IUPAC nomenclature ensures that 2,2,4-trimethylpentane describes exactly one molecule. No chemist wakes up and decides to call it “Steve” because Steve is a funny name and they think it’ll make their paper more approachable. How about piranha? aqua regia? Up/Down/Strange/Charm quarks? Gluons? Like a third of the elements named after people or places. Curium, Einsteinium, Fermium, Mendelevium, Nobelium, Lawrencium, Rutherfordium, Seaborgium, Bohrium, Meitnerium, Roentgenium, Copernicium, Flerovium, Oganesson -- I guess none of these people were named Steve, but you get the point These tendencies are OLD and EVERYWHERE. IUPAC names are just a convenient way to serialize data.
- bighead1 11mo agocounterpoints: pascal, eiffel, ada, C, APL, dylan
- gherkinnn 11mo agoJavaScript
- accrual 11mo agoSome interesting commentary: > InfoWorld: As I understand it, JavaScript started out as Mocha, then became LiveScript and then became JavaScript when Netscape and Sun got together. But it actually has nothing to do with Java or not much to do with it, correct? > Eich: That’s right. It was all within six months from May till December (1995) that it was Mocha and then LiveScript. And then in early December, Netscape and Sun did a license agreement and it became JavaScript. And the idea was to make it a complementary scripting language to go with Java, with the compiled language.
- Lerc 11mo agoPast projects of mine. 'pedes Glook Fitznik Plops Gyralight I wanted a new tower defence game: So I made one Oh and https://lerc.itch.io/namesarehardpart5 https://lerc.itch.io/namesarehardpart5 The 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.
- lordleft 11mo agoI am highly sympathetic to this sentiment, but I think it's hard to name things in software because a) it's easy for the obvious names to get overloaded and b) many of the things we are dealing with are basically abstract relationships with arbitrary properties.
- Tade0 11mo agoI think the author is ignoring the difference between Branding and several other categories, like technical terms and their common names. The adjustable wrench is named straightforwardly, but most English speakers know it as the monkey wrench. In some European languages its name translates to "French wrench" or "the French" (as in: French person), in others it's "English wrench" even though those two were originally just variants of the adjustable wrench. Point is, all those goofy names are brands that may or may not stick around for longer and the terms for what they actually do are more descriptive. My favourite example: BlueJeans. A videoconferencing platform. Why is it named like that? We might never know, but most likely partly to stand out, but there's a clear distinction between the brand name and the more descriptive terms used to tell what it does.
- scoopdewoop 11mo ago> programming shifted from corporate mainframe work to the community builders > which is good but then: > Our field deserves better than a zoo of random nouns masquerading as professional nomenclature Okay? So is this professional nomenclature or the work of community builders? I think: everyone should code, it should not be an elitist profession, we don't need to all accommodate busy professionals, i'm fine with corporate users having to say my stupid package name at work. > Your fun has externalities. Every person who encounters your “fun” name pays a small tax. Across the industry, these taxes compound into significant waste Someone please get this guy a bong rip.
- zcw100 11mo agoWhy does it have to be all or nothing? How about a clever name or two for marketing that stands out and doesn't get lost in a sentence "I'm not asking you to search, I'm asking you to use the search command" but not obnoxiously over done where everything is named after some Norse god or some other silliness.
- chagaif 11mo agoLove this: > Name your library after what it does. Use compound terms. Embrace verbosity if necessary. http-request-validator is infinitely superior to “zephyr” when someone is scanning dependencies at 2 AM debugging a production incident.
- deleted 11mo ago[deleted]
- taylodl 11mo agoAnd forty years ago, I was using a tool called Brief, which was a product from UnderWare. I was also using a librarian named Marian.
- daotoad 11mo agoRobert Preston, is that you?
- ux266478 11mo ago> Your HTTP client, cli utility helper, whatever library is not a consumer product. I'm not sure how the author came to this conclusion. At any rate, programmers aren't any worse about this than mathematicians. Just replace [fictional name] with some foreign word or philosophical term that's justified with the most insane mental gymnastics you've ever heard of. Given some historical native speaker of Latin, do you think they're going to know what a matrix is for? No, because the word means "uterus". There is no connection to "tabular shorthand of linear transformations." I think it's clear the author is writing this to vent frustration, but I think they've misidentified the actual problem: > http-request-validator is infinitely superior to “zephyr” when someone is scanning dependencies at 2 AM debugging a production incident. My jaw hit the floor reading this. The idea there are people out there debugging codebases without knowing something as foundational as the dependencies is beyond absurd to me. That's insane and horrifying, overshadowing pretty much the entire blog post. Does anyone else live like this? How do you tolerate these conditions? Why would you tolerate these conditions?
- davidfekke 11mo agoThe two hardest things to do in computer science is knowing when to invalidate cache and how to name things.
- 9rx 11mo agoAnd off-by-one errors.
- munificent 11mo ago> This would be career suicide in virtually any other technical field. This article would certainly disagree with you: https://en.wikipedia.org/wiki/List_of_U.S._Department_of_Defense_and_partner_code_names https://en.wikipedia.org/wiki/List_of_U.S._Department_of_Def... > the Golden Gate Bridge tells you it spans the Golden Gate strait. Is that even a meaningful distinction? Does anyone think, "Gee, I'd really like to cross the Golden Gate strait?" or do they think "I want to get to Napa?". > The Hoover Dam is a dam, named after the president who commissioned it, not “Project Thunderfall” or “AquaHold.” It was actually called the "Boulder Canyon Project" while being built, referred to as "Hoover Dam" even though finished during the Roosevelt administration, officially called "Boulder Dam", and only later officially renamed to "Hoover Dam". The fact that Herbert Hoover initiated the project tells you nothing meaningful about it. Would "Reitzlib" be a better name than "Requests"? > If you wrote 100 CLIs, you will never counter with a cobra. But out in the real world, you could encounter a Shelby Cobra sports car, Bell AH-1 Cobra chopper, USS Cobra (SP-626) patrol boat, Colt Cobra handgun, etc. > No chemist wakes up and decides to call it “Steve” because Steve is a funny name and they think it’ll make their paper more approachable. When you open your medicine cabinet, do you look for a jar labeled "acetylsalicylic acid", "2-propylvaleric acid", or "N-acetyl-para-aminophenol"? Probably not. It's a bad sign when all of the examples in an article don't even agree with the author's point.
- BoppreH 11mo agoI think the author makes a hard distinction between consumer products and infrastructure/engineering products. The Shelby Cobra has a funny name, but its engine is the memorably named V8. The Hoover Dam is a dam, and the Golden Gate Bridge is a bridge. We can argue about namespace pollution and overly long names, but I think there's a point there. When I look at other profession's jargon, I never have the impression they are catching Pokemon like programmers do. Except for the ones with Latin and Greek names, but old mistakes die hard and they're not bragging about their intelligibility.
- leipert 11mo agoAlso the author misses how elements, species and astronomical objects are named. After random places, people, games, fictional characters, etc. Names are just names. It’s nice if they are kind of unique and have no collisions.
- benrutter 11mo ago> Our field deserves better than a zoo of random nouns masquerading as professional nomenclature. Clarity isn’t boring, it’s respect for your users’ time and cognitive resources. I felt a little guilty at first, I maintain a project called Wimsey (it's a data testing library but you couldn't guess that) and at work my team regularly enjoys fun/silly names. Trying to defend myself, I was thinking about various logical responses to this article: non-descriptive names don't become out of place when a projects goals drift; descriptive names will lead to repitition; etc. If I'm honest though, I think I just like software to have a sense, even a tiny one, of enjoyment. The software I use everyday, like Cron (named after a greek god of time); Python (named after a comedy act) and Zellij (names after a tiling craft) all have fun, joyful names that tell me someone loved and cared about these projects when they built them. I need to learn these tools beyond just "x does y category of thing" anyway, so I don't mind learning these names. And it makes software engineering just a bit more fun than using "unix-scheduler", "object-oriented-scripting-lang" or "terminal-display-manager". I love working in a field where people are passionate about their craft. Stern professionalism doesn't sound like something I want to trade that for. It's a human trait to name the things we love, that's the exact reason why pets typically have names like "cookie" and not "brown-dog-2".
- general1465 11mo agoI always get stuck into .NET naming structure Project.Parser.Pcapng, it is great for projects, but it is utterly useless for standalone naming
- wredcoll 11mo agoNaming your library "data-testing-library" would be useful... until there's a second one at which point the specific name effectively becomes meaningless.
- marc_abonce 11mo agoCase in point: @testing-library (the JS one for React, Vue, etc.) Besides, this type of overly generic names makes it harder to search relevant stuff, which makes them more annoying to me than silly names.
- kixiQu 11mo agoI believe strongly in this counterargument: https://medium.com/better-programming/software-component-names-should-be-whimsical-and-cryptic-ca260b013de0 https://medium.com/better-programming/software-component-nam... Small summary: external identifiers are hard to change, so projects will evolve such that they are not accurately descriptive after time. (Less discussed there, but: In a complex or decentralized ecosystem, it's also the case that you come across many "X Manager"/"X Service"/"X State Manager"/"X Workflow Service" simultaneously, and then have to rely on a lot of thick context to know what the distinctions are)
- pksebben 11mo agoI suppose it depends on your goals, but that scope restraint can be a good thing. Do one thing, do it well, and while you're at it call yourself by the thing you do so you remember that's what you ought to be doing. A bit wordy for unix but you get the idea.
- parpfish 11mo agoI’ve been told multiple times in multiple jobs that I’m good at naming things, and I love whimsical names. A couple rules I’ve internalized are: - if it’s hard to name, that’s a good sign that you haven’t clearly delineated use case or set of responsibilities for the thing - best case for a name is that it’s weird and whimsical on first encounter. Then when somebody tells you the meaning/backstory for the name it reveals some deeper meaning/history that makes it really memorable and cements it in your mind - the single best tech naming thing I’ve encountered (I didn’t come up with it) was the A/B testing team at Spotify naming themselves “ABBA”
- plorkyeran 11mo ago> grep (global regular expression print), awk (Aho, Weinberger, Kernighan; the creators’ initials), sed (stream editor), cat (concatenate), diff (difference). Even when abbreviated, these names were either functional descriptions or systematic derivations. If you asked someone unfamiliar with unix tools what they thought each of these commands did, diff is the only one which they would have even the slightest chance of guessing. It's ridiculous to complain about "libsodium" and then hold up "awk" as a good name.
- mojuba 11mo agoHowever once you learn that sed means stream editor, you won't ever forget it. libsodium is forgettable.
- jolmg 11mo agoThat's part of the point, I believe. It's not about being always able to guess the function from first sight. It's also about the function and name serving as mnemonic to each other once you understand how it got named.
- bigiain 11mo agoI think perhaps the articles argument gets less strong then? It's claimed grep is "well named" because even though it's not obvious when you first read it, that it being a contraction for "global reg ex print" and hence memorable. I'm not sure the same argument can't be made for libsodium which assuming the reader is familiar with NaCl (the same as the assumption that the previous reader is familiar with regex) then it's an equally memorable name for your crypto library. There's always a consideration about the context the name is intended and likely to be used in. The article mentions engineering naming and "ibeam", but engineering has it's own technical names an jargon as well. Most people wont know what "4130 tube" means, but people who build bicycle frames or roll cages will - and they're likely to use the less specific term "chromoly" if the don't need to distinguish between 4130 and 4145. In my head "libsodium" is similar - if you don't know what it (and NaCl) mean, you 100% should keep out of that part of the codebase.
- queenkjuul 11mo agoEnd of the day you know what it means or you don't. I agree it's helpful when a name is descriptive, but there's no helping the fact that you're going to have to learn the names of things that aren't obvious. Purely utilitarian names would constantly collide. I also think they overestimate how distinct terminology is in other fields. Even their example of the I-beam is also known as an H beam or an RSJ depending on who you're talking to. I don't find it hard to imagine a mechanic referring to one of their specialty tools by the name of its manufacturer, either. Regardless, the battle was lost before it started. There has never been good consistent descriptive naming as standard in computing; there was no plot to lose.
- gherkinnn 11mo agoThis reads like an extensive, and frankly exhausting, rationalisation of a personal preference. Personal preferences are fine, I have my own. But please stop thinking they apply universally. Laravel works better than Rails-but-PHP. Ruby on Rails beats Opinionated-One-Person-Stack-Using-Ruby and I'm fine with the name Ruby as well. I shall name my next product larmn in honour of OP.
- amelius 11mo agoOne more reason why Windows is superior to OS X.
- accrual 11mo agoWhat are some examples of names that Windows does better than macOS and vice versa? I've always though iOS naming was pretty logical - Calculator, Notes, Messages, Mail, Health, Clock, Calendar, Photos, Contacts, Maps, Settings. They're all named as if they're the reference implementation and everything else is 3rd party. Under Windows we have Notepad, Paint, Terminal / Command Prompt. Word and Excel are likely household names so it's tough to ask a random person who's never heard of them to describe their purpose. But they did have "Clipchamp" which was a pretty dumb program IMO. Here's a potential reference for Windows app naming conventions in modern Windows: https://windows-11.fandom.com/wiki/List_of_apps https://windows-11.fandom.com/wiki/List_of_apps
- bigyabai 11mo agoWindows is pretty bad, but I have to give the dark pattern award to macOS for being overbloated with services. Especially if you're an average Joe; wouldn't you assume that AppleTV plays your video files, and Apple Music focuses on playing your MP3s? How are you supposed to know that Quicktime is the less intrusive option? It's hidden in a glut of inscrutable, outdated apps like Automator, 3D Chess and the graphing calculator everyone opens by accident. At least Windows knows to hide the cruft apps from the Start menu. It's gotten to the point with macOS that I don't think my parents could use it. They use Windows just fine without knowing the difference between Terminal and Command Prompt, but macOS would be a mnemonic shoggoth too far.
- jasondigitized 11mo agoDescriptive names are great until the thing you built starts evolving and doing more or less than the description and then is way more confusing that calling something somewhat general like my favorite of all time: 'Conformity Beaver'. The same goes for teams. Mythical creatures are good because they are fun and also allow the team to evolve its mandate and custodianship and may also help with Conways Law.
- dist-epoch 11mo agoIrrelevant. LLMs know all the names. In 1 year they will be doing all the SSHing and terminaling. Quickly: name the AVX2 instructions that the compiler emits for math calculations
- IshKebab 11mo agoPreach! The worst excuse I hear is "but if we have a meaningless name it can't become inaccurate later when the project changes!". Uhm yeah. That's like saying "if stab myself to death now I can't die of dementia in old age!" Edit: look, it's here! https://news.ycombinator.com/item?id=46237390 https://news.ycombinator.com/item?id=46237390
- Beestie 11mo agoFirst it was racehorses. Then it was prescription medications. Then software. I hope this goes no further.
- deleted 11mo ago[deleted]
- ModernMech 11mo agoI can't call my new formula translation language FORTRAN because it's been taken, as have many other names. So now to avoid collisions, it's named after my cat.
- rconti 11mo agoFIVETRAN is a weird name for a cat, but I guess it prevents mix-ups at the vet.
- deleted 11mo ago[deleted]
- randomNumber7 11mo agoC C post increment See sharp
- dwaltrip 11mo agoThe author is vastly overestimating the general legibility and familiarity of things they happen to know well and are used to. 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…
- p4ul 11mo agoThis might not be exactly what you mean by a CLI app called "whatisthis", but I have been using cheat.sh and the pattern below for a few years. It works really well! curl cheat.sh/grep # fetches brief grep cheat sheet
- daotoad 11mo agoThe real trick is getting just enough meaning into the name to be helpful, while keeping it distinct. SQLAlchemy is a great example. 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. https://github.com/daotoad/tutu https://github.com/daotoad/tutu
- accrual 11mo ago> 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? Cheekily, man?
- Arubis 11mo agoJust name everything Phoenix. (The joke here is: look up how many _major_ software projects have been named Phoenix at some point. It's a lot.)
- GMoromisato 11mo agoOnce again proving that there are two very hard problems in software engineering: Naming things, cache invalidation, and off-by-one errors.
- casey2 11mo agoLMAO ok dude, don't like it? fork it and change the name. The author has a DEEP misunderstanding of the science of human language, not surprised he's a Chomskyite. Rule of thumb, disregard every post that uses the phrase "context switching"
- jollyllama 11mo agoUnfortunately this article misses the worst failure of naming: name collisions.
- wmf 11mo agoYeah, if we followed this advice every language would have four different packages named http-client.
- jollyllama 11mo agoIndeed, however I would point out that the approach of naming things after elements or processes ex. Sodium results in not-so-unique names in certain contexts. Ex. if you're working in a lab that deals with the element or process, then confusion can result with colleagues.
- keybored 11mo ago> The cognitive tax > Every obscure name is a transaction cost levied on every developer who encounters it. It’s not a mental burden, it’s a cognitive tax. Moreover it’s a transaction cost? Levied on people? Which loads their RAM? Where’s the simple everyday English?
- keybored 11mo agoAnyway. We used MongoDB for a good while.
- tracerbulletx 11mo agoWhy is Go a very silly name and not Python, C, Rust, or literally any programming language name?
- tgv 11mo agoCOBOL. Now there's a sensible name.
- MerrimanInd 11mo ago> This would be career suicide in virtually any other technical field. The cognitive load is unavoidable and in some ways worse in industries with highly technical names. At one point in my career I was an engine calibrator at a large automotive OEM. Our lexicon included physics industry terms (BMEP, BTDC, VVT, etc), a large software package where every variable, table, and function was an acronym (we had about 75k tunable parameters, each with an acronym), and all the internal company jargon and acronyms you'd expect in a large corporation. But every name was as technical and functional as the author would desire. During my first month I was exhausted. I would doze off in afternoon meetings or pass out in my car as soon as I pulled in the driveway. I finally mentioned this to a more senior coworker and his insight was that my brain was working overtime because it was busy learning another language. He was entirely right! The constant mental load was a very real and tangible load. He relayed an anecdote when he went to S. America on his honeymoon and despite him and his wife having taken ~4 years of HS/college Spanish the mental work they had to do to function basically nixed half the daily activities they had planned due to exhaustion. That was what I was experiencing. The idea that more technical and specific names reduces mental load does not track with my experience. The complexity is intrinsic not incidental and I don't think it has much to do with the specific names chosen.
- jaggederest 11mo agoI thought this was a wonderful example of "some things are just intrinsically challenging to represent in your brain": https://www.youtube.com/watch?v=6ZwWG1nK2fY https://www.youtube.com/watch?v=6ZwWG1nK2fY Apparently they've found structural differences in the brains of people undergoing London's famously difficult taxi qualification. I think I saw a video that said people studying for "the knowledge" as it's known report massive fatigue.
- YurgenJurgensen 11mo agoIn mobile telephony, one of the first things new hires are told is “don’t even try to work out what all the acronyms stand for; it won’t help”. You just have eat all the alphabet soup. Worse is that they nest themselves. You can have acronyms where every letter stands for another acronym. Writing a thousand words without using a single noun is easy. And of course all the short ones are overloaded. Is an AP an Application Processor or an Access Point? Depends on which subfield the person you’re talking to is from. But they’re a necessary evil, since MSISDN is still less cumbersome than Mobile Station International Subscriber Directory Number.
- pvtmert 11mo agoI agree for internal names but disagree for public software/external names. I disagree for public/open-source software, because: So many kinds of software actually have good names. Yes they use mythical names but with the similar function or relatedness. Meanwhile, I agree for internal names, because: So many (legacy) code I worked with had terrible naming. This goes beyond only the names themselves but also their capitalization or consistency. I kid you not, in a $FAANG company I saw "SpidermanActivity" and "BatmanActivity" on a system that is used by Tier-1 services' on-calls. > (Although this thing was not a Tier-1 service, it was not also completely Tier-2 either, as it was actively supporting operations of Tier-1 services, depending on the incident, a downtime could cause significant problems...) Imagine you are trying to make sense of a large system, which has maybe tens of dependencies and as much of dependents, you are also trying to remember which API was Spiderman and how it related to the business at all... More on the naming conventions, the horrible case of acronyms (which spans outside of software engineering) and PMs creating polls/surveys for "fun names for our new shiny thing that does X but we don't wanna call it that". Going even lower-levels, engineers themselves are not careful. I had way too many CDK stacks named with not only varying dash vs underscore differences, but also with subtle "case-sensitivity" differences. Each year, I am solving issues of Java devs' issues. Some of being "but it works on my machine" type of problems. And significant percentage of that is most developers use a Mac & macOS. Hence the filesystem is case-insensitive by default. But the deployment target & CI being a Linux, filesystem is case-sensitive. As you can see here, The camel-case combined with inattentiveness can simply cause many hours of waste. > It's a plague. Yes, there is an AI slop, but there is also human sloppiness too. I am quite happy with LLMs/GenAI that it is able to catch and capture these and less prone to make such sloppiness in the first place. (As it being a "predictive-text engine", next word suggestion is a clone of existing copy of historically occurring words) At the same time, amount of "hallucinations" for various acronyms are staggering. Obviously I cannot expect otherwise. Even as a human, if I am missing the context, I would be either confused or plug-in something I already know...
- MisterTea 11mo agoI agree, some names that come to mind are Celery and Windows. But there are always silly names. I like Plan 9, an OS named after an Ed Wood B movie. Its sibling, Inferno is full of puns and references to Dante Alighieri's Divine Comedy. Its corporate dullards who insist that neutral boring is appealing to most and I again agree but its not a hard rule for me.
- lowbloodsugar 11mo agoI have developed a language for writing structured queries. Based on this article, I have decided to call it SQL.
- a96 11mo agoCalling it Sequel would have been made it easier to pronounce. I think I'll just pronounce it that way in my mind.
- bitwize 11mo ago> Same thing applies to other fields like chemical engineering, where people there maintain even stricter discipline. IUPAC nomenclature ensures that 2,2,4-trimethylpentane describes exactly one molecule. No chemist wakes up and decides to call it “Steve” because Steve is a funny name and they think it’ll make their paper more approachable. Ummmmm... https://en.wikipedia.org/wiki/List_of_chemical_compounds_with_unusual_names https://en.wikipedia.org/wiki/List_of_chemical_compounds_wit... "You sure 'bout dat? You sure 'bout dat?" My favorite: there's a protein called "sonic hedgehog" that's essential to animal embryonic development. (All of the "hedgehog" family proteins would cause fruit flies to take on a spiky appearance when mutated, hence the name.) When chemists synthesized a drug that suppresses SHH protein's action, they named it "robotnikinin".
- dillydogg 11mo agoThe Drosophila people had the best naming schemes. I really wish we kept up the whimsy of gene names. One I enjoy is RING; "really interesting new gene". I have always said if I find a gene of interest, I'd call it RUNG.
- zem 11mo ago"windowpane" was my first thought :) such a lovely play on the "-ane" suffix
- atiedebee 11mo agoIts interesting how early programming languages are mentioned as having proper names. In the 60s we went from BCPL to B to C. B and C are not descriptive at all. Should they have been named "operating systems language" or "portable Unix language" instead? I also fail to see how AWK is a well named tool according to these metrics. The initials of the creators dont tell you anything about what it actually is or does.
- Artoooooor 11mo agoEven for consumer products - I'd rather have Mozilla Mail and Microsoft Mail instead of Outlook and Thunderbird. But marketing must market, dammit.
- throwaway81523 11mo ago> http-request-validator is infinitely superior to “zephyr” when someone is scanning dependencies at 2 AM debugging a production incident. 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) 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.
- WatchDog 11mo agoThere are many different tools that attempt to solve the same problem, with varying levels of competency. They can't all use the same name. If you want to build a better alternative to an existing solution, you need to choose a different name, this leads to names being arbitrary.
- renewiltord 11mo agoThere is a place I agree with this: human anatomy. I find eileiter/oviduct superior to Fallopian tube.
- cranky908canuck 11mo agoYep. Just did a reimage update to Fedora 43, got errors about 'ptyxis' in some shell scripts. Wat (wipes desk and keyboard)? Oh, it's the graphical terminal program (alternative to 'gnome-terminal'). Well, um, ok. However, I will concede, after more digging as to why (as it rankled), that there was a "have to choose a unique name" issue there (even leaving aside trademark issues). I'm resigned (so I suppose signed up) to deal with residual issues that crop up going forward. I love to mock '*ly.com' names for almost certainly doomed enterprises, but I get that at least it wasn't already taken.
- gowld 11mo agopty is a Pseudo TeletYpe (aka, terminal emulator). It's 50-year-old word. ptyxis is a word based on the 'pty' base, because it's not the only pty program. It's a nearly-unique name, which is very good for the task of "discovering what it is".
- dinkleberg 11mo agoIt’s a solid terminal, but could they have chosen a worse name?
- cranky908canuck 11mo agoThere's another comment that points out that a g-le search will pick up few false positives (disclaimer, have not tried myself). So the initial 'WTF' gives way to 'well, ok, I see what you are trying to do'.
- dannyfreeman 11mo agoI believe one of the things that prompted stallman to give that talk was the inclusion of the lsp client "eglot" in emacs. Eglot i think is short for emacs polyglot. The most idiomatic name, lsp-mode, was taken by another package. Stallman wanted to find another name but no one seemed to care as much as he did. I think one name he suggested in its place at one point was "code-parse" or something like that.
- ohboynotthis 11mo ago[dead]
- pdpi 11mo agoGNU's version of Yacc is called Bison. Pine Is Not Elm (even though that was never an official acronym). UNIX was UNICS which was a pun on MULTICS. I couldn't for the life of me tell you what dd stands for. nano is a copy of pico which was the "PIne COmposer". Postfix is a completely opaque portmanteau of post (as in mail) and "bug fix". C++ is "C incremented", and C is the successor of B, which is the successor of BCPL. Developers haven't "lost the plot", we never had it in the first place. Inversely, Clang, LLDB, jq, fzf, loc are modern projects perfectly in line with the author's notion of a good name. "mise-en-place" is the perfect metaphor for what mise does.
- anyfoo 11mo ago> I couldn't for the life of me tell you what dd stands for. Data(set) Definition. But that name does not make any sense whatsoever by itself in this context, neither for the tool (it hardly "defines" anything), nor for UNIX in general (there are no "datasets" in UNIX). Instead, it's specifically a reference to the DD statement in the JCL, the job control language, of many of IBM's mainframe operating systems of yore (let's not get into the specifics of which ones, because that's a whole other can of complexity). And even then the relation between the DD statement and the dd command in UNIX is rather tenuous. To simplify a lot, DD in JCL does something akin to "opening a file", or rather "describing to the system a file that will later be opened". The UNIX tool dd, on the other hand, was designed to be useful for exchanging files/datasets with mainframes. Of course, that's not at all what it is used for today, and possibly that was true even back then. This also explains dd's weird syntax, which consists of specifying "key=value" or "key=flag1,flag2,..." parameters. That is entirely alien to UNIX, but is how the DD and other JCL (again, of the right kind) statements work.
- necovek 11mo agoHaving come from the DOS world (or it could have been Norton utilities), I always thought it was more like DiskDupe (duplicate disks). Funny how we never confirm our hypothesis that "checks out".
- 11mo ago
- jchw 11mo agoSometimes I am baffled at what gets onto the frontpage at HN, reminding us all that the people who vote stories and the people who comment on them are less of an overlapping group than you might think. I can understand the desire to have names that are more descriptive, but to claim we have "lost the plot" while holding up names like "awk" is contradictory at best. It sounds more like this person just had a personal vendetta against cute sounding names, not against the names being uselessly non-descriptive. In my opinion, the way this post is framed at the outset is misleading. — This comment brought to you via Firefox, which obviously from its name, is a web browser.
- lr0 11mo ago> but to claim we have "lost the plot" while holding up names like "awk" is contradictory at best My argument is that even a name like awk is much more relevant to the people who used this software back then, of course it was not the best way to name it, but at least it held some meaning to it. Unlike modern software, awk and others were not written with the consideration of a wide user-base in mind. Regarding whether we "lost the plot" or not, I believe that we did, because as mentioned, in the 80s there was a current of people who named software conventionally, and up to the 2010s, the names still used to hold some rational even when word-played or combined with cutey names. > It sounds more like this person just had a personal vendetta against cute sounding names, not against the names being uselessly non-descriptive. Not at all, I find it quite fun, just unprofessional. -- Sent by replying to an automated RSS email, via msmtp (light SMTP client, which is unlike firefox, not a consumer product and its name has to do with its function).
- jchw 11mo ago> My argument is that even a name like awk is much more relevant to the people who used this software back then, of course it was not the best way to name it, but at least it held some meaning to it. Unlike modern software, awk and others were not written with the consideration of a wide user-base in mind. Regarding whether we "lost the plot" or not, I believe that we did, because as mentioned, in the 80s there was a current of people who named software conventionally, and up to the 2010s, the names still used to hold some rational even when word-played or combined with cutey names. I don't personally get it. I can see the argument for names that are descriptive, because a descriptive name might be useful. Meanwhile though, a name like awk is only useful if you already happen to know what it stands for, which to me seems a little silly. Relevant? Maybe... But to what end? > Not at all, I find it quite fun, just unprofessional. Why do you consider it "unprofessional"? This seems like a cultural thing. For example, in Japan, it seems like it is not unusual to see cute illustrations in otherwise professional contexts. I am not sure there is a standard for professionalism that is actually universal. Disregarding that, okay, fine: let's say that naming software after irrelevant things is unprofessional. Why should we care? Software developers have spent at least the past couple decades bucking trends. We went to work at white collar offices wearing khakis and t-shirts, with laptops decked out in stickers. Now I'm not saying this is all software developers, but it is certainly enough that it is a considerably recognizable part of the culture. Professionalism, in my eyes, is descriptive, not prescriptive. If professional software engineers normally name things with cute nonsense names, then that is professional for our industry. I can see the usefulness in descriptive names because they serve a purpose, but names that are merely somehow relevant but otherwise don't tell you anything useful seem just as useless as non-sense names, and justifying the distinction with "professionalism" feels odd. > Sent by replying to an automated RSS email, via msmtp (light SMTP client, which is unlike firefox, not a consumer product and its name has to do with its function). Note how this also neatly works as a strong argument against descriptive names. RSS? msmtp? We're now drowning in acronyms and initialisms. I don't particularly have anything against these names (I mean, I use msmtp and the name certainly doesn't bother me) but the utility of the name RSS is quite limited and the vast majority of people probably don't really know what it stands for (to my memory it is Really Simple Syndication, but it may as well be just about anything else, since that doesn't help me understand what it is truly useful for.) But you do hit on an interesting point that probably helps explain to some degree what's going on here: even for small CLI utilities, more often than not programmers doing open source are actually bothering to work on the marketing and deployment of their software. When I was younger a lot of open source was still more decentralized, with many programmers just dropping tarballs periodically and Linux distros (and others) taking care of delivering the software to users in a usable form. Part of trying to deliver a holistic product is having a memorable name. msmtp may not be developed as a product, but in practice, almost all software is like a product. Someone is a "consumer" of it. (Even if that person is also a producer of it.) People get "sold" on it. (Even if it's free.) How it's marketed definitely depends on the sensibilities of the developers and the target audience but I'd argue almost all software is "marketed" in some form even if it is non-commercial and not packaged like a product. (Even something like GNU's landing pages for things like Coreutils is arguably a very, very light bit of marketing) The actual truth is software programs that have more care put into marketing are arguably more professional. The professionalism of having a "relevant" name is rather superficial in my eyes, but having concise "marketing" that "sells" your software well to its intended audience and provides good resources for users is professionalism that makes a difference. Likewise, plenty of things delivered more like products do have relevant names! For example, KeePass and SyncThing come to mind immediately. So whether the next great email server suite is "SMTPMailSuite" or "Stalwart" is mostly immaterial, but I'm not surprised when marketing-concious developers choose memorable names. (Obviously in case of Stalwart, there's a company behind it, so having good marketing is absolutely in their best interest.) Another downside of a descriptive name is that software evolves over time and a name that is too descriptive could stop being relevant eventually. Off the top of my head it's hard to think of a specific example, but you can see software that evolves this way all the time. (One example on the Linux desktop is how KWin went from being an X11 Window manager to a full-blown display server compositor during the Wayland transition; but that name obviously still works just fine.)
- jrm4 11mo agoI'll die on the proverbial hill that the absolute worst instance of this has always been GIMP, which could have perhaps eaten Adobe's lunch MANY years ago. It was and perhaps still is, a solid competitor to Photoshop, but any unfamiliar grownup is, quite reasonably, going to never ever ever trust anything to do serious work with a name like that.
- Arcuru 11mo agoI agree GIMP is a bad name, but is it really a 'solid' competitor to Photoshop? My impression has been that it was never close to being competitive on features. I've only used either of them very briefly so I may be wildly wrong though.
- necovek 11mo agoIIRC, it was too expensive to make Gimp support non-RGB color spaces needed for professional image editing. I use it semi-regularly and it does a great job for me, and most of UX is clear and obvious (high DPI support is lacking). But I haven't used Photoshop since the 90s (or Aldus PhotoStyler before it was acquired by Adobe ;)).
- jrm4 11mo agoI think it could have been -- which is to say, I think a better name earlier on could have well been what could have gotten more contributors etc etc. Network effects and such.
- layer8 11mo agoWait until you learn about Git. ;)
- Am4TIfIsER0ppos 11mo agoBe careful. The language police have already got rid of "master". They were eyeing up gimp for a takeover or rename but I don't think it got very far. Perhaps all their energy was spent on removing the slavery from git.
- irishcoffee 11mo agoThe two hardest things in software engineering: cache invalidation, naming things, and off-by-one errors.
- bilsbie 11mo agoI hate when the steal sci fi concepts and I get falsely excited hearing about say Dyson sphere cold fusion drones.
- wackget 11mo agoModern web developers: "Oh I just use Gulp, Jenkins, Babel, Yarn, Bower, Grunt, Slurp, Vite, and Rollup" Me: slowly backs away in disgust
- layer8 11mo agoI agree with the sentiment, though the argument could be made better. It’s not really about good names being descriptive, nor about memorable mnemonics. It’s that modern naming styles tend to overload random English words for no good reason, but just to be cute (which I don’t consider a good reason) or to be evocative of something which it isn’t. One issue with that is that you might have very different connotations evoked by the word, that clashes with the software. And conversely, if you have to use the software regularly, it now encroaches into the semantic space of what you otherwise associate with the word. I’d like my software, and hence its name, to be its own thing, thank you very much.
- goopypoop 11mo agoit's kafkaesque
- hiccuphippo 11mo agoIs Kafka (as in Apache Kafka) a good name?
- soanvig 11mo agoSometimes "branded" names are a good thing. For example, naming some application modules strictly after what they do is super tedious, and uses words that are already reserved, therefore creating ambiguous nomenclature. Maybe I have various sort of permissions in my system but naming that particular permission system some greek god name creates a clear and shared meaning across the team (both business and technical), and mind you that that's what communication is all about - a shared meaning. Nothing else. P.S. (I'm deliberately not going into discussion about bad things with that approach)
- accrual 11mo agoI'm happy to see this post, it's something that bugs me every time I have to learn a new tool with a name that's neither A. unique to the project AND B. doesn't describe the project. For example Zola and Hugo, static site generators - great, unique words that has no other meaning to me but the generator. The only other Hugo I know is a character in Bob's Burgers. But choosing random dictionary words like Avocado or Spice or whatever makes it completely transparent against my existing knowledge and now I have the mental lookup issue the author describes. The other day a HN user was commenting "NAT, aka IP masquerading... (proceeds to keep re-using the term)". IME no one in the industry says "IP masquerading" unless your entire org and vendors are on Linux. Just call it NAT, we know what you mean. This a Linuxism and should be avoided! Let's hit up Britannica.com on the word: > a party at which people wear masks and often costumes > a way of appearing or behaving that is not true or real > to pretend to be someone or something else I guess? I guess we are "pretending to be the peer IP when actually we are the LAN IP". But to me it's just nonsense. It's capital T Translating one IP to another for the sake of routing, drop the weird social implications.
- a96 11mo ago> The only other Hugo I know is a character in Bob's Burgers. Really? It's a very common name, including certain Victor and Boss. https://en.wikipedia.org/wiki/Hugo_(name) https://en.wikipedia.org/wiki/Hugo_(name)
- 6r17 11mo agoI like to mock the current meta as being coca cola driven.
- austin-cheney 11mo agoThe article mentions that things were fine until around 2010 when developers collectively lost their minds. So what’s special about 2010? It’s about that time that everything needed a website with a domain and all the domains were gobbled up by squatters. Also people were inventing new words looking for the fewest possible syllables for SEO and marketing.
- bgar 11mo ago>http-request-validator is infinitely superior to “zephyr” Is it though? How are you going to differentiate between 10 different variations of http-request-validator repos on GitHub? I think both have their downsides, but making the name super generic sounding is arguably worse. What I don't like about names like zephyr is that they're purely marketing-driven; people end up picking a zephyr over a http-request-validator purely because the name is sounds "cool" to them, even though http-request-validator might actually be the better library. And don't even get me started on people naming their projects random Japanese words.. it's like the equivalent of nicknames that Thai people use, which are just random English words like Ice Cream or Thank You. Maybe the happy medium is, like you said, names that contain a hint as to what they do, like Actix (actor model). But TBH you kind of still have to look it up to know what it does, there's no way you're just going to infer that. Maybe later on it helps you remember what it was for though.
- robocat 11mo ago> don't even get me started on people naming their projects random Japanese words But words help us learn. How many times do you notice a connection between some word from your childhood and an adult concept or place? And they're not random, people choose things because of many hidden reasons, but random is rarely the case. Many of us love the story behind a word - as shown by many of the comments here reflecting on the cultural history behind our tool names.
- litbear2022 11mo ago> There are only two hard things in Computer Science: cache invalidation and naming things. > -- Phil Karlton - https://skeptics.stackexchange.com/questions/19836/has-phil-karlton-ever-said-there-are-only-two-hard-things-in-computer-science https://skeptics.stackexchange.com/questions/19836/has-phil-... - https://martinfowler.com/bliki/TwoHardThings.html https://martinfowler.com/bliki/TwoHardThings.html
- mbg721 11mo agoHow do conference-room names fare in this view? My current company names them after football teams or local landmarks. But I heard about someone who used to work somewhere that named theirs after WWII battles, which was awkward for the Japanese guy they interviewed in one of them.
- elzbardico 11mo agoOk man, now give me a moment, I need to administer my weightloss weekly injection of L-Histidyl-2-methylalanyl-L-alpha-glutamylglycyl-L-threonyl-L-phenylalanyl-L-threonyl-L-seryl-L-alpha-aspartyl-L-valyl-L-seryl-L-seryl-L-tyrosyl-L-leucyl-L-alpha-glutamylglycyl-L-glutaminyl-L-alanyl-L-alanyl-N6-(N-(17-carboxy-1-oxoheptadecyl)-L-gamma-glutamyl-2-(2-(2-aminoethoxy)ethoxy)acetyl-2-(2-(2-aminoethoxy)ethoxy)acetyl)-L-lysyl-L-alpha-glutamyl-L-phenylalanyl-L-isoleucyl-L-alanyl-L-tryptophyl-L-leucyl-L-valyl-L-arginylglycyl-L-arginylglycine
- andoando 11mo ago1 for the money 2 for the green 3,4-methylenedioxymethamphetamine
- kgeist 11mo agoI think if a project name is easily googleable, it's a good name. If I see "generic-tool-name failed" in the logs and can't immediately find what that thing even is, because I get lots of irrelevant search results, it's a bad name. This can happen with both descriptive and cutesy names.
- dillydogg 11mo ago>“Descriptive names are boring!” >>Yes, and surgical instruments are boring. I'm absolutely certain that this person has never been (awake) in a surgery suite because all of the tools people use have eponymous names. There are a billion little grabbers that all have silly names like Adson, Allis, Babcock, Kocher etc. which are all meaningless until you just know what they are. And don't you grab the Mayo scissors when they ask for Metzenbaum. In med school we had a flashcard deck that just had a picture of the tool and what it is called on the other end. In the end, I think the author has a point, but then doesn't really make it that well. I think using awk as a good example is a bit silly. diff is a good one though!
- necovek 11mo agoOr had a Kirchner pin inserted.
- postalcoder 11mo ago> There’s an odd tendency in modern software development; we’ve collectively decided that naming things after random nouns, mythological creatures, or random favorite fictional characters is somehow acceptable professional practice. This would be career suicide in virtually any other technical field. I worked in finance – we gave our models names that endeared us to them. My favorite is a coworker naming his model "beefhammer".
- komali2 11mo agoThis drives me crazy because I use dmenu to launch things, and every time I want to launch a subsonic client I'm like "blueberry? Wayshin... Weish... Fei... FEISHIN!" Just call it "subsonicfeishin" or something at least! "Chatgpt... Mc... CODEX!" It's nuts.
- sdovan1 11mo ago> The next time you’re about to name your project after your favorite anime character, pause. Ask yourself: “Would a civil engineer name a bridge support system this way?” If the answer is no, choose a better name. I'm creating a dotfiles to remote SSH session tool in shell. At first, I wanted to call it "sship", but that name was already taken. Something like "ssh-dotfiles-carrier" felt too long for a command, and abbreviating it to "sdc" would lose the meaning. So yes, I eventually named it "shitt-p" (character of Hitman Reborn!), since I wanted it to relate to "sh"...
- longemen3000 11mo agoThat is one thing i like about the Julia package ecosystem. The general Registry (where package metadata is stored and where you go to register a new package), recommends using explicit names over short acronyms. For example, DifferentialEquations.jl is a package that does differential equations in julia (recognizable via the .jl suffix). What does Garlic.jl do? Exactly, garlic (the vegetable) modelling.
- PhilipRoman 11mo agoDoes Julia registry have active moderation? Otherwise I'd expect to see 99 different variations of DifferentialEquations.jl
- eigenspace 11mo agoYes, but it's fairly light-touch moderation. Newly registered first packages go through some automatic checks, and if they pass all those checks they are put on a 3-day waiting period for community to give feedback or raise objections to the package, and then at the end of the 3-day period, if nobody blocks it, the package is registered. One of the automatic checks is a name similarity check, and if the name is too similar to an existing name, then the package is blocked from being auto-merged. At that point, someone will look at it, and there'll be a discussion on whether or not the name is okay. A lot of the time, the response is just "this is a false positive" and the package is greenlit. Other times, there's a discussion on whether or not the name is acceptable, and some alternative suggestions are given. _______________ There was a little episode recently where someone tried to register a package with the same name as an existing package, but with two letters tacked onto the end of the name. Their package was just a fork of an existing package, but with a minor patch applied becuase they were frustrated that maintainers of the existing package weren't responding to pull requests. The system automatically flagged the name, and the person was initially upset that they couldn't just register their fork, but within a couple hours we tracked down a maintainer to fix the existing package, and then we added this person as a maintainer to the original package so that they could review and accept pull requests to the package themselves. I think this ended up being a better solution for everyone involved.
- wa2flq 11mo ago"...When you see “libsodium,” you must context-switch from problem-solving mode to detective mode: “What does this do? Let me check the README. Ah, it’s a crypto library... " I would not mind the command names whose etymology was complex or inspired, if the README files would do a better job of giving context and function. Even though I have a wide set of wheelhouses in computer systems, I frequently encounter README files that still leaves me saying "Huh?". I shouldn't have to google three levels down before I get a clue.
- necovek 11mo agoWhy does nobody in SF say "I am going via the San Francisco-Oakland Bay Bridge", but shortens it to just the "Bay Bridge"? This is the reason some bridges get a nice name (like Golden Gate), and some are strictly utilitarian (like SF-Oakland Bay). And I am sure there are other "Bay Bridges" in the world too.
- perrygeo 11mo agoThe cognitive tax is a real problem. Using random cutesy names, there is no obvious behavior boundary. Does authentication go in the SnufBux module? Or the Farfrumstable service? Who knows? Without obvious language clues to handle a new concept, any new functionality will get strewn across these internal boundaries. And why not - they have zero semantic meaning anyway! Sloppy names encourage sloppy programming.
- hansvm 11mo agoAnd you've spotted why normal, regular, simple, natural, real mathematics is so hard for people to grok at first glance.
- deleted 11mo ago[deleted]
- salomon812 11mo agoI almost completely disagree with this post. The only thing I can consider that you should probably avoid embarrassing names. A descriptive name is terrible if you're slightly off. Or if the library gets repurposed. Or if the project doesn't turn out how you expected but it's still helpful. With everything going on, a nonsense name forces people to learn about it instead of having them guess at it from a three word description that might be misleading. The author probably never had a project where something got named the oscilloscope-controller but there's no oscilloscope in sight, but we used to have one and then we tweaked a few things and now it runs something else and but the name was everywhere. And all of these are abstract concepts. Getting data from point A to point B. FIFO? It's an acronym. Pipe? Doesn't really suggest it can buffer data. Buffer? Queue? Both sound like they might slow down data. Precise technical names would be good, but then the chances the purpose changes goes up!
- permo-w 11mo agoI had to discover this myself. when I first started working on personal projects on my PC, I'd give each of them some whimsical name, usually a pun or play on a quote from a tv show or song lyric. then in a few months time I'd come looking for the project and have to spend five minutes scrolling through a bunch of esoteric word formations and random half sentences trying to remember what whimsical mood I was in when I made the project. now I just name everything whatever I think I'm most likely to remember in 3 months. I do find it a little sad, losing some creativity and colour, so maybe one day I'll make a tag/shadow title system so I don't need directly descriptive names
- MageOfTheEast 11mo agoNondescriptive names are not necessarily wrong or impeding. The author mentions science, yet STEM is filled with nondescriptive names: we have "Pythagorean theorem" instead of "right triangle sidelength theorem", "Newton's method" instead of "iterated tangent root-finding", "Lambda calculus" instead of "abstraction-application evaluation". Although they are not whimsical, these terms mean nothing to a first-time reader.
- tliltocatl 11mo agoOh, STEM naming… Especially mathematics. How can you tell that a "set" is different from a "group" different from a "manifold" different from a "category"? Then there is a lot of seemingly unrelated things called "space" (they are all actually a topological space, but when studying e. g. vector spaces one might not yet have been into that). "Field" is two absolutely unrelated things in physics and algebra, sometimes these domains even intersect! Linear programming, no real relation to computer programming at all, "programming" used to mean "optimization". Calling stuff after their discoverers might be non-descriptive, but giving a misleadingly descriptive name that also collides is way worse - yet people working with this manage just fine.
- throwaway290 11mo ago> We’re using Viper for configuration management, which feeds into Cobra for the CLI, and then Melody handles our WebSocket connections, Casbin manages permissions, all through Asynq for our job queue Would it be better if it was this: > We’re using ConfigurationManager for configuration management, which feeds into CLI for the CLI, and then WebSocketHandler handles our WebSocket connections, PermissionManager manages permissions, all through JobQueue for our job queue I think the author makes the opposite point of intended)
- erelong 11mo agoA bit tangential but I was going to make a post of my own on naming with the problem of "filenames" 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
- Dwedit 11mo agoI really gotta hand it to "wget" for picking a good name for a program that gets things from the web.
- janmarsal 11mo agoI think there should be some kind of a tax or a fine for anyone who comes up or even suggests a new acronym. Regardless of the field. While I do agree with the article on some level, I still think even a randomly picked word from the dictionary is better than YAA (Yet Another Acronym).
- tokyovigilante 11mo agoThe Sonic Hedgehog gene would like a word.
- rurban 11mo ago> "We’re using Viper for configuration management, which feeds into Cobra for the CLI, and then Melody handles our WebSocket connections, Casbin manages permissions, all through Asynq for our job queue". But before those silly names came up, every company used their own three letter abbrevations for their tooling, which was not much better. They had descriptive names, but using the abbrevations only didn't help, and you needed a company wide dictionary. Like "We’re using CMT2 for configuration management, which feeds into CCM for the CLI, and then WSM handles our WebSocket connections, PM manages permissions, all through AJQ for our job queue."
- girvo 11mo ago> Same thing applies to other fields like chemical engineering, where people there maintain even stricter discipline. IUPAC nomenclature ensures that 2,2,4-trimethylpentane describes exactly one molecule. No chemist wakes up and decides to call it “Steve” because Steve is a funny name and they think it’ll make their paper more approachable. This so isn't important, but this just isn't true at least in chemistry. Plenty of molecules have names that aren't IUPAC based, but instead are based on prefixes/suffixes that are common to the field (more in pharmacological chemistry but not just!)
- amoshebb 11mo agohttps://www.chm.bris.ac.uk/sillymolecules/sillymols.htm https://www.chm.bris.ac.uk/sillymolecules/sillymols.htm
- tgv 11mo agoAnd don't isomers share their name? And isotopes don't change the name either, I think?
- gottheUIblues 11mo agoExcept protium, deuterium and tritium
- konne88 11mo agoWe should all copy from the Haskell community. Instead of coming up with a random name like "append" for a List function, we should appeal to our deep intuition of monoids and use the much more intuitive "<>".
- eckesicle 11mo agoWe had this debate at my company and the end result was a ban on “random” service names. 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.
- PhilipRoman 11mo agoIt's especially fun once the service is superseded. Guess which one of these services handles MAC address allocation and storage: macaddr_db or atom-util?
- a96 11mo ago"There's a repo called Beyonder. That's got to be what came after Galactus."
- fiddlerwoaroof 11mo agoI strongly disagree with this: calling your thing that serves webhooks “webhooks” or “webhook-service” sounds nice and neat when you’re looking in a repo list but you immediately impose a tax on everyone in the org: now everyone in a conversation has to distinguish between “webhooks” as the proper name of a particular service and “webhooks” as the name of a particular pattern. Multiply this by all the various components of a modern software ecosystem, and you turn your companies infrastructure into a private language piecemeal and, what’s worse, it’s a private languages outsiders and newcomers think they understand and so they often take much longer to discover what the actual services are.
- teleforce 11mo agoForget about tools, in most part of the world, the name programmer and software developers like to call themselves namely software engineer is not even considered part of engineering professions. That's why you find most of software engineering department in Computer Science Faculty or School, not in the Faculty of Engineering.
- liampulles 11mo agoI read an article linked on HN once (can't remember what it was) that recommended giving totally meaningless names to monoliths. The point being that one should not use the name as a crutch to decide what should or should not go in the service. So at my last job, we called our monolith anubis. It always brought joy when someone asked for an explanation.
- denysvitali 11mo agoIs it just me or the website is completely unreadable? Black text on a dark-gray background
- chaidhat 11mo agoMight as well just name it after the last name of the author. Like how physics has the Maxwell equations, we’d have the Torvalds Operating System.
- nathias 11mo agowhy is this stupid ai-generated text on hn?
- qq66 11mo agoBy this standard, ChatGPT is an excellent name: it's a generative pre-trained transformer that chats with you.
- homeonthemtn 11mo agoI was just discussing this today funny enough. How long until someone goes for broke and just names their app "peepee poopoo"?
- cstuder 11mo agoI still think ICQ was the greatest application name ever.
- Mikhail_Edoshin 11mo agoThete is no way to give descriptive names unless it is a single centralized system. Names need to be consistent, this is the main requirement for a good set of names. When the whole set is consistent, individual names can be nearly arbitrary, it won't matter much.
- nrhrjrjrjtntbt 11mo agoWorst example: homebrew nomenclature Typical docs sentence: > What does “keg-only” mean? It means the formula is installed only into the Cellar and is not linked into the default prefix.
- akie 11mo agoFun party game: Ask people if they know ChatGPT. When they inevitably say "yes", ask what GPT stands for.
- dep_b 11mo agoWorse is the Git UI, where random English words that seem to have a clear meaning in the context of source control don't do at all what you think they do, or five different things, or are really just a bunch of other commands wrapped together for less typing (like "pull"). I would rather have fantasy names than wrong names.
- thiht 11mo agoIs fun not allowed anymore? In the past 3 days I've seen posts and comments on HN saying that: - everything in interfaces should be useful, decorative icons are bad - presentation slides should not use animations - now fun name are forbidden too apparently What the fuck? > No chemist wakes up and decides to call it “Steve” because Steve is a funny name Do you want to enter the discussion on how physicists named quarks?
- pas 11mo agothe whole post/topic has amazing engagement farming potential the correct response should be the "that's bait" GIF/meme (from the aptly namee Fury Road documentary) https://imgur.com/gallery/thats-bait-FOwZ77O https://imgur.com/gallery/thats-bait-FOwZ77O
- thiht 11mo agoYou're right, when looking into it it's just flameware in the end
- em500 11mo ago- Almost everything on blogs and HN are opinions, so don't take things things too seriously - Fun and humour are subjective, and a substantial part derives from novelty and subvertin expectations. It's hard to make something fun for an audience that has already seen such dozens of times. - The audience('s background and expectations) is diverse and varies with time. So what's considered "fun" is audience specific and often cyclical.
- xg15 11mo agoI noticed this with companies first, though at least it always made some sort of sense that a meaningless name would make it easier to pivot. If your name is "The Database Company", but at some point find you'd rather do Blockchain and then later AI, the name might be an obstacle. If you call yourself "Gworp" in the first place, you'll have no such problem. (Though in not sure if "Mt Gox" aka "Magic: The Gathering Online Exchange" would be a positive or negative example for that)
- Dwedit 11mo agoMt. Gox is a name change done after the fact, it's just reinterpreting the original initials.
- Rumengol 11mo agoThis just feels like an old man yelling at clouds, trying to convince himself that the grass in greener in the other field. > No chemist wakes up and decides to call it “Steve” because Steve is a funny name and they think it’ll make their paper more approachable. This happens every day. In every scientific field there is a technical name and then the name everyone remembers. Nobody will understand if I speak about ENSG00000164690, but if I say it's the Sonic HedgeHog gene then it starts to make sense, because funny names are memorable. > awk (Aho, Weinberger, Kernighan; the creators’ initials) I'd like to see anyone try to defend how using the creator's initials in a tool name describe its function. Unless you researched the tool's history, there is no way to know that. Yet another "why the tools I use are the best and the tools you use suck", with a weird focus on naming instead of function.
- ozgung 11mo agoGreat post and I think this extends to machine learning names, although not that severe. Maybe it all started with Adam. When I say “I used Adam for optimization” this means I used a random opaque thing for optimization. If I say “I used an ADAptive Moment estimation based optimizer” it becomes more transparent. Using human names or random nouns has been a trend. Lora, Sora, Dora, Bert, Bart, Robert, Roberta, Dall-e, Dino, Sam… With varying capitalization for each letter. Even the Transformer. What does it transform exactly? But it gets worse. Here is a list of architectures that may replace Transformers [0]: Linformer, Longformer, Reformer, Performer, Griffin, BigBird, Mamba, Jamba... What’s going on? [0]https://huggingface.co/blog/ProCreations/transformers-are-getting-old https://huggingface.co/blog/ProCreations/transformers-are-ge...
- iankp 11mo agoI'm not sure arguing in favor of alphabet soup naming is any better. At least we ended up with semantic versioning, because originally it had also been just an expression of marketing and creativity. I don't understand even slightly why he blames Google in the article. He also forgot to propose what he believes Google should have been named. Search Engine? AWCSS? And the fact that he'd be fine with Viper and Cobra if they had backronyms points to the ridiculousness of the whole article. I'm genuinely most fascinated by how he accomplished writing that much text without the nonsense of his position dawning on him.
- pyrale 11mo agoRMS, of GNU's not Unix fame, has opinions on proper naming?
- JackFr 11mo ago> IUPAC nomenclature ensures that 2,2,4-trimethylpentane describes exactly one molecule. No chemist wakes up and decides to call it “Steve” because Steve is a funny name and they think it’ll make their paper more approachable. Well if they work for a drug company they will say “Let’s call this phlogistotheremone but sell it under the name Zyphyrax so that doctors and patients will refer to the same medication by different names.”
- officialchicken 11mo agoThere was never a plot to follow; if there isn't a better name for an editor than "vi" (because "ed" is already taken) then maybe they should try getting rid of verbs too to give it more "refreshed" branding.
- Joker_vD 11mo agoI just want an editor! Not a "viitor". Not an "emacsitor". Those aren't even words!!! Imagine calling your firm "Commerical Firm". Would this even be allowed?
- gilcot 11mo agoNo, the editor is "ex" (for extended ed…) and "vi" is it's other face… (when you call vi, it’s same as calling ex then issuing :visual command…)
- assimpleaspossi 11mo agoA lot of the issue has to do with marketing. Some people name their tool for the pizazz it might generate and gain them fame or it's an actual company motivation. Instead of a hammer is a hammer and a heavy hammer should be named "heavy_hammer". EDIT: I just noticed that the marketing angle is mentioned in the article.
- runamuck 11mo agoMy favorite - "Tech without an interesting name (TWAIN)" for scanner/ imaging drivers from the 90s.
- mkoubaa 11mo agoI could not disagree more. If you say "Ben told Mary that he would work with Scott on Jeff's house on Tuesday, but that Amy preferred Wednesday", that sentence carries a lot of meaning for the speaker and listener because those "names" have meaning to both parties. Nobody would tolerate the descriptive alternative: "General Contracting Company Owner told General Contracting Company Secretary that he would work with General Contracting Company Hired Hand #4 on Customer #22's house on Tuesday but Customer #22 Spouse preferred Wednesday".
- rco8786 11mo agoIt's literally just as hard to name things descriptively as it is to name them cutely.
- gaigalas 11mo agoI like good old names like the foobar2000 audio player. Iconic. - Starts with lowercase. - Means nothing. - Good player. https://www.foobar2000.org/ https://www.foobar2000.org/
- ndkap 11mo agoTo be honest, `awk` that the author references to as a good name, is not. It's just the initials of authors, which does not convey anything about what the tool does. It's yet another cognitive tax. And I would go further, the extremely shortened names in Linux and other places is problematic too, given that most terminals now allow name completion on tab.
- squigz 11mo agoNow? Tab completion has been a thing for decades. https://en.wikipedia.org/wiki/Command-line_completion https://en.wikipedia.org/wiki/Command-line_completion Tab completion being a thing does not take away from short, memorable names being easier to use. You'd likely end up typing more on average, due to multiple programs sharing the first few letters of their name
- djmips 11mo agoThis essay is not consistent. They ramble between company names Google ( which is a great name ) and tools like AWK which is not descriptive at all but a good name. But I do share his pain with onboarding when I joined Humungous Entertainment the tools or systems were called Sputm, Phlegm, Mucus, SPIT. There might have been a Bile. :-)
- YouAreWRONGtoo 11mo ago[dead]
- fainpul 11mo agoBy the author's standard, macOS and iOS has some pretty much perfect program names, I suppose: App Store, Mail, Photos, Music, Books, Podcasts etc.
- racl101 11mo agoI do like their straightforwardness actually.
- misterpurple45 11mo agoThe author isn’t comparing apples with apples. “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.
- teddyh 11mo ago“Have you seen the new show? It's on Tubu. It's literally on Heebee. It's on Poodee with ads. It's literally on Dippy. You can probably find it on Weeno. Dude it's on Gumpy. It's a Pheebo original. It's on Poob. You can watch it on Poob. You can go to Poob and watch it. Log onto Poob right now. Go to Poob. Dive into Poob. You can Poob it. It's on Poob. Poob has it for you. Poob has it for you.” — <https://knowyourmeme.com/memes/poob-has-it-for-you https://knowyourmeme.com/memes/poob-has-it-for-you>
- eric-p7 11mo agoGenes and species are also sometimes given ridiculous names.
- 1970-01-01 11mo agoI believe the phrase I'm looking for is hallelujah! The naming culture is beyond salvation. It crossed the line when things went from 'We invented this word to name our thing.' to 'We fused the concept of breakfast muffins in cat pictures meme to the previous application of the open source tool to name our abstract thing more accurately. That's why it's called 7Mermaids.' I remember when Yahoo had to spend a fortune on commercials asking "Do you Yahoo?!" It seems that old business lesson was completely forgotten.
- deleted 11mo ago[deleted]
- cafard 11mo ago> Early programming languages followed similar logic: FORTRAN (Formula Translation), COBOL (Common Business-Oriented Language), BASIC (Beginner’s All-purpose Symbolic Instruction Code), SQL (Structured Query Language), I believe Lisp stands for list processing. The pattern was clear: names conveyed purpose or origin. Yes and no. The Navy has or had a lot of code in JOVIAL, Jules's Own Version of the International Algorithmic Language. SNOBOL goes a long way back.
- jghn 11mo agoR followed the long standing tradition of being one letter off as it was derived from S. And its creators were Robert & Ross.
- KurSix 11mo agoDescriptive naming absolutely helps at first contact, especially when you’re scanning a dependency list or onboarding someone new. No argument there. But in practice, names stop carrying meaning pretty quickly anyway
- deeg 11mo agoI'd prefer developers make up names for their project to make it easier to search, or at least use a very uncommon word. Gradle is a good example.
- tdiff 11mo agoIm jealous of people able to write multi-paragraph text for such a simple thought.
- lunias 11mo agoThe names have always been quirky, but the new names mostly seem to be chosen for some branding / marketing reason (which I don't like). You can basically put "[any noun] javascript library" into google and find something. The space is so saturated that the names have become more and more disconnected from what they describe. Someone should go create labubu.js so people are less inclined to do so themselves. You can benchmark it with matcha (not to be confused with matcha.css).
- jrochkind1 11mo agoJust love of whimsy is part of it, not denying it. But other parts of it are that a generation or two on, a lot of the straightforward names are taken. (Also, I wouldn't say `awk` or even `grep` are good examples (as the OP admits) -- they were definitely chosen for whimsky, with, if not actually backronyms, still acronyms deisgned for whimsy). And another part of it is that so many people now have dreams of commercializing their product, so you need a "brand" name. (I guarantee the namers of the tools had no designs on commecializing grep or awk). (I have little sympathy for this one, but it's the world). I do agree with OP it is a problem for accessibility. Newcomers who haven't already memorized the mangagerie have a lot to figure out; some people's brains work differently than others and it's easier or harder for some people to remember these arbitrary names naturally; I'd guess it can be especially hard for non-native English speakers, but maybe it's all Greek (ha!) to them anyway, so. When i have tried to name things plain though, I often have trouble -- we want something clear, but also relatively short (especially if it's going to be in namespace or other identifier names and be typed a lot!) -- and not already taken in popular consciousness or the package managers we'll need etc, and often I have trouble finding such!
- didibus 11mo agoI think it's because if you always used a descriptive name you'd end up with multiple tools with the same name.
- everdrive 11mo agoThis is a pretty tangential to the article but Debian is just about the worst there is here. An application will be given a friendly name in an attempt to make it more user friendly. (eg: gedit is called "Text Editor") But, there is often no way whatsoever to map the friendly name back to the actual package name. Want to uninstall gedit? Well if you don't already know what it's called, good luck.
- seniortaco 11mo agoThis author has lost the plot.
- 1-more 11mo agoThis is a norm to the point of being a rule for Elm packages. The names are things like elm-csv, elm-json-decode-pipeline, elm-iso8601-date-strings. There's a strong preference in the community to name a package for exactly what it does, and differentiate on the author namespace if needed e.g. you may choose among coreygirard/elm-nonempty-list, mgold/elm-nonempty-list, and v-nys/elm-nonempty-list depending on which meets your needs best I remember working on a ruby project and running into some problem with our env setup tool and just hitting "could not find nokogiri" (or an error to that effect) over and over and getting a little mad that I had to read this cutesypoo not-at-all descriptive name over and over while failing to get a danged website to run. --- To be sure, there are in-the-know parts of all the package names I just listed: what does JSON stand for? What does CSV stand for. What is the ISO and what is 8601? I guess the idea there is the descriptiveness ends at the edge of the language; the package name is too short a field to explain Javascript Object Notation, Comma Separated Values, or the ~~International Standards Organization~~ ok actually it's from "isos" meaning "same" date format.
- xp84 11mo agoI’m glad you cited Ruby, as it’s definitely the exact opposite of what you said about elm. Every damn gem has an idiotic cutesy name. I think it’s one reason why every mature Rails project I’ve seen in the corporate world has direct dependencies on five or six different http client wrappers. New developers would look in the Gemfile, find no “http” anything, then google “ruby gem http client” and, since that happens to be a diverse category, eventually developers will find and add all such libraries. I’m hoping that with AI, maybe this will be less common, because an AI agent should easily see that you have, say, Faraday installed already, and not bring in the noob magnet that is httparty.
- superfrank 11mo ago> Same thing applies to other fields like chemical engineering [...]. No chemist wakes up and decides to call it “Steve” because Steve is a funny name and they think it’ll make their paper more approachable. 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
- just6979 11mo ago"“We’re using confman for configuration management, which feeds into climan for the CLI, and then wsconn handles our WebSocket connections, permgr manages permissions, all through jqueue for our job queue”" This is better? Is this Highlander, there can only be one of each thing? What about variations of those tools... cman2? confman? cfigmgr? Naming projects, and hence tools, is often just as much about namespacing as meaning. There _will_ be more than one of most non-trivial tools/projects, and not every configuration manager can be called "confman" (if that's even really a "good" name"). And part of it _is_ connecting utility to an "appelation": calling "your MIT-licensed file parser with 45 GitHub stars" just "parser" practically gaurantees you'll never get that 50th star, because there are already a bunch of "parser" projects and there is no reason for someone to ever find yours. "Each one demands tribute: a few seconds of mental processing to decode the semantic cipher. Those seconds accumulate into minutes and effort, then career-spanning mountains of wasted cognitive effort." No they don't, because you're _not_ doing that processing every time. Just like "grep" makes perfect sense _now_ because you've used it forever, once you're working on a project then something like "cobra" immediately maps to "the cli library". It might take a secon the first couple times, but humans are good at this internalizing kind of abstraction, and programmers are damn amazing at it. The unix tools example is really terrible. "I used grep to examine the confs in etc and then cat to combine them before processing with sed and awk and tarballed the output to be curl'ed to the webdav server." Those are only intuitive because you know them already. "sed" for "stream editor"? Come on, it's not called that because it's a good name. Why not strmed, or even streameditor?. Simple, actually intuitive. It's because 'sed' was the bare minimum to be a short as possible while being unique and just memorable enough. Awk is an even better counter-example to the article's claim: it's just names, makes no sense! Has literally _nothing_ to do with what it does. "the Golden Gate Bridge tells you it spans the Golden Gate strait." Umm, no it doesn't tell you that. Does the Brooklyn Bridge span the Brooklyn strait? George Washinton Bridge? Bridges are not exclusively named by that which they span, and software is not exclusively named after exactly what it does.
- plutokras 11mo agoI’m 100% with OP on this. So many posts on the front page have names like “Hamburger — a tool for doing a thing.” These names are neither memorable nor distinctive, good luck trying to look them up later.
- tripdout 11mo agoAnd the species of flies "Phthiria relativitae" was named as a pun on "Theory of relativity" and "Reissa roni" after "Rice-A-Roni".
- ndarray 11mo ago> Your HTTP client, cli utility helper, whatever library is not a consumer product. > (...) Every person who encounters your “fun” name pays a small tax. Across the industry, these taxes compound into significant waste Devs who build FOSS utilities owe you, or the industry, absolutely nothing. As someone who lists Noam Chomsky under "Some works I recommend engaging with", you sure seem to think capitalists are entitled to people's free work, to the point where you start making demands.
- replete 11mo agoCodenames are good identifiers when lots of projects exist. There are more software projects now than EVER. I welcome Splorg, Chizzel, Rapunzel, Brap, Titoid, and Chungus - I don't care as long as it's good.
- rk06 11mo agothe problem with technical software names is that they are either too long, too pointless, do not die when underlying tool goes through re-incarnation(looking at you angular) or worse, too important to be wasted on a lesser quality project (looking at you react-router). in my company, we have a tool whose technical name was four word long, and has just as much cognitive load as any technical name. one of my biggest contribution to that project was to Name it.i gave it a simple name, with zero relation to tech or any software and suddenly our PMs, Managers, Users can pronounce it and can actually type it correctly and of course recall it's name flawlessly. so, at least from my experience, having a small, easy to pronounce name is more important than having technical name. Moreover having a name with all of the qualities is definitely desirable, but there are many projects in world and not that great names. and many Great names (looking at you, Vue.js) are either already taken or beyond my naming skills