Re: Get Grades Done: the joys of Org's simple power

2020-06-10 Thread Steven Harris
A simple tailored emacs docker image and a terminal emulator might do the
trick for Mr Prater.  I've recently used a docker image that is a self
contained Gnu Octave application accessed through a web browser in a
similar way that works for sighted folks.
epflsti/octave-x11-novnc-docker:latest

HTH
Steven


On Thu, 11 Jun 2020 at 13:57, George Mauer  wrote:

> You know...I believe some people have gotten emacs running in browser...
> You could do it by compiling it to wasm. So in theory you could create a
> completely in-browser emacs which is optimized primarily for org mode usage.
>
> Would be kind of an awesome thing for someone to tackle as it would
> greatly increase the reach of org. Not easy though. Could probably be a
> whole thesis project.
>
> Not sure how well it would work with screen readers and other
> accessibility tech though. That would be even more work
>
> On Wed, Jun 10, 2020, 10:24 PM Russell Adams 
> wrote:
>
>> On Wed, Jun 10, 2020 at 03:38:43PM -0500, Devin Prater wrote:
>> > Now, I do wish I could share these “self-grading” performance tests with
>> > others. I’ve tried exporting one to HTML, but the grade doesn’t seem to
>> update
>> > automatically like it does in Org-mode.
>>
>> Unfortunately updating the count is performed by a hook in Org when you
>> use C-c
>> C-c to check/uncheck a box. That information is static in the text, and
>> static
>> in html.
>>
>> I'm not aware of a built-in way to handle that case. Sorry.
>>
>> --
>> Russell Adamsrlad...@adamsinfoserv.com
>>
>> PGP Key ID: 0x1160DCB3   http://www.adamsinfoserv.com/
>>
>> Fingerprint:1723 D8CA 4280 1EC9 557F  66E8 1154 E018 1160 DCB3
>>
>>


Re: Get Grades Done: the joys of Org's simple power

2020-06-10 Thread Diego Zamboni
Hi Devin,

Your could try https://org-web.org/ - it allows online editing of Org files
and a quick test shows that it supports the automatic update of checkbox
counts.

--Diego

On Wed, 10 Jun 2020 at 22:39, Devin Prater  wrote:

> So, I’ll try to not turn this into a novella. I am a “Technical
> Assistant”, and I teach at an adult education sort of trade school. This
> probably sounds normal, but the only sort of catch is that I am blind, and
> so are  many of my students, the rest having some vision loss.
>
> So, I have to find workarounds for just about everything I do. I teach
> Assistive Technology, which is basically how to use tech as a
> blind/visually impaired person. We have our courses on Moodle, because
> apparently no one has created a learning system that deals with directories
> and config files for those who do best in that environment, instead of
> freaking databases, and web interfaces even fatter than I am. I do hate web
> interfaces, and web interfaces wrapped in “apps” too. It shouldn’t be an
> app if its built on web tech. Yes, you too, Electron!
>
> Anyways, I have some manual tests I do. I have the questions in an
> Org-mode file, with checkboxes I can check or leave unchecked. Up until
> recently, I went down the list and graded them manually. But I thought “Now
> wait, can’t the computer do this for me? I mean, Org-mode is so powerful,
> why not make a Lisp thing that does that for me?” So, being a very beginner
> programmer who still finds it daunting to move my blog from Jekyll to
> Hugo—I’m almost done with that—and can only print stuff with Python, that
> didn’t work out so well. I’ll have to actually read through the Elisp Intro
> to get better at that.
>
> Then, I thought I’d look into the Org manual and see if there was a way to
> “count” checkboxes. And there is
> !  So, I can just put [%] on
> the heading where I want the grade, and my goodness, it works! I no longer
> have to manually grade the assignments! That saves so much time for me, and
> now I just wish the world was in Org-mode so I could just manage everything
> else through its power as well.
>
> Now, I do wish I could share these “self-grading” performance tests with
> others. I’ve tried exporting one to HTML, but the grade doesn’t seem to
> update automatically like it does in Org-mode. And no, other teachers
> around me are *not* going to switch to Org-mode, let alone Emacs, for this.
> So, does anyone have any ideas for how this can be shared? I don’t know any
> Javascript or anything.
>
> So, thanks so much to the Org maintainers, and the community that keeps
> Org alive. It’s allowed me to write and share so much, and soon I’ll be
> using it even more with Hugo.
>


