# I'm thinking of getting out of the software business



## drhowarddrfine (Feb 15, 2022)

There is a GraphQL server called Hot Chocolate that can use a web socket client called Strawberry Shake. I often see other similarly named libraries and packages. 

It's difficult to be serious anymore.


----------



## SirDice (Feb 15, 2022)

Naming things isn't my strongest forte either. It's difficult to think of a proper name for a project. Especially when all the "cool" ones are already taken.


----------



## eternal_noob (Feb 15, 2022)

The once was a german Facebook clone for dog owners (now offline).

facedog.de

I lol'd so hard.


----------



## covacat (Feb 15, 2022)

rebranded to hundemeta.de


----------



## mer (Feb 15, 2022)

"Thing That Does Something" TTDS
"Another Thing That Does Something Else" ATTDSE
"Yet Another Thing That Does Yet Something Else"  YATTDYSE

The problem is "cool", much like beauty, is in the eye of the beholder.    How many engineers have been forced to sit through a presentation of the "brand new company logo and slogan that we paid marketing company lots for", that when revealed, you go
"We paid for that?  What the heck is it?  My 3 year old could do better".


----------



## zirias@ (Feb 15, 2022)

I'm all for good old boring names. My tool for accessing a Unix socket from remote is called remusock (remote unix socket). Oh, well.


----------



## 6502 (Feb 15, 2022)

drhowarddrfine said:


> There is a GraphQL server called Hot Chocolate that can use a web socket client called Strawberry Shake. I often see other similarly named libraries and packages.
> 
> It's difficult to be serious anymore.


I remember Silverlight (from Microsoft). It was example of "bad" name. What means Silverlight and what is the real product...

But I think Silverlight and Hot Chocolate are better than Telegram. Because Telegram changes the meaning of popular word which has relation with its work. Abstract names are better even if they do not sound seriously. Imagine that Skype name is not Skype but Phone. You want to talk about phone as hardware and people think for the software - you need to specify every time.


----------



## bakul (Feb 15, 2022)

Anyone remember Microsoft Bob?


----------



## ralphbsz (Feb 15, 2022)

Yes. And Mrs. Bob (who then became Mrs. Bill, and is now single again).


----------



## bakul (Feb 15, 2022)

I bet Bill still rues Bob


----------



## sko (Feb 15, 2022)

That's what I like about the BSDs and especially OpenBSD - they just name it by what it is. On OpenBSD the most crazy thing you may find is an "Open"-suffix to the name...
The HTTP daemon? httpd. SMTP? smtpd. SNMP? snmpd. BGP? bgpd. The tool to control it? bgpctl. Etc. pp...

Yes, it's boring - but boring is good if you just want/need something that just does it's job and is easy to find when things go bad and everyone is screaming. I absolutely hate it if some "boring" tool/service is named completely unrelated to what it does and you have to start a mid-sized forensic investigation to find it or find out what this thing does that is maxing out your CPU or eating your RAM. (especially if there is no same-titled manpage as with many "linux toy projects" that creep into other systems...)

From my observation over the last ~20 years (and nearly 15 of them making a living in this whole mess as a sysadmin), usually most of those silly-named "hip", "bleeding-edge" and "game-changing" software/tools/framework/whaterver disappear as fast as they came and get replaced with the next best thing that has an even more embarrassing name. So no need to use any of those - they are never here to stay. Just stay with the serious ones that are named (and documented!) properly.


----------



## mer (Feb 16, 2022)

sko  Your last paragraph, some serious "truth" in it


----------



## eternal_noob (Feb 16, 2022)

Zirias said:


> remusock


Always reminds me of one of the socks of the Harry Potter character Remus Lupin.


----------



## Hakaba (Feb 16, 2022)

I like pun like `more` and `less` or `yacc` and `bison`.
This is a tradition, private joke or/and computer science culture.
Today a cool name is from marketing staff. That let for me a taste of facility.
Names that are not related to existing tools or what the tool do is boring for me.

But there is still cool naming today. I like  Bastille to manage jails in FreeBSD.
We, tech people, still have this sense of humor ! (Not me, but I have no doubt about you).


----------



## 6502 (Feb 16, 2022)

sko said:


> That's what I like about the BSDs and especially OpenBSD - they just name it by what it is. On OpenBSD the most crazy thing you may find is an "Open"-suffix to the name...
> The HTTP daemon? httpd. SMTP? smtpd. SNMP? snmpd. BGP? bgpd. The tool to control it? bgpctl. Etc. pp...


