Discussion of Project Structure (arising from 'future of yaml' thread.)

Thank you I did include bram as a major contributor to the frontend code. Ultimately there is a limit of 10 people I can tag in a post do I had cut some of the @'s.

I didn’t know bram was an employee of nabu casa. It seems that the only way to know these things is???

Bram was announced in a blog post, publicly on the Home Assistant homepage.

1 Like

The top 3 reasons that come to my mind:

  1. Converting from and to yaml comes with a performance penalty. Not huge (depending on the machine obviously though), but it’s present.
  2. The conversion will re-format / re-order the data (and remove comments). Have a look at the UI-generated automations (the yaml where they are stored). A tidy, structured, manually created, automation will become what you see there. People would complain with “Why is my yaml so messed up now? And where did my comments go?”.
  3. There’s no benefit in storing data in a human readable format if it’s not meant for humans to interact with.
1 Like

They are listed at the Nabu Casa website

That is a funny way to look at it. The ADR was open to public discussion for two hours before it was merged. It completely ignores Strategy for config methods · Issue #143 · home-assistant/architecture · GitHub which had ongoing discussion and where balloob once stated “Our goal for every integration is to have a config entry […], configurable via the UI, overridable via YAML.”

3 Likes

That ADR has been created with the core contributors in the week before that. It was shared with them and opened up for discussion. You are part of that same group @amelchio. You haven’t responded on the discussions…

I assume there was a typo or language issue there. :wink:

I know about tagging being frowned upon, but I thought a discussion about project structure would be highly relevant to you and the others tagged in. I usually only do it if really necessary to draw someone’s attention to a particular issue.

I was not espousing weird theories on NC. Others are, and their ideas need to be dispelled because I am with you on believing those theories are weird. But if you want to dispel those ugly thoughts, my proposal is simply that a bit of structure and accountability might help in stopping people thank those silly things.

Clearly there are people who think that their choices are being taken away by a few at the ‘top of the chain’ - some sort of structure around strategic decision making might help you guys.

Even appoint a community liason person who is not so much a coder, but can explain these things to the users without distracting dev time. Like answering the simple question about “why json as opposed to yaml”. Asking that question is not about weird theories, it is a genuine question.

Believe it or not @frenck I am on your side. I want to help getting the project on an even keel so as to stop the silly arguments and help communication and opennesss. Coders are not always the best communicators. If I was busy coding, I wouldn’t be wanting to answer repetitive silly questions, get someone else to do it.

Probably, but I didn’t rememebr that particular post nd didn’t know where to find out.

And now I do.

Thank you very much, although I must say that the first point pre-supposes that json is needed in the equation at all. Maybe it is easier for coders to work in json than yaml. These are things that I, as a non dev, don’t know. Thank you again.

The forums are not the place for that.
I’ve flagged your mass tagging and will hide it.

Bed time now. Of course when I leave the room the kitchen media player will turn off so as not to keep the household awake all night. When I shower the temp and humidity will rise in the bathroom, which (when I install a fan) will trigger certain automations to clear the air). All thanks to the devs of this wonderful software. Cheers.

1 Like

yaml always has to be converted for code to work with the data. And json as well. But json is much closer to the native data type that Python is using. Think of it this way: yaml is json with applied formatting. The formatting is just eye candy that comes at a price.

1 Like

I wanted to like you, I really did. But that is before you became so aggressive. What the hell?

What is the place for it then?

6 Likes

I told you it ain’t appreciated to mass tag everybody. You confirm you are aware, making it a deliberate.

Feel free to open up an architectural issue with a suggestion for a change on project structure. Or continue discussion here with anybody deciding on their own to join the discussion or not (instead of being pulled into it).

Thank you, this is helpful. Very much so.

So, to summarise this thread:

The decisions are discussed in the architecture repo, except the ADR in question which was discussed behind closed doors. (source: Frenck)

The things that do get discussed in the architecture repo, even by senior devs, are unstructured and generally ignored unless Baloob is interested. This policy has caused very well regarded senior devs to stop contributing. (source: Amelchio)

When a certain person says he respects others opinion, tries never to be rude and is open to discussion. They actually mean the exact opposite. (game: guess who!)

@nickrout - I appreciate your time and effort to get to the bottom of this, but I think it’s a lost cause. These answers aren’t coming anytime soon.

6 Likes

If you like to think of that that way. Sure. Go ahead.

There have been multiple architecture issues and discussions on the matter and now has been resolved using that ADR which has been set up with the core contributors. As it protects them for decisions they made and have been attacked for. It involved architectural and technical consequences mainly.

Sorry we have not consulted you personally. But to be honest, considering your attitude and comments in general, I’m frankly amazed to still see you around here. If you hate it all so much, maybe it is time to move along in that case.

Change. Doesn’t make everybody happy, never will.

I think of it that way because that what you said in this thread.

Another core contributor has stated in this thread that such discussions didn’t make any difference.

I never asked to be. I’ve actually not objected to this change. All I’ve been pointing out all along is that some of the ways things are done here are a bit ‘cloak and dagger’ these days, and that it makes people a bit suspicious, and maybe if the senior devs were a little more open with the community those suspicions would be allayed.

I don’t hate it, I love it. I also have a responsibility to my family to ensure that the software I use to control my home is safe, so I ask a few questions about the motives of the devs from time to time.

8 Likes

Well, honestly, that is lovely to hear! Your general responses gave me an another impression. :heart:

This is a fine example of the kind of clever response that frustrates me so much. It ignores all my points and comes across as more focused on “winning”.

2 Likes

I’m sorry you feel that way @amelchio. It was not meant as being clever, I’m aware how it went and I am not trying to fight you in any way.

The ADR was open for discussion with our contributors, which includes you. However, at the same time, you now state your points are ignored?

I’m no saying you did wrong, nor did I say this is the best ADR flow ever. Paulus actually explains this topic in the latest Home Assistant podcast, for anyone who is interested.

So there are two issues here. One is the decision to phase out YAML. It seems like you think I am talking about that but I am not. I am personally okay with that. I also listened to the podcast now, Paulus only addresses this first issue.

As this thread is about the project structure, I am actually talking about the other issue: why was the decision made in a closed room and then dropped like a bomb?

Your response was that I was a part of the closed room so meh. That seemed clever but maybe it was just from mixing up the two issues.

1 Like