Re: Get Grades Done: the joys of Org's simple power

2020-06-10 Thread George Mauer
You know...I believe some people have gotten emacs running in browser...
You could do it by compiling it to wasm. So in theory you could create a
completely in-browser emacs which is optimized primarily for org mode usage.

Would be kind of an awesome thing for someone to tackle as it would greatly
increase the reach of org. Not easy though. Could probably be a whole
thesis project.

Not sure how well it would work with screen readers and other accessibility
tech though. That would be even more work

On Wed, Jun 10, 2020, 10:24 PM Russell Adams 
wrote:

> On Wed, Jun 10, 2020 at 03:38:43PM -0500, Devin Prater wrote:
> > Now, I do wish I could share these “self-grading” performance tests with
> > others. I’ve tried exporting one to HTML, but the grade doesn’t seem to
> update
> > automatically like it does in Org-mode.
>
> Unfortunately updating the count is performed by a hook in Org when you
> use C-c
> C-c to check/uncheck a box. That information is static in the text, and
> static
> in html.
>
> I'm not aware of a built-in way to handle that case. Sorry.
>
> --
> Russell Adamsrlad...@adamsinfoserv.com
>
> PGP Key ID: 0x1160DCB3   http://www.adamsinfoserv.com/
>
> Fingerprint:1723 D8CA 4280 1EC9 557F  66E8 1154 E018 1160 DCB3
>
>


Re: Get Grades Done: the joys of Org's simple power

2020-06-10 Thread Russell Adams
On Wed, Jun 10, 2020 at 03:38:43PM -0500, Devin Prater wrote:
> Now, I do wish I could share these “self-grading” performance tests with
> others. I’ve tried exporting one to HTML, but the grade doesn’t seem to update
> automatically like it does in Org-mode.

Unfortunately updating the count is performed by a hook in Org when you use C-c
C-c to check/uncheck a box. That information is static in the text, and static
in html.

I'm not aware of a built-in way to handle that case. Sorry.

--
Russell Adamsrlad...@adamsinfoserv.com

PGP Key ID: 0x1160DCB3   http://www.adamsinfoserv.com/

Fingerprint:1723 D8CA 4280 1EC9 557F  66E8 1154 E018 1160 DCB3



Get Grades Done: the joys of Org's simple power

2020-06-10 Thread Devin Prater
So, I’ll try to not turn this into a novella. I am a “Technical Assistant”, and 
I teach at an adult education sort of trade school. This probably sounds 
normal, but the only sort of catch is that I am blind, and so are  many of my 
students, the rest having some vision loss.

So, I have to find workarounds for just about everything I do. I teach 
Assistive Technology, which is basically how to use tech as a blind/visually 
impaired person. We have our courses on Moodle, because apparently no one has 
created a learning system that deals with directories and config files for 
those who do best in that environment, instead of freaking databases, and web 
interfaces even fatter than I am. I do hate web interfaces, and web interfaces 
wrapped in “apps” too. It shouldn’t be an app if its built on web tech. Yes, 
you too, Electron!

Anyways, I have some manual tests I do. I have the questions in an Org-mode 
file, with checkboxes I can check or leave unchecked. Up until recently, I went 
down the list and graded them manually. But I thought “Now wait, can’t the 
computer do this for me? I mean, Org-mode is so powerful, why not make a Lisp 
thing that does that for me?” So, being a very beginner programmer who still 
finds it daunting to move my blog from Jekyll to Hugo—I’m almost done with 
that—and can only print stuff with Python, that didn’t work out so well. I’ll 
have to actually read through the Elisp Intro to get better at that.

