Re: One vs many directories

2020-12-02 Thread Jean Louis
* Ihor Radchenko  [2020-11-26 16:29]:
> > Sorry for that vague expression. Let us say I open Completions buffer
> > I can switch into it, inspect it, ask for defined keys, evaluate with
> > M-:, Emacs allows me to remain in the window and go to other
> > window. Agenda buffer does not do that, this is probably because it
> > just waits for any key and does not allow anything else. That means I
> > will open Agenda and I cannot switch to other window, so I will close
> > agenda to switch. Maybe I have 10 TODO keywords, I have to open file,
> > I open Agenda again, aha, T... then close agenda, open file see
> > keyword, then open agenda again. Repetitions without end and user is
> > unable to use multiple windows. This really need not be so.
> 
> It appears to me (correct me if I am wrong) that you haven't tried
> agenda multi-occur/keyword/etc searches.

I know multi-occur and tried it. Functions of org-agenda are useful
while initial menu window of org-agenda is so much less useful and I
speak of menu, not of individual functions. If it is Org agenda, I see
no reason why it could not be displayed in Org mode being read-only
and having buffer not killed when user press q.

We spoke of standard Emacs way. Normally buffers are not killed. If I
press q in Dired buffer is just buried, not killed. I find Org agenda
useful and I would be maybe moving to *Agenda Commands* buffer by
using (next-buffer) and (prev-buffer) and those are key bindings like
hyper key - move-end-of-line and hyper key - move-beginning of line.

It is my standard behavior to move to one buffer and go to other
buffer.

User could have one tab open for Org agenda menu, other tab for
work. Why invoke all time C-c a to access org agenda.

I am not speaking for me personally, I am giving you clear comparison
of that menu to mu4e or org-agenda menu and other pop-up features that
do not block user in using Emacs. Org agenda menu blocks the
interface!

When invoking package-list-packages it does not block me moving to
other buffers and also offers complex menu system and key
bindings. Buffer is not killed but burried when I press q.

Functions of org agenda are fine, this is reference to blocking of
Emacs interface while opening Org agenda buffer. It diminishes
usability.

I guess nobody cares. It is how it is. No need to consult external
references such as
https://www.nngroup.com/articles/usability-101-introduction-to-usability/

No need even to look how other parts of Emacs are interacting with
user and to harmonize the menu. 

> > You know how agenda is made like the 1985 BASIC menu in Commodore
> > C=64, but even back then there was better interface for such menus.
> 
> FYI. Transient.el - menu dispatcher in popular magit package also does
> not let you switch buffers. So, apparently many people would not agree
> that it is so terrible design.

Compare things to things that are better not to things that are
worse. 

You have to read more about usability. To know what is the problem you
have to research and not assume that if nobody says anything that it
is usable enough. Nobody complains. I did not hear complain, so it
must be perfect. Irony. That is not how interfaces get improved and
definitely not how developer would discover if something is wrong.

If developer is waiting for somebody to complain that will be too
late. Thousands of users will have problems that were not told to
developer.

Was there any methodology to decide what is good user menu?

Reference:
https://www.nngroup.com/articles/why-you-only-need-to-test-with-5-users/

Was there any survey here to ask about any usability?!  Hypothetical
question.

> P.S. Nothing prevents you from calling, i.e. M-x org-occur or binding it
> to a key of your choice.

Personally I know that. I speak for general usability. You know that I
have my system of doing things with or without Org mode.





Re: One vs many directories

