On Mon, Aug 8, 2016, at 04:01 AM,
schoo...@btinternet.com wrote:
>
> On 08/08/16 06:01, John Kasunich wrote:
> > On Sun, Aug 7, 2016, at 02:10 AM,
schoo...@btinternet.com wrote:
> >>
> >>
https://groups.google.com/forum/#!topic/machinekit/8tHlQEbvq2I
> >> detailed the change to man pages, some while back. There is also a
> >> README in /man in the sources.
> > I guess we're never going to see eye to eye on this. You guys say
> > (from the link and README referenced above): "the overwhelming
> > majority of users are likely to simply use the web site and never
> > install the local manual pages."
> Qt has not used any ?roff man pages for over 10 years, does not seem to
> have held them back.
>
> > While I strongly agree with this quote from the wikipedia article on
> > man pages: "To this day, virtually every Unix command line
> > application comes with a man page, and many Unix users perceive a
> > program's lack of man pages as a sign of low quality; "
>
>
> "The six most expensive words in business are, 'We've always done it
> that way' "
>
> Catherine DeVrye
As I said, we're never going to agree on this. I don't see the relevance
of QT. It is an application platform, not something that "users" have
to deal with.
I see halcmd as something like grep. It runs from the command line,
and its documentation should be available from the command line.
> > How does the machinekit project match documentation versions to code
> > versions if you don't have the code and the docs in the same
> > repository? With installed man pages, if you are running version 2.6
> > of a program, your man pages describe version 2.6. If you are
> > running version 2.8-pre, your man pages describe version 2.8-pre.
> > You don't have documents describing functions that your code doesn't
> > support, or code that does things the documentation doesn't describe.
> You seem to be confusing Machinekit with Linuxcnc, there are no
> versions, it is a continuous integration process.
I'm not confusing them, I'm comparing them.
LinuxCNC understands that users install a version, make a machine
work, and stay there. Most users don't want to be on a treadmill of
constant updates. They want a stable version that works, while
the developers continue to progress on the next version. Maybe
1% to 5% of users are interested in the bleeding edge and are
willing to run the development version. The rest just want stable.
To be blunt - machinekit seems to be oriented toward developers
who want to code cool programs, rather than machine builders and
users who want to make cool machines. This is ironic given that
machinekit was started by Michael H, who wanted to extend the
capabilities of HAL to applications other than G-code driven machine
tools.
Maybe the problem is my perspective. I'm frustrated because it
seems like machinekit isn't mature/stable enough to simply USE.
Perhaps that is a good thing - progress often requires instability.
But I'm not interested in progress, I'm interested in building a
HAL based machine controller on beaglebone.
> There are increasingly hooks from the source code to the docs, all
> protobuf docs are generated directly into the website, as are all the
> generated component docs built with instcomp or comp.
Users don't read source code.
Users don't have any reason to know or care what a protobuf is.
Autogenerated comp docs are a good thing. Sadly, all too many
of them are nothing more than a pin list, because the developers
write little or no prose description, relying entirely on the
autogenerated stuff to tell the user what the component does.
This problem is not unique to machinekit. LinuxCNC has the
same problem, especially with some newer components. It is
very much driven by the personality of the person who wrote
the component. Some folks want their components to be usable
by anyone and write docs accordingly, others are happy as soon
as it works well enough to meet their personal needs.
> The manual page package is automatically rebuilt if any of its
> component documents change.
>
> >
>
> >> I am in the process of properly converting the manual pages, by
> >> removing troff remnants and formatting for better viewing in
> >> .asciidoc / html. The process is far from complete, got about as far
> >> as /man1/halui so far.
> > You are taking working TROFF man pages and spending time and effort
> > to convert them to asciidoc that is only usable from the website, or
> > if you load a non-standard man-page-package AND use the non-standard
> > command "mank foo" instead of the time-honored and user-expected
> > "man foo".
>
> There are no working troff man pages.
They worked when machinekit was forked from LinuxCNC.
> What I am doing is cleaning and reformatting existing automatic
> conversions from troff to asciidoc. This works poorly in either
> direction and produced asciidoc pages with orphaned troff formatting,
> which prevents proper clear display.
Understood, that is thankless work and I'm glad you are doing it.
But "man halcmd" doesn't work, and that seems to be a policy
decision by machinekit leadership. I simply cannot agree with
that decision. Such is life.
> John, You are uniquely placed to assist us with the *content* of the
> documentation, especially HAL related, if you can get past your
> antipathy for the medium.
I would like to, and I will where I can.
However - I am here primarily as a user. I have three projects
that are ideally suited to a beaglebone+LCD touchscreen as
a controller. LinuxCNC does not support that platform.
Machinekit does. So here I am.
As a user, I'm accustomed to typing "man foo" when I want
information about foo. Every time "man foo" fails, it is just
another little jab from the machinekit developers saying
"you are not the kind of user we care about, go away".
So yes, it gets irritating after a while, and sadly I let that
irritation out on this mailing list. If I didn't want to make
the beaglebone work so much, I would indeed have gone
away a while ago.
As a user, I need docs that accurately describe the HAL language
as it exists in the machinekit world. The docs that existed when
machinekit was forked were pretty good at describing the HAL
language as it existed at that time. Since then, the machinekit
devs have kept many things the same, and the documentation
for those things is still accurate. The machinekit devs have also
changed many other things. Sadly, they have not documented
some (many) of their changes.
Micheal wrote the "newthread" command over a year ago.
It is much better then the old "threads component" method
of creating a thread. But he didn't document it at all. Nothing
in the man page. Nothing in the halcmd built-in help. Nothing
in any other document on the website. He finally (yesterday,
after my griping) deprecated the old approach and updated
the sample configs to use the new approach.
--
John Kasunich
jmkas...@fastmail.fm