May 28, 2019, 7:36 AM by
b...@basdebruijn.com:
> Hi Cern and Markus,
>
>
>> On 27 May 2019, at 21:15, markus <>>
mar...@bibi.ca <mailto:
mar...@bibi.ca>>> > wrote:
>>
>> Thanks for the pointer, I had not looked at those fields in Container
>> yet - I can see that there were grand plans indeed, what I don't see
>> is where they were supposed to go.
>>
>> And I mean that in many ways. It's not clear where each one of
>> these services was supposed to be implemented, how they were supposed
>> to be integrated with the rest (.ini file or some new mechanism) and
>> finally - I'm not entirely sure what problems some of them were
>> supposed to solve.
>>
>> For instance status.config - if that had a fixed
>> (configurable in some way) port the service_announcement you
>> pointed to would make sense and be quite useful.
>>
>> Can you elaborate what you meant by different transports? What is it
>> you are looking for?
>>
>> Have fun,
>> Markus
>>
>> On Mon, 27 May 2019 17:35:00 +0200 (CEST)
>> <>>
ce...@tuta.io <mailto:
ce...@tuta.io>>> > wrote:
>>
>>
>>> 27. 5. 2019 3:20 od >>>
mar...@bibi.ca <mailto:
mar...@bibi.ca>>>> :
> mkwrapper is a python wrapper around NML, >
https://github.com/machinekit/machinekit/pull/314 <
https://github.com/machinekit/machinekit/pull/314>
>
Yes, but it's not only that. I find it kind of a problem that when people talk about Machinetalk they mean remote GUI capability. It's like when people tell others that Machinekit is LinuxCNC for BeagleBone Black or BBB project.
Look for example at communication between rtapi_app instance and HALCMD application.
>
> The Machinekit project once forked from LinuxCNC because some people were dissatisfied with the effort it took to have their code merged in the master branch.
> That made that new features were slow to turn up into the master branch, if at all.
>
And I am glad for it. It is one of the reasons why I am here and not there.
>
> There is not “one grand designer” or “roadmap" that gives direction to this project. It’s up to people adding code that’s of their interest. And as some people add a lot of code it’s natural that these are to be the driving force behind a project. Taking it in a direction that scratches an itch or has their interest. So “direction” by “effect”.
> I’m mostly interested in the HAL layer for example. I don’t have a lot of knowledge about the internals of the CNC stack, or on Haltalk for that matter. Although I do use them.
>
I think that "roadmap" in some form is a good think. Or better yet RFC. Basically design of the project before code. Create general specification to which subsequent development should adhere. It is clearly missing in the form of Machinetalk (and it's subsets like HALtalk and so on) and given the fact that Machinetalk is basically decoupling API and lot of other programs depend on it in situations you cannot really determine, any change is minefield.
>
> If you want to add/improve code and functionality on parts of the Machinekit project, that would be great and welcomed!
> The difficulty arises in that these kinds of efforts are hard, so there will be only a few people who really understand what’s going on (that’s why it’s so difficult to understand the legacy code base).
>
Can concur, took me a long while to get to at least some proficiency.
> Because of the C4 process, I as a maintainer do not have to know about code, or do “reviews” other than basic stuff. I do not decide if a PR is “good” or “bad” on the basis of what it does. The only thing I try to do (if that’s within my knowledge set) is to see if the PR does not break the API. We don’t want to mess up existing systems, especially because this kind of software is driving _real_ machines.
>
Bingo. That's the core of the problem. Everybody assumes how the API is constructed or meant but nobody knows for sure. And for every change everybody will make there will be somewhere somebody who will be pissed off. Because his program of which you had no prior knowledge suddenly stops working. (Simplistic example can be seen here:
https://github.com/machinekit/machinekit/pull/1456#discussion_r250955577 <
https://github.com/machinekit/machinekit/pull/1456#discussion_r250955577> )
So any change must be of the big bang style.
> If anybody uses Machinekit in a product and relies on a stable branch, it’s up for that person/company to fork and create a stable branch and take care of that. We have a build system that will show if packages are successfully built, and that’s my (literally) green light for merging. That simple.
> If for whatever reason a PR breaks the code, then either the maintainer being around fixes it, or if they are gone and nobody can fix it, we revert the PR.
>
> If you want to add functionality, see problems, improve, the way this works (best) is:
> Create an issue on github for the repository it concerns.
>
When I will have everything completely summarized, will do.
> This is the focus point for the problem, and helps keeping the information/discussion centered
> Explain your case, discuss
> Have other people engaged in the discussion. This really helps.
> Hopefully this results you end up with likeminded people.
> Create PR’s preferably in small bits. Do not break the API.
>
In many cases it is not possible to not break API. What is possible is to create second version which will live alongside the original implementation. And like the mkwrapper that's probably OK too.
Cern.
> Smaller bits are easier and less “scarier” than a huge blob that only the author of the code understand. It creates progress, traction, increases the chance of early testing. Having said that, because the code can be difficult, PR's might be bigger if there are a lot of architectural changes needed. But either way, make a PR and it will be merged if it does not mess up the existing code.
> So long story short, Do not let the “there is no roadmap” fact hold you back.
>
> Bas
>
>
>>>>
>>>>
>>>>
>>>> --
>>>> website: > >>>>
http://www.machinekit.io <
http://www.machinekit.io>>>>> <>>>>
http://www.machinekit.io <
http://www.machinekit.io>>>>> >>
>>>> blog: > >>>>
http://blog.machinekit.io <
http://blog.machinekit.io>>>>> <>>>>
http://blog.machinekit.io <
http://blog.machinekit.io>>>>> >>
>>>> <>>>> mailto:
machinekit+...@googlegroups.com <mailto:
machinekit+...@googlegroups.com>>>>> >> . Visit this
>>>>
https://groups.google.com/d/msgid/machinekit/6b0977ef-1595-4919-ae1b-faf3b8428670%40googlegroups.com <
https://groups.google.com/d/msgid/machinekit/6b0977ef-1595-4919-ae1b-faf3b8428670%40googlegroups.com>
>> To view this discussion on the web visit >>
https://groups.google.com/d/msgid/machinekit/20190527121558.02c13f85%40edeltraud <
https://groups.google.com/d/msgid/machinekit/20190527121558.02c13f85%40edeltraud>>> .