I don't agree. Products have to have their unique "personal" names, not descriptive. If a tool name is "Email client" or "IMAP client" - what will do other 50 competitors when the name is already reserved. And on the other hand what is the chance to find the site of "IMAP client" software if there are 100 times more pages which use it as type of software / noun.


----------



## drhowarddrfine (Feb 16, 2022)

6502 said:


> what will do other 50 competitors when the name is already reserved.


Not name it "strawberry shake".


----------



## sko (Feb 16, 2022)

6502 said:


> And on the other hand what is the chance to find the site of "IMAP client" software


`man imapclient`

If a tool has a proper manpage you don't need to sift through dozens of pages of search engine garbage...


----------



## shkhln (Feb 16, 2022)

How many of you read this thread in Firefox?


----------



## shkhln (Feb 16, 2022)

Personally, I'm all for number-object-number-object patterns, but I might be showing my age here…


----------



## 6502 (Feb 16, 2022)

drhowarddrfine said:


> Not name it "strawberry shake".


Apple (Computer), Raspberry Pi ... then Strawberry shake. No significant originality. The main difference is the product behind the name. If the product is significant then the name sounds cool and smart.


----------



## drhowarddrfine (Feb 16, 2022)

6502 Those are product names for advertising, not technical. When you think of technical names for utilities on FreeBSD, Unix, etc., you see things like grep, dd, awk, etc. Nowadays you still see things that make sense like npm. I'm always suspicious of any utility with cutesy names like this when you're not selling something (and even if you are).


----------



## sko (Feb 16, 2022)

I have to admit there are some nice marketing names - e.g. "SPARC T1000" still sounds badass.

But especially for technical stuff I absolutely don't get it why more and more things have to be named like they put some 8 year old girl on a sugar rush in charge.


Still - for bare-bones bread-and-butter tools I just want clear, technical and descriptive names so I instantly know what they do. To a certain degree I'm OK with acronyms or puns on their (technical/functional) origins or function, like e.g. iocage/iocell for jail management or rEFInd which "finds EFI loaders". But if those names are too far fetched this can also become annoying very quickly, especially if every part of a software gets another ridiculous name - just look at the hadoop ecosystem for example: pig, sqoop, oozie, flume... why should this stuff be taken seriously if it all sounds like it belongs on a childrens toy computer?
A descriptive name also helps with remembering it when you only use it occasionally - I more than once tested some tool I really thought would make a nice addition to my toolset, but it had a purely fictional marketing-name that I forgot 2 days later and hence never used it again.


----------



## 6502 (Feb 16, 2022)

OK but what to say for poudriere? It sounds similar to (serious like) chocolate. When you mention 8 year old girl, I don't know what to say for FreeBSD logo. Is it for 50 year old professionals?


----------



## eternal_noob (Feb 16, 2022)

6502 said:


> poudriere


poudrière is french for "time bomb".


----------



## sko (Feb 16, 2022)

eternal_noob said:


> poudrière is french for "time bomb".


wasn't it more like powder keg?

Anyways - both are rather descriptive as I have WAY more builds blowing up when trying to use poudriere than just manually running "make" (or using portmaster) inside a build jail...

But yes, I also struggled to remember that name in the beginning... some other variant of "port<something>" would be better IMHO


----------



## blind0ne (Feb 16, 2022)

I'm actually paying for "courses" to "write code" in infinite loop. It's looks like I'm in hell of squalor. Hope that the life in only one and won't repeat again.


----------



## SirDice (Feb 16, 2022)

sko said:


> wasn't it more like powder keg?


The old tool they used to build packages (before PKGNG) was called 'tinderbox' (ports-mgmt/tinderbox). With that in mind the 'poudriere' name suddenly makes a lot of sense as it's the French translation of 'tinderbox'.


----------



## astyle (Feb 16, 2022)

Has anyone seen the SmartyPants port (textproc/py-smartypants)? or even this thread:









						Schedule driven GPIO events
					

I want to use GPIO outputs to drive an IOT Power Strip. https://www.sparkfun.com/products/14236  My question is about triggering scheduled events. For instance I want to issue a GPIO command to turn a pin on and off on a schedule.  So I could use cron but would like to avoid system utilities...




					forums.freebsd.org
				



blind0ne : Stop paying for Ruby courses, and go play with lex/YACC. It does exactly the same things as Ruby, uses the same logic, BTW  Most of those "Hot new languages" are really re-inventing the wheel anyway.


----------



## SirDice (Feb 16, 2022)

I wouldn't call Ruby "hot and new", it's almost 30 years old now. Ruby-on-Rails is quite interesting, many modern web frameworks actually mimic lots of the features that were first introduced with RoR.


----------



