Stephen,
I right now am working through the allow-remote-paths problem, and in
the process read an email that you wrote about a year and a half ago. I
put your email at the end of this one, in case you don't have total
recall of everything you ever wrote (grin).
I guess I am a little discouraged right now, and I don't want that
emotion to come through in this email, but I wanted to respond to two
things you said (that are probably still relevant) and express my
feelings about one other aspect of working on XEmacs.
First, in your email you wrote:
For the record, I believe that
(1) people who are stopped by something as small as the
allow-remote-paths bug or separate installation of XEmacs and the
packages are extremely unlikely to become developers
(2) ditto CUA keymap
I hadn't realized that the allow-remote-paths was part of a_
new-developer-test_.
I had a system crash, and all my /home was backed up, and all the
default Slackware stuff was recoverable, but I had forgotten some
applications that I installed recently. Like XEmacs 21.5.
My mistake, so I am paying for it by chasing down everything and
reinstalling/configuring. No problem.
My first step after getting the message about allow-remote-paths
was to get help on the variable name. But the variable name was
not there. Tried the help on the menu which had different
keystrokes and still not there. So I am pondering why some
variables have help available and some don't. Mark it down to
look it up later.
Then I search for the error message online. Found the thread
that your email was part of:
http://list-archive.xemacs.org/pipermail/xemacs-beta/2010-July/019827.html
And read the whole thing.
I was a little put out about the fact that the package system was
not part of the main XEmacs distribution at first, enough to get
the rest of the packages at least, but then read the counter
arguments (some from you) and was persuaded that the packages to
install the rest of the package system probably should not be
in the main distribution itself.
But I, and others it looks like, still have this problem with
allow-remote-paths.
So I am asking myself while I am reading online, why do I have this
problem. No I am not directing that thought outwards with the idea
that other people are at fault. I'm asking myself why *I* have
this problem and what is it that I do not know that is stopping me?
Where should I be looking for help on what a variable is, other
than the places I mentioned that I looked? Also asking why
something like this does not have a more directed error message
(a clue maybe) Do I now go wading through source code of XEmacs
itself to find every occurrence of the error message? Is that
what it takes to pass this step of developer-hood?
No, don't rush off an answer about what is wrong.
I will find it myself.
I'm writing my thoughts to make a point,
not get the answer given to me.
I'm saying if the documentation was better, instead of written
for a certain minimum knowledge of XEmacs stuff, it would
put the cookies on the bottom shelf.
What is missing in this case is 2 things: information, and a
not-fully-formed flowchart in my head of how to solve a problem.
Not fully formed because I am a beginner in all things XEmacs.
I have written several thousand lines if elisp code in the past
2 years, so not a beginner at that, but a beginner in most other
things XEmacs. And never contributed to an open source project
before, so a beginner at version control programs, ssh keys and
other stuff that is each piece of the puzzle named
"how to contribute to XEmacs".
First, information. I found a magnifying glass in the posts I
read, to help me find the clue I need: XEmacs -debug-paths.
That gives me a page of paths to different things. But the
missing information is a simple ASCII chart that shows where
XEmacs puts the various files. I have a clue in the -debug-paths
output, but what should that output be? Where should things
be kept for an XEmacs installation? You can tell me that it's over
here (somewhere) but I cannot find it with the current organization
of the web site/documentation. Probably bits of it are here and
there, and probably (based on my experience) about as much
misinformation (outdated, previous versions,etc) as good
information.
Now I am convinced that I not only need information, a better
formed flowchart in my head, But a sifter as well, to sift the
documentation for the various incorrect, or partially
correct sentences in the documentation, that obscure complete
understanding, or are correct but for some previous version.
An example of the fog of documentation is the term sumo tarballs.
I read and clearly remember the documentation saying we used to
distribute sumo tarballs (and my first windows installation 8-10
years ago was such a tarball, source + packages), but we no
longer distribute sumo tarballs, the editor and packages are
separate. OK got it.
But your thread that I read today said to download a sumo tarball.
And unfortunately the link was broken (can't make you responsible
for every change in things online, especially 1.5 years later).
So the statement that we no longer distribute sumo tarballs is not
correct, at least not completely. We distribute sumo tarballs
still, but only of the packages, and those separately from the
editor itself. Not I am not writing that to make you or anybody
else responsible for every wrong thing that gets into my head.
Or every distinction that I don't pick up on right away.
But it is an example of things that stop beginning users.
I'm reminded right now of the bumper sticker that says
"Don't believe everything you think".
Another example of the fog of documentation on installing XEmacs
is found on this page:
http://www.xemacs.org/Documentation/packageGuide.html
it lists 2 required packages under installing automatically:
EFS and XEmacs-base, and 2 optional packages. In the thread I
found your emails in, you mentioned that dired needs to be be
installed as well. It doesn't say that on the webpage I
looked at, under installing by hand. So the fog is: does base
include dired? Or is it a separate package they forgot to mention
that now needs downloaded and installed as well? To be technical,
there is no list of files under "installing by hand" that need
to be downloaded and installed before packaging would work to do
the rest; there is only an example of XEmacs-packages or
mule-packages. For 21.4, not the current version. There is the
note that was added closer to the top, that was referred to as
a change, in the emails. But there is still the ambiguity of
what files to install to get the package system up to
install the rest. The categories are also not exactly clear:
the section "installing by hand" could mean that you do not have
to install the package system at all, but just install the packages
you want by downloading/installing them by hand, or it could
refer to the manual steps you need to take, installing a few
packages before installing the rest automatically via the package
system.
I thought they were saying the latter, then later realized that
the section "installing by hand" was probably talking about
avoiding the packaging system entirely.
The point I am making is that the "people who are stopped by
something as small as the allow-remote-paths bug" don't have
the tools to solve the problem, that is:
-a fully formed lisp troubleshooting tree in their mind
-an error message with a clue
-correct unambiguous documentation to search for a clue
a chart of where XEmacs wants to install files would
be "bingo" for me now.
Another point is that I think people who are experts on something
don't still have their finger on the pulse of what trips up
beginners, they forget what they didn't know when they were
beginners (or possibly came in with more knowledge than
beginners have).
Another point (how many do I have?) There are more classifications
of users than developer and non-developer, and they are all needed. XEmacs-guru-hood is
far,
far down my path, but I have some XEmacs-F now, and can help
really new users get past some problems, and it is by reading
questions and answers of others and searching out little nooks
and crannies of XEmacs Truth to solve newer users' problems that
I rise in XEmacs knowledge and get closer to that distant
guru-hood.
Helping new users inspires me to be better. That is why we need
them--to make intermediate XEmacs users be better, so they become
more than helpful problem solvers, and contribute to XEmacs directly.
The last point I want to make is the number 10 on the list in your
email should be to rewrite the documentation to reflect current,
correct information. What is there should be preserved, but an
updated copy should be published. Although I suspect that you will
disagree, I think 2 new categories of documentation need
to be added:
- prose about how to do different tasks, because what we have is a "technical
manual" and not task oriented, how to do things manual.
such as
-how to make a menu item for your lisp programs
-how to change different parts of XEmacs
-kbd macros
-making new icons (wait till you see the extension to xpm mode)
-printing in XEmacs:
-there are 3 ways to print and they all do different things
so some prose describing those ways
-how to do it under windows (color vs no color, sideways, etc)
-how to write and troubleshoot elisp code
how features of the editor help.
- short videos explaining the using of different parts of XEmacs.
such as
-5 minutes on the 3 methods of copy/pasting text and the
4 ways to do it.
-5 minutes how to use dired (I can use that!)
-5 minutes on how to use org mode
-"how to use" any of the packages that exist (maybe enlist
authors)
I am suggesting a by-monthly sort of newsletter type thing posted to the website
(that would be new--regular updates to the website (grin)). After a year of that,
people would have quite a resource to go to to see new things to do and new
packages to try out (and not bother developers with simple questions).
I am suggesting a new section on the web site for hosting videos, if streaming is not
possible (expensive), maybe just downloading them would be better?
I know, I know, who is going to contribute those things? It *is* a bit of work.
And it is not *coding* work that the people who get past the allow-remote-paths bug
are more interested in.
But it would help the project.
Right now I have 4 elisp projects that I want to upload, and that
is more important than getting a video thing going. But I am stuck
on that too. I created an account, but when I try to upload an
ssh key they will not take one I created by copy/pasting
it in and when I browse to it instead of pasting, it does not take that ssh key either
and says invalid key both times.
So when I get past "something so small as the allow-remote-paths" problem,
I will be working on learning some about ssh keys and what makes one created on my
machine be declared invalid. Are there different kinds/levels? I mention this as
the kind of thing that is tripping me up.
I guess one final point that I am trying to make is that the things on your list
that are holding people back (4 of them) are probably not the
things that are holding me back. Sitting here in my living room
or in my machine shop, writing code to work on my cnc programs,
with no contact with other elispers save the beta mail list, the
single thing that is holding me back is having to learn from the
existing documentation. I may not be typical, I just don't think
I am alone and I don't think it is a small problem.
Hope my (temporary) discouragement of the moment isn't too gloomy.
Steven Mitchell
PS the clue that I got from -debug-paths was that my
configure-exec-directory and exec-directory are a
little different than I would expect it to be:
nil
"/usr/local/lib/XEmacs-21.5-b31/x86_64-unknown-linux/"
Where did the unknown-linux come from?
But I have no standard directories and list of what-gets-put-where, to compare my
clue to. So have to work some more on it and study it out.
---snip---------------------------------------------------------------
symbol's value as variable is void: allow-remote-paths
Stephen J. Turnbull stephen at
xemacs.org
Wed Jul 28 07:50:48 EDT 2010
Previous message: symbol's value as variable is void:
allow-remote-paths
Next message: symbol's value as variable is void: allow-remote-paths
Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Andreas Röhler writes:
It will go from the screen lacking new users/developers if you
don't
change the course.
Really? I really don't think so. We picked up two new potential
developers in the last week.
In any case, what's important to me is that it's not going to
disappear from *my* screen any time soon, and therefore I'm going to
work on what I need. If you think a course change is in order, submit
patches and cooperate with requests from reviewers to improve them is
the best thing to do.
For the record, I believe that
(1) people who are stopped by something as small as the
allow-remote-paths bug or separate installation of XEmacs and the
packages are extremely unlikely to become developers
(2) ditto CUA keymap
What's holding people back that's important:
(1) We're a fork of a GNU project; politics makes GNU more attractive
to a lot of people (and not a few in the other direction, but
mostly to the extent it matters I think it works in GNU's favor).
(2) We're not GPLv3 yet, and therefore most of our external packages
and much internal code is behind GNU Emacs. I think the biggest
costs are things like nxhtml, so we're not dead yet.
(3) Emacs LISP is a crufty variant of a niche language.
(4) Most elisp applications appeal to crypto-hacker types, rather than
to ordinary users and developers. Lots of rough edges, not much
flash. Much of the code is twisted and sucky.
What we can do to attract new users likely to become developers (to
some extent in order of importance):
(1) release under GPLv3+, which will unblock packages and core code
syncs.
(2) Modernize elisp (Aidan's done a lot of Common LISP compatibility
work; I would prefer a move toward Scheme, but since he's doing
the work, I can only applaud).
(3) Make XEmacs much more web-aware. Make URLs the standard input
format for find-file for example (probably renamed to
find-resource or retrieve-url or something like that). Get robust
support for URL fetching (curl, neon, stuff like that) and editing
(WebDAV).
(4) More robust support for Unicode as such, and non-traditional
characters in general (eg, spaces in file names).
(5) GNU syncs, both in core and packages.
(6) Large file support.
(7) Better font support.
(8) Improved ease of installation.
(9) Exciting new features ... but that's for the new developers. :-)
Personally, I intend to spend time on (1), (3), (4), and (7). (8) is
way down the scale right now.
Previous message: symbol's value as variable is void:
allow-remote-paths
Next message: symbol's value as variable is void: allow-remote-paths
Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the XEmacs-Beta mailing list
_______________________________________________
XEmacs-Beta mailing list
XEmacs-Beta(a)xemacs.org
http://lists.xemacs.org/mailman/listinfo/xemacs-beta