Subject: Re: Suggestions for newbie accessibility

From: John Goerzen <[email-masked]>
Date: Sun, 23 Jan 2022 15:38:32 -0600

On Sun, Jan 23 2022, Sergey Matveev wrote:

> Greetings!
>
> *** John Goerzen [2022-01-22 09:13]:
>>- On the build instructions doc page - nobody has redo installed 
>>or
>>really knows what it is.  Rather than the default being to show 
>>using
>>redo, have the default be "./contrib/do" and mention 
>>alternatives
>>below.
>
> I would be glad people moving from *completely useless* Make to 
> redo. I

You have no trouble convincing me make has issues.  I started 
using scons about 20 years ago now because of that.

The comment in the channel was:

"Damn I am a bit lost 😆, this is quite the build system"

I finally told him to just run "contrib/do all" and that worked. 
(The usual go build he also tried failed with TLS errors from 
cypherpunks.ru due to the unknown CA)

Most people have no need for make, or things like it, anymore. 
Basically every language ecosystem except C/C++ have their own 
build tools now, which are widely used.  I still occasionally 
reach for make when I have a simple make-ish job, but that's not 
often.  I did a stint working on C code a couple of years ago, and 
that was using make, but aside from certain bits of Debian 
packaging scripts that use make for historical reasons, I haven't 
touched it or anything like it in anything resembling a serious 
way for over a decade (save that brief stint doing C work, and 
even that was soon transformed into work to migrate parts of the 
code base to Rust).

If somebody "just wants to install NNCP" and gets instructions 
that get in the way of that, it sours them on both redo and NNCP. 
Not beneficial for any goals.

I don't mind the advertisement, and sorted through it easily 
enough myself, but not giving a straightforward recipe by default 
can be detrimental.

>>- It might be useful to have a sort of tutorial illustrating 
>>generating
>>a config on two systems, copying the neigh/self blocks between 
>>them,
>>authorizing them to do things, etc.  I could volunteer to write 
>>this.
>
> Initially http://www.nncpgo.org/Workflow.html page was intended 
> for
> hinting for the first steps one should do with NNCP. But I agree 
> that it
> is too terse. It should be definitely expanded. If you wish to 
> write
> that -- I would be glad for that help!

I am thinking I may write up something and post it somewhere, and 
give you permission to copy as much of it as you want for the NNCP 
manual, if that sounds good.

>>- Enabling multicast discovery by default could be a nice touch.
>
> MCD is enabled through configuration file with explicit 
> interface names
> specifying. Unlike Yggdrasil, there is not regexp for them, so I 
> can not
> just write ".*" there. However I can call net.Interfaces() to 
> get all
> current interface names and set them uncommented in mcd-send 
> entry with
> some default (for example 30sec) intervals, during nncp-cfgnew 
> creation.
> I think it is ok.

The regexp in Yggdrasil is indeed nice.  I don't know how easy it 
would be to do that in NNCP.  An alternative might be a special 
token that would indicate "ALL".  Interface names are not 
particularly persistent these days and what is present when cfgnew 
is run may not be what's there later.

>>- A default call configuration could also be nice for people 
>>playing
>>around with nncp-caller for the first time.
>
> nncp-cfgnew and "Call configuration" documentation's section
> (http://www.nncpgo.org/Call.html) contain some examples. I can 
> not
> imagine what else can be added there? And I can not recommend 
> anything
> related to calls, like periodicity, onlinedeadline and similar 
> things,
> because people's need are too varying here in my opinion.

That is fair.  Let me think about this some more.

- John