## astyle (Feb 16, 2022)

sko said:


> wasn't it more like powder keg?
> 
> Anyways - both are rather descriptive as I have WAY more builds blowing up when trying to use poudriere than just manually running "make" (or using portmaster) inside a build jail...
> 
> But yes, I also struggled to remember that name in the beginning... some other variant of "port<something>" would be better IMHO


My builds are not exactly "blowing up", but I'm still stuck on getting Poudriere's updates to be visible to `poudriere bulk`  I'm on the verge of giving up because of that.


----------



## 6502 (Feb 16, 2022)

Now I understand that Ruby and Ruby on Rails are not the same. Ruby on Rails is my favorite for strange names.


----------



## SirDice (Feb 16, 2022)

6502 said:


> Ruby on Rails is my favorite for strange names.


Maybe you want to have a look at Brainfuck. Yes, that's an actual programming language.


----------



## drhowarddrfine (Feb 16, 2022)

SirDice said:


> Maybe you want to have a look at Brainfuck.


The very definition of low-brow programming. There was no need to call it that.


----------



## mer (Feb 16, 2022)

drhowarddrfine said:


> Nowadays you still see things that make sense like npm.


I think this is the nicest thing anyone has said about npm.


----------



## bakul (Feb 16, 2022)

You guys may be interested in reading this page: https://justine.lol/sectorlisp2/ (Lisp in 436 bytes, brainfuck in 99 bytes).


----------



## astyle (Feb 16, 2022)

drhowarddrfine said:


> The very definition of low-brow programming. There was no need to call it that.


What would you call something that is Turing-complete, and yet such a Turing Tar pit?


> Brainfuck is an example of a so-called Turing tarpit: It can be used to write _any_ program, but it is not practical to do so, because Brainfuck provides so little abstraction that the programs get very long or complicated.


Edit: Poudriere is slowly becoming a brainfuck for me...


----------



## drhowarddrfine (Feb 16, 2022)

astyle said:


> What would you call something that is Turing-complete, and yet such a Turing Tar pit?


Not what it's called.


----------



## astyle (Feb 16, 2022)

drhowarddrfine said:


> Not what it's called.


You made it abundantly clear you don't like the name, drhowarddrfine ... do you have a constructive alternative name in mind?


----------



## SirDice (Feb 16, 2022)

Well, trying to read that ROT13 example on the wikipedia page almost gave me a brain aneurysm. So I think the name suits it just fine.


----------



## bakul (Feb 16, 2022)

drhowarddrfine said:


> The very definition of low-brow programming. There was no need to call it that.



It is actually more aptly named than "Hot Chocolate" for a GraphSQL server!

From its wikipedia page: "The language's name is a reference to the slang term _brainfuck_, which refers to things so complicated or unusual that they exceed the limits of one's understanding."
From Urban Dictionary: "1. Verb: To fuck with the mind/head, to toy with one's thoughts of reality; to cause a state of confusion and befuddlement."


----------



## ralphbsz (Feb 16, 2022)

drhowarddrfine said:


> The very definition of low-brow programming. There was no need to call it that.


How about Intercal? It's an abbreviation of "Compiled language with no pronounceable acronym". The important thing is: Both brainfuck and intercal are jokes, not meant to be actually used.

Speaking of things that are used: A few people above lauded the logical naming of programs in the Unix and *BSD tradition. It's actually less logical than you think, and contains lots of jokes. rm makes sense, abbreviation for remove. ls is an abbreviation for list, as is cp (copy), ln (link), mv (move), ps (process status). touch, test, uniq, sort, who and echo are intuitive. But cat is already inside joke: It's named after a Lisp keyword, which in turn is named after the assembly instruction on some ancient machine. awk is not named for its functionality, but for its three authors (Aho, Weinberger, and Kernighan). dd is a joke about a statement from IBM's job control language; the way parameters for dd are stated (which is massively not unix-like) is directly taken from JCL. grep is not named for its functionality, but for the equivalent editor command that it replaces. So inside jokes have a long tradition in software engineering.

Do I like that tradition? Personally, no. I would prefer to have logical names: delete instead of rm, search instead of grep, processtext instead of awk, rawcopy instead of dd, and so on. But I don't make the rules around here.


----------



## mer (Feb 16, 2022)

Logical names for commands/programs are good, makes it easier to figure out what you need.
But even the traditional names in Unix and *BSD are easier to remember than "which tab in which GUI thing do I need to look on for this data".


----------



## hruodr (Feb 16, 2022)

ralphbsz said:


