News for hackers. Stuff that matters.
Re:Visual Git by steventhedev on Monday November 01, 2021 @02:49AM (#29063726)
Git is split into two parts: the plumbing, and the porcelain. It's a toilet metaphor. You don't directly work with the plumbing unless you really know what you're doing.
Re:Visual Git by watt on Monday November 01, 2021 @03:52AM (#29064032)
The porcelain is where you shit into (the "porcelain throne"), and it implies that the pipes too are all full of shit.

I think this terminology was not well thought through. It's somewhat degrading.

Re:Visual Git by simondotau on Monday November 01, 2021 @05:09AM (#29064425)
How is it degrading? Everyone poops.

Porcelain bathware (sinks, baths, toilets) and sewer plumbing is a perfect metaphor for the distinction between UX and underlying infrastructure. Despite the simplicity to which they are connected together, one is a near-universal experience and the other is a massive layer cake of specialist engineering that very few laypeople understand.

Re:Visual Git by omnicognate on Monday November 01, 2021 @04:46AM (#29064300)
It's called git, and Linus knew exactly what he was doing when he named it. I doubt he cares a jot if the plumbing/porcelain metaphor icks you out a bit.
Re:Visual Git by andai on Monday November 01, 2021 @11:01AM (#29067486)
> I'm an egotistical bastard, and I name all my projects after myself. First 'Linux', now 'Git'.

https://git.wiki.kernel.org/index.php/GitFaq#Why_the_.27Git....

Re:Visual Git by berkes on Monday November 01, 2021 @04:57AM (#29064360)
> that the pipes too are all full of shit

And I'm always hoping that this is a small jab at my, and everyone's code (the stuff in the git-pipes) by Linus: it's shit.

Re:Visual Git by austinjp on Monday November 01, 2021 @04:08AM (#29064128)
Well, the bath and the sink are also porcelain.

The plumbing is hidden (unless you go looking for it) while the porcelain is what you interact with day-to-day.

Re:Visual Git by HelloNurse on Monday November 01, 2021 @10:26AM (#29066966)
And even more meaningfully for tool authors, the plumbing is very long-lived and general-purpose, with basic objectives like not leaking and not breaking down, while the porcelain is rather easily replaceable, possibly specialized, "smaller" but more complex than plumbing, with meaningful user interface (in Git's case, specifically, designing commands that are unlikely to do harm, easy to understand and efficient after they have been learned) and significant dependence on tastes and environments.
Re:Visual Git by _ph_ on Monday November 01, 2021 @06:36AM (#29064981)
Thanks, that I am not the only one that is put off by the terminology.
Re:Visual Git by kzrdude on Monday November 01, 2021 @04:52AM (#29064332)
plumbing is just thoroughly necessary in the home and the city, there's no reason to think of it as a bad thing.
Re:Visual Git by _ph_ on Monday November 01, 2021 @09:38AM (#29066498)
No, plumbing isn't a bad thing. As I generic term I might use it myself. The porcellain part though moves it clearly to the toilet topic, and that part I find unfitting. And the original poster just didn't understand what was meant with the differentiation between the porcellain and the plumbing. Which caused me to comment that software authors should be a bit more carful when naming things. What starts as a inside joke might not be well understandable by outsiders and off-putting in the extreme cases. After all, naming is about being understood.
Re:Visual Git by _ph_ on Monday November 01, 2021 @03:17AM (#29063848)
That is one thing authors of open source software should learn: while it might be fun to have clever insider terminology, when publishing, come up with terms which are unabigous to understand. Also, don't use terms which might be off-putting or even offensive to some.
Re:Visual Git by RobertRoberts on Monday November 01, 2021 @03:25AM (#29063889)
The term "plumbing" is so common of a term in the US (maybe Britain also) to refer to "inner workings" of anything at that to be offended by it implies manufactured outrage with dubious motives.

This guy is sharing his work of his own free will and deserves respect and owes no one anything at all.

A recent news topic you should review on this:

https://news.ycombinator.com/item?id=16631476

[Edit. Removed slightly inflammatory statement]

Re:Visual Git by _ph_ on Monday November 01, 2021 @03:51AM (#29064024)
It is more the explicit reference to toilets, which also drags the term plumbing into it, as I cannot think of something else than sewage in this context. I don't find the term plumbing by itself off-putting.

And it certainly isn't about being offended by "other people's culture". I talked to enough americans who shared my sentiment. And as we see here in the discussion, it just wasn't understood. That was the other part of what I wrote: even if the term might be completely innocent, it might be difficult to understand for outsiders.

It is not, that I haven't been guilty myself of bad naming in my projects. It can be fun or even convenient to come up with "insider" terms. But as soon as you have to communicate with outsiders to the project, the tend to bite you, even if there is no offensiveness about it.

Naming is one of the hard problems in software engineering :)

Re:Visual Git by bmn__ on Monday November 01, 2021 @03:48AM (#29064005)
Let's see how this sounds when we flip it around.

"That is one thing news aggregator commenters should learn: while it might be fun to just put one's ignorance on display for the world to see, when publishing, come up with a modicum of curiosity and willingness to learn about and engage with for the craft and its culture that one is part of."

Re:Visual Git by _ph_ on Monday November 01, 2021 @03:58AM (#29064068)
Sorry, I have difficulties parsing your statement. While the term plumbing might be understandable by itself, porcellain certainly isn't, until you are explained the metaphor of porcellain and plumbing in this context. It just isn't efficient to come up with new terms for things which have to explained to any newcome to the project. As I wrote in another post, it is nothing I haven't been guilty of myself, but am trying to avoid.
Re:Visual Git by bmn__ on Monday November 01, 2021 @07:33AM (#29065386)
> I have difficulties parsing your statement

The underlying idea is: as a hacker, and as a first step, the onus is on you to come up with the explanation‡ yourself, not expect the burden of education on somebody else's back to be carried towards you. Same goes for other (potential) git users in a similar situation. It is okay to disagree with this, but then one would mark oneself as a member of the out-group. HTH; HAND

‡ We are blessed to live in the information age. The explanation is abundant and easy to find, literally within seconds: <https://git-scm.com/book/en/v2/Git-Internals-Plumbing-and-Po...> <https://stackoverflow.com/questions/6976473/what-does-the-te...>

Re:Visual Git by gramie on Monday November 01, 2021 @10:05AM (#29066722)
You could have just said "RTFM" to be condescending and concise.
Re:Visual Git by bmn__ on Monday November 01, 2021 @01:23PM (#29069864)
Willing to learn and improve. How would you express what I wanted to say?
Re:Visual Git by tubby12345 on Monday November 01, 2021 @09:56AM (#29066653)
People are so entitled that they demand 1000s of hours of free (OSS) dev and aesthetics that please them.

If the name is off-putting to you, you're free not to use it. If lots of people agree with you (that the off-putting name is more significant than the contribution) then the market will have spoken and the tool will die.

But if it doesn't die then you should probably reconsider your hang-up.

Re:Visual Git by _ph_ on Monday November 01, 2021 @12:38PM (#29069165)
You completely misunderstood the intention of my posting. I feel no entitlement to use git. My posting was meant as a comment about practises in programming. Being a long-term developer, I know about all the temptations about funny names, insider jokes, sometimes inappropriate humor. And yes, they are can be fun. But at some point it might be a good idea not to expose all of this to the public. That it is a good idea to try to use appropriate terms for things. Makes it easier to understand.
Re:Visual Git by tubby12345 on Monday November 01, 2021 @12:53PM (#29069408)
And you completely misunderstood the intention of my response: people should try to look beyond their own fragile sensibilities the contribution rather than the aesthetics. Barring that they should just pass (instead of criticizing).
Re:Visual Git by rswail on Monday November 01, 2021 @11:19AM (#29067832)
The guy came up with git over a weekend. The same guy wrote an operating system and named it after himself. In-jokes and easter eggs are famous in software engineering.

Linus is the original author of two foundational pieces of software technology in use today. I think he can name things whatever he wants.

If you're offended by the terminology of plumbing and porcelain because you can only think of toilets, then I suggest you look around your bathroom and consider what the basins are made of, or the bidet, or some bathtubs.

It's a perfectly valid extension of the "plumbing" term meaning the underlying infrastructure, while porcelain is the way users interact with the system.

When I do "man git" the first two lines are:

    NAME
         git - the stupid content tracker
Further down in that manpage is:

      GIT COMMANDS

         We divide Git into high level ("porcelain") commands and low level ("plumbing") commands.
Re:Visual Git by pintxo on Monday November 01, 2021 @05:14AM (#29064473)
Communication is dependent on context. If two people do not share any context, nothing will be unambiguous. As sender it's impossible to know the context off all recipients beforehand.
Re:Visual Git by _ph_ on Monday November 01, 2021 @05:31AM (#29064573)
Without any context, communication is difficult indeed. But the context here is general IT, a lot of context is established there and can be anticipated by any "sender".
Re:Visual Git by diesal11 on Monday November 01, 2021 @03:43AM (#29063980)
Naming things can be hard.

How would you describe the distinction between these two command types?

Re:Visual Git by _ph_ on Monday November 01, 2021 @03:55AM (#29064050)
How about "infrastructure" and "interface"?
Re:Visual Git by zufallsheld on Monday November 01, 2021 @04:44AM (#29064289)
Infrastructure is certainly not unambiguous here.
Re:Visual Git by _ph_ on Monday November 01, 2021 @05:29AM (#29064564)
Less than "porcellain", which doesn't have an obvious meaning in this context. Other terms could be "implementation" or "internal".
Re:Visual Git by rswail on Monday November 01, 2021 @11:20AM (#29067844)
From the primary git manpage:

      GIT COMMANDS
         We divide Git into high level ("porcelain") commands and low level
         ("plumbing") commands.