Then, I thought I’d look into the Org manual and see if there was a way to 
“count” checkboxes. And there is !  
So, I can just put [%] on the heading where I want the grade, and my goodness, 
it works! I no longer have to manually grade the assignments! That saves so 
much time for me, and now I just wish the world was in Org-mode so I could just 
manage everything else through its power as well.

Now, I do wish I could share these “self-grading” performance tests with 
others. I’ve tried exporting one to HTML, but the grade doesn’t seem to update 
automatically like it does in Org-mode. And no, other teachers around me are 
*not* going to switch to Org-mode, let alone Emacs, for this. So, does anyone 
have any ideas for how this can be shared? I don’t know any Javascript or 
anything.

So, thanks so much to the Org maintainers, and the community that keeps Org 
alive. It’s allowed me to write and share so much, and soon I’ll be using it 
even more with Hugo.

Re: ox-* vs org-* naming convention?

2020-06-10 Thread Kaushal Modi
Hello Diego,

That's great! Thanks for your PR.

On Wed, Jun 10, 2020 at 12:57 PM Diego Zamboni  wrote:

> Hi everyone,
>
> Just a quick update: issue
> https://github.com/purcell/package-lint/issues/89 submitted by Kaushal
> has been closed through the PR I submitted, so now package-lint
> officially accepts "org-" symbols in "ox-" and "ob-" packages :)
>
> --Diego
>


Re: [PATCH] Allow org-capture-mode-hook to access org-capture-current-plist [9.3.6 (release_9.3.6-443-g0e8aff @ /home/n/.emacs.d/straight/build/org/)]

2020-06-10 Thread Nicolas Goaziou
Hello,

No Wayman  writes:

> Subject: [PATCH] lisp/org-capture.el: Set `org-capture-current-plist' before
>  `org-capture-mode-hook'
>
> * org-capture.el (org-capture-place-template): Allow
> `org-capture-current-plist' access during `org-capture-mode-hook'

Thank you.

We're in feature freeze, but since the change was very small, and was
discussed a while before I applied it nonetheless.

I'm cc'ing Bastien for the heads-up, if he wants to revert this for 9.4
release.

Regards,

-- 
Nicolas Goaziou



Re: [PATCH] org-element.el: Update comment

2020-06-10 Thread Nicolas Goaziou
Hello,

Leo Vivier  writes:

> I’ve noticed that a comment on the caching of org-element wasn’t up to
> date, so I went ahead and updated it.  I’ve also fixed a missing quote
> for one of the variables.

Applied. Thank you.

Regards,

-- 
Nicolas Goaziou



Re: [patch suggestion] Mitigating the poor Emacs performance on huge org files: Do not use overlays for PROPERTY and LOGBOOK drawers

2020-06-10 Thread Nicolas Goaziou
Hello,

Ihor Radchenko  writes:

> [The patch itself will be provided in the following email]

Thank you! I'll first make some generic remarks, then comment the diff
in more details.

> I have four more updates from the previous version of the patch:
>
> 1. All the code handling modifications in folded drawers/blocks is moved
>to after-change-function. It works as follows:
>- if any text is inserted in the middle of hidden region, that text
>  is also hidden;
>- if BEGIN/END line of a folded drawer do not match org-drawer-regexp
>  and org-property-end-re, unfold it; 
>- if org-property-end-re or new org-outline-regexp-bol is inserted in
>  the middle of the drawer, unfold it;
>- the same logic for blocks.

This sounds good, barring a minor error in the regexp for blocks, and
missing optimizations. More on this in the detailed comments.

> 2. The text property stack is rewritten using char-property-alias-alist.
>This is faster in comparison with previous approach, which involved
>modifying all the text properties every timer org-flag-region was
>called. 

I'll need information about this, as I'm not sure to fully understand
all the consequences of this. But more importantly, this needs to be
copiously documented somewhere for future hackers.