2020-12-02 Thread Jean Louis
* Ihor Radchenko  [2020-11-25 14:48]:
> > When I do C-c a it runs (org-agenda) but I do not have "g" and I am on
> > development version. The C-c a window is made so that I cannot go with
> > cursor inside and that I cannot even expect the key map neither invoke
> > command by M-x and I cannot even M-:
> 
> C-c a will first show so-called agenda dispatcher asking you what kind
> of agenda view you want to get. You need to press a key according to
> the popup window (i.e. `t' to see all not done items). Then, you will
> get the proper agenda buffer with all the keymaps set and `g' bound to
> refreshing the chosen agenda view in the buffer.
> 
> > All that is wrong and not aligned to Emacs common interface. It is bug
> > that bugs. Agenda buffer should allow users those standard Emacs
> > features.
> 
> I am wondering what is the common Emacs interface you refer to. I am not
> aware about any standard way to prompt user while also showing detailed
> description of what to expect from different choices.

It is maybe not standard, but I never expected in last 20 years to get
blocked when having some window as menu in front of me.

Please look how mu4e is showing menu and compare:

1. when I open mu4e the menu does not block me to divide screen in 2
  windows

2. org-agenda blocks me, it denies me using Emacs interface. This is
   personally disturbing and makes accessing Org agenda repetitive

Observe how C-x C-f tries to find file:

1. it opens minibuffer and does not disturb user to move from
   minibuffer to other buffer to find references. I often have file
   names in other buffers and I move to minibuffer to open specific
   file

2. org-agenda does not allow any movement

It is usability question. Personally I do not mind as I am
transitioning and using Org files not anymore for planning, rather for
documents.

Org agenda window shall simply get a focus and be displayed in
read-only Org mode with few key bindings invoking those commands. This
way both the minibuffer and other windows remain accessible.

I have tried to be nice when describing my experience with it. In very
kind way I can say that I do not find it usable.

Reference:
https://www.nngroup.com/articles/usability-101-introduction-to-usability/

For me it was not easy for reason that org-agenda offers 16 different
menues and that I cannot keep open org-agenda window and move to other
window for references. It requires me to write notes on paper to be
able to use org-agenda. When searching for things I often use other
window, I do copy and paste into minibuffer, read info files or other
buffers.

Consider this a bug, and it is already here on the mailing list.

Jean



Re: One vs many directories

2020-12-01 Thread Ihor Radchenko
Jean Louis  writes:
> That is great to hear. I wonder how it can be integrated with Emacs as
> it is all Javascript based.

The server is mostly python-based (see Language stats in
https://github.com/hypothesis/h). They provide HTTP API:
https://h.readthedocs.io/en/latest/api-reference/. There is even elisp
package utilising that API:
https://github.com/Kungsgeten/hypothesis/blob/master/hypothesis.el

Best,
Ihor



Re: One vs many directories

2020-12-01 Thread Jean Louis
* Ihor Radchenko  [2020-12-02 05:53]:
> 
> Jean Louis  writes:
> > hypothes.is is free software that may be installed locally.
> >
> > https://github.com/hypothesis
> 
> Thanks. You inspired me to try installing it locally again.
> 
> The main problem with hypothesis is that it is designed to be deployed
> to a server and not to a local machine. Thus, the instructions imply
> some knowledge of server configuration and skip several important steps,
> which were not obvious for me without spending quite a significant time
> googling for various issues during and after the installation.
> 
> Anyway, I finally managed to get it working with my local setup. Next
> step is Emacs integration...

That is great to hear. I wonder how it can be integrated with Emacs as
it is all Javascript based.

Here is the Org version of: 

Technology Template Project OHS Framework as Org file
http://ix.io/2GdW

I suggest when making tools for Emacs that developer of the tool looks
into the template for open hyperdocument systems that system are
developed that they benefit most people.

- "Open" :: implies vendor-independent access to the hyperdocuments
  within and across work groups, platforms, and applications.

If such system is developed with the database backing and generic
hyperlinks then database is vendor-independent (mostly, but it is
still PostgreSQL, but could be any other because it is SQL), then it
can work for any kind of groups, it can be accessed from various
platforms by using Emacs, but it can also be accessed by browser, but
also through other programming languages would such program be
re-written.

For Org, to be open hyperdocument system it would mean to spread it
onto other editors such as Vim where basic Org mode already exists and
other editors, and applications, such as those on Android like Orgzly
that supports Org. But all that does not make Org yet open especially
in relation to hyperlinks.

Hyperlinks should be dynamic not static and centrally managed not user
managed to be work over various platforms, applications, for various
groups.

Using hyperlinks like:

file:///something/pdf:page 1

Is not portable for many. Such hyperlink should be dynamic, which
means if user accesses the database from remote host such could not
access such hyperlink. It would need to convert to ssh:// or scp:// or
ftp:// or https:// hyperlink or something else.

These types of hyperlinks would be better:

u...@hostname.com:PDF:Page:1
or
u...@hostname.com:PDF:Query:Title
or
u...@hostname.com:PDF:Selection:1,2,3,4

but then again they are not enough generic. I am now making hyperlinks
whihc are very generic, they can just designate the node number and
server from the server list, could be something like:

hyperscope:show:1:2 - to get the human designation of the hyperlink,
 what it is really.
 
hyperscope:activate:1:2 - to go to server 1, node 2 and activate
  hyperlink. If I am on local file, Dired
  would open, but if user is accessing it
  remotely the hyperdocument would open in
  different way. That is what I mean with
  dynamic hyperlinks.
  
hyperscope:email:1:2: - it would send it by email to the user. Because
system identifies users with their usernames
and other attributes

hyperscope:email:1:2:u...@example.com - it would send hyperdocument to
other user if there are enough
permissions

In that sense of having generic hyperlinks one should also make
annotations. If I make annotation on Emacs than such should be
translatable to let us say Hypothes.is but if not with that tool,
hyperlink for annotation could open on Emacs with Xpdf or Evince
reader on specific page number while showing annotation in Emacs.

Systems should work equally well in any browser because of their
generic nature. Hypothes.is is now working on browsers, which is for
me very limiting.

They should be liberated from browsers as well. That means that API
should be there that allows access through any interface.




Re: One vs many directories

2020-12-01 Thread Ihor Radchenko


Jean Louis  writes:
> hypothes.is is free software that may be installed locally.
>
> https://github.com/hypothesis

Thanks. You inspired me to try installing it locally again.

The main problem with hypothesis is that it is designed to be deployed
to a server and not to a local machine. Thus, the instructions imply
some knowledge of server configuration and skip several important steps,
which were not obvious for me without spending quite a significant time
googling for various issues during and after the installation.

Anyway, I finally managed to get it working with my local setup. Next
step is Emacs integration...

Best,
Ihor



Re: One vs many directories

2020-12-01 Thread Jean Louis
* Ihor Radchenko  [2020-11-30 15:25]:
> Jean Louis  writes:
> > You could record on some of free hostings that respect users' freedom
> > that refrain of coercing non-free javascript such as:
> >
> > Open.tube upload
> > https://open.tube/videos/upload
> 
> Thanks for this reference.
> 
> You also mentioned hypothes.is earlier. Do you know if there is any
> similar software allowing to store data locally without a need to create
> account and trust the service for storing all the personal notes?

hypothes.is is free software that may be installed locally.

https://github.com/hypothesis



Re: One vs many directories

2020-11-30 Thread Ihor Radchenko
Jean Louis  writes:
> You could record on some of free hostings that respect users' freedom
> that refrain of coercing non-free javascript such as:
>
> Open.tube upload
> https://open.tube/videos/upload

Thanks for this reference.

You also mentioned hypothes.is earlier. Do you know if there is any
similar software allowing to store data locally without a need to create
account and trust the service for storing all the personal notes?

Best,
Ihor



Re: One vs many directories

2020-11-30 Thread Ihor Radchenko
Jean Louis  writes:
> You could record on some of free hostings that respect users' freedom
> that refrain of coercing non-free javascript such as:
>
> Open.tube upload
> https://open.tube/videos/upload

Thanks for this reference.

You also mentioned hypothes.is earlier. Do you know if there is any
similar software allowing to store data locally without a need to create
account and trust the service for storing all the personal notes?

Best,
Ihor



Re: One vs many directories

2020-11-30 Thread Jean Louis
* Texas Cyberthal  [2020-11-30 10:36]:
> Hi Jean,
> 
> > For that I need video to understand.
> 
> Agreed.  I thought the Treefactor gif videos would be enough, but it's
> clear that people's imagination cannot extrapolate the utility of
> RIITR.
> 
> I developed this skill long ago on the Windows app Brainstorm, and
> have forgotten how rare and unintuitive it is.
> 
> This is the key missing concept preventing people from understanding
> and adopting Textmind, because Textmind is designed primarily to
> exploit this concept.
> 
> So I plan to play AI Dungeon with Treefactor, using RIITR to make
> sense and fun of nonsense, and record it on YouTube with live audio
> commentary.  Monkey see, monkey do.  Then people will be able to do
> RIITR.

You could record on some of free hostings that respect users' freedom
that refrain of coercing non-free javascript such as:

Open.tube upload
https://open.tube/videos/upload




Re: One vs many directories

2020-11-30 Thread Texas Cyberthal
Ihor> That would be appreciated. I tried to read Treefactor docs at
least 3 times and failed to understand its utility.

Then I will move AI Dungeon Treefactor demo priority above all but
critical Cyborganize documentation, such as broken links.

Apparently I've wasted a lot of time documenting Textmind and 10 Bins
before Treefactor was adequately explained.

To avoid such mistakes in the future, I should focus on instilling the
minimum viable behavioral change.

Untangling a cognitive knot with an impromptu Treefactor or
Brainstormsw session is a good candidate:

https://www.brainstormsw.com

And recreational use, such as for gaming, is a sticky alternative to
undesirable premature production use.



Re: One vs many directories

2020-11-29 Thread Ihor Radchenko
Texas Cyberthal  writes:
> Agreed.  I thought the Treefactor gif videos would be enough, but it's
> clear that people's imagination cannot extrapolate the utility of
> RIITR.

That would be appreciated. I tried to read Treefactor docs at least 3
times and failed to understand its utility.

Best,
Ihor





Re: One vs many directories

2020-11-29 Thread Texas Cyberthal
Hi Jean,

> For that I need video to understand.

Agreed.  I thought the Treefactor gif videos would be enough, but it's
clear that people's imagination cannot extrapolate the utility of
RIITR.

I developed this skill long ago on the Windows app Brainstorm, and
have forgotten how rare and unintuitive it is.

This is the key missing concept preventing people from understanding
and adopting Textmind, because Textmind is designed primarily to
exploit this concept.

So I plan to play AI Dungeon with Treefactor, using RIITR to make
sense and fun of nonsense, and record it on YouTube with live audio
commentary.  Monkey see, monkey do.  Then people will be able to do
RIITR.



Re: One vs many directories

2020-11-29 Thread Jean Louis
* Ihor Radchenko  [2020-11-29 10:52]:
> Jean Louis  writes:
> 
> > When task is assigned to somebody notification of a deadline or alerts
> > are definitely useful for me. But they are are useful for those
> > conducting the tasks.
> >
> > Thus integration to remind those *related* people to the assigned
> > tasks and their deadlines or schedules would be useful.
> 
> I think that can be done by extending alert.el package (which org-alert
> is based on). alert.el allows the user to define custom alert styles,
> including sending sms or email.

Yes, that is great.

We need more integration. There are low level packages but we need
integration, high level, user accessible and for users useful
features.

Emacs is itself useful but there may be long process until user starts
doing some programming. Then it becomes trivial to alert self or othre
people by SMS, yet majority of users will not have that functionality
unless we make it somehow.

org-set-reminder by SMS could send it to assigned person. This is for
me so important that it deserves menu item where user can assign that
reminder. Once assigned it would run in intervals until task has been
closed.

org-send-task-by-email would find out which user is assigned to
(feature is not built-in) and send it to assigned user
automatically. It is trivial, but we do not have that. One click and
it should go. 

> >> I agree that org-agenda has many issues that cannot be easily solved
> >> because of its complexity. However, everything you describe (including
> >> multi-occur) can also be achieved with org-ql
> >> (https://github.com/alphapapa/org-ql) - analogue of SQL query language
> >> for org-mode (with more optimisations in comparison with org-agenda). 
> >
> > Definitely good only too much low-level. Users need finished functions
> > that integrate stuff. To adopt myself to org-ql would mean to read
> > documentations, meanings, and starting with some functions, while this
> > may be possible for me that approach is not user friendly as users
> > need integration and accessible interfaces. 
> 
> Not really. Searching in org-ql is made very intuitive - just like you
> would search in google. There are multiple interactive commands:
> - helm-org-ql :: The user simply types search keywords and the commands
>   shows all the matching headlines. For example, user can type
>   "headline:Doe call todo:WAIT tags:invoice" and get all kinds of
>   matches as he/she types
> - org-ql-view :: shows the menu for different pre-customised searches
>   like "Calendar: This week" or "Overview: NEXT tasks"

That is game changer.

> 
> > Example of lack of integration would be to tell to user to simply
> > construct the link in the form: [[Here][Link]] and that alone would
> > require some thinking and learning. 
> 
> There is also (slower) helm-org (https://github.com/emacs-helm/helm-org)
> offering similar interface to helm-org-ql, but also adding an option to
> do various actions with the selected tasks, like inserting correctly
> formatted link. The same can be done in helm-org-ql. I think the author
> plans to extend that command in the near future. Or one can add extra
> actions as needed - it is trivial to do in helm.
> 
> > Good integration for org-ql would be a wizard that can add to the list
> > of various queries and offers users various ways to search such as
> > searching by headline, tags, or having both tags involved, date,
> > deadlines and so on.
> 
> All these are already available. The user can search tags:tag1,tag2,...,
> headline:word1,word2 (or shortly hl:word1,...), scheduled:on=today,
> deadline:from=-7,to=2020-12-01

org-ql is indeed a wizard for searching agenda and looks better than
default.

Jean



Re: One vs many directories

2020-11-28 Thread Ihor Radchenko
Jean Louis  writes:

> When task is assigned to somebody notification of a deadline or alerts
> are definitely useful for me. But they are are useful for those
> conducting the tasks.
>
> Thus integration to remind those *related* people to the assigned
> tasks and their deadlines or schedules would be useful.

I think that can be done by extending alert.el package (which org-alert
is based on). alert.el allows the user to define custom alert styles,
including sending sms or email.

>> I agree that org-agenda has many issues that cannot be easily solved
>> because of its complexity. However, everything you describe (including
>> multi-occur) can also be achieved with org-ql
>> (https://github.com/alphapapa/org-ql) - analogue of SQL query language
>> for org-mode (with more optimisations in comparison with org-agenda). 
>
> Definitely good only too much low-level. Users need finished functions
> that integrate stuff. To adopt myself to org-ql would mean to read
> documentations, meanings, and starting with some functions, while this
> may be possible for me that approach is not user friendly as users
> need integration and accessible interfaces. 

Not really. Searching in org-ql is made very intuitive - just like you
would search in google. There are multiple interactive commands:
- helm-org-ql :: The user simply types search keywords and the commands
  shows all the matching headlines. For example, user can type
  "headline:Doe call todo:WAIT tags:invoice" and get all kinds of
  matches as he/she types
- org-ql-view :: shows the menu for different pre-customised searches
  like "Calendar: This week" or "Overview: NEXT tasks"

> Example of lack of integration would be to tell to user to simply
> construct the link in the form: [[Here][Link]] and that alone would
> require some thinking and learning. 

There is also (slower) helm-org (https://github.com/emacs-helm/helm-org)
offering similar interface to helm-org-ql, but also adding an option to
do various actions with the selected tasks, like inserting correctly
formatted link. The same can be done in helm-org-ql. I think the author
plans to extend that command in the near future. Or one can add extra
actions as needed - it is trivial to do in helm.

> Good integration for org-ql would be a wizard that can add to the list
> of various queries and offers users various ways to search such as
> searching by headline, tags, or having both tags involved, date,
> deadlines and so on.

All these are already available. The user can search tags:tag1,tag2,...,
headline:word1,word2 (or shortly hl:word1,...), scheduled:on=today,
deadline:from=-7,to=2020-12-01

Best,
Ihor



Re: One vs many directories

2020-11-28 Thread Jean Louis
* Texas Cyberthal  [2020-11-29 09:20]:
> Images should have a creation date in metadata and also some tags, I
> agree.  Whether to organize them in a Binmind using 10 Bins is a
> matter of taste.  I prefer to keep them in 10 Bins until their tag
> nomenclature is mature.  Then, when worthwhile, I would move them to a
> dedicated image management app, and add a good set of tags and
> metadata to ensure they won't be lost later.
> 
> If the app allows it, I might still organize the pics into a tree,
> just to make it easier to navigate the whole collection without
> repetition, and understand its primary meaning quickly.  This extra
> work is profitable only for high-value images.  The existence of the
> tree permits continued nomenclature evolution without risking some
> images getting lost due to tag drift and rot.

That gives me idea for Emacs similar to org-noter that one could have
bunch of pictures being displayed then just choosed few tags by using
mouse and window get replaced with new picture. Process could be used
for faster tagging.

> Treemind is good at nomenclature evolution via Rapid Inductive
> Iterative Tree Refiling.

For that I need video to understand.



Re: One vs many directories

2020-11-28 Thread Texas Cyberthal
Hi Jean,

> After a while user will get a subset of highly ranked headings in their 
> corresponding Org files. That subset then can be used as quick bookmarks or 
> get bound to keys.

This is a higher tier of PIM than Textmind.  Textmind is for
processing thoughts.  For example, I use it to convert these email
exchanges into useful notes and documentation.

Crystallized knowledge that needs to be optimized for rapid or lateral
access belongs in a PKM or CRM app.  There are many options, and which
is best likely depends on the specific use case.  (Assuming it doesn't
belong in Postgres or Pubmind.)

> From other people's experiences I can see they are thinking different. It is 
> questionable if there is one algorithm corresponding to many people's natural 
> thinking.

Almost nobody has a holistic natural thought algorithm.  An algorithm
has a strict definition, whereas biological thought is evolved and
messy.

> But I cannot access image related to business ABC that is located in 2004 
> quickly unless such image is indexed somewhere by its meaning, maybe "boat 
> purchased" would be meaning related to such picture. Then if I wish to see 
> boats I have purchased I would type most probably "boat" and from there find 
> various other attributes such as dates, types and similar.

Images should have a creation date in metadata and also some tags, I
agree.  Whether to organize them in a Binmind using 10 Bins is a
matter of taste.  I prefer to keep them in 10 Bins until their tag
nomenclature is mature.  Then, when worthwhile, I would move them to a
dedicated image management app, and add a good set of tags and
metadata to ensure they won't be lost later.

If the app allows it, I might still organize the pics into a tree,
just to make it easier to navigate the whole collection without
repetition, and understand its primary meaning quickly.  This extra
work is profitable only for high-value images.  The existence of the
tree permits continued nomenclature evolution without risking some
images getting lost due to tag drift and rot.

Treemind is good at nomenclature evolution via Rapid Inductive
Iterative Tree Refiling.



Re: One vs many directories

2020-11-28 Thread Christopher Dimech


> Sent: Saturday, November 28, 2020 at 5:16 PM
> From: "Jean Louis" 
> To: "Ihor Radchenko" 
> Cc: "Dr. Arne Babenhauserheide" , "Texas Cyberthal" 
> , "emacs-orgmode@gnu.org" 
> Subject: Re: One vs many directories
>
> * Ihor Radchenko  [2020-11-24 10:57]:
> > > I find it entertaining for now. Now, what is exomind?
> >
> > Unless I misunderstood, Jean referred to "external brain" concept:
> > - https://beepb00p.xyz/exobrain/
>
> The more you send me reference more I discover other set of people
> doing same what I am doing. Since I have implemented central meta
> level organization it is moving rapidly, everthing gets sorted. It
> develops by itself and is rapidly accessible.

Believing that only you think a certain way is a big mistake.

> That website I have to mirror locally to pick ideas and learn from
> others. Mirroring I do with:
>
> $ wget -Emk http://example.com
>
> As that command replaces all hyperlinks to local hyperlinks. That
> person advanced in organization of things. I stick to few principles
> and just design it by principles.
>
> Design works rapidly. Few Emacs Lisp functions and access to reports
> listed in Emacs Buffers and integration with other tools.
>
> With one function and one PostgreSQL table defined in 3 minutes I get
> rudimentary backup and version system for any column values that I am
> editing in the database. If I edit note, the note is versioned
> (previous version stored) before I start editing it. Principles I am
> following are basics what programmers like, to minimize or eliminate
> repetitions and efforts to achieve the goal.
>
> Person above have extracted or exported its own database of hyperlinks
> to hyperdocuments. My side I have made for now Org export of any
> subtree or the whole dynamic knowledge repository. There are many
> things to go. In Emacs development version all kinds of hyperlinks can
> get their handlers like gopher:// gemini:// message: tel: sms: and
> htat will be very helpful.
>
> No, I do not use "exobrain" as a term. I rather lean on Engelbart's
> terminology and follow his principles as we are very late to implement
> what was envisioned back in 1968 and before. It is 52 years already.
>
> And many more years since Memex has been invented:
>
> Memex
> https://en.wikipedia.org/wiki/Memex
>
> As author said: "The memex device as described by Bush "would use
> microfilm storage, dry photography, and analog computing to give
> postwar scholars access to a huge, indexed repository of knowledge any
> section of which could be called up with a few keystrokes."
>
> And that is exactly what I am creating here to have anything called up
> with few keystrokes and to be able to share files with individuals or
> groups of people without more thinking but just designated what to be
> done.
>
> Have group of 5 people to share notes with? Just find the designated
> group and click share. Computer would handle the rest, maybe send
> files by emails individually, maybe inform people by SMS, maybe upload
> files and share password protected hyperlinks with those people.
>
> Integration is another keyword I like to follow. Android principle of
> sharing is pretty much based on integration. We have all the small
> functions around us only not well integrated with their relations that
> concern human problems.
>
> We have files on file system which we cannot easily share with groups
> or people we want. Address books are all sparse, one is in this email
> client, one is separate, one is on the mobile device, another email
> client does not synchronize, and so on. I have forgotten this long
> ago and use central address book from where everything derive:
>
> - no Google, clouds, etc. that is very insecure. Do not give contacts
>   to Google, there are hundreds of thousands of staff members there
>   and no guarantee whatsoever that they will not read it.
>
> - keeping contacts on my computers. I have already spent money for
>   hard disk, there is enough space
>
> - exporting contacts from central database and importing to email
>   clients, mobile devices, this way everything is synchronized.
>
> How quickly can GNU/Linux user share a file with somebody?
>
> - locate the file by using hierarchical browsing. If file system is a
>   mess, this alone may take some time
>
> - open up email reader
>
> - find that email address. If it is in the email reader already it is
>   good. But it could be in the phone. It could be on paper, or on
>   business card. Where is it? Maybe calling person? But where is the
>   phone number? On first phone, second phone... if all is 

Re: One vs many directories

2020-11-28 Thread Jean Louis
* Ihor Radchenko  [2020-11-24 10:57]:
> > I find it entertaining for now. Now, what is exomind? 
> 
> Unless I misunderstood, Jean referred to "external brain" concept:
> - https://beepb00p.xyz/exobrain/

The more you send me reference more I discover other set of people
doing same what I am doing. Since I have implemented central meta
level organization it is moving rapidly, everthing gets sorted. It
develops by itself and is rapidly accessible.

That website I have to mirror locally to pick ideas and learn from
others. Mirroring I do with:

$ wget -Emk http://example.com

As that command replaces all hyperlinks to local hyperlinks. That
person advanced in organization of things. I stick to few principles
and just design it by principles.

Design works rapidly. Few Emacs Lisp functions and access to reports
listed in Emacs Buffers and integration with other tools.

With one function and one PostgreSQL table defined in 3 minutes I get
rudimentary backup and version system for any column values that I am
editing in the database. If I edit note, the note is versioned
(previous version stored) before I start editing it. Principles I am
following are basics what programmers like, to minimize or eliminate
repetitions and efforts to achieve the goal.

Person above have extracted or exported its own database of hyperlinks
to hyperdocuments. My side I have made for now Org export of any
subtree or the whole dynamic knowledge repository. There are many
things to go. In Emacs development version all kinds of hyperlinks can
get their handlers like gopher:// gemini:// message: tel: sms: and
htat will be very helpful.

No, I do not use "exobrain" as a term. I rather lean on Engelbart's
terminology and follow his principles as we are very late to implement
what was envisioned back in 1968 and before. It is 52 years already.

And many more years since Memex has been invented:

Memex
https://en.wikipedia.org/wiki/Memex

As author said: "The memex device as described by Bush "would use
microfilm storage, dry photography, and analog computing to give
postwar scholars access to a huge, indexed repository of knowledge any
section of which could be called up with a few keystrokes."

And that is exactly what I am creating here to have anything called up
with few keystrokes and to be able to share files with individuals or
groups of people without more thinking but just designated what to be
done.

Have group of 5 people to share notes with? Just find the designated
group and click share. Computer would handle the rest, maybe send
files by emails individually, maybe inform people by SMS, maybe upload
files and share password protected hyperlinks with those people.

Integration is another keyword I like to follow. Android principle of
sharing is pretty much based on integration. We have all the small
functions around us only not well integrated with their relations that
concern human problems.

We have files on file system which we cannot easily share with groups
or people we want. Address books are all sparse, one is in this email
client, one is separate, one is on the mobile device, another email
client does not synchronize, and so on. I have forgotten this long
ago and use central address book from where everything derive:

- no Google, clouds, etc. that is very insecure. Do not give contacts
  to Google, there are hundreds of thousands of staff members there
  and no guarantee whatsoever that they will not read it.

- keeping contacts on my computers. I have already spent money for
  hard disk, there is enough space

- exporting contacts from central database and importing to email
  clients, mobile devices, this way everything is synchronized.

How quickly can GNU/Linux user share a file with somebody?

- locate the file by using hierarchical browsing. If file system is a
  mess, this alone may take some time

- open up email reader

- find that email address. If it is in the email reader already it is
  good. But it could be in the phone. It could be on paper, or on
  business card. Where is it? Maybe calling person? But where is the
  phone number? On first phone, second phone... if all is synchronized
  maybe is easier to find.

- attach the file

- send the file.

But then sending SMS or calling in the same time does not
work. The above process is not well integrated.

It could work like this:

- user just thinks of what has to be shared with other person, types
  the terms related to the thought

- locates the file and press share

- locates the user and press enter. FINISHED

That would be better integration. Even better it would be if user can
choose the automated workflow option:

1. send the file, automatically record that file has been sent to
   specific user. Tell user automatically how many files are attached
   and attach annotation belonging to the file as body of the email or
   any instructions.

2. in the same time inform the user by SMS that file has been sent and
   record that SMS have been sent. 

Re: One vs many directories

2020-11-28 Thread Jean Louis
* Texas Cyberthal  [2020-11-28 11:20]:
> Hi Jean,
> 
> > What should it be or do?
> 
> Dbmind does things that Postgres handles better than Org.
> 
> > As you have specific thought order in directory names then maybe
> > such could be parsed, maybe slashes / removed to show a full path
> > to the file. This becomes long but could be useful in some lists.

> I don't intend to do so.  Textmind maximizes path dynamism via
> Dired+Treefactor.  Links shouldn't break that.

I enjoy these thoughts.

Maybe you refer to browsing the tree.

I am switching completely from browsing the tree into index type of
access. Index helps to find the thought which in turn finds candidates
and file is in front of me. How I think now is little different than
past and different than future. If I think of term "Insurance" related
to Germany those are two words to search for. Maybe in future I think
of "health" then I should be able to find "insurance". There is no
fixed pattern on how to think. Repetition in locating the node creates
habits that next search is even quicker found.

Those most searched nodes could be ranked automatically for even
quicker access. And all searches for nodes could be recorded for
future as inexpensive and automated log that helps person find what
happened in the history and which nodes have been located at certain
months, dates, years.

org-store-link would get its hook or additional function that each
time when Org mode related heading is is stored that it ranks the
file the heading in a separate list which can be stored on file
system.

After a while user will get a subset of highly ranked headings in
their corresponding Org files. That subset then can be used as quick
bookmarks or get bound to keys.

> > Alright and I find that it is the case on my side, and previous work of 
> > Engelbart, then also within some other information management systems, like 
> > Semantic Synchrony.
> 
> Some of that might qualify as an algorithm, but not a natural thought
> algorithm.  A natural thought algorithm must manage substantially all
> natural thoughts while satisfying the definition of an algorithm.

I wish I could understand definition of "natural though algorithm" in
the context how you refer it to.

>From other people's experiences I can see they are thinking
different. It is questionable if there is one algorithm corresponding
to many people's natural thinking.

The algorithm in locating specific file on my sides is programming
algorithm based on what I find most quick for me personally. There are
several such algorithms programmed that help me locate things.

I have 19489 nodes, everything is together. There is no visible delay
for completion to show me list of nodes. The list of everything is
offered for completion and I can type what I think that I need.

If I search for PDF related to "mercury" I will locate it as quick as
1-2 seconds and can open it already. Or I could search by word, tag,
attribute and get a list of related hyperlinks and
hyperdocuments. From there on I can locate the right one.

> The things you mentioned are not even as sophisticated and complete as
> GTD.  And GTD is merely a personal paper-management algorithm, not a
> natural thought algorithm.

I did look on the hyperlink you gave me. It looks like algorithm
deciding what to do with tasks for me. But that is not how we manage
tasks in the group.

We have processes that are defined from A to Z and tasks are managed
with to achieve the overall purpose. A purpose could be project
accomplishment such as "bridge built over the water". Then tasks are
steps bringing the project closer to accomplishment, such as purchase
timber, saw, meter tape, screws. Project planner is the key here as
one should not put nothing more and nothing less, and none task shall
be defined that is not doable. No algorithm should influence tasks to
be pending, or archive them or decide to do task if it is very short
as relations to task and from the task to/from other objects are not
so simple. There can be 10 tasks each 2 minutes long that cannot be
conducted right now as the phone call and subsequent travel may have
so much more important.

I was referring to this:

> After reading appendix IV to Making it all work (another book about
> GTD by David Allen) it occured to me that the Process phase of
> "Mastering Workflow" would be well-rendered using psuedocode. This
> is probably due to the fact that there are several decisions to make
> along the way (logic) and this happens for each item in your inbox
> (loop). So, without further introduction here's the code:

> while length(inbox) > 0:
>   inbox_item = inbox.pop()
>   thing = analyze(inbox_item)

>   if not actionable(thing):
>   toss(thing) or tickle(thing) or file(thing)

>   else if less_than_two_minutes(thing):
>   do(thing)

>   else if is_single_task(thing):
>   wait_for(delegate(thing)) or assign_context(thing)

>   else:
>  

Re: One vs many directories

2020-11-28 Thread Texas Cyberthal
Hi Jean,

> What should it be or do?

Dbmind does things that Postgres handles better than Org.

> As you have specific thought order in directory names then maybe such could 
> be parsed, maybe slashes / removed to show a full path to the file. This 
> becomes long but could be useful in some lists.

I don't intend to do so.  Textmind maximizes path dynamism via
Dired+Treefactor.  Links shouldn't break that.

> Alright and I find that it is the case on my side, and previous work of 
> Engelbart, then also within some other information management systems, like 
> Semantic Synchrony.

Some of that might qualify as an algorithm, but not a natural thought
algorithm.  A natural thought algorithm must manage substantially all
natural thoughts while satisfying the definition of an algorithm.

The things you mentioned are not even as sophisticated and complete as
GTD.  And GTD is merely a personal paper-management algorithm, not a
natural thought algorithm.

(Textmind manages text only, whereas some people think visually.  It
would be easy to adapt Textmind principles to Binmind, if needed.
Therefore even for visual thinkers, Cyborganize is a natural thought
algorithm.)

I doubt there are multiple ways to design a natural thought algorithm.
For example, all natural thoughts occur in a chronological sequence.
This necessitates a ramblog to accurately reflect them.

This is the GTD inbox algorithm:

https://michaelwhatcott.com/gtd-workflow-processing-algorithm/

GTD is usually called a method.  I've started calling Textmind an
algorithm to emphasize the finiteness aspect of its design, a key
feature.  I think I could construct a pseudocode Textmind algorithm.
It would of course rely on human judgment for some decisions, and
judgment is fuzzy.  But the algorithm itself would be unambiguous.



Re: One vs many directories

2020-11-27 Thread Jean Louis
* Texas Cyberthal  [2020-11-27 12:01]:
> Hi Jean,
> 
> > does using the 10 Bins and Textmind system gives you personal
> > satisfaction of being well organized?
> 
> For what it does, yes, amazingly so.

Thank you. I was expecting something like that as we are in similar
position of having somewhat personally better or could we say
idiosyncratically better organizing system for ourselves.

> I still need Dbmind, which I haven't developed yet.

What should it be or do?

> > did you develop having functions similar to store link that
> > quickly obtain the hyperlink in memory to be easier inserted in
> > Org files? That is similar to org-capture. I think every system of
> > organization and storing objects into X should have automated
> > quick hyperlink generation.

> I find Emacs Org's native facilities adequate.  However, I did a bit
> of streamlining:
> 
> > C-c l runs the command treefactor-org-store-link-fold-drawer
> > (found in global-map), which is in ‘treefactor.el’.

As you have specific thought order in directory names then maybe such
could be parsed, maybe slashes / removed to show a full path to the
file. This becomes long but could be useful in some lists.

> > how does 10 Bins and Textmind enhance what you do with Org files?
> 
> It mind-syncs a natural language thought algorithm, which would
> otherwise be impossible.
> 
> https://www.geeksforgeeks.org/introduction-to-algorithms/
> 
> It is clear and unambiguous, has well-defined inputs and outputs, and
> is finite and feasible.

Alright and I find that it is the case on my side, and previous work
of Engelbart, then also within some other information management
systems, like Semantic Synchrony.

Would you consider that the system I am using would be or could be
said to have natural thought algorithm by considering following:

That there are many nodes, they have their names, some properties, and
tags and other meta data and searchable lines could look like this as
one variety of accessing methods:

People / Jean / Computer / Free Software / GNU Emacs / Real-time incremental 
narrowing completion / Helm

now imagine 20,000 or 100,000 such lines but not visible to user, just
few would be visible as incremental narrowing search such as helm or
ivy or filtering functions could quickly locate particular lines.

If I think of "GNU" I would get maybe subset of lines related to that
thought, if I think of Emacs, I would get references related to GNU
and Emacs. If I think of "completion" I would get references to ivy,
selectrym, helm, and so on and by watching the dynamical filter in
front of me I get new references displayed in real time which I can
then add to the query until I find the matching few or matching tree
or matching node.

Sounds to me it is also one type of natural thought algorithm.

> Unlike Getting Things Done by David Allen, it captures the whole
> thought-stream, or at least everything worth typing.

I have no idea and by reading basic descriptions I do not find myself
there. It seems that systems are pretty much idiosyncratic unless
training and well written instructions help in making it applicable
for a group.

There is one "algorithm" that I am using so that every task CAN BE
DONE, and that is that tactical plans are divided into projects only
when one step of the plan is too complex to be executed without
dividing it or chunking it down. Projects fullfil one step of a larger
plan and consists of steps. When one step cannot be fullfiled by its
own, it probably means it was not written well chunked, so that step
is chunked into tasks or orders. Principle of the algorithm would be
to never write tasks that are too complex to be executed and finalized
and to have each task in itself doabl so that each step becomes simple
step of one bigger complex action.

We do projects in real life such as purchasing, construction of
machinery, negotiations, and so on, and projects are written on the
paper and executed and again reused and executed on other places. By
following the above principle our staff members in various countries
could get things done just by reading instructions as each step has
been simplified down to the atomic doable task.




Re: One vs many directories

2020-11-27 Thread Texas Cyberthal
Hi Jean,

> does using the 10 Bins and Textmind system gives you personal satisfaction of 
> being well organized?

For what it does, yes, amazingly so.  I still need Dbmind, which I
haven't developed yet.

> did you develop having functions similar to store link that quickly obtain 
> the hyperlink in memory to be easier inserted in Org files? That is similar 
> to org-capture. I think every system of organization and storing objects into 
> X should have automated quick hyperlink generation.

I find Emacs Org's native facilities adequate.  However, I did a bit
of streamlining:

> C-c l runs the command treefactor-org-store-link-fold-drawer (found in 
> global-map), which is in ‘treefactor.el’.

> how does 10 Bins and Textmind enhance what you do with Org files?

It mind-syncs a natural language thought algorithm, which would
otherwise be impossible.

https://www.geeksforgeeks.org/introduction-to-algorithms/

It is clear and unambiguous, has well-defined inputs and outputs, and
is finite and feasible.

Unlike Getting Things Done by David Allen, it captures the whole
thought-stream, or at least everything worth typing.

Man is used to thinking alone, with no internal error-checker.  Sloppy
conclusions abound since biological memory is ephemeral.  Textmind
creates a team of past and future selves to collaborate
asynchronously.  It's quite steadying.



Re: One vs many directories

2020-11-26 Thread Texas Cyberthal
Hi Jean,

Yes, Textmind is a rock tumbler for natural language thoughts.  An SME
CRM treats people like widgets.  The former does many small thoughtful
touches, the latter does few robotic touches.  Excessive widget volume
chokes Textmind.

Sure, I will subscribe you when I have a mailing list.  For now,
readers can only follow the Github repos.



Re: One vs many directories

2020-11-26 Thread Jean Louis
* Texas Cyberthal  [2020-11-26 19:05]:
> Hi Jean,
> 
> Yes, Textmind is a rock tumbler for natural language thoughts.  An SME
> CRM treats people like widgets.  The former does many small thoughtful
> touches, the latter does few robotic touches.  Excessive widget volume
> chokes Textmind.
> 
> Sure, I will subscribe you when I have a mailing list.  For now,
> readers can only follow the Github repos.

Alright.

I can see there are few people who have got a cognition in organizing
things not being only Org notes but also files, and I feel you are one
of them. I would like to ask few questions:

- does using the 10 Bins and Textmind system gives you personal
  satisfaction of being well organized?

- did you develop having functions similar to store link that quickly
  obtain the hyperlink in memory to be easier inserted in Org files?
  That is similar to org-capture. I think every system of organization
  and storing objects into X should have automated quick hyperlink
  generation.

- how does 10 Bins and Textmind enhance what you do with Org files?

Jean



Re: One vs many directories

2020-11-26 Thread Ihor Radchenko
> Sorry for that vague expression. Let us say I open Completions buffer
> I can switch into it, inspect it, ask for defined keys, evaluate with
> M-:, Emacs allows me to remain in the window and go to other
> window. Agenda buffer does not do that, this is probably because it
> just waits for any key and does not allow anything else. That means I
> will open Agenda and I cannot switch to other window, so I will close
> agenda to switch. Maybe I have 10 TODO keywords, I have to open file,
> I open Agenda again, aha, T... then close agenda, open file see
> keyword, then open agenda again. Repetitions without end and user is
> unable to use multiple windows. This really need not be so.

It appears to me (correct me if I am wrong) that you haven't tried
agenda multi-occur/keyword/etc searches. The way it works is that you
only need to select type of search from agenda dispatcher window (the
one you are criticising). Later, when you actually enter the search
string, you are left with an ordinary Emacs prompt. You are free to
leave the minibuffer and switch to other buffers searching for the
keywords you are interested in.

In general, there are two types of agenda searches available from agenda
dispatcher:
1. Most are free-hand searches where you need to type a search string:
   - match TAGS/PROP/TODO query
   - search for keywords
   - multi-occur
   - first two searches, but limited only to TODO tasks
2. Pre-defined searches where search string was set in advance (by
   developers or by user via org-agenda-custom-commands):
   - agenda listing tasks relevant to current week or day
   - all TODO entries
   - FLAGGED entries
   - stuck projects

The first type will let you leave search prompt as soon as you select
what type of search you are about to enter.
The second type does not really need entering any extra text - it is
predefined.

> You know how agenda is made like the 1985 BASIC menu in Commodore
> C=64, but even back then there was better interface for such menus.

FYI. Transient.el - menu dispatcher in popular magit package also does
not let you switch buffers. So, apparently many people would not agree
that it is so terrible design.

P.S. Nothing prevents you from calling, i.e. M-x org-occur or binding it
to a key of your choice.

Best,
Ihor

Jean Louis  writes:

> * Ihor Radchenko  [2020-11-25 14:48]:
>> > When I do C-c a it runs (org-agenda) but I do not have "g" and I am on
>> > development version. The C-c a window is made so that I cannot go with
>> > cursor inside and that I cannot even expect the key map neither invoke
>> > command by M-x and I cannot even M-:
>> 
>> C-c a will first show so-called agenda dispatcher asking you what kind
>> of agenda view you want to get. You need to press a key according to
>> the popup window (i.e. `t' to see all not done items). Then, you will
>> get the proper agenda buffer with all the keymaps set and `g' bound to
>> refreshing the chosen agenda view in the buffer.
>> 
>> > All that is wrong and not aligned to Emacs common interface. It is bug
>> > that bugs. Agenda buffer should allow users those standard Emacs
>> > features.
>> 
>> I am wondering what is the common Emacs interface you refer to. I am not
>> aware about any standard way to prompt user while also showing detailed
>> description of what to expect from different choices.
>
> Sorry for that vague expression. Let us say I open Completions buffer
> I can switch into it, inspect it, ask for defined keys, evaluate with
> M-:, Emacs allows me to remain in the window and go to other
> window. Agenda buffer does not do that, this is probably because it
> just waits for any key and does not allow anything else. That means I
> will open Agenda and I cannot switch to other window, so I will close
> agenda to switch. Maybe I have 10 TODO keywords, I have to open file,
> I open Agenda again, aha, T... then close agenda, open file see
> keyword, then open agenda again. Repetitions without end and user is
> unable to use multiple windows. This really need not be so.
>
> If I open packages' list I can keep the buffer and move to other
> buffer while looking into that list.
>
> You know how agenda is made like the 1985 BASIC menu in Commodore
> C=64, but even back then there was better interface for such menus.



Re: One vs many directories

2020-11-26 Thread Jean Louis
* Ihor Radchenko  [2020-11-25 14:48]:
> > When I do C-c a it runs (org-agenda) but I do not have "g" and I am on
> > development version. The C-c a window is made so that I cannot go with
> > cursor inside and that I cannot even expect the key map neither invoke
> > command by M-x and I cannot even M-:
> 
> C-c a will first show so-called agenda dispatcher asking you what kind
> of agenda view you want to get. You need to press a key according to
> the popup window (i.e. `t' to see all not done items). Then, you will
> get the proper agenda buffer with all the keymaps set and `g' bound to
> refreshing the chosen agenda view in the buffer.
> 
> > All that is wrong and not aligned to Emacs common interface. It is bug
> > that bugs. Agenda buffer should allow users those standard Emacs
> > features.
> 
> I am wondering what is the common Emacs interface you refer to. I am not
> aware about any standard way to prompt user while also showing detailed
> description of what to expect from different choices.

Sorry for that vague expression. Let us say I open Completions buffer
I can switch into it, inspect it, ask for defined keys, evaluate with
M-:, Emacs allows me to remain in the window and go to other
window. Agenda buffer does not do that, this is probably because it
just waits for any key and does not allow anything else. That means I
will open Agenda and I cannot switch to other window, so I will close
agenda to switch. Maybe I have 10 TODO keywords, I have to open file,
I open Agenda again, aha, T... then close agenda, open file see
keyword, then open agenda again. Repetitions without end and user is
unable to use multiple windows. This really need not be so.

If I open packages' list I can keep the buffer and move to other
buffer while looking into that list.

You know how agenda is made like the 1985 BASIC menu in Commodore
C=64, but even back then there was better interface for such menus.



Re: One vs many directories

2020-11-26 Thread Jean Louis
* Ihor Radchenko  [2020-11-26 06:34]:
> > Can I automated the execution of Babel code upon opening of the Org
> > file?
> 
> Adding to other suggestions, you can always add a custom function to
> org-mode-hook instead of playing with file-local variables.
> 
> > Then we comes to actual execution of tasks. How do we get
> > reminded?

Yes, that requires customization, file local variables customize
things without user's customization. In the end my use for that slowly
disappears as I am transitioning all tasks to HyperScope. Yesterday I
made simple hard-coded function here that I invoke inside of an Org
heading that captures the heading, date created, and its text and
stores it as a note in the database.

(defun hyperscope-capture-org-heading ()
  "Captures Org heading and stores it in the Hyperscope dynamic
  knowledge repository"
  (interactive)
  (let* ((body (org-copy-subtree nil nil nil t))
 (body (pop kill-ring))
 (body (org-no-properties body))
 (heading (org-get-heading))
 (created (org-property-values "CREATED"))
 (date (if created (substring (car created) 1 11) nil))
 (body (with-temp-buffer
 (insert body)
 (org-mode)
 (org-back-to-heading)
 (kill-line)
 (delete-matching-lines ":PROPERTIES:")
 (delete-matching-lines ":CREATED:")
 (delete-matching-lines ":ID:")
 (delete-matching-lines ":END:")
 (buffer-string
(hyperscope-add-note-to-set heading body date)))

The other use I had for users are tables as I have been writing
tables so much. 

But then I have to write that Joe Doe have paid money to Jane Dane in
the file of Jane Dane as only so I know how much money Jane Dane keeps
on behalf of business. And then I have to write by hand the same
transaction in the file of Joe Doe, as now he has less money. Tracking
it by head is definitely after some time error prone activity.

Database already has few tables for accounts and businesses, so I can
use database backed accounting which is already implemented as journal
package. 

Then if I am doing transaction from Joe Doe I would select Joe Doe
petty cash acccount transferring money to Jane Dane's petty cash
account. I would type less and be less worried about errors. Entries
are stored in the database. If account for Joe Doe is related to Joe
Doe (relations has to be assigned, not just named by person) then I
can invoke the creation of Org table for the Joe Doe's profile.

Majority of times I am creating Org file on the fly for the person
that contains:

* Tasks
* Transactions

Now I will be pushing tasks into meta level and edit them from there
and when Org file is opened that relates to one person then Tasks can
automatically appear in the list ordered by their status or other
attribute.

Transactions I will most probably slowly transition into the database
and they can also automatically appear in the Org table under
Transactions so to be sent easier by using nice Org exports. 

While this approach may not be common, it offers me more free time and
less worries.

> > Is the reminder only if I press {C-c a} for org-agenda? Do I need to
> > do action to get reminded?
> 
> You can always configure Emacs to run agenda on startup. Just add a
> command to your init file ;)

Thank you.

> For automatic reminders, there is built-in org-notify.el or external
> org-alert package (https://github.com/spegoraro/org-alert).

That is definitely good idea. Just little limited as it relates to
user on computer and not to users to which tasks are assigned to.

Think of that as the next and long forgotten enhancement for Org. 

I have this property in Org header:

#+PROPERTY: ASSIGNED_ALL Ezekiel Jean James Victor Dejan TeamTZ

TeamTZ is property of several people, when task is assigned to TeamTZ,
such task get sent to all people involved.

When I am assigning tasks the above list is using one of them to be
assigned.

When task is assigned to somebody notification of a deadline or alerts
are definitely useful for me. But they are are useful for those
conducting the tasks.

Thus integration to remind those *related* people to the assigned
tasks and their deadlines or schedules would be useful.

- org-send-task-by-email (shows some properties, schedules, ID)

- org-send-task-by-email-ascii (not same display in email)

- org-send-task-by-sms (using KDE connect, Termux, gnokii, Twilio, etc)

- org-send-task-by-fax (using email2fax providers or built-in fax modem)

Then think of reminders, they would need to run maybe in Emacs, but
maybe in Emacs that runs from cron job periodically, whatever is more
reliable. 

I also think that generic reminding database or one `reminders' table
would be usable on every system so that users may add to it anything,
be it task, birthday, anniversary, deadlines, etc. Such generic
database would be run as system service and remind not only user 

Re: Local variables insecurities - Re: One vs many directories

2020-11-26 Thread Jean Louis
* Detlef Steuer  [2020-11-26 14:46]:
> Am Thu, 26 Nov 2020 08:31:29 +0300
> schrieb Jean Louis :
> 
> > That is not fair choice. It pushes user to finally ! apply and accept
> > it, but does not give chance to permanently ignore it.
> > 
> > 
> > Do you want to apply it?  You can type
> > y  -- to apply the local variables list.
> > n  -- to ignore the local variables list.
> > !  -- to apply the local variables list, and permanently mark these
> >   values (*) as safe (in the future, they will be set
> > automatically.)
> 
> Well, if you are arguing for a user who chose to use emacs, configured
> mutt to invoke emacs etc

I do not. Any file opened any how by Emacs is invoking those variables. 

Please send your opinions to bug:
https://debbugs.gnu.org/cgi/bugreport.cgi?bug=44837 by writing to:
44...@debbugs.gnu.org

> .but at the same time has no idea he chose a
> mighty tool, as in has no clue about programming, variables etc.,

That is right, I have given references. Do not expect users who obtain
Emacs editor to be programmers. When user is asked anything, it should
be self-documenting and it should have references to that
documentation. That is why majority of actions with Emacs do have ?
for help at least. Invoking unsafe variables does not even involve any
help or references to manual.

>  then
> this choice won't help neither. If you have no idea about local
> variables, you can not make an informed decision about *anything*
> involving the concept of local variables. Besides stopping and reading
> the manual.

That is right, but that will be picked by those better positioned few.



Re: Local variables insecurities - Re: One vs many directories

2020-11-26 Thread Detlef Steuer
Am Thu, 26 Nov 2020 08:31:29 +0300
schrieb Jean Louis :

> That is not fair choice. It pushes user to finally ! apply and accept
> it, but does not give chance to permanently ignore it.
> 
> 
> Do you want to apply it?  You can type
> y  -- to apply the local variables list.
> n  -- to ignore the local variables list.
> !  -- to apply the local variables list, and permanently mark these
>   values (*) as safe (in the future, they will be set
> automatically.)

Well, if you are arguing for a user who chose to use emacs, configured
mutt to invoke emacs etc,  but at the same time has no idea he chose a
mighty tool, as in has no clue about programming, variables etc., then
this choice won't help neither. If you have no idea about local
variables, you can not make an informed decision about *anything*
involving the concept of local variables. Besides stopping and reading
the manual.

May be I miss something, but then I miss it :-)

Furthermore this discussion has imho long left the main topic of this list.

Detlef



Re: Local variables insecurities - Re: One vs many directories

2020-11-26 Thread Jean Louis
* Tom Gillespie  [2020-11-26 09:19]:
> > As there is the option ! to "apply local variables and permanently
> > mark these values" but there is no option "not to apply local
> > variables and permanently mark these values".
> 
> I have a longer reply that I will send tomorrow, but wanted to respond
> to this.
> 
> Yes exactly! I have the equivalent complaint in the draft extras from
> my previous message! I actually implemented a blacklist for file local
> variables in orgstrap because it is a critical security feature. The
> fact that it is missing is absolutely a bug and is extremely annoying
> for some of my current workflows where I have local variables that I
> never want to accept.

Then maybe just add to the same bug your opinion.




Re: Local variables insecurities - Re: One vs many directories

2020-11-26 Thread Jean Louis
* Greg Minshall  [2020-11-26 08:34]:
> Tom,
> 
> > 2. If mutt is launching Emacs, you can pass --eval "(setq
> >enable-local-eval nil)" on the command line and all file local
> >variables will be ignored and treated as plain text.
> 
> maybe that is one thing that could really help here.  possibly mutt and
> other emacs-based mail readers, when putting up a received e-mail
> message, should by default do just that (and, also, '(setq
> enable-local-variables :safe)'?).
> 
> i use mh-e, and it does *not* seem to do that.  but, if emacs is niche,
> mh-e is the niche-squared. :)

I have sent summary of our discussion here to the bug #44837 for
further review, we may switch to better Org related subjects here if
you people agree.

https://debbugs.gnu.org/cgi/bugreport.cgi?bug=44837



Re: Local variables insecurities - Re: One vs many directories

2020-11-26 Thread Christian Moe


Located Eric's message and can confirm the same for mu4e (no query about
setting/evaluating anything upon opening the message).

cm

Eric S Fraga writes:

> On Wednesday, 25 Nov 2020 at 15:38, Jean Louis wrote:
>> I have not configured anything. In fact I have opened the email and I
>> was surprised that I am getting those dialogues to execute local
>> variables.
>
> Very strange.  It was my email that instigated this part of the
> thread.  I can view my email and I do not get asked to set any locate
> variables or, in this case, evaluate the elisp expression.  Out of
> curiosity, what mail reader did you use that actually interprets file
> local variables?  Gnus article view does not.



Re: Local variables insecurities - Re: One vs many directories

2020-11-25 Thread Tom Gillespie
> As there is the option ! to "apply local variables and permanently
> mark these values" but there is no option "not to apply local
> variables and permanently mark these values".

I have a longer reply that I will send tomorrow, but wanted to respond
to this.

Yes exactly! I have the equivalent complaint in the draft extras from
my previous message! I actually implemented a blacklist for file local
variables in orgstrap because it is a critical security feature. The
fact that it is missing is absolutely a bug and is extremely annoying
for some of my current workflows where I have local variables that I
never want to accept.



Re: Local variables insecurities - Re: One vs many directories

2020-11-25 Thread Jean Louis
Additionally, as a good example of faulty design, user is coerced to
ACCEPT local variables rather than is given fair choice.

As there is the option ! to "apply local variables and permanently
mark these values" but there is no option "not to apply local
variables and permanently mark these values".

That is not fair choice. It pushes user to finally ! apply and accept it, but
does not give chance to permanently ignore it.


Do you want to apply it?  You can type
y  -- to apply the local variables list.
n  -- to ignore the local variables list.
!  -- to apply the local variables list, and permanently mark these
  values (*) as safe (in the future, they will be set automatically.)



Re: Local variables insecurities - Re: One vs many directories

2020-11-25 Thread Greg Minshall
Tom,

> 2. If mutt is launching Emacs, you can pass --eval "(setq
>enable-local-eval nil)" on the command line and all file local
>variables will be ignored and treated as plain text.

maybe that is one thing that could really help here.  possibly mutt and
other emacs-based mail readers, when putting up a received e-mail
message, should by default do just that (and, also, '(setq
enable-local-variables :safe)'?).

i use mh-e, and it does *not* seem to do that.  but, if emacs is niche,
mh-e is the niche-squared. :)

cheers, Greg



Re: Local variables insecurities - Re: One vs many directories

2020-11-25 Thread Jean Louis
* Tom Gillespie  [2020-11-26 05:07]:
> Hi Jean,
> 
> Some points in summary before a long email.
> 1. Having an accepting default behavior as a user (i.e., saying yes to
>all prompts) is bad security practice. The only thing that systems
>can do is prompt as infrequently as possible in hopes that people
>don't get prompt fatigue. Emacs does this.

I know, and do not speak for one person but for those who will not
know. To ask users who do not know programming using editor for text
editing and to assume that users will know programming terms:
variables, values, applying, safe and ANYTHING else that is written in
eval: is bad security practice.

> 2. If mutt is launching Emacs, you can pass --eval "(setq
>enable-local-eval nil)" on the command line and all file local
>variables will be ignored and treated as plain text.

Sure, I know, but human text editors will not know. They are faced
with YES/NO. What has to be improved is the YES/NO dialogue that has
no hyperlinks to its corresponding explanations and asks users things
with wrong assumption that user will understand them.

> 3. If people don't read the manual and don't read the prompt, there
>isn't much more that Emacs can do while still empowering the
>user.

Empowering can take place in the dialogue as such has enhancement
space. Do you think it is good idea?

>   In those cases we also can't assume that the community will be of
>   much help either, as we are trying to be here.

Community is of great help. Users are many and just fraction of users
are in this community for example. Only subset of users even while
being in community or reading emails or website will be participating
in such.

> 4. That said, the local variables prompt could be more alarming and
>provide a quick way to access the manual about local
>variables. I'll look into a patch for that.

Yes, that is it. To empower user is to give him straight better
reference on what to do.

Following places could become buttons:

The local variables list in new-concept.org
^^^
Button to A below

contains values that may not be safe (*).
^^^ 
Button to A below   Button to A below

Template:

Do you want to apply it?  You can type
   
y  -- to apply the local variables list.
 ^^
 Button to A below
 
n  -- to ignore the local variables list.

!  -- to apply the local variables list, and permanently mark these
 ^^^
 Button to A
  values (*) as safe (in the future, they will be set automatically.)

  * eval : (let ((pos (org-babel-find-named-block "stages"))) (when
pos (save-excursion (org-with-point-at pos
(org-babel-execute-src-block)
^^
Button to A below.

The template how it looks originally:

The local variables list in new-concept.org
contains values that may not be safe (*).

Do you want to apply it?  You can type
y  -- to apply the local variables list.
n  -- to ignore the local variables list.
!  -- to apply the local variables list, and permanently mark these
  values (*) as safe (in the future, they will be set automatically.)

  * eval : (let ((pos (org-babel-find-named-block "stages"))) (when pos 
(save-excursion (org-with-point-at pos (org-babel-execute-src-block)

Button A should follow here:
^
File: emacs.info,  Node: Safe File Variables,  Prev: Specifying File Variables, 
 Up: File Variables

49.2.4.2 Safety of File Variables
.


Right now situation is this:

- if user press C-g to abort the file will be loaded, which is good

- user will not be able to access any of the visible buttons by using
  cursor because somebody made cursor invisible in that
  dialogue. Cursor should be made visible that keys can be used to
  access buttons

- There shall be on minibuffer some key like "? TO READ MANUAL" to go
  straight to the manual section above which is warning user much
  better.

- IF THE USER press C-g, or tries to escape it or clicks by using
  keyboard on the button, or even switch to the buffer with keyboard,
  or uses mouse to activate the button, or uses ? to activate to read
  manual, in all those cases the dialogue should be interrupted and
  file loaded. User should not be left facing dialogue if it was clear
  from user's interaction that there was doubt with the meanings of
  the dialoue.

- Adding references on unsafe local variables to TUTORIAL

> Full disclosure. I make use of file local variables every day
> and I have spent quite a while writing orgstrap which relies heavily
> on them, so I am definitely biased.

With such enhancement there is no need to change history of the past,
we just change the future and history for the future.

> Emacs is a sharp tool. Experts need sharp tools. If someone
> complains about the security of prompts but also admits that they
> always say yes to 

Re: One vs many directories

2020-11-25 Thread Ihor Radchenko
> For my own setup I run code in a hook to update the agenda whenever I
> change a TODO state, clock in or clock out, but that has performance
> problems when I do it while the Agenda is shown.

You do not have or update the whole agenda view.

I use the following code to update the clocking highlights in agenda
even when I clock-in/out outside the agenda buffer:

https://github.com/yantar92/emacs-config/blob/master/config.org#update-highlight-from-currently-clocked-task-in-agenda-even-if-the-task-was-clocked-inout-from-outside

The same can be done for todo state changes using
org-agenda-change-all-lines

Best,
Ihor

"Dr. Arne Babenhauserheide"  writes:

> Jean Louis  writes:
>
>> Some people maybe access multiple Org files through Agenda, me I
>> don't. Some items are "non existent" and I do not know how to ask
>> agenda to refresh itself.
>
> Simply press the letter g.
>
> For my own setup I run code in a hook to update the agenda whenever I
> change a TODO state, clock in or clock out, but that has performance
> problems when I do it while the Agenda is shown.
>
> (defvar todo-modified-from-agenda nil "Indicates whether org-mode todo 
> state changes were triggered from the agenda. Check this to avoid trying to 
> propagate the change back into the agenda")
> ;; continuously update agenda view, from 
> http://thomasf.github.io/solarized-css/test/org-hacks.html
> (defun kiwon/org-agenda-redo-in-other-window ()
>   "Call org-agenda-redo function even in the non-agenda buffer."
>   (interactive)
>   (when (not (and (boundp 'todo-modified-from-agenda) 
> todo-modified-from-agenda)) ; org-state non-nil means we’re coming from the 
> org-after-todo-state-change-hook, which would throw when changing todo states 
> from agenda due to a circular action
> (let ((agenda-window (get-buffer-window (or (and (boundp 
> 'org-agenda-buffer-name) org-agenda-buffer-name) "plan.org") t)))
>   (when agenda-window
>   (with-selected-window agenda-window
> (org-agenda-redo))
> ;; advice agenda todo to avoid redo, thanks to 
> http://nullprogram.com/blog/2013/01/22/
> (defadvice org-agenda-todo (before org-agenda-disable-redo activate)
>   (setq todo-modified-from-agenda t))
> (defadvice org-agenda-todo (after org-agenda-enable-redo activate)
>   (setq todo-modified-from-agenda nil))
> 
> (add-hook 'org-clock-in-hook 'kiwon/org-agenda-redo-in-other-window)
> (add-hook 'org-clock-out-hook 'kiwon/org-agenda-redo-in-other-window)
> (add-hook 'org-after-todo-state-change-hook 
> 'kiwon/org-agenda-redo-in-other-window)
>
>
> Best wishes,
> Arne
> -- 
> Unpolitisch sein
> heißt politisch sein
> ohne es zu merken



Re: One vs many directories

2020-11-25 Thread Ihor Radchenko
> Can I automated the execution of Babel code upon opening of the Org
> file?

Adding to other suggestions, you can always add a custom function to
org-mode-hook instead of playing with file-local variables.

> Then we comes to actual execution of tasks. How do we get reminded?
>
> Is the reminder only if I press {C-c a} for org-agenda? Do I need to
> do action to get reminded?

You can always configure Emacs to run agenda on startup. Just add a
command to your init file ;)

For automatic reminders, there is built-in org-notify.el or external
org-alert package (https://github.com/spegoraro/org-alert).

> Personal problem is that tasks are sparse and separate in various Org
> files and not centralized. I become dependent of org-agenda to do what
> I need but it never does what I need.

I agree that org-agenda has many issues that cannot be easily solved
because of its complexity. However, everything you describe (including
multi-occur) can also be achieved with org-ql
(https://github.com/alphapapa/org-ql) - analogue of SQL query language
for org-mode (with more optimisations in comparison with org-agenda). 

Best,
Ihor

Jean Louis  writes:

> * Ihor Radchenko  [2020-11-23 08:43]:
>> >> I am wondering what you mean by Org's philosophy. Why would it have 
>> >> anything to do with directories?
>> >
>> > Org's philosophy is to have one or a handful of directories without
>> > nesting of directories.  Users are not expected to have their Org
>> > files in a deeply nested tree.  Org also prefers big files with large
>> > trees rather than lots of little files.
>> >
>> > By philosophy, I mean the dev consensus on the correct way to do
>> > things, and coded configuration and usability biases.
>> 
>> I believe that org support all possibilities. The user can decide to
>> keep many (possibly nested) org files, a few large org files, or
>> anywhere in between. There are several parallel feature sets allowing to
>> work in a single file as well as with a bunch of smaller files.
>
> Yes, sure, and I guess you mentioned some people have problems with
> many files. And I have no problem at all with many files as they are
> per subject separated, per person or per subject separated. They are
> not hyperlinked to each other, it is me who make system to hyperlink
> to files.
>
> Searching for Joe Doe, F4 and I am in Org file for Joe Doe. My
> personal TODO list need not really show the tasks assigned to Joe Doe,
> I could show only * TODO Joe Doe and when I click there then I can get
> all tasks for Joe Doe as new Org file.
>
> It means I am accessing hundreds of Org files from the meta level by
> using conceptual location backed by the database.
>
> Some people maybe access multiple Org files through Agenda, me I
> don't. Some items are "non existent" and I do not know how to ask
> agenda to refresh itself. This is not big deal as I do not access
> items throgh Agenda, though I find it very useful. 
>
> org-agenda is trying to put all tasks and notes from various files
> into one list and that is of course not so easy task considering that
> files can be anywhere on the file system and that they need to be
> "remembered". 
>
>> For a single file, the user can search headings with org-goto (without a
>> need to explicitly travel through all the nesting headline levels),
>> reveal only headings satisfying certain keyword/tag/any other search
>> criteria with org-sparse-tree, or built agenda views restricted to a
>> single file (or even subtree).
>
> M-x org-goto is useful feature to find headlines. And I never use it,
> just standard Emacs search is enough within a file. Meanings I am
> searching are often inside of the headline. And it is not my perosnal
> way locating things.
>
> Personally, I am using parts of Org, like specific headling to export
> it and to send to remote person, or to print the file as project and
> to bind it nicely.
>
> When I see repetitive action, for example that I have to send "Daily
> Report" template to a person by email, than I just bookmark that in
> Emacs with {C-x r m} under something that I think is the meaning of
> it. Then I forget about it. Next time when I need to send report, I am
> {C-x r b} and quickly completing it and then I am exporting and
> inserting into the email.
>
> In general I speak of subsets or sub-lists among lists. List of Org
> files is one list, list of headings within Org file is other list, and
> list of specific subject related headings or bookmarks to such is
> third subset of lists.
>
>> For multiple files located anywhere in the filesystem, there is always
>> org-refile capable of filing the information to proper place
>> searching deeply nested headlines with ease regardless of the file the
>> information is physically located in. Headlines from multiple files can
>> be grouped using agenda views for any given search criteria (showing
>> todo items or items for a single day/week is just a tiny subset of what
>> agenda can do).
>
> That may be useful for 

Re: Local variables insecurities - Re: One vs many directories

2020-11-25 Thread Tom Gillespie
Hi Jean,

Some points in summary before a long email.
1. Having an accepting default behavior as a user (i.e., saying yes to
   all prompts) is bad security practice. The only thing that systems
   can do is prompt as infrequently as possible in hopes that people
   don't get prompt fatigue. Emacs does this.
2. If mutt is launching Emacs, you can pass --eval "(setq
   enable-local-eval nil)" on the command line and all file local
   variables will be ignored and treated as plain text.
3. If people don't read the manual and don't read the prompt, there
   isn't much more that Emacs can do while still empowering the
   user. In those cases we also can't assume that the community will
   be of much help either, as we are trying to be here.
4. That said, the local variables prompt could be more alarming and
   provide a quick way to access the manual about local
   variables. I'll look into a patch for that.

Now on to the rest!

Full disclosure. I make use of file local variables every day
and I have spent quite a while writing orgstrap which relies heavily
on them, so I am definitely biased.

Emacs is a sharp tool. Experts need sharp tools. If someone complains
about the security of prompts but also admits that they always say yes
to prompts without reading them, then no one will take them seriously
when they try to argue that it is the prompt that is insecure. It is
like complaining that the forest is dangerous while insisting on
eating the berries of all the plants and picking up all the snakes.
The forest is dangerous, but not merely because the berries and the
snakes exist in it. Heck, some snakes even try to warn you! There are
some rattlesnakes that have evolved to not rattle because idiot humans
go find and kill them. Now everyone suffers because there are silent
rattlesnakes that will strike without warning.

Degrading usability because some users are irresponsible just
reinforces the irresponsible behavior and everyone loses. The endgame
for all prompts is a two-man two-key system where the switches are
separated by 30 feet and must be turned within 1 second of each
other. How else could we be sure that the user really meant to say
yes!? Emacs is scary, but not nuclear launch system levels of scary.

Furthermore, Emacs does try to account for users who don't read the
manual and has sane and safe defaults. Namely it does not blindly
execute code but prompts the user and lets them know that something is
going on. Further, when it prompts the user it does not provide a
default action, it forces them to answer so that they must attend to
what they are doing. This provides the user with an opportunity to
become aware of a feature of Emacs that is new to them. The only other
option is to never execute local variables until a user reads the
manual and changes their config. Such a design infantilizes the user
and does not empower them.

Emacs isn't just a dissociated tool, or at least it tries not to be
(lots of people also complain about the splash screen being enabled by
default!). The Emacs community often also goes out of its way to share
its knowledge when such situations arise (as we are doing here). We
can't reach everyone (yet!) but many people donate time and effort to
share. Emacs and Org both actively encourage users to participate in
the mailing lists because venues like StackOverflow are not guaranteed
to be seen by the community and are not officially supported.

Finally on this point, if we are willing to open the manual we see
that Emacs tries to educate users about this, the first line of the
section on file local variables is "File-local variables can be
dangerous."

With regard to the local variables prompt. Maybe the right thing to do
in this case would be to add a "?" option so that users can open the
manual? That seems like it would help. That said, the second line of
the prompt reads "contains variables that may not be safe (*)" which
should be alarming. I guess it could be changed to "THIS FILE COULD
PWN YOU. Please review potentially unsafe variables marked with an
asterisk (*)." Or just make the second line a bold warning? I have a
patch I need to send in to make it possible to use lexical scope in
eval local variables, I'll take a look at this while I'm there.

It is forgivable to not be utterly terrified of systems that can
execute arbitrary code, given that they mostly look like rocks, and we
are surrounded by them all day. However, they are utterly terrifying
existences! While I think it would be great for the Emacs splash
screen to come with a big warning that says "WARNING THIS PROGRAM
ENABLES YOU TO EXECUTE ARBITRARY CODE" I admit that it took me nearly
a decade to begin to understand what arbitrary code execution means
and why I should be scared of it. Those words are meaningless to a 12
year old who at best will think "What is the big deal about arbitrary
code? I can already run any code that I want!"

This is why I pointed you to orgstrap. The eval: (org-sbe startup)

Re: Local variables insecurities - Re: One vs many directories

2020-11-25 Thread Jean Louis
* Tim Cross  [2020-11-25 23:54]:
> I guess this is probably the main point where we disagree.
> 
> Emacs is first and foremost a programmers editor. It was never designed
> as a general purpose editor, but rather specifically as an editor for
> programmers.

Yes. And when I was born as baby I was designed for milk, not for
typing, times change. People use GNU/Linux and Emacs is not advertised
as programmers or exclusively programmers editor. Some other editors
are advertised that way. So think how many hundreds of thousands of
users are working with Emacs.

Here is how Debian GNU/Linux describes it:
https://packages.debian.org/buster/emacs

If there are 10 programmers there are probably 100 if not 500
non-programmers.

> If you jump into a formula 1 race car, you would find it almost
> impossible to drive. The gearbox would be unfamiliar and difficult to
> use, the clutch would be difficult to use etc. If you got it going, you
> would have a high likelihood of crashing. Luckily, you would probably
> just stall and get nowhere.
> 
> Is this the fault of the design of the race car or the driver?

Race cars are not distributed through GNU/Linux operating systems and
are not easily downloadable by everybody, in general, they are also
expensive. While it all sounds entertaining, Emacs is not a race
car. And we cannot say to users not to use it if they are not Formula
One Drivers.

> With respect to your email example, the number of people who are exposed
> is even less - it is really only those who are using it in the same
> manner as you. That is, where they have configured their mail client
> (such as Mutt) to use Emacs as the external editor. None of the Emacs
> mail clients I have used do this (this includes VM, mu4e, gnus,
> wonderlust and mew).

I do not need to use Emacs with Mutt to invoke local variables. I can
get files by any means and by any opening of the file with Emacs it
will be invoked. Somebody could send me file to download and
open. File can come from anywhere, it is not Mutt related really.

Gnus buffers and email clients do not invoke local variables and that
is fine. But security issue is not email centric, but file centric.

> anyone who has gone to the effort to configure their mail system to use
> an external editor and who then answers yes to the statement
> "...contains values that may not be safe. Do you want to apply it?" is
> someone with inherently unsafe practices.

That is very rigid assumption. People set editors for various email
clients since decades. Try to think from another people's view points.

Here is example:
https://stackoverflow.com/questions/15865495/opening-a-file-in-emacs-values-that-are-not-safe

That person has quite different view point. Person asks "Why it would
not be safe?" and one should know when one person writes there for an
answer there are probably thousand other persons who did not write for
the answer.

Other person asked:

"Thanks, that's very helpful. Why would a file (i.e. the author of the
file) require or ask Emacs to apply configuration values when just
opening/visiting the file? – Amelio Vazquez-Reina"

I know why, but people using Emacs are asking why. Many will not ask
and will say, damn YES, as I feel safe!

Denial of Service Attacks possible:
https://github.com/aquamacs-emacs/aquamacs-emacs/issues/147
https://gitmemory.com/issue/davidswelt/aquamacs-emacs/147/478196367

.emacs considered not safe:
https://www.cs.ait.ac.th/~on/O/oreilly/tcpip/puis/ch11_05.htm

OK then now back to Org discussions.

Jean



Re: Local variables insecurities - Re: One vs many directories

2020-11-25 Thread Tim Cross


Jean Louis  writes:

> * Eric S Fraga  [2020-11-25 16:58]:
>> On Wednesday, 25 Nov 2020 at 16:13, Jean Louis wrote:
>> > I use Mutt.
>> > The message is opened in Emacs in mail-mode
>>
>> Ah, so mutt saves content in a file which is then opened by
>> Emacs.  Okay, that makes sense.  Gnus does things the other way around:
>> opens the buffer (associated with a file in the draft directory),
>> inserts the content, and then puts the user in control.  File local
>> variables don't get a chance to be interpreted then.
>
> That is specific to Gnus. Any file opened by Emacs any will still
> invoke the dialogue for local variables.
>
>> > Then I have been testing and even text files invoke local variables.
>>
>> Yes, of course.  That's the whole point?
>
> You know that point is bad design and assumption that every user is
> programmer who knows what are local variables and what are definitions
> of Emacs functions, it is incredible situation.

I guess this is probably the main point where we disagree.

Emacs is first and foremost a programmers editor. It was never designed
as a general purpose editor, but rather specifically as an editor for
programmers.

If you jump into a formula 1 race car, you would find it almost
impossible to drive. The gearbox would be unfamiliar and difficult to
use, the clutch would be difficult to use etc. If you got it going, you
would have a high likelihood of crashing. Luckily, you would probably
just stall and get nowhere.

Is this the fault of the design of the race car or the driver? Would it
make sense to change the design of a race car to use a standard gearbox
and clutch just because at some point someone who is not a race car
driver might want to drive it?

Are there risks associated with local variables. Yes. Is there
sufficient protection against these variables being used for malicious
purposes in Emacs. I think the answer is yes. Is there any evidence of
these variables being used for malicious purpose. None that I am aware
of. Has there been bugs in the implementation of this facility - yes.
Have these bugs been addressed once identified - yes.

With respect to your email example, the number of people who are exposed
is even less - it is really only those who are using it in the same
manner as you. That is, where they have configured their mail client
(such as Mutt) to use Emacs as the external editor. None of the Emacs
mail clients I have used do this (this includes VM, mu4e, gnus,
wonderlust and mew).

anyone who has gone to the effort to configure their mail system to use
an external editor and who then answers yes to the statement
"...contains values that may not be safe. Do you want to apply it?" is
someone with inherently unsafe practices. I doubt any change in wording
or phrasing would be of any help for them. However, the correct way to
deal with this would be to offer up a patch to the Emacs developers
which improve this wording. I would suggest the set of people who are
technically aware enough or have sufficient technical interest to have
adopted emacs as their email viewer and who would still answer yes to
any dialogue warning them of unsafe actions when opening content from an
unknown source is very small.

Local variables is a powerful and useful feature. Like many powerful
features, it can be abused. We differ in our opinions on whether those
safe guards are sufficient. I believe they are and I believe you are
over stating the risks. I don't believe we will arrive at any consensus
and I feel this thread has run its course. You are of course free to
respond, but I will refrain from further participation as this has
wondered off topic for org mode and I see little to be gained from
further back and forth.


--
Tim Cross



Re: Local variables insecurities - Re: One vs many directories

2020-11-25 Thread Jean Louis
* Eric S Fraga  [2020-11-25 16:58]:
> On Wednesday, 25 Nov 2020 at 16:13, Jean Louis wrote:
> > I use Mutt.
> > The message is opened in Emacs in mail-mode
> 
> Ah, so mutt saves content in a file which is then opened by
> Emacs.  Okay, that makes sense.  Gnus does things the other way around:
> opens the buffer (associated with a file in the draft directory),
> inserts the content, and then puts the user in control.  File local
> variables don't get a chance to be interpreted then.

That is specific to Gnus. Any file opened by Emacs any will still
invoke the dialogue for local variables.

> > Then I have been testing and even text files invoke local variables.
> 
> Yes, of course.  That's the whole point?

You know that point is bad design and assumption that every user is
programmer who knows what are local variables and what are definitions
of Emacs functions, it is incredible situation.



Re: Local variables insecurities - Re: One vs many directories

2020-11-25 Thread Eric S Fraga
On Wednesday, 25 Nov 2020 at 16:13, Jean Louis wrote:
> I use Mutt.
> The message is opened in Emacs in mail-mode

Ah, so mutt saves content in a file which is then opened by
Emacs.  Okay, that makes sense.  Gnus does things the other way around:
opens the buffer (associated with a file in the draft directory),
inserts the content, and then puts the user in control.  File local
variables don't get a chance to be interpreted then.

> Then I have been testing and even text files invoke local variables.

Yes, of course.  That's the whole point?

(and, yes, I've been reading the thread so I know the concerns about
security etc.)

-- 
: Eric S Fraga via Emacs 28.0.50, Org release_9.4-118-g2a4578.dirty



Re: Local variables insecurities - Re: One vs many directories

2020-11-25 Thread Jean Louis
* Eric S Fraga  [2020-11-25 16:06]:
> On Wednesday, 25 Nov 2020 at 15:38, Jean Louis wrote:
> > I have not configured anything. In fact I have opened the email and I
> > was surprised that I am getting those dialogues to execute local
> > variables. 
> 
> Very strange.  It was my email that instigated this part of the
> thread.  I can view my email and I do not get asked to set any locate
> variables or, in this case, evaluate the elisp expression.  Out of
> curiosity, what mail reader did you use that actually interprets file
> local variables?  Gnus article view does not.

I use Mutt.

The message is opened in Emacs in mail-mode

Then I have been testing and even text files invoke local variables.

When I send messages I often send it from Emacs, but that is different
subject.



Re: One vs many directories

2020-11-25 Thread Jean Louis
* Ihor Radchenko  [2020-11-25 16:16]:
> 
> > ... It does
> > evaluates and I get the result in the message buffer, but it does not
> > expands in the Org buffer.
> 
> It is expected behaviour. According to the docstring of org-sbe, it only
> returns the value, but does not actually change buffer.
> 
> If you want to replace the RESULTS, you need to use the following:
> 
> # Local Variables:
> # eval: (let ((pos (org-babel-find-named-block "stages"))) (when pos 
> (save-excursion (org-with-point-at pos (org-babel-execute-src-block)
> # End:

That works well, thank you for the tip.

Of course I will not be writing all that by hand, program would simply
invoke the creation and generation of Org file and write headings and
the local variables. Next time I open the Org file related to that
person I can see all the pending tasks or tasks done with hyperlinks
to their corresponding actual tracking places in the database.

I have already made the function to capture Org tasks into the
database, concept is here:

(defun hyperscope-capture-org-heading ()
  "Captures Org heading and stores it in the Hyperscope dynamic
  knowledge repository"
  (interactive)
  (let* ((body (org-copy-subtree nil nil nil t))
 (body (pop kill-ring))
 (body (org-no-properties body))
 (heading (org-get-heading))
 (created (org-property-values "CREATED"))
 (date (if created (substring (car created) 1 11) nil))
 (body (with-temp-buffer
 (insert body)
 (org-mode)
 (org-back-to-heading)
 (kill-line)
 (delete-matching-lines ":PROPERTIES:")
 (delete-matching-lines ":CREATED:")
 (delete-matching-lines ":ID:")
 (delete-matching-lines ":END:")
 (buffer-string
(hyperscope-add-note-to-set heading body date)))

So I am now transitioning all Org tasks into little bit different and
more streamlined system for me personally.

Nevertheless, when I use a browser I can still use org-capture and
later just parse all headings automatically and insert into the
database.



Re: One vs many directories

2020-11-25 Thread Jean Louis
* Eric S Fraga  [2020-11-25 16:08]:
> On Wednesday, 25 Nov 2020 at 14:46, Jean Louis wrote:
> > I have got it to work as I had to name the source block. 
> 
> Yes, org-sbe looks for the first source block with the name
> given.  Nothing to do with headings etc.
> 
> > It does evaluates and I get the result in the message buffer, but it
> > does not expands in the Org buffer. That is what I wish to find out
> > how.
> 
> What do you get on the same src block if you explicitly C-c C-c there?

I get results in the buffer. That is what I would like, to get
expanded results in the buffer upon opening of the Org file.




Re: Local variables insecurities - Re: One vs many directories

2020-11-25 Thread Eric S Fraga
On Wednesday, 25 Nov 2020 at 15:38, Jean Louis wrote:
> I have not configured anything. In fact I have opened the email and I
> was surprised that I am getting those dialogues to execute local
> variables. 

Very strange.  It was my email that instigated this part of the
thread.  I can view my email and I do not get asked to set any locate
variables or, in this case, evaluate the elisp expression.  Out of
curiosity, what mail reader did you use that actually interprets file
local variables?  Gnus article view does not.

-- 
: Eric S Fraga via Emacs 28.0.50, Org release_9.4-118-g2a4578.dirty



Re: One vs many directories

2020-11-25 Thread Ihor Radchenko


> ... It does
> evaluates and I get the result in the message buffer, but it does not
> expands in the Org buffer.

It is expected behaviour. According to the docstring of org-sbe, it only
returns the value, but does not actually change buffer.

If you want to replace the RESULTS, you need to use the following:

# Local Variables:
# eval: (let ((pos (org-babel-find-named-block "stages"))) (when pos 
(save-excursion (org-with-point-at pos (org-babel-execute-src-block)
# End:

Best,
Ihor


Jean Louis  writes:

> * Eric S Fraga  [2020-11-24 12:46]:
>> On Tuesday, 24 Nov 2020 at 12:00, Jean Louis wrote:
>> > Can I automated the execution of Babel code upon opening of the Org
>> > file?
>> 
>> You can, by using file local variables.  For instance, for some files, I
>> do this:
>> 
>> #+begin_src org
>>   ,* local variables :noexport:
>>   # Local Variables:
>>   # eval: (org-sbe "startup")
>>   # End:
>> #+end_src
>
> I have got it to work as I had to name the source block. It does
> evaluates and I get the result in the message buffer, but it does not
> expands in the Org buffer. That is what I wish to find out how.
>
> ** Stages
> #+NAME: stages   
> #+BEGIN_SRC sql :engine postgresql :exports results :results replace
> SELECT 1 AS table;
> #+END_SRC
>
> # Local Variables:
> # eval: (org-sbe "stages")
> # End:



Re: One vs many directories

2020-11-25 Thread Eric S Fraga
On Wednesday, 25 Nov 2020 at 14:46, Jean Louis wrote:
> I have got it to work as I had to name the source block. 

Yes, org-sbe looks for the first source block with the name
given.  Nothing to do with headings etc.

> It does evaluates and I get the result in the message buffer, but it
> does not expands in the Org buffer. That is what I wish to find out
> how.

What do you get on the same src block if you explicitly C-c C-c there?

-- 
: Eric S Fraga via Emacs 28.0.50, Org release_9.4-118-g2a4578.dirty



Local variables insecurities - Re: One vs many directories

2020-11-25 Thread Jean Louis
* Tim Cross  [2020-11-25 09:41]:
> >> Why is it a security issue? The variables do need to be close to the end
> >> — 3000 characters is only about 50 lines.
> >
> > Emacs users, Org users on our mailing lists are not so private. Their
> > names and email addresses are in the public database. Spammer can
> > construct phishing type of an email, including something like Org news
> > or something and send such email to users. Among let us say 3000
> > people there will be percentage of users that will say Y to invoke the
> > local variables due to lack of knowing what is it doing to computer.
> >
> > After that, anything becomes possible, including intrusion into
> > computer, capturing all email addresses, passwords, sending spam
> > emails from computer and so on.
> 
> this is just baseless fear mongering based on nothing but
> speculation.

My experience with such people come from last more than 25
years. CVE list is the reference I already quotes. Some thing were
improved like this:

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=684695

So one should know how dangerous it was to introduce local variables
with possibility to automatically eval anything there.

> Of your suggested 3000 users, only a very small percentage use Emacs as
> their mail client.

Those which I know through Emacs list mostly use it. I am using it. Is
there any way to know who use and who not?

In general I am reading emails with Mutt, but I am answering with
Emacs. Sending emails is often by Emacs or by Mutt. I use sometimes
M-x rmail as well

> Of those, only an even smaller number will have their mail client
> configured to render messages with a mode that supports local

I have not configured anything. In fact I have opened the email and I
was surprised that I am getting those dialogues to execute local
variables. And I an in mail-mode now. Mutt opens new emacsclient and I
edit the file.

Obviously user does not need to configure anything. You maybe refer to
specific mode where it does not execute.

It will try to execute even if I open .TXT file.

The very design of Local variables I do not find trustful for these
explained reasons. I do not protest against it as now is too late, but
as I mentioned more educational references could be provided in the
dialogue that asks user to execute local variables or not.

> variables and even a smaller number of those would say yes to
> executing the code. In fact, anyone who has gone to the extent of
> configuring their Emacs email client to open messages with a mime
> type of x-org (or even just based on an attachment with *.org in the
> file name) is more than likely to be sufficiently technically aware
> not to say yes when asked.

I do not need to configure emacs to anything to get the local variable
execution dialogue, verify it on your side.

I can basically get any attachments by email, try to view them in
Emacs and it will execute.

> Few, if any user, is going to download some random attachment in an
> email message

Sorry, but I have no choice but to download all attachments. Majority
of email clients do not offer choice to download specific attachments
they download whole message as one.

> open it in emacs and then say yes to a message warning them that
> doing so might be dangerous.

It does not warn to be dangerous. There is no word of danger in the
dialogue.

I would rather like the dialogue to does what you say but it does not,
I would prefer it like this:

 ===
  DANGEROUS
 ===

But it is not like that, and I have elaborated why it is not like
that. Text writers are not programmers. You assume that every user
starts from your viewpoint of 30 years experienced Emacs wizard. And I
am speaking of design view point. Emacs is still called "editor"
today.

The description of Emacs I get in Hyperbola GNU/Linux-libre is:

The extensible, customizable, self-documenting real-time display
editor, without D-Bus support

Nowhere it says in the description that it can potentially expose me
to malicious evaluations of software just by opening a text file. That
you know what Emacs is really and me too, it does not make it more
secure.

We make assumptions that we will know that users will be safe, but
that is wrong assumption and there would be no CVE as I have already
referenced it it it would be so.

> Such ill-informed users have been pretty much weeded out by all the
> other scam phishing out there by now.

I would not say so. As non-native English speaker to say for users
that they are ill-informed sounds to me not appropriate. We invite
users to use Emacs, they will download, open, and may be offered to
read the ebook or other interesting text, and text will ask them to
evaluate the variables. You say that the subset of those users who
will know what is "variable", "value", "evaluation", "safe" is small
and not important, and I think this is most important for the future
of next 100 years for Emacs being useful to 

Re: One vs many directories

2020-11-25 Thread Jean Louis
* Eric S Fraga  [2020-11-24 12:46]:
> On Tuesday, 24 Nov 2020 at 12:00, Jean Louis wrote:
> > Can I automated the execution of Babel code upon opening of the Org
> > file?
> 
> You can, by using file local variables.  For instance, for some files, I
> do this:
> 
> #+begin_src org
>   ,* local variables :noexport:
>   # Local Variables:
>   # eval: (org-sbe "startup")
>   # End:
> #+end_src

I have got it to work as I had to name the source block. It does
evaluates and I get the result in the message buffer, but it does not
expands in the Org buffer. That is what I wish to find out how.

** Stages
#+NAME: stages   
#+BEGIN_SRC sql :engine postgresql :exports results :results replace
SELECT 1 AS table;
#+END_SRC

# Local Variables:
# eval: (org-sbe "stages")
# End:



Re: One vs many directories

2020-11-25 Thread Ihor Radchenko
> When I do C-c a it runs (org-agenda) but I do not have "g" and I am on
> development version. The C-c a window is made so that I cannot go with
> cursor inside and that I cannot even expect the key map neither invoke
> command by M-x and I cannot even M-:

C-c a will first show so-called agenda dispatcher asking you what kind
of agenda view you want to get. You need to press a key according to
the popup window (i.e. `t' to see all not done items). Then, you will
get the proper agenda buffer with all the keymaps set and `g' bound to
refreshing the chosen agenda view in the buffer.

> All that is wrong and not aligned to Emacs common interface. It is bug
> that bugs. Agenda buffer should allow users those standard Emacs
> features.

I am wondering what is the common Emacs interface you refer to. I am not
aware about any standard way to prompt user while also showing detailed
description of what to expect from different choices.

Best,
Ihor

Jean Louis  writes:

> * Dr. Arne Babenhauserheide  [2020-11-25 11:14]:
>> 
>> Jean Louis  writes:
>> 
>> > * Dr. Arne Babenhauserheide  [2020-11-24 21:48]:
>> >> 
>> >> Jean Louis  writes:
>> >> 
>> >> > Some people maybe access multiple Org files through Agenda, me I
>> >> > don't. Some items are "non existent" and I do not know how to ask
>> >> > agenda to refresh itself.
>> >> 
>> >> Simply press the letter g.
>> >
>> > What function is on g on your side?
>> 
>> (org-agenda-redo-all  EXHAUSTIVE)
>
> When I do C-c a it runs (org-agenda) but I do not have "g" and I am on
> development version. The C-c a window is made so that I cannot go with
> cursor inside and that I cannot even expect the key map neither invoke
> command by M-x and I cannot even M-:
>
> All that is wrong and not aligned to Emacs common interface. It is bug
> that bugs. Agenda buffer should allow users those standard Emacs
> features.
>
>> > Thank you. I have plan to switch anything action related to
>> > database system and use Org to view tasks, not to handle or store
>> > them.



Re: One vs many directories

2020-11-25 Thread Jean Louis
* Texas Cyberthal  [2020-11-25 13:40]:
> > You also spoke of device, do you really mean physical device?
> 
> Brain-Computer Interface is a term that usually means an
> electromagnetic connection between nerves and electronics.  However,
> really a keyboard is a superior version of that for non-motor tasks,
> despite being insulated on both ends with skin and plastic.

hahahha you are right

> Because you built your own SME CRM.  My point is that an SME CRM
> should probably be a separate entity from a Textmind.  Their
> purposes conflict.

Really, but for me those similarities extend each other. Not that I am
sorting files by Textmind but I do have similar method in sorting
files. You sort files by tags in a hierachy, that is the concept of
Textmind. How tags are called or how they relate to each other is then
rather implementation.

Anyway I wish to know more of that, subscribe me to your mailing
list. In last days I got more ideas than I was thinking I will, all
from this Org mailing list.

And now slowly I start implementing.

I like Org but I also like more structured data.



Re: One vs many directories

2020-11-25 Thread Texas Cyberthal
Hi Jean,

> There are those who die and come back and view things from above and can 
> think and use their mind even though brain was turned off temporarily.

I didn't say that the mind always turns off when the brain is damaged.

> You also spoke of device, do you really mean physical device?

Brain-Computer Interface is a term that usually means an
electromagnetic connection between nerves and electronics.  However,
really a keyboard is a superior version of that for non-motor tasks,
despite being insulated on both ends with skin and plastic.  Human
fingers are amazingly dextrous, so their bandwidth is high.
Eventually mammalian brain plasticity will permit implants to surpass
keyboards, but that will take a while and might require implantation
as a child to achieve maximum results.  The generational technology
gap moves ever inward, towards our very genes.  Obsolete thyself to
perpetuate thy meme-ery.

> I cannot get it as I do not know what is ADD.

Attention Deficit Disorder

> But I have M-x already that works.

Because you built your own SME CRM.  My point is that an SME CRM
should probably be a separate entity from a Textmind.  Their purposes
conflict.



Re: One vs many directories

2020-11-25 Thread Jean Louis
* Texas Cyberthal  [2020-11-25 09:58]:
> Hi Jean,
> 
> > Now, what is exomind?
> 
> https://cyberthal-docs.nfshost.com/cyborganize/exomind/

How I like those thoughts. 

> Mind vs brain 
> Your brain is the squishy jelly between your ears. 
> Your mind is what disappears when that jelly gets shaken too hard by
> a punch.

There are those who die and come back and view things from above and
can think and use their mind even though brain was turned off
temporarily.

> Exomind — an individual's PIMS and the personal info it contains. One
> can wax philosophical about how far the exomind extends into situated
> cognition. Perhaps the Internet is a shared global exomind. Anyway,
> Cyborganize is a personal exomind.

I just get idea how exoskelet does that.

You also spoke of device, do you really mean physical device?

> What you described is not how you think, it is how you wish your CRM
> info retrieval system to perform conveniently.  Almost nobody has a
> formal thought algorithm, because brains have ADD compared to
> computers.

I cannot get it as I do not know what is ADD.

> If you have a huge number of incoming text of a special type, such
> as customer leads, who are just cogs that you don't genuinely
> ponder, then Textmind is the wrong tool for that job.  You need SME
> CRM software.

But I have M-x already that works.

Thank you for examples of file sorting with 10 Bins.

> https://cyberthal-docs.nfshost.com/cyborganize/pubmind/

Thank you, I was reading.




Re: One vs many directories

2020-11-25 Thread Jean Louis
* Dr. Arne Babenhauserheide  [2020-11-25 11:14]:
> 
> Jean Louis  writes:
> 
> > * Dr. Arne Babenhauserheide  [2020-11-24 21:48]:
> >> 
> >> Jean Louis  writes:
> >> 
> >> > Some people maybe access multiple Org files through Agenda, me I
> >> > don't. Some items are "non existent" and I do not know how to ask
> >> > agenda to refresh itself.
> >> 
> >> Simply press the letter g.
> >
> > What function is on g on your side?
> 
> (org-agenda-redo-all  EXHAUSTIVE)

When I do C-c a it runs (org-agenda) but I do not have "g" and I am on
development version. The C-c a window is made so that I cannot go with
cursor inside and that I cannot even expect the key map neither invoke
command by M-x and I cannot even M-:

All that is wrong and not aligned to Emacs common interface. It is bug
that bugs. Agenda buffer should allow users those standard Emacs
features.

> > Thank you. I have plan to switch anything action related to
> > database system and use Org to view tasks, not to handle or store
> > them.
> 
> That might cost you reaction-time in the end, because org then cannot
> just keep the file open.

Do you mean my reaction time or Org reaction time? I did not
understand about to keep file open, how do you mean?

You remember I said Org files with tasks are on my side almost always
related to some people, among them I am included. So I find Org file
per person in the directory wherever it is by clicking F4. Then task
list in the Org file would update itself as I have got the tip on how
to execute the SQL block. Do you mean that SQL block would cost me
reaction time? If so, that can be. In the Hyperscope database managed
by Emacs and displayed within tabulated-list-mode on this T410
Thinkpad the list of entries looks almost instant, I just press left
or right and I get new list. Each time there is SQL query.

Without you telling me I would not be thinking on that, but it is
true, the larger or more complex the query then it could be
processing.

But if there is large list of tasks not done, that means anyway that
something is terribly wrong with it.

Those tasks done, can appear under different heading. But then I
cannot selectively automatically execute block under one heading at
file opening time while not executing block under different heading.




Re: One vs many directories

2020-11-25 Thread Dr. Arne Babenhauserheide

Jean Louis  writes:

> * Dr. Arne Babenhauserheide  [2020-11-24 21:48]:
>> 
>> Jean Louis  writes:
>> 
>> > Some people maybe access multiple Org files through Agenda, me I
>> > don't. Some items are "non existent" and I do not know how to ask
>> > agenda to refresh itself.
>> 
>> Simply press the letter g.
>
> What function is on g on your side?

(org-agenda-redo-all  EXHAUSTIVE)

> I press g and I get error: invalid key g
>
>> For my own setup I run code in a hook to update the agenda whenever I
>> change a TODO state, clock in or clock out, but that has performance
>> problems when I do it while the Agenda is shown.
>
> That sounds that it will use computing power. 

Yes, it does, but it gives me the interaction I want.

> Thank you. I have plan
> to switch anything action related to database system and use Org to
> view tasks, not to handle or store them.

That might cost you reaction-time in the end, because org then cannot
just keep the file open.

Best wishes,
Arne
-- 
Unpolitisch sein
heißt politisch sein
ohne es zu merken


signature.asc
Description: PGP signature


Re: One vs many directories

2020-11-25 Thread Dr. Arne Babenhauserheide

Jean Louis  writes:

> * Dr. Arne Babenhauserheide  [2020-11-24 21:51]:
>> 
>> Jean Louis  writes:
>> >> The start of the local variables list should be no more than 3000
>> >> > characters from the end of the file
>> >> 
>> >> 
>> >> Given the length of the email, I guess this is why Emacs saw the variables
>> >> as being within the correct range.
>> >
>> > Yes thank you. I was thinking Emacs will do that only in files where
>> > it recognizes some comments or no comments and that variables need
>> > to be pretty down in the file, on the bottom. Now I learn it is not
>> > so.
>> >
>> > That is security issue.
>> 
>> Why is it a security issue? The variables do need to be close to the end
>> — 3000 characters is only about 50 lines.
>
> Emacs users, Org users on our mailing lists are not so private. Their
> names and email addresses are in the public database. Spammer can
> construct phishing type of an email, including something like Org news
> or something and send such email to users. Among let us say 3000
> people there will be percentage of users that will say Y to invoke the
> local variables due to lack of knowing what is it doing to computer.

That isn’t what I meant with my question. What I meant is: Why is it a
security issue that the variable cannot only be at the exact end of the
file but instead can be in the last 3000 characters of the file?

Best wishes,
Arne
-- 
Unpolitisch sein
heißt politisch sein
ohne es zu merken


signature.asc
Description: PGP signature


Local variables issue - Re: One vs many directories

2020-11-24 Thread Jean Louis
* Tim Cross  [2020-11-25 08:54]:
> 
> Jean Louis  writes:
> 
> > Observing users who are asked questions upon invokation of other
> > software I can say that many times users just click one of the
> > options, either YES or NO, but without real regard to the
> > meanings. The purpose to click either YES or NO is to continue one
> > step forward and randomity decides later what happens.
> 
> You cannot prevent people from making bad decisions. Saying yes to
> something when you don't know what it means is like using the same
> weak password for everything. There has been massive amounts of
> communication and education out there to let people know about the
> risks. If they choose to ignore it or follow practices which are unsafe,
> it is their tough luck.

I do agree only that it is too general to apply here. That is specific
case of showing a dialogue with potential dangers to users who did not
specify those local variables and probably do not need such!

If you personally specify local variables you need them and know what
it is. That is fine.

It is general design that was meant for hackers in beginning stages of
Emacs development. Today many people use Emacs who may not be
hackers. Subset of those people will say YES to anything.

It is possible to prevent people to make bad decisions and it is easy,
simply don't ask them with the option to make bad decision. Disabling
local variables by default would be better decision.

I think that it is not possible today to change the default. Design is
flawed. From a view point of text editor should not ask user to
execute anything by default. User should enable "Local variables
detection" when user wish to get asked about executions.

> We need to encourage people to take more responsibility for their
> actions, not less.

I do fully agree on that statement, only it is too general and not
specific. I have presented my specific case how I have been answering
YES to that dialogue by thinking it is something necessary to read the
file properly. I had misunderstandings. Since some time I have the
general rule to answer NO on such dialogues. Would there be some
malicious intention in those years the intruder would be quite
successful.

One could fetch the external program and call it "general Emacs
enhancement" and open up a backdoor shell into the system.

To encourage people to take more responsibility is not necessarily
general principle for GNU Emacs.

And to encourage them alone will never work. To gain any
responsibility person needs knowledge or information. Driving car
without knowledge is impossible.

Thus pushing some kinds of responsibilities to user, coercing user to
decide on something that user does not understand itself lacks
one part of responsibility.

If user is informed what are local variables or is using them already
or reads manual and understands dangers, then user has acquired
knowledge to be able to reason when such dialogue pops up with YES or
NO. In general the answer YES can ruin your data and computing, and
users are not aware of it.

When somebody is not aware of what is doing that is not condition of
encouragement, rather condition of lack of responsibility.

> One important component of this is allowing the consequences for bad
> decisions to occur and not spend endless resources protecting people
> from themselves.

The YES/NO dialogue was invented by programmers and not by users. So
it was never an initial decision of the user who reads file from other
person, to be asked in the first place if something in that text file
should get executed.

It may also negatively impact Emacs's image as software:
https://cve.mitre.org/cgi-bin/cvekey.cgi?keyword=emacs

> If your asked to do something and your clearly told that doing so might
> be unsafe and your given an option not to do it which is just as easy to
> perform and you still decide to do it, that decision is on you.

Problem is with the assumption that user is "clearly told". I have
used Emacs since 1999 and I was all the time in scratch buffers and
did not really know it is for Emacs Lisp. I have been putting my notes
there. And I have ignored many functions of Emacs and used it to
program in other programming languages. Despite that I did read the
manual I did not clearly get information that there is programming
language built-in and it could execute any code. Despite knowing about
packages and installing them I did not know how it works. That is my
personal reality. I was playing tetris and I did not know it is
program that is loaded and executed. For me that was a built-in
feature, something that Richard Stallman and others invented and
built-in.

> The alternative is to remove extremely useful functionality from
> many responsible users because of an unknown number of others who
> make poor decisions.

Review that statement of yours again as you said what I am saying:
unknown number of others who make poor decisions.

Functionality need not be removed from Emacs to have or to 

Re: One vs many directories

2020-11-24 Thread Tim Cross


Jean Louis  writes:

> * Tim Cross  [2020-11-24 23:40]:
>> If people are really concerned about security, they should look first at
>> their use of repositories like MELPA. There is no formal review or
>> analysis of packages in these repositories, yet people will happily
>> select some package and install it.
>
> Interesting that you are one who mentions that. There are just few
> people ever mentioned it.
>
> I am still in process of the review of MELPA packages and its
> system. There are many security issues.
>
> Package signing is one example. It does not offer much of security
> when packages are signed automatically, but it raises level of
> security.
>
> MELPA packages and archive-contents are not PGP signed, while GNU ELPA
> packages are signed.
>

IMO signing of packages is irrelevant when there is no formal review
process or even any formal process to verify the credentials of
signatures. In fact, just adding signing would likely be
coutner-productive as it would give the impression of some sort of
security where there is none.

Basically, anyone can upload anything to MELPA. The only way anyone
would find out that an uploaded package has malicious code is if someone
does a code review and spots the malicious payload. Even once they find
that, there is little chance of being able to attribute the actions to
any individual because no real identity vetting is conducted. MELPA is
the wild west.

The new non-GNU repository has bene setup precisely due to both the
licensing issue and the fact many MELPA packages recommend/encourage the
use of non-free software/services. While non-GNU will improve this
situation, I don't believe there are any plans to actively review the
code in the packages. So, like MELPA, all you really have to go on is
package reputation. You cannot have any high level of confidence a
package does not contain malicious code other than an expectation that
if it is used by a sufficiently large enough number of users, it is
unlikely.

this is not an issue unique to Emacs. You only have to look at the
issues both Google's play store and Apples app store have had in the
past to see what the risks are. Both Google and Apple have put large
amounts of resources into trying to ensure their repository content is
safe and yet they still have failures. Something like GNU Emacs has
nowhere near the same resources, so is unlikely to come even close to
the same level of security.



Re: One vs many directories

2020-11-24 Thread Texas Cyberthal
Hi Jean,

> Now, what is exomind?

https://cyberthal-docs.nfshost.com/cyborganize/exomind/

What you described is not how you think, it is how you wish your CRM
info retrieval system to perform conveniently.  Almost nobody has a
formal thought algorithm, because brains have ADD compared to
computers.

Textmind is a tool for general human text thoughts.  It's unspecialized.

If you have a huge number of incoming text of a special type, such as
customer leads, who are just cogs that you don't genuinely ponder,
then Textmind is the wrong tool for that job.  You need SME CRM
software.

Just common sense.  Combine harvester works "better" than a push
lawnmower, but everyone still needs a push lawnmower.

Ok, Textmind feels more like a riding lawnmower to me, because so
comfy, but also better detail work, like a wheedwhacker... and the
analogy falls apart.

> Contract signed between your company 123 and person ABC?

I might like a separate Textmind for a company.  If separate, then
file under ~/1-Mansort/1-Textmind/2-Linked/7-Name/2-Flat/Doe-John~.
Otherwise, sounds like something a relational database should handle.

> Image on which there is only your family member, not you, which has its date?

Same path, but ~/Surname-/Given-name~, and binaries are stored in Binmind.

> Image of you, with the date?

Same path, but ~/2-Me~.

- Image without date in the file name and not embedded?

Depends on image content.

- Software git tree related to mailing things?

~/1-Mansort/1-Textmind/2-Linked/2-Codex/~

Large physical keyboards are the best human to computer input device
for work and nothing on the horizon challenges that.  Keyboards are
spreading to more enterprise contexts, such as keyboards in cop cars,
as software eats everything.

> The other complete thought algorithm is Pubmind, for longform content.
> But it doesn't work without Textmind.

https://cyberthal-docs.nfshost.com/cyborganize/pubmind/

I suppose it takes Textmind+Pubmind to make a complete thought
algorithm.  Pubmind terminates in publications rather than action.
Pubmind is only necessary once Textmind starts growing clogged with
publications that no longer belong inside one's personal exomind.



Re: One vs many directories

2020-11-24 Thread Tim Cross


Jean Louis  writes:

> * Dr. Arne Babenhauserheide  [2020-11-24 21:51]:
>>
>> Jean Louis  writes:
>> >> The start of the local variables list should be no more than 3000
>> >> > characters from the end of the file
>> >>
>> >>
>> >> Given the length of the email, I guess this is why Emacs saw the variables
>> >> as being within the correct range.
>> >
>> > Yes thank you. I was thinking Emacs will do that only in files where
>> > it recognizes some comments or no comments and that variables need
>> > to be pretty down in the file, on the bottom. Now I learn it is not
>> > so.
>> >
>> > That is security issue.
>>
>> Why is it a security issue? The variables do need to be close to the end
>> — 3000 characters is only about 50 lines.
>
> Emacs users, Org users on our mailing lists are not so private. Their
> names and email addresses are in the public database. Spammer can
> construct phishing type of an email, including something like Org news
> or something and send such email to users. Among let us say 3000
> people there will be percentage of users that will say Y to invoke the
> local variables due to lack of knowing what is it doing to computer.
>
> After that, anything becomes possible, including intrusion into
> computer, capturing all email addresses, passwords, sending spam
> emails from computer and so on.

this is just baseless fear mongering based on nothing but speculation.

Of your suggested 3000 users, only a very small percentage use Emacs as
their mail client. Of those, only an even smaller number will have their
mail client configured to render messages with a mode that supports
local variables and even a smaller number of those would say yes to
executing the code. In fact, anyone who has gone to the extent of
configuring their Emacs email client to open messages with a mime type
of x-org (or even just based on an attachment with *.org in the file
name) is more than likely to be sufficiently technically aware not to
say yes when asked.

Few, if any user, is going to download some random attachment in an
email message, open it in emacs and then say yes to a message warning
them that doing so might be dangerous. Such ill-informed users have been
pretty much weeded out by all the other scam phishing out there by now.
To convince them to go through such steps would require some pretty
convincing content - a simple org news attachment or similar is unlikely
to do it.

Even if you do get them to say yes, they are still a long way from being
able to compromise the computer Emacs is running on. Gaining some level
of access is one thing, actually being able to do something with that
access is another. Trying to compromise a computer, which these days
typically involves privilege escalation, would be extremely difficult to
achieve with elisp. The best you could hope for would be to install a
trojan or back door what would allow the attacker to install other
tools. Could be possible, but is definitely non-trivial.

This ability has been around in Emacs for a very long time - more than
30 years, possibly even longer. There has not been a single recorded
incident of large number of users being compromised as a result of this
feature. I've not even heard of small numbers being compromised as a
result of this feature.

I'm sure you will disagree. My suggestion is that if you believe this is
a security issue, you put together a proof of concept to demonstrate the
vulnerability - this is how such security issues get resolved.
Demonstrate how the security issue can be exploited with actual proof of
concept code rather than mere speculation and that will provide
something concrete which can be dealt with. I suspect you will find it
much harder to achieve once you actually try to make it work.

--
Tim Cross



Re: One vs many directories

2020-11-24 Thread Tim Cross


Jean Louis  writes:

> Observing users who are asked questions upon invokation of other
> software I can say that many times users just click one of the
> options, either YES or NO, but without real regard to the
> meanings. The purpose to click either YES or NO is to continue one
> step forward and randomity decides later what happens.

You cannot prevent people from making bad decisions. Saying yes to
something when you don't know what it means is like using the same
weak password for everything. There has been massive amounts of
communication and education out there to let people know about the
risks. If they choose to ignore it or follow practices which are unsafe,
it is their tough luck.

We need to encourage people to take more responsibility for their
actions, not less. One important component of this is allowing the
consequences for bad decisions to occur and not spend endless resources
protecting people from themselves.

If your asked to do something and your clearly told that doing so might
be unsafe and your given an option not to do it which is just as easy to
perform and you still decide to do it, that decision is on you.

The alternative is to remove extremely useful functionality from many
responsible users because of an unknown number of others who make poor
decisions.

Furthermore, keep in mind that this ability in Emacs has been around for
longer than many users have been alive. I've been using it for nearly 30
years and have participated in many forums over that time. I have yet to
hear of a single security incident occurring because of local variables.
That doesn't mean such incidents have not occurred, but it does likely
mean they are rare.

--
Tim Cross



Re: One vs many directories

2020-11-24 Thread Jean Louis
* Tim Cross  [2020-11-24 23:40]:
> If people are really concerned about security, they should look first at
> their use of repositories like MELPA. There is no formal review or
> analysis of packages in these repositories, yet people will happily
> select some package and install it.

Interesting that you are one who mentions that. There are just few
people ever mentioned it.

I am still in process of the review of MELPA packages and its
system. There are many security issues.

Package signing is one example. It does not offer much of security
when packages are signed automatically, but it raises level of
security.

MELPA packages and archive-contents are not PGP signed, while GNU ELPA
packages are signed.

Licensing issues are also a problem with MELPA as it becomes unclear
if I have got the license or not when author does not have a proper
name. It is not relevant if majority of people do not think or are not
aware of licensing as I have to think of it for software that I may
re-use, distribute, modify. Did I really get the license if user is
named "nick-abc" and have no possible contact information? In some
cases for subset of MELPA packages there is no way to verify who
really wrote piece of software and if I have received the license
legally. Due diligence is on my side. I cannot just claim "But he gave
me license" will not help if I have not done proper due diligence,
court would not be on my side.

Other issue is that MELPA philosophy is to accept any kind of software
even if software has been made to drive or control proprietary
software.

For that reason there is now non-GNU ELPA being developed where useful
packages will be distributed from.




Re: One vs many directories

2020-11-24 Thread Jean Louis
* Tim Cross  [2020-11-24 23:40]:
> > Thus it is only a security issue if you permanently accept that eval
> > file local variable and then open random org files that use it with a
> > malicious startup block. An eval file local variable like that which
> > blindly executes an org babel block should never be permanently
> > accepted
> >
> 
> Quite right Tom.
> 
> If people are really concerned about security, they should look first at
> their use of repositories like MELPA. There is no formal review or
> analysis of packages in these repositories, yet people will happily
> select some package and install it.

That is analogous to enabling local variables because user has been
asked. Popping up a window with question is often a dialogue that
users are asked in other software. Dialogues are often not read, just
as I was not reading it for years and I did click YES many times.

Using such variables is unsafe and the default should be not to
execute it without any question. Only when user enables local
variables then user should be asked to execute it. That would mean
that aware user knows why that is needed. Such will be able to answer
questions YES or NO.

Unaware users must answer something. To be aware one has to know Emacs
Lisp and deeper functions of Emacs.  In beginning years it was just
fine to assume so due to general computing interests and people being
interested in every detail, today there are even more users of Emacs
who will not know what is going on.

I do not know for you, but when computer asks me anything YES or NO,
my tendency is to answer YES regardless if I have read it or not. This
same tendency may be with thousands of other users.

If I have invoked something on computer and I get asked anything, I
have tendency to approve whatever comes on me as I approved it by
invoking some action. Not that I am doing it every time yet I have the
tendency of doing it.

Observing users who are asked questions upon invokation of other
software I can say that many times users just click one of the
options, either YES or NO, but without real regard to the
meanings. The purpose to click either YES or NO is to continue one
step forward and randomity decides later what happens.





Re: One vs many directories

2020-11-24 Thread Jean Louis
* Tom Gillespie  [2020-11-24 23:11]:
> > > That is security issue.
> >
> > Why is it a security issue? The variables do need to be close to the end
> > — 3000 characters is only about 50 lines.
> 
> It isn't a security issue by itself. Emacs never automatically runs
> eval file local variables unless you have tampered with
> enable-local-eval, in which case the tamperin is the security issue
> not the existence of the local variables list.
> 
> Thus it is only a security issue if you permanently accept that eval
> file local variable and then open random org files that use it with a
> malicious startup block. An eval file local variable like that which
> blindly executes an org babel block should never be permanently
> accepted

I do understand conditions.

But I can say that I did not understand conditions for one decade and
a half, as I was not aware that Emacs has a "real programming language
" built-in, and I have been spending my time with outside languages
that I was invoking from Emacs.

Yes, I did read that Emacs has Emacs Lisp. I was configuring Emacs but
I have not been thinkin that it is Lisp. I could figure out those
settings without reading manual.

As I am programming in Emacs Lisp for years I am aware of it. Before I
was thinking that local variables belong somewhere and that I should
enable it, despite all the warnings. There was lack of understanding
despite the information in front of me.

Some files opened asked me to enable local variables, so many times I
did so without thinking. My personal behavior to enable local
variables that other authors have written is probable not isolated
case. So that is security issue as number of users among thousands are
weak on this.

When I say security issue I do not think myself, you or majority of
people currently, but that there are probably millions of people who
can be affected by this. I also know spammers are harvesting mailing
lists.



Re: One vs many directories

2020-11-24 Thread Jean Louis
* Dr. Arne Babenhauserheide  [2020-11-24 21:48]:
> 
> Jean Louis  writes:
> 
> > Some people maybe access multiple Org files through Agenda, me I
> > don't. Some items are "non existent" and I do not know how to ask
> > agenda to refresh itself.
> 
> Simply press the letter g.

What function is on g on your side?

I press g and I get error: invalid key g

> For my own setup I run code in a hook to update the agenda whenever I
> change a TODO state, clock in or clock out, but that has performance
> problems when I do it while the Agenda is shown.

That sounds that it will use computing power. Thank you. I have plan
to switch anything action related to database system and use Org to
view tasks, not to handle or store them.



Re: One vs many directories

2020-11-24 Thread Jean Louis
* Dr. Arne Babenhauserheide  [2020-11-24 21:51]:
> 
> Jean Louis  writes:
> >> The start of the local variables list should be no more than 3000
> >> > characters from the end of the file
> >> 
> >> 
> >> Given the length of the email, I guess this is why Emacs saw the variables
> >> as being within the correct range.
> >
> > Yes thank you. I was thinking Emacs will do that only in files where
> > it recognizes some comments or no comments and that variables need
> > to be pretty down in the file, on the bottom. Now I learn it is not
> > so.
> >
> > That is security issue.
> 
> Why is it a security issue? The variables do need to be close to the end
> — 3000 characters is only about 50 lines.

Emacs users, Org users on our mailing lists are not so private. Their
names and email addresses are in the public database. Spammer can
construct phishing type of an email, including something like Org news
or something and send such email to users. Among let us say 3000
people there will be percentage of users that will say Y to invoke the
local variables due to lack of knowing what is it doing to computer.

After that, anything becomes possible, including intrusion into
computer, capturing all email addresses, passwords, sending spam
emails from computer and so on.



Re: One vs many directories

2020-11-24 Thread Tim Cross


Tom Gillespie  writes:

>> > That is security issue.
>>
>> Why is it a security issue? The variables do need to be close to the end
>> — 3000 characters is only about 50 lines.
>
> It isn't a security issue by itself. Emacs never automatically runs
> eval file local variables unless you have tampered with
> enable-local-eval, in which case the tamperin is the security issue
> not the existence of the local variables list.
>
> Thus it is only a security issue if you permanently accept that eval
> file local variable and then open random org files that use it with a
> malicious startup block. An eval file local variable like that which
> blindly executes an org babel block should never be permanently
> accepted
>

Quite right Tom.

If people are really concerned about security, they should look first at
their use of repositories like MELPA. There is no formal review or
analysis of packages in these repositories, yet people will happily
select some package and install it.


--
Tim Cross



Re: One vs many directories

2020-11-24 Thread Tom Gillespie
> > That is security issue.
>
> Why is it a security issue? The variables do need to be close to the end
> — 3000 characters is only about 50 lines.

It isn't a security issue by itself. Emacs never automatically runs
eval file local variables unless you have tampered with
enable-local-eval, in which case the tamperin is the security issue
not the existence of the local variables list.

Thus it is only a security issue if you permanently accept that eval
file local variable and then open random org files that use it with a
malicious startup block. An eval file local variable like that which
blindly executes an org babel block should never be permanently
accepted

Best,
Tom



Re: One vs many directories

2020-11-24 Thread Dr. Arne Babenhauserheide

Jean Louis  writes:
>> The start of the local variables list should be no more than 3000
>> > characters from the end of the file
>> 
>> 
>> Given the length of the email, I guess this is why Emacs saw the variables
>> as being within the correct range.
>
> Yes thank you. I was thinking Emacs will do that only in files where
> it recognizes some comments or no comments and that variables need
> to be pretty down in the file, on the bottom. Now I learn it is not
> so.
>
> That is security issue.

Why is it a security issue? The variables do need to be close to the end
— 3000 characters is only about 50 lines.

Best wishes,
Arne
-- 
Unpolitisch sein
heißt politisch sein
ohne es zu merken


signature.asc
Description: PGP signature


Re: One vs many directories

2020-11-24 Thread Dr. Arne Babenhauserheide

Jean Louis  writes:

> Some people maybe access multiple Org files through Agenda, me I
> don't. Some items are "non existent" and I do not know how to ask
> agenda to refresh itself.

Simply press the letter g.

For my own setup I run code in a hook to update the agenda whenever I
change a TODO state, clock in or clock out, but that has performance
problems when I do it while the Agenda is shown.

(defvar todo-modified-from-agenda nil "Indicates whether org-mode todo 
state changes were triggered from the agenda. Check this to avoid trying to 
propagate the change back into the agenda")
;; continuously update agenda view, from 
http://thomasf.github.io/solarized-css/test/org-hacks.html
(defun kiwon/org-agenda-redo-in-other-window ()
  "Call org-agenda-redo function even in the non-agenda buffer."
  (interactive)
  (when (not (and (boundp 'todo-modified-from-agenda) 
todo-modified-from-agenda)) ; org-state non-nil means we’re coming from the 
org-after-todo-state-change-hook, which would throw when changing todo states 
from agenda due to a circular action
(let ((agenda-window (get-buffer-window (or (and (boundp 
'org-agenda-buffer-name) org-agenda-buffer-name) "plan.org") t)))
  (when agenda-window
(with-selected-window agenda-window
  (org-agenda-redo))
;; advice agenda todo to avoid redo, thanks to 
http://nullprogram.com/blog/2013/01/22/
(defadvice org-agenda-todo (before org-agenda-disable-redo activate)
  (setq todo-modified-from-agenda t))
(defadvice org-agenda-todo (after org-agenda-enable-redo activate)
  (setq todo-modified-from-agenda nil))

(add-hook 'org-clock-in-hook 'kiwon/org-agenda-redo-in-other-window)
(add-hook 'org-clock-out-hook 'kiwon/org-agenda-redo-in-other-window)
(add-hook 'org-after-todo-state-change-hook 
'kiwon/org-agenda-redo-in-other-window)


Best wishes,
Arne
-- 
Unpolitisch sein
heißt politisch sein
ohne es zu merken


signature.asc
Description: PGP signature


Re: One vs many directories

2020-11-24 Thread Jean Louis
* Diego Zamboni  [2020-11-24 16:15]:
> >
> > So I think this is bug in Emacs as Local-variables should be on the
> > end of the file.
> 
> 
> According to the manual (
> https://www.gnu.org/software/emacs/manual/html_node/emacs/Specifying-File-Variables.html#Specifying-File-Variables
> ):
> 
> The start of the local variables list should be no more than 3000
> > characters from the end of the file
> 
> 
> Given the length of the email, I guess this is why Emacs saw the variables
> as being within the correct range.

Yes thank you. I was thinking Emacs will do that only in files where
it recognizes some comments or no comments and that variables need
to be pretty down in the file, on the bottom. Now I learn it is not
so.

That is security issue.



Re: One vs many directories

2020-11-24 Thread Jean Louis
* Diego Zamboni  [2020-11-24 16:13]:
> >
> > So I think this is bug in Emacs as Local-variables should be on the
> > end of the file.
> 
> 
> According to the manual (
> https://www.gnu.org/software/emacs/manual/html_node/emacs/Specifying-File-Variables.html#Specifying-File-Variables
> ):
> 
> The start of the local variables list should be no more than 3000
> > characters from the end of the file

I see and I wonder. I was thinking that not every prefix or comment
will be considered and that such must be really on the end of the file.



Re: One vs many directories

2020-11-24 Thread Diego Zamboni
>
> So I think this is bug in Emacs as Local-variables should be on the
> end of the file.


According to the manual (
https://www.gnu.org/software/emacs/manual/html_node/emacs/Specifying-File-Variables.html#Specifying-File-Variables
):

The start of the local variables list should be no more than 3000
> characters from the end of the file


Given the length of the email, I guess this is why Emacs saw the variables
as being within the correct range.

--Diego


On Tue, Nov 24, 2020 at 12:57 PM Eric S Fraga  wrote:

> On Tuesday, 24 Nov 2020 at 12:51, Jean Louis wrote:
> > So I think this is bug in Emacs as Local-variables should be on the
> > end of the file.
>
> "end of file" is a rather loose term when it comes to local variables...
> --
> : Eric S Fraga via Emacs 28.0.50, Org release_9.4-118-g2a4578.dirty
>
>


Re: One vs many directories

2020-11-24 Thread Eric S Fraga
On Tuesday, 24 Nov 2020 at 12:51, Jean Louis wrote:
> So I think this is bug in Emacs as Local-variables should be on the
> end of the file.

"end of file" is a rather loose term when it comes to local variables...
-- 
: Eric S Fraga via Emacs 28.0.50, Org release_9.4-118-g2a4578.dirty



Re: One vs many directories

2020-11-24 Thread Jean Louis
* Eric S Fraga  [2020-11-24 12:46]:
> On Tuesday, 24 Nov 2020 at 12:00, Jean Louis wrote:
> > Can I automated the execution of Babel code upon opening of the Org
> > file?
> 
> You can, by using file local variables.  For instance, for some files, I
> do this:
> 
> #+begin_src org
>   ,* local variables :noexport:
>   # Local Variables:
>   # eval: (org-sbe "startup")
>   # End:
> #+end_src
> 
> which will evaluate the named src block "startup" when file is opened.
> 
> Note that this is a potential security hole so only do this for files
> you trust!

For me is fine, as I do that for files I create.

When I have opened this email i was also asked to set local variables,
imagine. So that could maybe also mean that one could send email that
is constructed as Org file and if user answers YES, one could inject
malicious stuff.

--- the text above ---
still asks me if I like to allow eval: (org-sbe "startup")

So I think this is bug in Emacs as Local-variables should be on the
end of the file.



Re: One vs many directories

2020-11-24 Thread Eric S Fraga
On Tuesday, 24 Nov 2020 at 12:00, Jean Louis wrote:
> Can I automated the execution of Babel code upon opening of the Org
> file?

You can, by using file local variables.  For instance, for some files, I
do this:

#+begin_src org
  ,* local variables :noexport:
  # Local Variables:
  # eval: (org-sbe "startup")
  # End:
#+end_src

which will evaluate the named src block "startup" when file is opened.

Note that this is a potential security hole so only do this for files
you trust!

-- 
: Eric S Fraga via Emacs 28.0.50, Org release_9.4-118-g2a4578.dirty



Re: One vs many directories

2020-11-24 Thread Jean Louis
* Ihor Radchenko  [2020-11-23 08:43]:
> >> I am wondering what you mean by Org's philosophy. Why would it have 
> >> anything to do with directories?
> >
> > Org's philosophy is to have one or a handful of directories without
> > nesting of directories.  Users are not expected to have their Org
> > files in a deeply nested tree.  Org also prefers big files with large
> > trees rather than lots of little files.
> >
> > By philosophy, I mean the dev consensus on the correct way to do
> > things, and coded configuration and usability biases.
> 
> I believe that org support all possibilities. The user can decide to
> keep many (possibly nested) org files, a few large org files, or
> anywhere in between. There are several parallel feature sets allowing to
> work in a single file as well as with a bunch of smaller files.

Yes, sure, and I guess you mentioned some people have problems with
many files. And I have no problem at all with many files as they are
per subject separated, per person or per subject separated. They are
not hyperlinked to each other, it is me who make system to hyperlink
to files.

Searching for Joe Doe, F4 and I am in Org file for Joe Doe. My
personal TODO list need not really show the tasks assigned to Joe Doe,
I could show only * TODO Joe Doe and when I click there then I can get
all tasks for Joe Doe as new Org file.

It means I am accessing hundreds of Org files from the meta level by
using conceptual location backed by the database.

Some people maybe access multiple Org files through Agenda, me I
don't. Some items are "non existent" and I do not know how to ask
agenda to refresh itself. This is not big deal as I do not access
items throgh Agenda, though I find it very useful. 

org-agenda is trying to put all tasks and notes from various files
into one list and that is of course not so easy task considering that
files can be anywhere on the file system and that they need to be
"remembered". 

> For a single file, the user can search headings with org-goto (without a
> need to explicitly travel through all the nesting headline levels),
> reveal only headings satisfying certain keyword/tag/any other search
> criteria with org-sparse-tree, or built agenda views restricted to a
> single file (or even subtree).

M-x org-goto is useful feature to find headlines. And I never use it,
just standard Emacs search is enough within a file. Meanings I am
searching are often inside of the headline. And it is not my perosnal
way locating things.

Personally, I am using parts of Org, like specific headling to export
it and to send to remote person, or to print the file as project and
to bind it nicely.

When I see repetitive action, for example that I have to send "Daily
Report" template to a person by email, than I just bookmark that in
Emacs with {C-x r m} under something that I think is the meaning of
it. Then I forget about it. Next time when I need to send report, I am
{C-x r b} and quickly completing it and then I am exporting and
inserting into the email.

In general I speak of subsets or sub-lists among lists. List of Org
files is one list, list of headings within Org file is other list, and
list of specific subject related headings or bookmarks to such is
third subset of lists.

> For multiple files located anywhere in the filesystem, there is always
> org-refile capable of filing the information to proper place
> searching deeply nested headlines with ease regardless of the file the
> information is physically located in. Headlines from multiple files can
> be grouped using agenda views for any given search criteria (showing
> todo items or items for a single day/week is just a tiny subset of what
> agenda can do).

That may be useful for those who find it while my use case is
different, here is how it is for me:

** TODO Heading [1/2] [50%]

1) [X] Do this
2) [ ] Do that

that is my personal use case. I do not do things like:

** TODO Do this

Description of the task

And so far I know org-refile works on headings. It does not work on
list items.

Sometimes the task describes something that belongs to other file, I
just kill and yank to other file. And I keep RCS revision control
system of files.

As user may have many various sparse tasks to do or notes that require
action and attention in soonest future it is best to consolidate tasks
into one centralized system.

Such system should encompass all tasks or notes that require attention
or action in soonest future and should offer constant reminders to
user on what has to be done and when and which people are related to
the task.

When I mentioned "sparse tasks" I refer to my usage and handling of
mess:

1) Bunch of Org files, org-agenda and Org mode tries to accommodate me
   by consolidating everything into lists

2) There are hundreds of such tasks all over, Org tries to consolidate
   it.

3) There are various tasks and actions to do that are not recorded in
   Org files, those cannot be handled by Org.

4) There are database based 

Re: One vs many directories

2020-11-23 Thread Ihor Radchenko
> I find it entertaining for now. Now, what is exomind? 

Unless I misunderstood, Jean referred to "external brain" concept:
- https://beepb00p.xyz/exobrain/
- https://zettelkasten.de/posts/extend-your-mind-and-memory-with-a-zettelkasten/
- https://github.com/novoid/Memacs
- https://blog.jethro.dev/posts/org_mode_workflow_preview/

Best,
Ihor

Jean Louis  writes:

> * Texas Cyberthal  [2020-11-23 19:08]:
>> Hi Jean,
>> 
>> > I have tried your solution and could not find the mental concept to relate 
>> > to my thinking.
>> 
>> I forgot this inductive sorting skill must be learned gradually, like
>> touch typing, at small scale before exomind conversion.
>
> I find it entertaining for now. Now, what is exomind? 



Re: One vs many directories

2020-11-23 Thread Jean Louis
* Texas Cyberthal  [2020-11-23 19:08]:
> Hi Jean,
> 
> > I have tried your solution and could not find the mental concept to relate 
> > to my thinking.
> 
> I forgot this inductive sorting skill must be learned gradually, like
> touch typing, at small scale before exomind conversion.

I find it entertaining for now. Now, what is exomind? 

> > Do we think of a tree of knowledge first? I do not think so. And there are 
> > memory systems that DO think of plethora of various things and increase 
> > human memory capabilities.
> 
> Yes, Textmind becomes a mnemonic system.  The tree associates all
> one's info together, making explicit one's personal implicit
> prioritization of info.  Doing so systematically is only possible with
> computer plus user algorithm.

I do agree that various systems like 10 Bins for filing files by how
human thinks are useful. Only that "how human thinks" varies by
humans and not even humans may know how to explain how they think.

My concept is that I think what I want, like "I wish to see history of
interactions with this person" and then I click F3 or something, I can
see SMS, emails, if there were any negotiations, contracts, if there
are licenses submitted for partnership. That all has some practical
meanings. As for now and probably due to misunderstanding I cannot
find 10 Bin practical for me and this may be due to different way of
thinking.

Could you give me reference describing how you would file:

- Contract signed between your company 123 and person ABC?

- Image on which there is only your family member, not you, which has
  its date?

- Image of you, with the date?

- Image without date in the file name and not embedded?

- Software git tree related to mailing things?

> > How human think -- is nowhere defined and is vague. Human thinks how they 
> > think and there may be as many versions as humans.
> 
> The brain is plastic.  It adapts easily to sync with a Textmind tree.
> This tree's complete thought algorithm is an improvement over native
> thought pattern.  Computer and brain meet in the middle.  That is
> cognitive cyborg first stage.  Keyboard+screen is Brain-Computer
> Interface.

OK while I do try to adapt for now I do not find it easy. While I do
not adore hierarchies, file system is easier to adapt, as user can
just something like "Brother" and file it there.

It is entertaining as it sounds futuristic. But I do not know thought
algorithm, and what would be native thought pattern, and I would not
like to become cognitive cyborg, not in this stage of Emacs
development, as nobody likes to get killed. Maybe in some future when
I can load it into my personal memory and run on it even during sleep
time.

Keyboards will soon expire, they partially already expired as billions
of people use computers without keyboards including that term
"computer" became dilluted and hidden so that people do not even know
they carry one or two in their pockets. Screen will expire
too. Keyboards will become sensitive lights and screens holograms.

> The other complete thought algorithm is Pubmind, for longform content.
> But it doesn't work without Textmind.

Need practical example.




Re: One vs many directories

2020-11-23 Thread Texas Cyberthal
Hi Jean,

> I have tried your solution and could not find the mental concept to relate to 
> my thinking.

I forgot this inductive sorting skill must be learned gradually, like
touch typing, at small scale before exomind conversion.

> Do we think of a tree of knowledge first? I do not think so. And there are 
> memory systems that DO think of plethora of various things and increase human 
> memory capabilities.

Yes, Textmind becomes a mnemonic system.  The tree associates all
one's info together, making explicit one's personal implicit
prioritization of info.  Doing so systematically is only possible with
computer plus user algorithm.

> How human think -- is nowhere defined and is vague. Human thinks how they 
> think and there may be as many versions as humans.

The brain is plastic.  It adapts easily to sync with a Textmind tree.
This tree's complete thought algorithm is an improvement over native
thought pattern.  Computer and brain meet in the middle.  That is
cognitive cyborg first stage.  Keyboard+screen is Brain-Computer
Interface.

The other complete thought algorithm is Pubmind, for longform content.
But it doesn't work without Textmind.

Other thought methods are even less complete, and thus more dependent
on the Textmind foundation.  For example, pure association and search
retrieval benefits greatly from Textmind de facto spaced repetition
and directory scoping.

> Doug Engelbart has already envisioned how files could be stored, accessed, 
> hyperlinked, referenced and we do not use it in that sense today after how 
> many years?

Exactly.  To the extent he was correct, his ideas have been adopted.
To the extent wrong, ignored.

The main problem is sustaining long-term hybrid-intelligence text-mind
sync.  It requires a complete OODA algorithm.  Engelbart doesn't think
on this scale.  David Allen's GTD tries to, but is limited by paper.

One can always improve the crystallized knowledge of a PIMS by adding
more metadata and links.  That misses the point: fluid intelligence is
more important.  It tells which info is worth promoting to more
expensive representations.



Re: One vs many directories

2020-11-23 Thread Ihor Radchenko
Dear Jean Louis,

Your description of the database reminds me how org-roam handles the
files - it also uses an external database for linking and allows quick
incremental search that does not really depend on where the
files/headings are stored.

However, what you are talking about is against org-mode philosophy, as I
know it. Currently, the dev's stance is that org files must be
self-sufficient. Org-mode should not depend on external database to
manage the org files and operations with them. Everything must be plain
text! Moreover, some devs are even reluctant to hide metadata (like
unique ID implemented in org-id module) from users (which is possible
and also partially implemented).

Best,
Ihor


Jean Louis  writes:

> * Texas Cyberthal  [2020-11-23 12:51]:
>> Hi Dr. Arne,
>> 
>> > The only part that hits performance limits is the agenda.
>> 
>> Well, IIRC your Org Textmind is much smaller than mine.
>> 
>> > My current guess is that the agenta is slow because it has to parse all my 
>> > 7500 clock entries, and it has to check the Todo states of around 1200 
>> > headings.
>> 
>> Ouch.  I'd rather keep a "ramble log" so I can reconstruct an exactly
>> honest time accounting, with discounts for partial attention, without
>> worrying about fiddly clockin/outs.  At least when working from home.
>> If clocking into a work site, that's different, because one can
>> reasonably bill for the entire time, with minimal clock toggling.
>> 
>
>> > Did you check against filesystem limits? At 10k entries in a
>> directory typical filesystems start becoming slow. That's the main
>> reason I see for adding hierarchies.
>
> From ext4 manual:
>
>  dir_index
>   Use hashed  b-trees to speed  up name lookups  in large
>   directories.   This feature  is supported  by ext3  and
>   ext4 file systems, and is ignored by ext2 file systems.
>
>  dir_nlink
>   This ext4 feature allows more than 65000 subdirectories
>   per directory.
>
> I think that file systems should be unlimited and fast in relation to
> that. I have ~/Maildir with over 5 subdirectories, direct access
> is very easy and fast while listing takes some time.
>
> If file system does not allow fast access it is time to replace it
> with one that does allow it.
>
> Now I wonder of HAMMER in DragonflyBSD is also slow with 5
> directories.
>
> My PostgreSQL database is not huge, it is when packed about 50 MB. On
> the file system it is 810 MB.
>
> To select 2469 contacts as subset of 204048 contacts that belong in
> certain group does not give (usually) feeling of any delay, it looks
> instant for human.
>
> My Org work is on meta-level so my truly important headings or subtree
> names are in the database. Subtrees have their various properties,
> like I can place any tags there inside, like TODO or designate type of
> TODO. My work is intertwined with text and Org mode mostly, but I
> could use any kind of mime type or any kind of Emacs mode. Some nodes
> are on file system while some are in the database.
>
> Nodes within subtree are hyperdocuments, they are all linkable and
> could be on file system or not on file system.
>
> Everything is together in one tree and it does not matter as access to
> the nodes does not go over the tree necessary. There are 19197 nodes.
> To find 76 that are tagged with TODO does not give me any slight or
> visible delay, definitely not even 0.2 seconds. When I press enter it
> is right there.
>
> From the system I am using personally I am thinking that Org mode
> could get its database connection so that headings and properties are
> managed in the database fully while text could be managed in files. It
> seems very possible.
>
> The only thing that would be needed to add to Org in that case is some
> heading tag that would uniquely designate where in the database that
> heading is managed. It could be very lightly displayed on the screen
> and would not be exported by default.
>
> Something like
>
> *** TODO Heading :ID-123:
>
> That would be all. All other meta data belonging to the heading could
> be managed in the database. If heading is deleted it need not be
> deleted in the database. Text belonging to heading could be managed in
> the text file. Properties in the database. It can be simple database
> such as GDBM if such is fast enough.
>
> Meta data for the heading would or could be updated automatically from
> time to time.
>
> User could easily decide to show the properties in the Org file or not
> to show. It does not matter much as long as :ID-123: tag is there.
>
> All things like tags, properties, clock-in and out, schedule,
> deadlines, custom_id and everything else as heading meta data could be
> manageable in the database. It could be copied into new headings.
> Creation of heading like this:
>
> *** TitleRET
>
> would automatically invoke creation of heading 124 in the database and it 
> would appear as:
>
> *** Title  :ID-124;
>
> 

Re: One vs many directories

2020-11-23 Thread Jean Louis
* Texas Cyberthal  [2020-11-23 12:51]:
> Hi Dr. Arne,
> 
> > The only part that hits performance limits is the agenda.
> 
> Well, IIRC your Org Textmind is much smaller than mine.
> 
> > My current guess is that the agenta is slow because it has to parse all my 
> > 7500 clock entries, and it has to check the Todo states of around 1200 
> > headings.
> 
> Ouch.  I'd rather keep a "ramble log" so I can reconstruct an exactly
> honest time accounting, with discounts for partial attention, without
> worrying about fiddly clockin/outs.  At least when working from home.
> If clocking into a work site, that's different, because one can
> reasonably bill for the entire time, with minimal clock toggling.
> 

> > Did you check against filesystem limits? At 10k entries in a
> directory typical filesystems start becoming slow. That's the main
> reason I see for adding hierarchies.

>From ext4 manual:

 dir_index
  Use hashed  b-trees to speed  up name lookups  in large
  directories.   This feature  is supported  by ext3  and
  ext4 file systems, and is ignored by ext2 file systems.

 dir_nlink
  This ext4 feature allows more than 65000 subdirectories
  per directory.

I think that file systems should be unlimited and fast in relation to
that. I have ~/Maildir with over 5 subdirectories, direct access
is very easy and fast while listing takes some time.

If file system does not allow fast access it is time to replace it
with one that does allow it.

Now I wonder of HAMMER in DragonflyBSD is also slow with 5
directories.

My PostgreSQL database is not huge, it is when packed about 50 MB. On
the file system it is 810 MB.

To select 2469 contacts as subset of 204048 contacts that belong in
certain group does not give (usually) feeling of any delay, it looks
instant for human.

My Org work is on meta-level so my truly important headings or subtree
names are in the database. Subtrees have their various properties,
like I can place any tags there inside, like TODO or designate type of
TODO. My work is intertwined with text and Org mode mostly, but I
could use any kind of mime type or any kind of Emacs mode. Some nodes
are on file system while some are in the database.

Nodes within subtree are hyperdocuments, they are all linkable and
could be on file system or not on file system.

Everything is together in one tree and it does not matter as access to
the nodes does not go over the tree necessary. There are 19197 nodes.
To find 76 that are tagged with TODO does not give me any slight or
visible delay, definitely not even 0.2 seconds. When I press enter it
is right there.

>From the system I am using personally I am thinking that Org mode
could get its database connection so that headings and properties are
managed in the database fully while text could be managed in files. It
seems very possible.

The only thing that would be needed to add to Org in that case is some
heading tag that would uniquely designate where in the database that
heading is managed. It could be very lightly displayed on the screen
and would not be exported by default.

Something like

*** TODO Heading :ID-123:

That would be all. All other meta data belonging to the heading could
be managed in the database. If heading is deleted it need not be
deleted in the database. Text belonging to heading could be managed in
the text file. Properties in the database. It can be simple database
such as GDBM if such is fast enough.

Meta data for the heading would or could be updated automatically from
time to time.

User could easily decide to show the properties in the Org file or not
to show. It does not matter much as long as :ID-123: tag is there.

All things like tags, properties, clock-in and out, schedule,
deadlines, custom_id and everything else as heading meta data could be
manageable in the database. It could be copied into new headings.
Creation of heading like this:

*** TitleRET

would automatically invoke creation of heading 124 in the database and it would 
appear as:

*** Title  :ID-124;

>From there on user would be doing anything as usual in the Org mode
with the difference that properties would be displayed in the updated
manner and would not be really in the Org file. They would be
displayed on the fly. Any properties and plethora of other new
properties could be included.

System would recognize automatically by saving the Org file or by
opening it:

- If headings are in the right file, if file changed its place it
would be automatically updated in the database. 

- the heading ID would always remain unique no matter what, so users
linking to any heading would not need to worry of title remaining. The
unique ID that links to heading would basically link to the database
entry. Opening the link would ask database where the entry is located
and it would open up proper Org file at proper location without
parsing the Org file in usual manner. Org file would then 

Re: One vs many directories

2020-11-23 Thread Texas Cyberthal
Hi Dr. Arne,

> The only part that hits performance limits is the agenda.

Well, IIRC your Org Textmind is much smaller than mine.

> My current guess is that the agenta is slow because it has to parse all my 
> 7500 clock entries, and it has to check the Todo states of around 1200 
> headings.

Ouch.  I'd rather keep a "ramble log" so I can reconstruct an exactly
honest time accounting, with discounts for partial attention, without
worrying about fiddly clockin/outs.  At least when working from home.
If clocking into a work site, that's different, because one can
reasonably bill for the entire time, with minimal clock toggling.

> Did you check against filesystem limits? At 10k entries in a directory 
> typical filesystems start becoming slow. That’s the main reason I see for 
> adding hierarchies.

10k entries in a directory sounds inhumanely unergonomic.  I guess my
biggest flat name directory might eventually reach that size?  In
which case I could just split it in the middle of the alphabet, or
similar solution.

Right now it's only 600.  If I guess a generous growth rate of 2 per
day, times 30 years, that would be an additional 22k.  Sounds
manageable.

Remember there are ways to consolidate entries even in flat "solid
names" directory.  It's advantageous to do so to facilitate isearch
matching.  For example, everyone with the same last name is one
directory.  Ditto everything that starts with the same word or even
prefix.  For example I have a directory called ~Wiki-~ and another
called ~Tru-~ which contains truth, Trudeau and Trump.

Most adults know 20-35k words.  That's not the same as "solid names"
known, but gives a ballpark on human memory size for a similar name
type.  I suspect computers will advance faster than anyone's Textmind
reaches the Dired lag limit.

No, if we are talking about scaling limits, then limits such as buffer
size and Agenda search speed are orders of magnitude more relevant.
Which problems deep tree nesting fixes.

A 10k entry directory is getting into enterprise territory, and I'm
sure enterprise has tech tricks that become worthwhile at that scale.

> There are scaling problems in every direction: Too many files per directory, 
> too large files, too much content per heading, too many headings.

There are scaling problems from too much deep tree nesting, namely too
much fiddly ambiguous manual refiling.  Solution is flat "solid name"
directories just below feasible 10 Bins.  Work fine.

> I would have to build lots of additional tooling to make that work as well. 
> Many of the tools in Emacs work better on large files than on many files — I 
> will switch to more files when performance on large files reaches its limits.

Nah, my 100 mb (non archived) Textmind works fine.  I just separated
Agenda metadata from bulk prose.

I am curious how many headings I have, how would I count that recursively?

On Sun, Nov 22, 2020 at 8:04 PM Dr. Arne Babenhauserheide
 wrote:
>
>
> Texas Cyberthal  writes:
>
> >> I need instant search in the knowledge database and quick filing of tasks. 
> >> Also I need the agenda to create a clocktable (that’s on the limit of 
> >> being too slow) and the calendar and tasks of the week.
> >
> >> Also I need quick filing of notes and quotes (in specific files, not part 
> >> of the agenda) and of long-form articles, one file per article (using 
> >> journal.el, also outside the agenda, searched using M-x deft), and quick 
> >> creation of website entries for a given category within the site (i.e. M-x 
> >> draketo-software).
> >
> > So your Org usage style quickly hits critical performance problems at scale.
>
> The only part that hits performance limits is the agenda. All the rest
> scales nicely. My current guess is that the agenta is slow because it
> has to parse all my 7500 clock entries, and it has to check the TODO
> states of around 1200 headings. Having multiple files would only add to
> that.
>
> > I don't have these problems.  Treefactor refiling is immune to scale.
>
> Did you check against filesystem limits? At 10k entries in a directory
> typical filesystems start becoming slow. That’s the main reason I see
> for adding hierarchies.
>
> > Org's many tools and tricks are still handy in niche cases, but they
> > don't cause scaling problems because they don't handle bulk info
> > management.  For example Org's refile tools are useful when writing
> > advanced documentation with large single-file outlines.  Most info
> > doesn't require that much organization.  It works fine as flat lists
> > of headings in a detailed directory tree.
>
> Or as sub-headings in a large outline.
>
> There are scaling problems in every direction: Too many files per
> directory, too large files, too much content per heading, too many
> headings.
>
> I would have to build lots of additional tooling to make that work as
> well. Many of the tools in Emacs work better on large files than on many
> files — I will switch to more files when performance on large 

Re: One vs many directories

2020-11-22 Thread Ihor Radchenko
>> I am wondering what you mean by Org's philosophy. Why would it have anything 
>> to do with directories?
>
> Org's philosophy is to have one or a handful of directories without
> nesting of directories.  Users are not expected to have their Org
> files in a deeply nested tree.  Org also prefers big files with large
> trees rather than lots of little files.
>
> By philosophy, I mean the dev consensus on the correct way to do
> things, and coded configuration and usability biases.

I believe that org support all possibilities. The user can decide to
keep many (possibly nested) org files, a few large org files, or
anywhere in between. There are several parallel feature sets allowing to
work in a single file as well as with a bunch of smaller files.

For a single file, the user can search headings with org-goto (without a
need to explicitly travel through all the nesting headline levels),
reveal only headings satisfying certain keyword/tag/any other search
criteria with org-sparse-tree, or built agenda views restricted to a
single file (or even subtree).

For multiple files located anywhere in the filesystem, there is always
org-refile capable of filing the information to proper place or
searching deeply nested headlines with ease regardless of the file the
information is physically located in. Headlines from multiple files can
be grouped using agenda views for any given search criteria (showing
todo items or items for a single day/week is just a tiny subset of what
agenda can do).

Best,
Ihor

Texas Cyberthal  writes:

> * Hi Ihor Radchenko,
>
>> I am wondering what you mean by Org's philosophy. Why would it have anything 
>> to do with directories?
>
> Org's philosophy is to have one or a handful of directories without
> nesting of directories.  Users are not expected to have their Org
> files in a deeply nested tree.  Org also prefers big files with large
> trees rather than lots of little files.
>
> By philosophy, I mean the dev consensus on the correct way to do
> things, and coded configuration and usability biases.
>
> I know this is Org's philosophy because I violated it thoroughly when
> writing Treefactor documentation, and was told as much.  I can see how
> it wouldn't be obvious to casual users.
>
> Good idea, I'll comment on Voit's article, thanks.
>
> * Hi Palak Mathur,
>
>> it seems overwhelming to have 10 directories. I am not saying it is not good 
>> just that I will not be able to handle those.
>
> I didn't anticipate this problem.  Maybe practicing with Treefactor
> and Dired would build this muscle over time.
>
> The rules are written to be straightforward at filing time.  One need
> only consider one object at a time.  Cascade filing means one need
> only compare the object with one directory at a time.  The first match
> wins.  I should emphasize that in the docs.
>
> Having all your headings jumbled into three huge files sounds like a
> state of permanent intractable overwhelm to me.
>
> * Hi Jean Louis,
>
> You are using Hyperscope as your primary PIM but integrating it with
> Org, and it sounds like you're using PostGreSQL and the directory tree
> together somehow.  I don't fully understand it.
>
> Clearly a database can do more than a directory tree alone.  The cost
> is that a database is more complex to use and maintain.  So that which
> can be handled by directory tree alone, should be.
>
>> I can find a mining engineer in country Senegal if I wish so, that has some 
>> work experience and I can see files pertaining to this person. But not that 
>> I would make file system directory Senegal to find the files for this person
>
> Of course not.  You would find a person under his name, not his
> country.  The person can move to a different country, after all.  At
> most you might link him to the country, as part of a list of people
> from X country.  But that is something better handled by a real
> database.
>
> To clarify, Treefactor is just an Emacs package with some minimal
> opinions.  10 Bins is an opinionated directory tree template.  Neither
> requires the other, but they're both part of Cyborganize, my overall
> PIM and publishing system.



Re: One vs many directories

2020-11-22 Thread Jean Louis
* briangpowell  [2020-11-22 05:48]:
> Emacs, believe it or not, has the FASTEST ENGINE available, without
> augmentation in any way, for INTERACTIVE SEARCH--since the whole engine is
> designed to be optimized to search-while-editing

Interesting, I did not know about that.

> But for many other searches, more elaborate searches, fancier GREP
> searches, it's a VERY BAD choice of ways or programs to use for
> searching

Do you mean to run grep on file or buffer while editing?

Or outside of editor?

> What I mean is, say you're editing a file, and you search for your
> "ProviderBuilderFactory"
> 
> Suggest you try opening a huge file--even MULTI-GIGABYTE FILES--huge files
> in Emacs VLF-Mode--Very Large File-mode {which I believe can be done as a
> sub-mode to/with Org-Mode}
> 
> And you can do this fearlessly since vlf-mode works by dividing the files
> up for you in the background, etc.--while you're editing--but uses the same
> built-in Emacs engine, optimized for such searches
> 
> And then you type:
> 
> Control-s
> 
> And start to type the first letters of "ProviderBuilderFactory"
> 
> This will interactive-search HUGE files, very quickly, and in near "Real
> Time"--since this is what Emacs (implemented in C) is optimized to do--its
> optimized for initial-character-searching "as you type them"--most other
> engines are NOT

Does occur also uses that built-in speedy search? Would it work with
your library? Now I am researching it and I see vlf-occur

I have tried using vlf-occur in this email and what happened seems to
be error:

- M-x vlf-occur
- Tried with word "has"
- found many "has" in vlf-occur
- I press RET on the line there
- I get asked "Chunk modified, are you sure?" I say yes.
- my email buffer is erased at that moment and cursor switches to erased buffer
- then to undo stuff I press undo

So that is bug. User should never get buffer erased.

> IF FOR NO OTHER REASON THAN IT SOUNDS LIKE FUN! And you might use
> vlf-mode for other tasks you may face in the future.

I am interested to research the possibility of expanding large number
of database items into the file which would then be hyperlinked. Would
some mode like Org mode work with it? I would use Hyperbole or Org
links or goto-address-mode

The file would be one liner expansion of database entries.

By using quick vlf-occur (at this moment I just imagine it is quick,
but do not have a feeling) I would quickly locate some entries.

I would then click or activate the button to move to specific other
database entries or outside hyperlinks.

> Lastly, say you want to search for things without opening a file, you can
> still use Emacs in batch-mode, at the command line, without opening a full
> emacs session

Provide the one line to understand it.

Side thought: I remember I was making website search engines back in
time with grep only. Each HTML file was converted to one line of text,
something like:

LOCATION:::TITLE:::KEYWORDS:::DESCRIPTION:::HERE COMES LONG LINE OF BODY

Then grep was used to quickly find results which are formatted on the
website page. And yet we can just find complex software for website
searching on Internet these days.



Re: One vs many directories

2020-11-22 Thread Jean Louis
* Ihor Radchenko  [2020-11-22 11:33]:
> > * Full contact information is required
> >   :PROPERTIES:
> >   :CREATED:  [2018-10-08 Mon 21:34]
> >   :ID:   06781e66-0382-4833-a61e-0d76e317593f
> >   :END:
> >
> > Thank you. Am I supposed to declare these properties in
> > org-custom-properties for it not to be visible?
> 
> Yes. I use
> 
> (setq org-custom-properties '("ID" "STYLE" "REPEAT_TO_STATE"
> "CREATED"))

I've tried then :PROPERTIES and :END: still remain. It is possible
even not to show PROPERTIES but :END remains.

> Then, you will need to run M-x org-toggle-custom-properties-visibility
> or add it to org-mode-hook.

Thank you, I will rather give up on that. It is not designed for it.

> Hiding the emptied property drawer is currently not possible, unless you
> use my WIP patch [1]. The branch also mitigates the issue with large org
> files. However, this particular functionality was opposed by other devs
> earlier. Further discussion will follow once more important parts of the
> patch are resolved.
> 
> If you use the patch, you can also set
> org-custom-properties-hide-emptied-drawers to 't. Then, your example
> should look like
> 
> * Full contact information is required

Thank you, I will choose to give up on that as it has not get much
priority and maybe I stop creating unique IDs.

I will explore how to re-file tasks into the SQL database.



Re: One vs many directories

2020-11-22 Thread Ihor Radchenko
> * Full contact information is required
>   :PROPERTIES:
>   :CREATED:  [2018-10-08 Mon 21:34]
>   :ID:   06781e66-0382-4833-a61e-0d76e317593f
>   :END:
>
> Thank you. Am I supposed to declare these properties in
> org-custom-properties for it not to be visible?

Yes. I use

(setq org-custom-properties '("ID" "STYLE" "REPEAT_TO_STATE" "CREATED"))

Then, you will need to run M-x org-toggle-custom-properties-visibility
or add it to org-mode-hook.

Your example will then look like 

* Full contact information is required
  :PROPERTIES:
  :END:

Beware of using this on large org files. The command creates a huge
number of overlays (one overlay per property line), which may slow down
Emacs.

Hiding the emptied property drawer is currently not possible, unless you
use my WIP patch [1]. The branch also mitigates the issue with large org
files. However, this particular functionality was opposed by other devs
earlier. Further discussion will follow once more important parts of the
patch are resolved.

If you use the patch, you can also set
org-custom-properties-hide-emptied-drawers to 't. Then, your example
should look like

* Full contact information is required

[1] https://orgmode.org/list/87lfh5vvrp.fsf@localhost/

Best,
Ihor

Jean Louis  writes:

> * Ihor Radchenko  [2020-11-22 09:37]:
>> > In fact the properties, custom ID and else inside is mostly visually
>> > disturbing me though it is necessary.
>> 
>> FYI: org-custom-properties and
>> org-toggle-custom-properties-visibility
>
> * Full contact information is required
>   :PROPERTIES:
>   :CREATED:  [2018-10-08 Mon 21:34]
>   :ID:   06781e66-0382-4833-a61e-0d76e317593f
>   :END:
>
> Thank you. Am I supposed to declare these properties in
> org-custom-properties for it not to be visible?



Re: One vs many directories

2020-11-22 Thread Jean Louis
* Ihor Radchenko  [2020-11-22 09:37]:
> > In fact the properties, custom ID and else inside is mostly visually
> > disturbing me though it is necessary.
> 
> FYI: org-custom-properties and
> org-toggle-custom-properties-visibility

* Full contact information is required
  :PROPERTIES:
  :CREATED:  [2018-10-08 Mon 21:34]
  :ID:   06781e66-0382-4833-a61e-0d76e317593f
  :END:

Thank you. Am I supposed to declare these properties in
org-custom-properties for it not to be visible?




Re: One vs many directories

2020-11-21 Thread Ihor Radchenko
> In fact the properties, custom ID and else inside is mostly visually
> disturbing me though it is necessary.

FYI: org-custom-properties and org-toggle-custom-properties-visibility


Jean Louis  writes:

> * Texas Cyberthal  [2020-11-21 18:46]:
>> I guess I avoid the problem you're talking about by mostly excluding
>> bulk prose from the Agenda directory.  They're fundamentally different
>> and should be handled differently.
>
> Well said. 
>
>> One is about human language, the other is about database metadata.
>
> That is so.
>
> In fact the properties, custom ID and else inside is mostly visually
> disturbing me though it is necessary. Before knowing about Org I have
> already had a system of planning, projects, tasks, and all that could
> be related to people, groups and what other else things. This part of
> Org that is dependant on meta data is better managed through
> dedicated databases. 
>
>> The temptation to do everything inline just because Org supports it
>> is one of Org's biggest traps.  It's like the trap of trying to
>> outline strictly when you should be rambling.
>
> Temptation is brought through the usage of Org as there are not so
> many choices beyond it. Org is meant to keep simple things
> simple. Data being managed may easily grow into complex thing.



Re: One vs many directories

2020-11-21 Thread briangpowell
* Strongly suggest looking into Emacs' vlf-mode and the newer vlfi-mode

** That is Very-Large-File-Mode & Very-Large-File-Improved-Mode for issues
you're experiencing & if not, simply because they're very useful &
interesting & fun Emacs Modes to explore & put into your toolbox

https://www.emacswiki.org/emacs/VLF

https://github.com/m00natic/vlfi

* You mentioned other types of GREP, I second that, and the indexing
suggestion--I remember long ago using SGREP which is Simple-GREP, used
indexing & was much faster than the usual grep implementations for some
things; but, this is at the expense of the fancier & more elaborate GREP
functions

** You mention RipGrep--thanks for that, very interesting

* Which brings me to my main suggestion to you & why:

Emacs, believe it or not, has the FASTEST ENGINE available, without
augmentation in any way, for INTERACTIVE SEARCH--since the whole engine is
designed to be optimized to search-while-editing

But for many other searches, more elaborate searches, fancier GREP
searches, it's a VERY BAD choice of ways or programs to use for searching

What I mean is, say you're editing a file, and you search for your
"ProviderBuilderFactory"

Suggest you try opening a huge file--even MULTI-GIGABYTE FILES--huge files
in Emacs VLF-Mode--Very Large File-mode {which I believe can be done as a
sub-mode to/with Org-Mode}

And you can do this fearlessly since vlf-mode works by dividing the files
up for you in the background, etc.--while you're editing--but uses the same
built-in Emacs engine, optimized for such searches

And then you type:

Control-s

And start to type the first letters of "ProviderBuilderFactory"

This will interactive-search HUGE files, very quickly, and in near "Real
Time"--since this is what Emacs (implemented in C) is optimized to do--its
optimized for initial-character-searching "as you type them"--most other
engines are NOT

IF FOR NO OTHER REASON THAN IT SOUNDS LIKE FUN! And you might use vlf-mode
for other tasks you may face in the future.

Please try it out & tell how you like it--you'll never avoid opening huge
files again is one benefit

Beyond that, suggest you look into using LEX, it's as fast as you can get
for some things too.

Everything has its niche in the *nix world--which is where GREP came from,
Bell Labs, etc.--that's the Unix philosophy, Emacs & LEX tools came from
that world & the work of thousands of contributors--suggest you try these
tools too for these issues

Lastly, say you want to search for things without opening a file, you can
still use Emacs in batch-mode, at the command line, without opening a full
emacs session



















On Sat, Nov 21, 2020 at 8:34 PM Jean Louis  wrote:

> * Dr. Arne Babenhauserheide  [2020-11-22 01:48]:
> > > So in general I never need to use some general search through Org
> > > files or any other files as my way of thinking begins with People or
> > > Groups and that narrows what has to be searched.
> >
> > How do you deal with stuff that applies to several people?
>
> From database viewpoint there are
>
> - accounts (which means companies, groups, entities, like "People who
>   wish to get employed in Europe")
>
> - there are contacts, that may belong to account, additionally belong
>   to company (also account), additionally be member of account, so
>   there are 3 groupings for each contact how that contact may be
>   related to account. If it is main account such as "Welders" or if
>   maybe under "Company" is written "welders" (not quite correct) in
>   reality it does not matter.
>
> - then there are lists to which other lists belong. Account A and
>   account B, C, D can belong to list 01. Various accounts can be put
>   together in uniting lists. Those lists are encompassing other lists,
>   not individual people but people in the list (account) usually
>   unless there is only one in the account. Those lists I am using for
>   mailing them or informing them by letter, SMS, etc. Geologists and
>   mining engineers and metallurgists are 3 different accounts but if
>   all of them speak Swahili both in Kenya and Tanzania and are in the
>   related branch of economy so they can be sent same type of
>   information.
>
> Then there are groups, which is just another name for a new list. Then
> there are tags. I can freely tag account, contact or anything else. By
> tags I can finely select specific people belonging to specific group.
>
> There are account types and group types.
>
> Tags by itself have its own description or purpose to name it type.
>
> Some people introduce other people, few of them introduced
> thousands. So contacts have a column "introduced by". That becomes
> very handy when talking to somebody and it also helps in awarding
> introduces. It helps when people place their hyperlinks and become
> automated introducers (lead generation).
>
> When I know that person belongs to some group of people and I have to
> write email and I know it is better to inform everybody, then there is

Re: One vs many directories

2020-11-21 Thread Jean Louis
* Dr. Arne Babenhauserheide  [2020-11-22 01:48]:
> > So in general I never need to use some general search through Org
> > files or any other files as my way of thinking begins with People or
> > Groups and that narrows what has to be searched.
> 
> How do you deal with stuff that applies to several people?

>From database viewpoint there are

- accounts (which means companies, groups, entities, like "People who
  wish to get employed in Europe")

- there are contacts, that may belong to account, additionally belong
  to company (also account), additionally be member of account, so
  there are 3 groupings for each contact how that contact may be
  related to account. If it is main account such as "Welders" or if
  maybe under "Company" is written "welders" (not quite correct) in
  reality it does not matter.

- then there are lists to which other lists belong. Account A and
  account B, C, D can belong to list 01. Various accounts can be put
  together in uniting lists. Those lists are encompassing other lists,
  not individual people but people in the list (account) usually
  unless there is only one in the account. Those lists I am using for
  mailing them or informing them by letter, SMS, etc. Geologists and
  mining engineers and metallurgists are 3 different accounts but if
  all of them speak Swahili both in Kenya and Tanzania and are in the
  related branch of economy so they can be sent same type of
  information.

Then there are groups, which is just another name for a new list. Then
there are tags. I can freely tag account, contact or anything else. By
tags I can finely select specific people belonging to specific group.

There are account types and group types.

Tags by itself have its own description or purpose to name it type.

Some people introduce other people, few of them introduced
thousands. So contacts have a column "introduced by". That becomes
very handy when talking to somebody and it also helps in awarding
introduces. It helps when people place their hyperlinks and become
automated introducers (lead generation).

When I know that person belongs to some group of people and I have to
write email and I know it is better to inform everybody, then there is
action to assign identity from which I am sending email. It could be
public or internal identity with different email address. Emails to
that person would always go from designated email address without me
thinking about it. Then there are Cc and Bcc fields and in those
fields I could designate: to inform same contact to each of email
addresses with same message, and to inform group of people each
time. Thus if writing to one contact all others get informed through
same message. But I am not thinking about who belongs to the group,
and what are their email addresses, that gets inserted
automatically. Email composition is usually inside of Emacs.

Sending files? If contact is in the group and others need to see the
file, then Cc and Bcc fields work in the same way, file sent to one
person is sent to other members of the group.

Sometimes contact tells me to please exclude some people from Cc, so I
just go into definition of identities for contact and exclude such.

SMS I am sending by using kdeconnect.el package so any SMS I send this
way it is getting recorded to the contact. If I need to send SMS to
the group, then same SMS could be sent to whole group.

If the note on one contact is related to other people then is trivial
to automate to inform other people on that particular note.

If any group of people is there, filing files under group does not
make much sense to me. I would not file it as Group/ABC/file-01.pdf

I would file it under By-ID/Contact-ID-123/Group/file-01.pdf as files
are normally sent by one email address of one person or under one
name. I deal with people not with empty groups that do not
communicate. But group is important, so there can be /Group/ directory
on the file system where all contacts of one group can be symlinked
automatically if it happens that I need to search by Group on file
system, but I don't. I search for groups in the database and see list
of contacts there and then jump to contact.

Same thing with invoices, they are written either to company or to
individual or some individual in some company. I will not file or act
based on invoice. I have to act based on authorirative or maybe
hierarchically higher object first.

In general is always good to make a list of things and then lists are
foundation for dealing easier with whatever groups of anything.

> > it comfortable. My way of thinking is always People or Groups, and
> > from there various searches are performed and that narrows drastically
> > the subject that has to be searched.
> 
> That does sound like it should speed up searching by directory.

You remember that I do not search by directory.

Computer stuff I search by directory, like
Work/Computer/Devices/Dictaphone or Work/Computer/Graphics/shadow

Stuff related to any entity, 

Re: One vs many directories

2020-11-21 Thread Dr. Arne Babenhauserheide

Jean Louis  writes:

> So in general I never need to use some general search through Org
> files or any other files as my way of thinking begins with People or
> Groups and that narrows what has to be searched.

How do you deal with stuff that applies to several people?

> it comfortable. My way of thinking is always People or Groups, and
> from there various searches are performed and that narrows drastically
> the subject that has to be searched.

That does sound like it should speed up searching by directory. My mind
works differently here: I remember some concept and need to find stuff
connected to that, including people, but also additional ideas,
instructions, and just bullet points with info I might need again later
(which multiple times saved many hours of searching already).

The one thing that keeps me from that is that I often file under
specific projects, and the active projects are shifting constantly. For
that I enjoy it a lot that I only need to customize the capture
templates to add a project.

> On my side I almost never put notes in Org files. As by definition
> from Wordnet, note is "brief written record".

With note I just mean "something". Mostly its bullet points with tasks,
some links and references into source-code which allows me to quickly
take up a tasks after some downtime.

> Overall from this discussion I hope that people find some useful ways
> of using Org, like org-rifle, semantic organization of stuff and
> similar.

I hope so, too.

Thank you for describing the tools you use!

I for one am still working on my workflow, and I guess that 10 years
from now it won’t be the same as today. I hope that learning about other
ways to work with org will help me a lot in future.

Best wishes,
Arne
-- 
Unpolitisch sein
heißt politisch sein
ohne es zu merken


signature.asc
Description: PGP signature


Re: One vs many directories

2020-11-21 Thread Dr. Arne Babenhauserheide
Hi Texas,

> Grepping my 94 Mb 6562 files (excluding archive) Textmind for
> "elephantine" takes a few seconds, which is fine.  

For the sake of ruining my argument ( :-) ), you might want to check ripgrep.

Searching within 30k files of in total around 150 MiB for
ProviderBuilderFactory (guess what type the files are :-) ) takes 0.4s
with ripgrep.

(that’s on an nvme (M.2) disk)

It’s still too slow for interactive use.

Within 1k files of in tootal 7 MiB it is fast enough.

> Org searching for a nonexistent UID link takes a few minutes, which is
> why I run that search nightly, to refresh the index. My Org Agenda
> search scope is only 252k in 58 files and is effectively lagless.

That lagless is what I see as being required for actual operation.

> I'm not sure what kind of lagless Org database operations are required
> in your workflow, but I suspect they could be mostly replaced by a
> proper Textmind workflow and 10 Bins structure.

I need instant search in the knowledge database and quick filing of
tasks. Also I need the agenda to create a clocktable (that’s on the
limit of being too slow) and the calendar and tasks of the week.

Also I need quick filing of notes and quotes (in specific files, not
part of the agenda) and of long-form articles, one file per article
(using journal.el, also outside the agenda, searched using M-x deft),
and quick creation of website entries for a given category within the
site (i.e. M-x draketo-software).

> I guess I avoid the problem you're talking about by mostly excluding
> bulk prose from the Agenda directory.  They're fundamentally different
> and should be handled differently.

I do that, too. One is source code, one is organisation tasks. I link
from org into the source code, though (but never check the targets).

I do use org-planning within prose, but there the scope is only the one
org-document.

Best wishes,
Arne
-- 
Unpolitisch sein
heißt politisch sein
ohne es zu merken


signature.asc
Description: PGP signature


Re: One vs many directories

2020-11-21 Thread Jean Louis
* Texas Cyberthal  [2020-11-21 21:02]:
> Hi Jean,
> 
> > That is good and isn't it general way of sorting things? I guess
> > that general computer users may not be aware that they could make
> > nice hierarchical tree of directories.
> 
> It's not that they're unaware.  Everybody with a mouse and Windows
> Explorer tries to make good directories.

People try and people fail. I know hackers only on distance, I do not
know them personally face to face. Often computer users that I see in
offices like stationary, even sometimes legal office, have their
desktops overloaded of files on top of files on top of files where
majority of them are named something like unknown or whatever new-file
and similar nonsense. All sorting is taking place under Desktop on
Desktop space and it becomes mess.

> It's just that Dired+Treefactor's order of magnitude improvement in
> speed and fluency means that the directory tree can be mind-synced

Good term, mind synced. That is how it should be. In my opinion
various paradigms of file sorting should be sorted in a list similar
to those Awesome lists. Sorting files how mind thinks is how it should
be. Computer should help user to complement the mind and help in
execution of actions and not bother the mind or make mind confused
what is really the case with majority of users.

Side note: I was always sorting files, people, stuff from the command
line or from web browser into their places. And I mostly used readline
in bash for completion or finding of the selection candidate.

In Emacs I am using `ivy-mode` or `helm`, `selectrum` and similar,
Emacs offers quite good interface for completions.

And often I am completing file locations, maybe I wish to file into
this or the other subject. So the list of subjects has to be brought
up.

In X and outside of Emacs there is dmenu and I could use it even from
Emacs inside out. 

(defun dmenu-completing-read (prompt collection)
  ;;  predicate require-match initial-input history def 
inherit-input-method)
  "Uses external `dmenu' command for Emacs completions."
  (let* ((collection (concat (string-join collection "\n") "\n"))
 (file (string-to-file-force collection "/dev/shm/collection"))
 (dmenu "dmenu"))
(with-temp-buffer
  (call-process dmenu file (current-buffer) nil "-fn" "DejaVu:pixelsize=30" 
"-l" "10" "-i" "-b" "-p" prompt "-nb" "dark goldenrod" "-nb" "black")
  (string-trim (buffer-string)

(dmenu-completing-read "Subject: " '("People" "Work" "Group"))

I find dmenu as excellent tool to provide it for functions that are used within 
Emacs and that may be used outside of Emacs to complement Emacs filing of files.

For example Rox filer file manager or Nautilus can invoke external command that 
files the file into specific directory by using dmenu. Choose the directory by 
few words, and if directory is semnatically written, file may be filed easily.

Three interfaces for selection among large line-based items were needed:

- [X] Emacs
- [X] X interface: Dmenu
- [ ] Console. I was using readline with TAB, it is not visual enough

Now I found finally `fzf`.

$ mv courier-crm114 `find Work/Computer -type d | fzf`

Then in the next step I can type "mail" or "spam" subdirectories and file it 
there.

fzf is great tool for console and terminal emulators. It similar
things on console what helm does on Emacs and dmenu on X.

- [X] Console: fzf

fzf is great tool that may be used for finding stuff, filing, retrieval of 
stuff, launching or opening files. Example:

$ mimeopen `locate *.org | fzf`

and similar with dmenu:

$ mimeopen `locate -d .locate.database  -A Documents .org | dmenu -fn 
DejaVu:pixelsize=20 -l 10 -i -b -p "Org: " -nb "dark goldenrod" -nb black `

As my files are in ~/Documents/Org/ I would find at least 185
files ending with .org there by its name and quickly open it with
emacs. Instead of "mimeopen" I could as well use emacsclient.

If you have set your mimeopen to open it by Emacs, you will
quickly locate the file and open it. Provided that Org file names
have some built-in semantics.




Re: One vs many directories

2020-11-21 Thread Texas Cyberthal
Hi Jean,

> That is good and isn't it general way of sorting things? I guess that general 
> computer users may not be aware that they could make nice hierarchical tree 
> of directories.

It's not that they're unaware.  Everybody with a mouse and Windows
Explorer tries to make good directories.  It's just that
Dired+Treefactor's order of magnitude improvement in speed and fluency
means that the directory tree can be mind-synced as never before,
making walking the tree an education in itself.  With so much
intelligence embedded in each level, bypassing it makes little sense.
Also one should check during the walk whether key info is waiting in
transit for batch refiling.

For classic database tasks, I'd rather use Postgres than symlinks.  I
already use symlinks enough for conveniences such as connecting
synonyms.  Too many symlinks make paths unpredictably brittle,
chilling sync dynamism, creating rigidity.

Textmind is documented at http://cyberthal-docs.nfshost.com

I neglected Dr. Arne's honorific.



Re: One vs many directories

2020-11-21 Thread Jean Louis
* Texas Cyberthal  [2020-11-21 18:46]:
> I guess I avoid the problem you're talking about by mostly excluding
> bulk prose from the Agenda directory.  They're fundamentally different
> and should be handled differently.

Well said. 

> One is about human language, the other is about database metadata.

That is so.

In fact the properties, custom ID and else inside is mostly visually
disturbing me though it is necessary. Before knowing about Org I have
already had a system of planning, projects, tasks, and all that could
be related to people, groups and what other else things. This part of
Org that is dependant on meta data is better managed through
dedicated databases. 

> The temptation to do everything inline just because Org supports it
> is one of Org's biggest traps.  It's like the trap of trying to
> outline strictly when you should be rambling.

Temptation is brought through the usage of Org as there are not so
many choices beyond it. Org is meant to keep simple things
simple. Data being managed may easily grow into complex thing.




Re: One vs many directories

2020-11-21 Thread Jean Louis
* Dr. Arne Babenhauserheide  [2020-11-21 18:04]:
> 
> Jean Louis  writes:
> 
> > When there are more than 2000 people related notes, tasks,
> > calculations, questions arise if such better be kept in one Org file
> > or multiple Org files in one directory or multiple directories for
> > multiple Org files?!
> 
> This came up multiple times in discussions. I think that it is wrong,
> and the reason comes down to efficiency. If you want to work
> efficiently, then sub-second delays matter, and having 4 files with
> 500 entries means that to search in them you need to open 4 files.

Hallo Dr. Arne,

It maybe wrong and it depends of the approach. My approach is that I
think with people and subjects, not with notes only.

Subject can be special plan like ABC.org and I do not need to search
notes related to that plan outside of ABC, because I do not mix
things. I am searching within one file only.

Things TODO are per subject or per person.

Files pertaining to any person are filed in the person's folder.

Somebody else deals only with personal notes and they maybe put such
in various files and of course they need to search.

I am thinking of "Joe Doe" and here is the flow:

- press s-c (for contacts)

- enter Joe Doe or Joe Doe, Berlin, etc.

- among many Joe Doe, I may narrow down to right one

- click F4 there is Org file for Joe Doe, enter Tasks, Transactions
  and whatever else, send Tasks, Notes to Joe Doe, collaborate or make
  agreements. I never construct or open file for a person, function is
  doing that. It makes the file
  ~/Work/People/By-ID/320431/320431.org

  If I need to search, I search inside of the file. 

- click F5 and find all other files for Joe Doe. For example contracts
  and similar. If I need to search there then I use find and grep and
  similar tools. No need for indexing. Files are mostly sorted by data
  how they come.

There is same flow if I think of a group of people with the difference
that if I need a person I still need to find the person in the list of
people. 

So in general I never need to use some general search through Org
files or any other files as my way of thinking begins with People or
Groups and that narrows what has to be searched.

> If you have 100 files with 20 notes each, you have to open 100
> files.

You maybe mean opening automatically files and searching through
such. I do not find Org system comfortable for that. I see it tries to
remember files, IDs, and agenda among various files. Not that I find
it comfortable. My way of thinking is always People or Groups, and
from there various searches are performed and that narrows drastically
the subject that has to be searched.

> My current setup has around 1200 notes in 10 files (most of them in the
> two main files, some of the notes are several pages long, but most take
> up around half a page).

People are all over the world using Org in various manners and every
day I find different ways of using Org mode.

On my side I almost never put notes in Org files. As by definition
from Wordnet, note is "brief written record". If it is brief written
record I do record it in the database under Notes related to person,
or group or opportunity or some case, or it can be related to anything
else. Then again I think of person and I can get all notes for the
person.

Org files I am using mostly for planning and project
administration. There are almost no notes, just instructions on how to
execute specific steps and there are headings with articles or
instructions that do not need execution. There are no records that are
saved for later or that do not need any execution or learning.

Org files on my side thus offer:

- hierarchical knowledge database that may be shared with other
  people, and is almost always directed to sharing with other people

- plan and project administration with tasks, whereby such subtrees
  can be shared with other people and for multiple times executed

If those are called notes by other people, alright fine. On my side
those are not just notes.

Notes I relate to objects like People, Groups, Opportunities, Cases,
so I put some notes there. But general dynamical knowledge repository
is better, that is where I mention HyperScope.

It is like database of hyperlinks that hyperlink to anything, it is
more abstract and I find that approach also versatile. No need to
define specific database for notes, all I do is defining hyperdocument
type to be "Note" and I can link it to anything else.

Semantic Synchrony
https://github.com/synchrony/smsn

Semantic Synchrony is using maybe better type of a database I do not
know, I am using SQL, SMSN uses graph database.

> Using org-rifle (https://github.com/alphapapa/org-rifle) I can
> full-text-search them with barely perceptible delay on a system
> clocked down to 1 GHz.

That is great tool for many.

Org files are for me to write complex documents like 850 kb something
like a organizational knowledge, training for each staff member,
plans, projects, tasks, 

Re: One vs many directories

2020-11-21 Thread Jean Louis
* Texas Cyberthal  [2020-11-21 18:01]:
> Hi Jean,
> 
> > Navigating does not necessarily contribute to production. Productivity may 
> > say what it wants but it may not reach those who are actually more 
> > productive without using the navigation. So studies may not tell us what is 
> > more productive, such may only tell what is currently used within the 
> > subject of being productive.
> 
> Outside 10 Bins, navigation is often negatively productive.  Whenever
> the user navigates bad tree structure without correcting it on the
> fly, he suffers profitless friction.  That's why Treefactor combines
> with JiT sorting to make navigation and sorting a single activity.
> 
> Frankly I was surprised people prefer navigation despite being
> generally so bad at tree structure.  In the absence of good structure
> and tools, search is much better.

Do you really think people prefer? Or they simple have no other
option?

If I have no other option to drink a juice I will drink water, not
necessarily I prefer drinking water in hot sunshine. I like
Apfelschörle.

Searching file contents is database search. I am not any more fan of
that. Tools like Beagle or Tracker are making basically double
database of files only for me to find or search files. Most of time I
am only searching for meta data, not for contents. With 1000 GB one
would need to have maybe that much indexed database and constant
updating of files and their positions.

That is why I prefer relational pinpointing or relational access and
actions or locating files by using indexes.

Relational access would mean when you inspect the object to quickly
jump to all relational pieces of information relating to that
object. If I look on person's name there need not be any note or
contact information but I should be able to quickly access such
information. And each object should have general actions like actions
relating to email object could be to send email, delete email,
forward, etc. that is what mail readers do. Action on file relating to
user should be to quickly see emails of the user, social networks,
websites, to call user, SMS, send information, jump into XMPP chat,
share the file or request new version of file and similar.

Locating files by indexes would be to index only meta data and then to
use searches to find meta data such as title, date, author, or various
attributes. Tools like locate and similar do that. 

> I agree, email should be database-centric.  Manually organizing
> emails into folders (or worse, trees) is therefore wrong except in
> tiny doses.

You missed this:

- I am reading email, answering and if I wish to keep it all I do is
  `s` to save it into the mailbox related to the email address:

  ~/Maildir/te...@example.com

  Emails that I send to user are saved to same mailbox.

  That is all. No thinking, nothing, saving goes automatic. This
  single plan of filing emails enables me to see all conversations
  related to that email address.

  Database keeps all email addresses of specific person

  $ emailsof texas@examp

  would give me 3 views if there are 3 email addresses, I could
  basically review all conversations of that person.

  There need not be any true database like `mu` or `notmuch` as this
  way I find most of times what I need. I can search inside of
  mailboxes easily.

  I would not keep emails in the database like PostgreSQL, no. Emails
  have to be accessed by mail readers and there are just few that
  would be supporting databases. 

> > Take care of duplicates. When marketing contact database is
> > growing fast, some times 1000 people per day or more. People have
> > same names. Often one cannot even know what is first and what is
> > last name. You may know it for your country, in other countries is
> > not so. Then those people engage in a course on distance. They are
> > sending me images and files as results of their course
> > assignments. I have to file the files in proper folder. Because
> > names are not always unique I better file it under unique IDs, and
> > keep separate symlinks with names of people to such unique IDs
> > whereby symlinks can be automatically updated.
> 
> This is clearly a CRM database use case.  In this situation, the CRM
> should define the unique ID, and then Textmind should accept it.  You
> can still use the directory tree, though.  Just file it under
> ~/Surname-given-name/ID-number/~ for the non-unique name.  Recursively
> searching ~/1-Textmind/2-Linked/7-Name/2-Flat/~ for a directory named
> ~/ID-number/~ will find the target even if his name changes slightly.
> So you can save time by not inputting every scrap of text and files
> into the CRM.

That is right, good idea to file under surname/ID. I would rather
prefer the approach ID/Full-Name as if directory is automatically
created by its ID, so I do not need to think about it.

CRM is for me not the database, it is method of management of anything
related to people and I call it Central Files. I do not put text files

  1   2   >