> Do I like that tradition? Personally, no. I would prefer to have logical names: delete instead of rm, search instead of grep, processtext instead of awk, rawcopy instead of dd, and so on. But I don't make the rules around here.


That names are too long. Unix two letter names have a sense.


----------



## bakul (Feb 16, 2022)

ralphbsz said:


> But cat is already inside joke: It's named after a Lisp keyword, which in turn is named after the assembly instruction on some ancient machine.


cat() comes from concatenate, not from Lisp's car and cdr functions, which are named after IBM 704 assembler macros.


----------



## kpedersen (Feb 16, 2022)

ralphbsz said:


> Do I like that tradition? Personally, no. I would prefer to have logical names: delete instead of rm, search instead of grep, processtext instead of awk, rawcopy instead of dd, and so on. But I don't make the rules around here.


These longer names would cause some serious slowdown to those proficient with the command line (they would all need to be aliased basically).

Also the following to me have a couple of issues:

*search* - would this then need to merge the find & grep tool? Both effectively "search" things.
*processtext* - Awk can do a little bit more than this. Would Python be renamed to extensibleprocesstext?
In some ways I would rather a more abstract name (i.e floopy, poofle, dudu) rather than a name that conflicts with other tasks.

I kind of feel that Powershell is what you get if you go with long logical names. I.e `Get-Childitem –Path C:\ -Recurse`. It just end up being a pain to use in practice. It would be very interesting though to present it to a complete beginner and see which they would choose after a couple of weeks.

At first I thought it was funny, how awkward Microsoft had made powershell. But I later realized it can't be an easy task to design a naming system of an entire CLI platform. They obviously just went with "Oh, lets make it easy; this will get us money". But in fact it ended up showing off just how impressive a job the UNIX forefathers managed as an almost first attempt.


----------



## drhowarddrfine (Feb 16, 2022)

astyle said:


> do you have a constructive alternative name in mind?


No. It's never on my mind.


----------



## bakul (Feb 16, 2022)

ralphbsz said:


> How about Intercal? It's an abbreviation of "Compiled language with no pronounceable acronym".


From Don Wood (one of the creators of INTERCAL): "I think we actually started with the name INTERCAL. I'm not sure where it came from; probably it just sounded good. (Sort of like FORTRAN is short for "Formula Translation", INTERCAL sounds like it should be short for something like "Interblah Calculation"). I don't remember any more specific etymology. Then when we wanted to come up with an acronym, one of us thought of the paradoxical "Compiler Language With No Pronounceable Acronym."

Years ago I worked with Jim Lyon, the other creator of INTERCAL, for about 2 years though lost track of him since then. An excellent programmer.


----------



## astyle (Feb 16, 2022)

ralphbsz said:


> How about Intercal? It's an abbreviation of "Compiled language with no pronounceable acronym". The important thing is: Both brainfuck and intercal are jokes, not meant to be actually used.
> 
> Speaking of things that are used: A few people above lauded the logical naming of programs in the Unix and *BSD tradition. It's actually less logical than you think, and contains lots of jokes. rm makes sense, abbreviation for remove. ls is an abbreviation for list, as is cp (copy), ln (link), mv (move), ps (process status). touch, test, uniq, sort, who and echo are intuitive. But cat is already inside joke: It's named after a Lisp keyword, which in turn is named after the assembly instruction on some ancient machine. awk is not named for its functionality, but for its three authors (Aho, Weinberger, and Kernighan). dd is a joke about a statement from IBM's job control language; the way parameters for dd are stated (which is massively not unix-like) is directly taken from JCL. grep is not named for its functionality, but for the equivalent editor command that it replaces. So inside jokes have a long tradition in software engineering.
> 
> Do I like that tradition? Personally, no. I would prefer to have logical names: delete instead of rm, search instead of grep, processtext instead of awk, rawcopy instead of dd, and so on. But I don't make the rules around here.


There's also `/bin/kill - 9 <pid-of-/bin/cat /usr/libexex/more.a>`


----------



## ralphbsz (Feb 17, 2022)

bakul said:


> cat() comes from concatenate, not from Lisp's car and cdr functions, which are named after IBM 704 assembler macros.


Sorry about that ... confused.


----------



## ralphbsz (Feb 17, 2022)

hruodr said:


> That names are too long. Unix two letter names have a sense.


Which is why good operating system shells allow entering just the part of the name that is enough to be unambiguous, without having to tab complete. And then the people who design the shell carefully think through which commands are commonly used, and give them names are unambiguous after very few characters.

Ever run DCL on a VMS machine?


----------



## baaz (Mar 15, 2022)

PyPy and PyPi both are pronounced the same but do somthing completely different


----------