> 3. org-toggle-custom-properties-visibility is rewritten using text
>properties. I also took a freedom to implement a new feature here.
>Now, setting new `org-custom-properties-hide-emptied-drawers' to
>non-nil will result in hiding the whole property drawer if it
>contains only org-custom-properties.

I don't think this is a good idea. AFAIR, we always refused to hide
completely anything, including empty drawers. The reason is that if the
drawer is completely hidden, you cannot expand it easily, or even know
there is one.

In any case, this change shouldn't belong to this patch set, and should
be discussed separately.

> 4. This patch should work against 1aa095ccf. However, the merge was not
>trivial here. Recent commits actively used the fact that drawers and
>outlines are hidden via 'outline invisibility spec, which is not the
>case in this branch. I am not confident that I did not break anything
>during the merge, especially 1aa095ccf.

[...]

> Also, I have seen some optimisations making use of the fact that drawers
> and headlines both use 'outline invisibility spec. This change in the
> implementation details supposed to improve performance and should not be
> necessary if this patch is going to be merged. Would it be possible to
> refrain from abusing this particular implementation detail in the
> nearest commits on master (unless really necessary)?

To be clear, I didn't intend to make your life miserable.

However, I had to fix regression on drawers visibility before Org 9.4
release. Also, merging invisibility properties for drawers and outline
was easier for me. So, I had the opportunity to kill two birds with one
stone. 

As a reminder, Org 9.4 is about to be released, but Org 9.5 will take
months to go out. So, even though I hope your changes will land into
Org, there is no reason for us to refrain from improving (actually
fixing a regression in) 9.4 release. Hopefully, once 9.4 is out, such
changes are not expected to happen anymore.

I hope you understand.

> I would like to finalise the current patch and work on other code using
> overlays separately. This patch is already quite complicated as is. I do
> not want to introduce even more potential bugs by working on things not
> directly affected by this version of the patch.

The patch is technically mostly good, but needs more work for
integration into Org.

First, it includes a few unrelated changes that should be removed (e.g.,
white space fixes in unrelated parts of the code). Also, as written
above, the changes about `org-custom-properties-hide-emptied-drawers'
should be removed for the time being.

Once done, I think we should move (or copy, first) _all_ folding-related
functions into a new "org-fold.el" library. Functions and variables
included there should have a proper "org-fold-" prefix. More on this in
the detailed report.

The functions `org-find-text-property-region',
`org-add-to-list-text-property', and
`org-remove-from-list-text-property' can be left in "org-macs.el", since
they do not directly depend on the `invisible' property. Note the last
two functions I mentioned are not used throughout your patch. They might
be removed.

This first patch can coexist with overlay folding since functions in
both mechanisms are named differently.

Then, another patch can integrate "org-fold.el" into Org folding. I also
suggest to move the Outline -> Org transition to yet another patch.
I think there's more work to do on this part.

Now, into the details of your patch. The first remarks are:

1. we still support Emacs 24.4 (and probably Emacs 24.3, but I'm not
   sure), so some functions cannot be used.

2. we don't use 

Re: ox-* vs org-* naming convention?

2020-06-10 Thread Diego Zamboni
Hi everyone,

Just a quick update: issue
https://github.com/purcell/package-lint/issues/89 submitted by Kaushal
has been closed through the PR I submitted, so now package-lint
officially accepts "org-" symbols in "ox-" and "ob-" packages :)

--Diego

On Tue, Jun 9, 2020 at 9:13 PM Diego Zamboni  wrote:
>
> Hi again,
>
> > Given the special meanings of both the org- and ox- prefixes, I will
> > insist on keeping the current naming, and maybe take a stab at coming
> > up with a PR for https://github.com/purcell/package-lint/issues/89.
>
> I submitted a PR to allow certain package-to-symbol prefix mappings in
> package-lint: https://github.com/purcell/package-lint/pull/177
>
> Feel free to comment!
>
> --Diego