Re: Org as a book publisher

2021-03-07 Thread Dr. Arne Babenhauserheide
Hi Juan,

I’ve been going that route for a few years now, and I setup an autotools
pipeline with all the little tweaks and hacks I needed to make
everything work well together.

I’m using LaTeX (pdflatex), scribus, calibre and imagemagick to publish
a roleplaying book with charactersheet, 

Maybe some of it can help you. The entrypoints are the Makefile, the
setup, and the configure.ac (for the hacks):
https://hg.sr.ht/~arnebab/ews/browse/Hauptdokument/ews30/Makefile.am
https://hg.sr.ht/~arnebab/ews/browse/Hauptdokument/ews30/basesetup.tex
https://hg.sr.ht/~arnebab/ews/browse/Hauptdokument/ews30/ews30setup.tex
https://hg.sr.ht/~arnebab/ews/browse/Hauptdokument/ews30/ews30setup.el
https://hg.sr.ht/~arnebab/ews/browse/Hauptdokument/ews30/configure.ac

The main document is
https://hg.sr.ht/~arnebab/ews/browse/Hauptdokument/ews30/ews.org

I also have some derived documents that use the included tables as data.
Most complex example:
https://hg.sr.ht/~arnebab/ews/browse/Hauptdokument/ews30/chargen.org.in


Best wishes,
Arne

> Hi,
>
> I would like to share here two samples of one of the most intense uses
> that I give Org Mode: for typesetting, layout and editorial design. In
> other words, I use Org (and Org-Publish) where publishers today use DTP
> proprietary software like InDesign or QuarkXpress (a type of software,
> on the other hand, that was never intended to compose books but rather
> magazines, posters, brochures and so on). The samples are from a book
> on classical philology, recently published here in Spain, and from a
> fairly extensive dictionary, still work in progress:
>
> https://imgur.com/gallery/yxAVkrY
>
> Naturally, what acts in the background here is TeX and LaTeX
> (specifically Lua(La)TeX), so what I really do is use Org and
> Org-Publish as a sort of high-level interface for LaTeX. But I don't
> mean to avoid LaTeX: in fact, I've been working with LaTeX for a long
> time. I like LaTeX and behind these jobs there is a lot of LaTeX code.
> But Org gives me a much more light and productive workflow, allowing me
> to work at two levels.
>
> The main advantages that I see for this workflow with Org/Org-Publish
> are:
>
> 1. Lightness: LaTeX is too verbose.
> 2. Control of the composition process at various points. One of the
>qualities of LuaTeX is the possibility to control TeX primitives
>through scripts in Lua, and to act at various points in the pre- or
>post-process. But I have realized that with the happy fusion of Elisp
>and Org we can be much more precise and "surgical" ;-). Here,
>Org/LaTeX is much more powerful than LuaLaTeX.
> 3. Org's synaptic and org-anizational ability to control and manage the
>entire process of the creation of a book, from when the originals are
>received until everything is prepared to send to the printer.
> 4. An unique origin. The book can be produced on paper from a single
>source, but you can also export, from that source consistently, to
>other formats (HTML or Epub).
>
> Best regards,
>
> Juan Manuel 


-- 
Unpolitisch sein
heißt politisch sein
ohne es zu merken


signature.asc
Description: PGP signature


Bug: ox-rss encodes Fußnoten in German with which is illegal for xml [9.4.4 ( @ /home/arne/.guix-profile/share/emacs/site-lisp/)]

2021-03-07 Thread Dr. Arne Babenhauserheide


Remember to cover the basics, that is, what you expected to happen and
what in fact did happen.  You don't know how to make a good report?  See

 https://orgmode.org/manual/Feedback.html#Feedback

Your bug report will be posted to the Org mailing list.


To reproduce:

Create an org-mode file with
#+LANGUAGE: de

Create a footnote.

Export as RSS.

The created xml is malformed, because  is only legal for html,
not for xml. As far as I can tell, this is caused by calling

(org-export-data-with-backend headline 'html info)

in 

(defun org-rss-headline (headline contents info)
  "Transcode HEADLINE element into RSS format.
CONTENTS is the headline contents.  INFO is a plist used as a
communication channel."
  (if (> (org-export-get-relative-level headline info) 1)
  (org-export-data-with-backend headline 'html info)

This then uses the html-version of Footnotes, while it *should* use the
default.

See org-export-dictionary ("Footnotes" ("de" :html vs. :default)).


Example:
#+begin_src org
,#+LANGUAGE: de
,* Foo
  :PROPERTIES:
  :ID:   1fc24c32-0d07-49a5-a96b-d3860f5ec61b
  :PUBDATE:  <2021-03-07 So 12:42>
  :END:

note[fn:1]

,* Footnotes
  :PROPERTIES:
  :ID:   6431ba45-818f-4e58-b16e-bbc9f4e49509
  :PUBDATE:  <2021-03-07 So 12:42>
  :END:

[fn:1] bar 
#+end_src

M-x org-rss-export-as-rss

The exported buffer:

#+begin_src xml

http://purl.org/rss/1.0/modules/content/;
 xmlns:wfw="http://wellformedweb.org/CommentAPI/;
 xmlns:dc="http://purl.org/dc/elements/1.1/;
 xmlns:atom="http://www.w3.org/2005/Atom;
 xmlns:sy="http://purl.org/rss/1.0/modules/syndication/;
 xmlns:slash="http://purl.org/rss/1.0/modules/slash/;
 xmlns:georss="http://www.georss.org/georss;
 xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#;
 xmlns:media="http://search.yahoo.com/mrss/;>
  
  
  
  
  de
  Sun, 07 Mar 2021 12:42:58 +0100
  Sun, 07 Mar 2021 12:42:58 +0100
  Emacs 27.1 Org-mode 9.4.4
  arne_...@web.de (Dr. Arne Babenhauserheide)
  
https://orgmode.org/img/org-mode-unicorn-logo.png


  

  
Foo
./foot.html#org80b3da5
arne_...@web.de (Dr. Arne Babenhauserheide)
./foot.html#org80b3da5
Sun, 07 Mar 2021 12:42:00 +0100


  
  
Funoten: 


  1 
  bar 
  



  

#+end_src

Best wishes,
Arne

Emacs  : GNU Emacs 27.1 (build 1, x86_64-unknown-linux-gnu, GTK+ Version 
3.24.24, cairo version 1.16.0)
Package: Org mode version 9.4.4 ( @ 
/home/arne/.guix-profile/share/emacs/site-lisp/)
-- 
Unpolitisch sein
heißt politisch sein
ohne es zu merken


signature.asc
Description: PGP signature


Re: printing org table landscape on complete page

2021-02-28 Thread Dr. Arne Babenhauserheide

Andrés Ramírez  writes:

> I want to print from emacs an org-table like this one:
…
> on landscape on the content should enlarge to cover the full-page.
>
> Any ideas?

You can use a sidewaystable. See 
https://hg.sr.ht/~arnebab/ews/browse/Hauptdokument/ews30/ews.org?rev=53c7c0e46c10#L3535

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


signature.asc
Description: PGP signature


Re: contact management in emacs

2021-02-27 Thread Dr. Arne Babenhauserheide

Martin Steffen  writes:

> I use bbdb (big-brother data base). I use it since a looong time
> already, and amassed 15000 or so contracts. It does what I want, it's
> text-based, so versioning is not a problem.

And it is fast; lookup feels instantaneous — different from many other
address-manager solutions.

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


signature.asc
Description: PGP signature


Re: Bug: linking to <> requests tags table [9.4.4 ( @ /home/arne/.guix-profile/share/emacs/site-lisp/)]

2021-02-17 Thread Dr. Arne Babenhauserheide

Nick Dokos  writes:

> "Dr. Arne Babenhauserheide"  writes:
>
>>
>> Following the manual at Hyperlinks Node: Internal Links
>>
>>  1. one item
>>  2. <>another item
>>  Here we refer to item [[target]].
>>
>> And then using C-c C-o on [[target]] I get the prompt in the minibuffer
>> “Visit tags table (default TAGS)” instead of jumping to <>.
>>
>
> Does it happen with `emacs -q`? If not, your init file is at fault.

No, it doesn’t … thank you!

Now I just need to find out where that happens …

… found it:

 '(org-modules
   '(org-bbdb org-bibtex org-crypt org-ctags org-docview org-eww org-gnus 
org-habit org-info org-irc org-mhe org-rmail org-w3m))

To reproduce the issue:

emacs -q --eval "(progn (setq org-modules '(org-ctags)))" /tmp/foo.org

→ configuration error. Thank you!

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


signature.asc
Description: PGP signature


Bug: linking to <> requests tags table [9.4.4 ( @ /home/arne/.guix-profile/share/emacs/site-lisp/)]

2021-02-16 Thread Dr. Arne Babenhauserheide


Remember to cover the basics, that is, what you expected to happen and
what in fact did happen.  You don't know how to make a good report?  See

 https://orgmode.org/manual/Feedback.html#Feedback

Your bug report will be posted to the Org mailing list.


Following the manual at Hyperlinks Node: Internal Links

 1. one item
 2. <>another item
 Here we refer to item [[target]].

And then using C-c C-o on [[target]] I get the prompt in the minibuffer
“Visit tags table (default TAGS)” instead of jumping to <>.

Best wishes,
Arne


Emacs  : GNU Emacs 27.1 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.24, 
cairo version 1.16.0)
Package: Org mode version 9.4.4 ( @ 
/home/arne/.guix-profile/share/emacs/site-lisp/)

current state:
==
(setq
 org-duration-format '((special . h:mm))
 org-src-mode-hook '(org-src-babel-configure-edit-buffer 
org-src-mode-configure-edit-buffer)
 org-agenda-skip-additional-timestamps-same-entry t
 org-timer-default-timer "\"0:00:30\""
 org-after-todo-state-change-hook '(org-checklist 
kiwon/org-agenda-redo-in-other-window)
 org-columns-default-format "%25ITEM %TODO %3PRIORITY %TAGS %17Effort(Estimated 
Effort){:} %CLOCKSUM"
 org-link-shell-confirm-function 'yes-or-no-p
 org-metadown-hook '(org-babel-pop-to-session-maybe)
 org-global-properties '(("Effort_ALL" . "0:30 1:00 2:00 3:00 6:00 8:00 16:00 
40:00"))
 org-clock-out-hook '(org-clock-remove-empty-clock-drawer 
kiwon/org-agenda-redo-in-other-window)
 org-html-format-inlinetask-function 
'org-html-format-inlinetask-default-function
 org-time-stamp-custom-formats '("<%Y-%m-%d %a>" . "<%Y-%m-%d %a %H:%M>")
 org-enforce-todo-dependencies t
 org-checkbox-hierarchical-statistics nil
 org-latex-default-packages-alist '(("AUTO" "inputenc" t) ("T1" "fontenc" t) 
("" "fixltx2e" nil) ("" "graphicx" t)
("" "longtable" nil) ("" "float" nil) ("" 
"wrapfig" nil) ("" "rotating" nil)
("normalem" "ulem" t) ("" "amsmath" t) 
("force,almostfull" "textcomp" t) ("" "marvosym" t)
("" "wasysym" t) ("" "amssymb" t) ("" 
"hyperref" nil) "\\tolerance=1000")
 org-edit-src-content-indentation 0
 org-src-tab-acts-natively nil
 org-odt-format-headline-function 'org-odt-format-headline-default-function
 org-latex-pdf-process '("pdflatex -interaction nonstopmode -shell-escape 
-output-directory %o %f" "bibtex $(basename %b)"
 "pdflatex -interaction nonstopmode -shell-escape 
-output-directory %o %f"
 "pdflatex -interaction nonstopmode -shell-escape 
-output-directory %o %f")
 org-jira-progress-issue-flow '(("Open" . "In Bearbeitung") ("In Bearbeitung" . 
"In Review") ("In Review" . "Bearbeitet"))
 org-agenda-files 
'("~/eigenes/1w6/Hauptdokument/ews30/konvertierung-voodoo.org" 
"~/.emacs.d/private/org/emacs-plan.org")
 org-ascii-format-inlinetask-function 'org-ascii-format-inlinetask-default
 org-clock-report-include-clocking-task t
 org-reveal-start-hook '(org-decrypt-entry)
 org-modules '(org-bbdb org-bibtex org-crypt org-ctags org-docview org-eww 
org-gnus org-habit org-info org-irc org-mhe org-rmail
   org-w3m)
 org-plantuml-jar-path "~/.guix-profile/share/java/plantuml.jar"
 org-blocker-hook '(org-block-todo-from-children-or-siblings-or-parent)
 org-mode-hook '(org-tempo-setup
 #[0
   "\305\306>\203\307\n\310\311#\210\307\312\313#\210\307
\314\315#\210\306>\203,\307\n\316\317#\210\307\n\320\321#\210\322   
 >\203>\307\323\324#\210\307\325\324#\210\326  
>\203P\307\n\327\317#\210\307\n\330\321#\210\331
>\203_\332\311\f\333BC\334#\210\335 >\203k\332\311\336\334#\210\337 
>\203w\332\311\340\334#\210\341\342\343\344\311$\210\345\342\311\"\210\342\207"
   [org-mouse-context-menu-function

org-mouse-features

org-mouse-map

org-mode-map

org-outline-regexp

org-mouse-context-menu

context-menu

org-defkey

[mouse-3]

nil

[mouse-3]

org-mouse-show-context-menu

[down-mouse-1]

org-mouse-down-mouse

[C-drag-mouse-1]

org-mouse-move-tree

[C-down-mouse-1]

org-mouse-move-tree-start

yank-link

[S-mouse-2]

org-mouse-yank-link

[drag-mouse-3]

move-tree

[drag-mouse-3]

[down-mouse-3]

activate-stars

font-lock-add-keywords

(0



 `(face org-link mouse-face highlight keymap 

Re: Why are (UU)IDs limited to the headline level?

2021-01-18 Thread Dr. Arne Babenhauserheide

aroz...@gmail.com writes:

> I'm just getting into Emacs/Org-Mode. It's clearly an amazing system and
> the linking via UUID is very useful. My question is: why is linking by UUID
> (and, more generally, the creation of properties drawers) limited to
> headlines, and not to sub-elements like list elements or paragraphs?
> Doesn't all the necessary structural information exist to assign UUIDs to
> everything?
>
> The reason I'm asking is that getting into Org-Roam, the linking for which
> relies on Org UUIDs for headlines. If UUIDs were available for all elements
> of an Org file, that will allow for more granular linking behavior.

You can use <> to make it possible to link to any
place in a document.

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


signature.asc
Description: PGP signature


Re: [PATCH] ob-java, a proposal on import improvement

2021-01-08 Thread Dr. Arne Babenhauserheide

John Herrlin  writes:
> I would like to combine imports from header-args with imports from a
> source block.
>
> Here is an example:
>
> * RxJava
>   :PROPERTIES:
>   :header-args:  :dir src :results output code
>   :header-args:java: :cmdline -classpath ./rxjava-1.3.8.jar:src:. :cmpflag 
> -classpath ./rxjava-1.3.8.jar:src:. :imports rx.Observable rx.Subscriber
>   :END:
>
>   #+BEGIN_SRC java
> import static rx.Observable.empty;
> import static rx.Observable.just;
> import static rx.Observable.range;
>
> Observable
> .range(5, 5)
> .flatMap(x -> just(x * 2))
> .flatMap(x -> (x != 10) ? just(x) : empty())
> .subscribe(System.out::println);
>   #+END_SRC

> What do you think about it?

I can’t give an informed opinion about the patch, but the example looks
great! I did not know that Java support in org-babel is that good.

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


signature.asc
Description: PGP signature


Bug: [patch] fix: ox-rss died when an entry had an empty date [ ( @ /home/arne/.guix-profile/share/emacs/site-lisp/)]

2021-01-06 Thread Dr. Arne Babenhauserheide


Remember to cover the basics, that is, what you expected to happen and
what in fact did happen.  You don't know how to make a good report?  See

 https://orgmode.org/manual/Feedback.html#Feedback

Your bug report will be posted to the Org mailing list.


When creating an RSS feed, org-publish broke for me with

  signal(error ("Not an Org time string: "))
  error("Not an Org time string: %s" "")
  org-parse-time-string("")
  org-time-string-to-time("")
  (format-time-string "%a, %d %b %Y %H:%M:%S %z" (org-time-string-to-time 
pubdate0))
  (if pubdate0 (format-time-string "%a, %d %b %Y %H:%M:%S %z" 
(org-time-string-to-time pubdate0)))
  ;; …
  org-rss-headline((headline ... ...) #("\nIch bin ei..." 4 395 ... 407 410 
... 492 530 ... 534 535 ... ...) (:export-options nil :back-end ... 
:translate-alist ... :exported-data # 
:input-buffer "rss-feed.org" :input-file "/home/arne/Sch..." :description "" 
...))


Maybe relevant: I have date enabled in options.
#+OPTIONS: date:t

Best wishes,
Arne


From 17b6ba6f9adcd42e03ae2b606043719b2926641a Mon Sep 17 00:00:00 2001
From: Arne Babenhauserheide 
Subject: [PATCH] ox-rss: do not die on empty date

* contrib/lisp/ox-rss.el (org-rss-headline): check for empty string
---
 contrib/lisp/ox-rss.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/contrib/lisp/ox-rss.el b/contrib/lisp/ox-rss.el
index 299d22086..97a4bfc8f 100644
--- a/contrib/lisp/ox-rss.el
+++ b/contrib/lisp/ox-rss.el
@@ -245,7 +245,7 @@ communication channel."
(or (org-element-property :CATEGORY headline) "") info))
 (pubdate0 (org-element-property :PUBDATE headline))
 (pubdate (let ((system-time-locale "C"))
-   (if pubdate0
+   (if (and pubdate0 (not (string-empty-p pubdate0))
(format-time-string
 "%a, %d %b %Y %H:%M:%S %z"
 (org-time-string-to-time pubdate0)
-- 
2.29.2



Emacs  : GNU Emacs 27.1 (build 1, x86_64-unknown-linux-gnu, GTK+ Version 
3.24.23, cairo version 1.16.0)
Package: Org mode version  ( @ /home/arne/.guix-profile/share/emacs/site-lisp/)
-- 
Unpolitisch sein
heißt politisch sein
ohne es zu merken


signature.asc
Description: PGP signature


Re: [PATCH] ox-publish.el: Speed up org-publish-cache-file-needs-publishing

2021-01-06 Thread Dr. Arne Babenhauserheide

Kyle Meyer  writes:

> Nothing jumps out to me.  For large files that are already visited, I
> suppose find-file-noselect returning an existing buffer can be faster,
> so relevant factors would include how many Org files a project has, how
> large they are, and how many of those are visited in the current
> session.  My guess is that using with-temp-buffer and
> insert-file-contents would be a net gain, though that gain would be
> narrowed some if the temporary buffer was put into org-mode rather than
> kept in fundamental-mode (more below).

If you want to test a rather complex setup, you can try my website build:

hg clone http://hg.sr.ht/~arnebab/draketo; cd draketo/; autoreconf -i; 
./configure ; time make

It takes around 3 minutes to build on my machine.

(hg is Mercurial)

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


signature.asc
Description: PGP signature


Re: proposal: ox-bb, Org exporter for BBCode

2021-01-06 Thread Dr. Arne Babenhauserheide

Christian Garbs via General discussions about Org-mode.  
writes:
> I wrote a simple Org exporter[1] for the BBCode format[2] which is
> used in many web forums.
>
> Is there any interest in including it in Org?

From my side there definitely is interest!

Thank you for stepping forward!

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


signature.asc
Description: PGP signature


Re: accounting

2021-01-04 Thread Dr. Arne Babenhauserheide

Uwe Brauer  writes:

> https://orgmode.org/worg/org-contrib/babel/languages/ob-doc-ledger.html
>
> Points out how to use ledger within org mode.
>
> Is there any simpler solution?

Do you mean simpler accounting in org-mode, or do you mean simpler
ledger-integration?

You can always tangle your ledger-data and use a ledger commandline
client. Also Emacs has direct support for ledger. Here’s a setup via
use-package:

(use-package ledger-mode :ensure t :defer 20
  :config
  (org-babel-do-load-languages
   'org-babel-load-languages
   '((ledger . t

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


signature.asc
Description: PGP signature


Re: Is Org really so simple?

2020-11-26 Thread Dr. Arne Babenhauserheide

Ihor Radchenko  writes:

>> Only philosophy I know is that it is plain text. Is there any official
>> philosophy? I have no idea, at least manual does not give me
>> references. I cannot find "philosophy", send me references.
>
> You are right. There is no official "philosophy" in org. In my reply I
> tried to follow the topic starter's view:
>
>  Texas Cyberthal :
>> By philosophy, I mean the dev consensus on the correct way to do
>> things, and coded configuration and usability biases.
>
> According to my experience with org-mode development (I am not talking
> about third-party packages here), it is discouraged to change org-mode
> towards hiding metadata in org files or store *unique* data (that cannot
> be derived from the contents of the org files) related to org-mode
> externally (not in org files). It is not official statement, but rather
> my impression so far.

As a user I do not want outside-data, because I put my org-files into
versiontracking and access them from several machines. I also provide
them as sources for books on sr.ht and use them to synchronize planning
between the office-PC and the homeoffice-PC. And I send them to people
so they have the complete source of something I built.

All those use-cases I use regularly would break if org-mode started to
rely on an external database.

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: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


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-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 Dr. Arne Babenhauserheide

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.

If you have 100 files with 20 notes each, you have to open 100 files.

Almost any other computing cost pales compared to opening files.

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). 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.

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


signature.asc
Description: PGP signature


Re: Changed list indentation behavior: how to revert?

2020-11-17 Thread Dr. Arne Babenhauserheide

Stefan Nobis  writes:

> "Dr. Arne Babenhauserheide"  writes:
>
>> Sad story short:...
>
> I'm with you - last weekend I upgrade my OS and had quite some trouble
> to get everything working again and still have some nasty hoops to
> jump through.
>
> But on the other side: …
…
> I'm really surprised that such a simple and insignificant breaking
> change results in such a uproar.

I have seen no uproar here. Discussions here were friendly and
constructive. The discusssions are long, because there aren’t easy
solutions to managing changes in UX in central places.

And a significant share of the discussion was about the question whether
the new interaction is better or worse and whether this actually is
insignificant.

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


signature.asc
Description: PGP signature


Re: Changed list indentation behavior: how to revert?

2020-11-16 Thread Dr. Arne Babenhauserheide

Tom Gillespie  writes:
> with upstream, but it is clear that upstream has done zero testing on
> the impact of that change on org-mode (or any other mode for that matter).

I think this statement is too hard. If you use org purely for the
example usecase (headings with a single content-line) and use CTRL-RET
to create new headings, you won’t notice the change. And I’m pretty sure
they tested that.

The change hurts for those who use org-mode as plain text with
superpowers, or as general source-format that can export to plain text,
LaTeX, html, and many more.

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


signature.asc
Description: PGP signature


Re: Changed list indentation behavior: how to revert?

2020-11-16 Thread Dr. Arne Babenhauserheide

Tim Cross  writes:
> There are only two mechanisms by which org-mode is upgraded and as far
> as I know, both require that the user either initiates the update or
> turns on automatic updates. Your argument would be more compelling for
> me if we were talking about updates which occur without user
> intervention or control.

In my case org is updated automatically. I use rolling release distros.
There’s never a time when I say “now I get all the new versions, let’s
look for breakage”.

> Change is inevitable and such changes will from time to time, break
> things.

Is breakage truly inevitable? Do fundamentals of org have to change?

If some small detail changes in a convoluted setup I have, that’s
something I can cope with.

That there are packages that almost never break and packages that almost
always break on update, but little in-between sounds like most breakage
isn’t inevitable.

Here’s the source for the statement:
https://stevelosh.com/blog/2012/04/volatile-software/

It makes my point much more succintly:
-- -- -- -- -- --
When I'm updating a piece of software there's a good chance it's not
because I'm specifically updating that program. I might be:

- Moving to a new computer.
- Running a "$PACKAGE_MANAGER update" command.
- Moving a website to a bigger VPS and reinstalling all the libraries.

In those cases (and many others) I'm not reading the release notes for a
specific program or library. I'm not going to find out about the
brokenness until I try to use the program the next time.
-- -- -- -- -- -- 

and a second point:

-- -- -- -- -- -- 
This may just be an artifact of how my brain is wired, but I actually
get a sense of satisfaction from writing code that bridges the gap
between older versions and new.

I can almost hear a little voice in my head saying:

"Mwahaha, I'll slip this refactoring past them and they'll never
even know it happened!"

Maybe it's just me, but I think that "glue" code can be clever and
beautiful in its own right.

It may not bring a smile to anyone's face like a shiny new feature, but
it prevents many frowns instead, and preventing a frown makes the world
a happier place just as much as creating a smile!
-- -- -- -- -- -- 

> With respect to the current issue about line indentation. I think the
> key question here is was communication of this change sufficient and if
> not, what can be done to make such communication more effective.

It cannot be made effective enough. If you make it effective enough, the
other gazillion packages on the system will use the same mechanism and
that will make it ineffective again.

The only way that works is to avoid breakage on update — except for the
few cases where it is truly unavoidable.

We have the discussion here, because many people disagree with the
notion that the current breakage was unavoidable.

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


signature.asc
Description: PGP signature


Re: Changed list indentation behavior: how to revert?

2020-11-16 Thread Dr. Arne Babenhauserheide

Tim Cross  writes:

> At the same time, us users also need to take on some of the
> responsibility and recognise that major version upgrades may break or
> change their workflow. If you have a situation where stability of your
> environment is critical to your work and your strapped for time so that
> any change will be unacceptably disruptive, you need to adopt an upgrade
> workflow which mitigates that risk.

I had that on an OLPC where I had everything working and avoided any
changes that weren’t necessary, because I used it for writing. It was
perfect. There was a catch, though: It used a custom kernel and the
config did not work with newer versions. And I did not manage to change
that with some 20 hours of trying. But that did not hurt me, I had my
emacs and could play music for writing and roleplaying games.

Then the config for the new Emacs version on the desktop and the version
on the OLPC became incompatible, so I upgraded the OLPC to be able to
transfer the changes (I needed them so I could use the config in the
repository to be able to run the exporter for the writing — I also had a
full texlive on there). That was right around the time udev got
introduced as mandatory dependency. And that needed a newer kernel to
avoid breaking the audio.

I have not been able to restore sound output to the OLPC in the past
half decade. And all ways I tried to fix the problem — including other
distros — failed in some ways.

Sad story short: Having to update is a fact of life. Stuff that breaks
 on update is a liability. Most of the times org-mode
 has been pretty good at it, but the few breakages it
 had did actually cost me quite some time (one example
 is that lecture-slides did not export cleanly anymore
 after the exporter updates).

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


signature.asc
Description: PGP signature


Re: Changed list indentation behavior: how to revert?

2020-11-16 Thread Dr. Arne Babenhauserheide

Tom Gillespie  writes:

> Would it help if major releases maintained a mini-config that if added
> to init.el would allow users to retain old behavior? That way they
> wouldn't have to read the NEWS but could just add the relevant lines,
> or maybe even just call the org-old-default-behavior-9.1 or
> org-old-default-behavior-9.4. The workflow during development would be
> to account for any change to defaults in those functions. Thoughts?
> Tom

This would ease the pain temporarily but not fix the problem.

The next time you sit down with a colleague to show org-mode you’ll be
searching in your config for the change to go back to the old default.

The problem is that you have to do stuff after an update to undo
breakage. This is a conservative stance — I have gotten more
conservative in what I want from my software over the years. I want to
learn tools that just keep working because I can only become really good
in those. It’s only there that investing much time into learning them
actually pays off.

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


signature.asc
Description: PGP signature


Re: Changed list indentation behavior: how to revert?

2020-11-16 Thread Dr. Arne Babenhauserheide

Uwe Brauer  writes:

>> PS: I started to donate to org-mode a few weeks ago when I realized just
>> how central it is to my workflows. If it’s the same for you, please
>> join up: https://liberapay.com/bzg
>> Creating reliable funding for development of essential Free Software
>> tools is one of the critical tasks for spreading Free Software.
>
> Done. You are right!

\o/

:-)

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


signature.asc
Description: PGP signature


Re: Changed list indentation behavior: how to revert?

2020-11-16 Thread Dr. Arne Babenhauserheide

Tim Cross  writes:
> I can completely understand your position. However, I wanted to point
> out that this change was documented in the org NEWS file, where all
> version changes are documented. When upgrading to a new version of org,
> everyone should look there, ideally before the upgrade or soon
> afterwards and definitely when you notice some changed behaviour. It
> will save hours of trouble shooting and often tells you how to restore
> previous behaviour. A very under appreciated piece of valuable
> documentation.

I would like to agree, because I wish people would also read NEWS for my
projects, but since I use at least 10-20 programs daily which depend on
hundreds of libraries that might change their behavior, that’s
unrealistic.

I cannot read NEWS entries whenever my distro updates org-mode,
therefore I depend on org-mode not breaking during updates.

If an update changes behavior in a way that requires people to read up
on stuff to find out how to continue working, that means that the
program breaks with that update.

I’ve been more liberal on that point before I saw the problems that
arose from the Python2->Python3 transition. Many changes that each seem
small on their own can cause significant damage, because there will
always be some people that get hit by them during a period in their life
when they cannot follow them, because they are fully occupied by work
(mentally or because of little time) so the tools they trained with must
just keep working.

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


signature.asc
Description: PGP signature


Re: Changed list indentation behavior: how to revert?

2020-11-15 Thread Dr. Arne Babenhauserheide

Kévin Le Gouguec  writes:
> Before being applied, this change has been discussed on emacs-devel and
> emacs-orgmode; it has then been documented in ORG-NEWS.  Which other
> places do you think we should have reached out to?

I don’t think you really had a chance to reach enough people. I’m here
on the list now because I got a note about the call for help from a
colleague at work. Before that I was simply happy that most things
worked, wrote the occassional M-x org-submit-bug-report (actually with
Ido: M-x org-bug) and dug through emacswiki or the web when something
didn’t work. When missing names for some annoyance, I couldn’t do much
about it, because I couldn’t search for it.

Changes like these which affect existing behavior are just really hard
to do in a way that doesn’t create problems.

There’s a deep challenge hidden beneath this which Steve Losh wrote
masterfully about:
https://stevelosh.com/blog/2012/04/volatile-software/

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


signature.asc
Description: PGP signature


Re: Changed list indentation behavior: how to revert?

2020-11-15 Thread Dr. Arne Babenhauserheide

Kyle Meyer  writes:
> So, it seems that changing Org to honor electric-indent-mode is now
> making some users aware of org-adapt-indentation and that its default
> value is not what they want.

I’ve seen before that increasing the depth of a headline with M-→
indents all its content. That was mildly annoying, but nothing to worry
about.

It’s the change to the behavior of RET that disturbs my writing flow.
Now I always have to hit RET twice, or hit RET C-a to start typing.

It’s not just about the default, it is about long-standing muscle memory
suddenly being wrong. This breaks my workflow on an update and requires
me to start digging to find out how to get my system back into a good
state.

That’s something which makes me nervous, because I often don’t have the
time or energy to investigate when something breaks, so when that
workflow is broken, I’m bound to operate on a broken workflow for
anything from days to months, because I cannot estimate how much time
will be required to fix it (and at work I should not just take 3 hours
off to search for some configuration value).

Best wishes,
Arne

PS: I started to donate to org-mode a few weeks ago when I realized just
how central it is to my workflows. If it’s the same for you, please
join up: https://liberapay.com/bzg
Creating reliable funding for development of essential Free Software
tools is one of the critical tasks for spreading Free Software.
-- 
Unpolitisch sein
heißt politisch sein
ohne es zu merken


signature.asc
Description: PGP signature


Re: Changed list indentation behavior: how to revert?

2020-11-15 Thread Dr. Arne Babenhauserheide

David Rogers  writes:

>> Common indenting in Org mode is:
>>
>> * Heading
>> Text
>> ** Heading
>> Text
>> *** Heading text
>> Text
>>  Heading
>> Text here
>> * Heading
>> Text
>> ** Heading
>> Text
>>
>> AND if somebody likes to indent differently electric indent mode
>> would help.
>>
>> Common indenting is not (other may tell me that I am wrong if this
>> statement is wrong)
>>
>> * Heading
>>   Text
>> ** Heading
>>Text
>> *** Heading text
>> Text
>>  Heading
>>  Text here
>> * Heading
>>   Text
>> ** Heading
>>Text
>>
>> The above change was introduced as default to many users and is not
>> conveniente.

> Am I crazy to say that your last example of unwanted behavior is
> easier for me to read and understand? (and to me the common 
> indenting is a hopeless mess?)

I think the second becomes horribly hard to read if you have more than
one line in the body. I use org-mode for writing long prose and having
all my text indented is pretty annoyming. I’ve tried to ignore and work
around it for some time now because I assumed it was a bug but didn’t
have a clear view when it appears.

I have text like this:

 Exilanten: Clanjäger-Fuchsmenschen

*Fuchsmenschen mit Berserkererbe, das die Realität wanken lässt. Jäger
mit starken Sinnen, denen Gruppe und Clan stabilen Halt geben.*

Außensicht: /Einst unaufhaltsame Berserker, heute an ihre Clansregeln
gebundene Jäger, Piloten und Leibwächter. Sie erkennen mehr, als sie
zeigen./

Innensicht: /Der Clan ist deine Familie, die Tradition der Jagd dein
Halt in der Welt. Wenn deine Sinne die gesamte Welt zu durchdringen
scheinen, ist dein Biest nicht weit./

…

* Kernantriebe

 #+caption: Kernantriebe der Ranmex
 #+attr_latex: :placement [H]
 #+tblname: kernantriebe-ranmex
 | Wollen | Handeln   | Sein   |
 |+---+|
 | Ansehen| Tradition | Leistungsstark |
 | Sicherheit | Anpassung | Zuverlässig|
 | Genugtuung | Unterstützung | Loyal  |

…

** Beispiel: Chessos Reluna

 -  Beschreibung: Geschäftstüchtiger und kampferprobter Ranmex.
 -  Zitat: „Was kriegen wir dafür?“
 -  Motivation: Will genug Geld verdienen, um ein großes, kampftaugliches
Schiff für einen eigenen Clan zu kaufen.

 Eigenschaften:

 -  Sehr Geschäftstüchtig: + (15)

 Berufe:

 -  Söldner: + (9)
 -  Pilot: + (9)

…

From here: 
https://hg.sr.ht/~arnebab/ews/browse/Hauptdokument/ews30/ews.org?rev=b8e3899c6d8b#L2644

> Does the new behavior “break” something for you (causing errors etc),
> or does it just look wrong?

It becomes much harder to work in prose. What you’ll note in my files is
that they all have

#+STARTUP: hidestars

So the above does not look to me like

** Beispiel: Chessos Reluna

 -  Beschreibung: Geschäftstüchtiger und kampferprobter Ranmex.
 -  Zitat: „Was kriegen wir dafür?“
 -  Motivation: Will genug Geld verdienen, um ein großes, kampftaugliches
Schiff für einen eigenen Clan zu kaufen.

But like

 * Beispiel: Chessos Reluna

 -  Beschreibung: Geschäftstüchtiger und kampferprobter Ranmex.
 -  Zitat: „Was kriegen wir dafür?“
 -  Motivation: Will genug Geld verdienen, um ein großes, kampftaugliches
Schiff für einen eigenen Clan zu kaufen.


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


signature.asc
Description: PGP signature


Re: Thoughts on the standardization of Org

2020-11-02 Thread Dr. Arne Babenhauserheide

Russell Adams  writes:

> On Sun, Nov 01, 2020 at 05:17:19PM -0800, Ken Mankoff wrote:
>>
>> To all who argue that Org is too tightly coupled to Emacs to
>> consider working with it outside of Emacs, I point to GitHub. The
>> fact that GitHub natively renders Org files "well enough" is a huge
>> benefit to those of us who use Org. It is also useful for gaining
>> new users (assuming more users is a good thing).
>
> I don't mind that at all. Consider though how few of Org's abilities
> you can use in that context. Headlines, basic text formatting, etc is
> fine. It's easy to interpret, and well standardized by now.
>
> The issue with implementing additional parsers outside of Emacs is the
> overhead of exciting high level features like Babel, Exports,
> spreadsheet, agenda, etc. Those would be very difficult to
> reimplement.

For these it would suffice for me if the parsers did not break the
features. For example if a table cannot be rendered as table, I want to
see it as plain text. Maybe the parser could hide @@latex:@@ blocks in
html presentation, but they must be shown when editing …

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


signature.asc
Description: PGP signature


Re: Thoughts on the standardization of Org

2020-11-02 Thread Dr. Arne Babenhauserheide

Daniele Nicolodi  writes:

> On 02/11/2020 00:10, Dr. Arne Babenhauserheide wrote:
>> 
>> Daniele Nicolodi  writes:
>>> Maybe the standardization should cover only the "static" parts of Org
>>> (ie no table formulas, no babel, no agenda, no exporters, etc). However,
>>> in this case, what is left is little more of a markup language with an
>>> editor that allows sections folding. You can have this on top of pretty
>>> much any markup language using Emacs' outline-minor-mode.
>> 
>> It could become stronger competition for asciidoc by being available in
>> more places.
>
> Why does Org need to compete with asciidoc? I don't see any advantage in
> fighting with anyone for market share.

That’s something really personal: I would prefer to use org at work :-)

>> Having an acceptance criterion for “supports basic org-mode
>> presentation” and “can edit org-files without breaking editing in
>> org-mode” could help adoption.
>
> Acceptance criterion for what? Adoption of what?

Acceptance criterion for „this is good enough to show an org-mode
document at gitlab/sr.ht/…“.

A minimum requirement so people who write a new library have something
to target.

Adoption: For example for editing in the browser. It would be nice to
have basic editing support in gitlab — with sufficient support for users
to not break org.

There are many places where people cannot actually run full Emacs,
because Emacs can do far too much.

If you have an online editor and anyone can file a pull-request, you
really won’t want to have support for running arbitrary code. But in the
actual export you might want it (after checking what you’ll run).

#+begin_src bash :exports results
echo rm -rf /
echo 0day-exploit-against-docker
#+end_src

> It seems to me that some see a the adoption of a simplified version of
> the Org markup language outside Emacs and the org-mode implementation as
> something desirable. However, I don't see what the Org community would
> gain from that.

I am missing ways to allow people to do small changes. For example to
enable people to change text in my RPG in an online-editor (i.e. gitlab)
and file a pull-request without ever leaving the browser.

Building a full org-mode parser is a daunting task for all but those who
don’t know enough to do it well. So people who start will most likely
not know enough to get a basic parser right.

Defining a subset as basic-org-target would give people a target they
can actually aim for.

And then defer to full Emacs, if they want to do more.

> As explained many times now, you don't a formal specification for this:
> the specification is the org-mode implementation itself.

I won’t argue against that because I see it the same way :-)

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


signature.asc
Description: PGP signature


Re: Thoughts on the standardization of Org

2020-11-01 Thread Dr. Arne Babenhauserheide

Daniele Nicolodi  writes:
> Maybe the standardization should cover only the "static" parts of Org
> (ie no table formulas, no babel, no agenda, no exporters, etc). However,
> in this case, what is left is little more of a markup language with an
> editor that allows sections folding. You can have this on top of pretty
> much any markup language using Emacs' outline-minor-mode.

It could become stronger competition for asciidoc by being available in
more places.

Having an acceptance criterion for “supports basic org-mode
presentation” and “can edit org-files without breaking editing in
org-mode” could help adoption.

That would be the only part I’d really expect from standardization:
There would be a clear-cut point when a tool could claim compatibility
with org level N or by components (i.e. basic presentation, code-blocks,
…).

Having org-files parsed as html on a VCS-infopage is pretty nice.

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


signature.asc
Description: PGP signature


Re: Thoughts on the standardization of Org

2020-11-01 Thread Dr. Arne Babenhauserheide

Asa Zeren  writes:
> Also another note is that the worg syntax document does begin to specify
> this. My point is to bring this out into a separate document.

Why should this be in a separate document? The obvious place for a
standard is worg, and the way forward is to improve what’s there.

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


signature.asc
Description: PGP signature


Re: Thoughts on the standardization of Org

2020-11-01 Thread Dr. Arne Babenhauserheide
> see discussion on Mauro's thread about
> the fact that it is probably just easier to use Emacs directly if you
> need to export
> to a certain format in a specific way. It is free software after all.

I would like to add, that this is pretty easy to do, and also to make
independent of the users emacs environment. Here is an example that
uses the whole orgmode-babel-latex-html machinery to create derived
documents from source-of-truth org-mode files which get exported to a
book:
https://hg.sr.ht/~arnebab/ews/browse/Hauptdokument/ews30/Makefile.am?rev=b8e3899c6d8b#L121


chargen.tex: chargen.org $(ewstables_SOURCES) kasten-alter-groesse-gewicht.org 
ews30setup.el
echo yes > $$(tty); Xvfb :3 -screen 0 1024x768x16 & time DISPLAY=:3 
HOME=@abs_top_srcdir@ @EMACS@ -l "@abs_top_srcdir@/ews30setup.el" --eval '(setq 
vc-follow-symlinks nil)' --eval '(setq org-id-locations-file 
"@abs_top_builddir@/.org-id-locations")' "$<" -e org-latex-export-to-latex -e 
kill-emacs  < $$(tty) >> build.log && rm -f 
"@abs_top_builddir@/.org-id-locations"

Note how this sets the HOME to the sourcedir (so a project-specific
.emacs.d setup is used) and loads ews30setup.el at startup for
additional customization. Also note the call to Xvfb which avoids
showing a graphical Emacs during build.


This uses an org-mode file that pulls data from tables in other org-mode
files by setting variables for code based on autotools-included
datafiles. Here’s an example of pulling the tables into variables:
https://hg.sr.ht/~arnebab/ews/browse/Hauptdokument/ews30/chargen.org.in?rev=b8e3899c6d8b#L153

#+begin_src scheme :exports none :results output raw :prologue "(import (srfi 
srfi-1)(ice-9 match)(ice-9 receive))(set! *random-state*  
(random-state-from-platform))\n" :tangle chargen.scm :noweb yes :var 
kernantriebe=tabelle-kernantriebe :var hautfarbe=tabelle-hautfarbe :var 
haarfarbe=tabelle-haarfarbe :var augenfarbe=tabelle-augenfarbe :var 
darstellung1=tabelle-darstellung1 :var darstellung2=tabelle-darstellung2 :var 
kleidung_oben_maenner=tabelle-kleidung-fantasy-oben-maenner  :var 
kleidung_unten_maenner=tabelle-kleidung-fantasy-unten-maenner :var 
kleidung_oben_frauen=tabelle-kleidung-fantasy-oben-frauen  :var 
kleidung_unten_frauen=tabelle-kleidung-fantasy-unten-frauen :var 
kleidung_oben_frauen=tabelle-kleidung-fantasy-oben-frauen  :var 
kleidung_unten_frauen=tabelle-kleidung-fantasy-unten-frauen :var 
namen=tabelle-namen-fantasy-jetzt :var sex=tabelle-sexualitaet :var 
stichwort=tabelle-stichwort-fantasy
  (let ()
{{{chargen-setup}}}
{{{chargen-generic}}}
{{{chargen-colors}}}
{{{chargen-specifics-fantasy}}}
{{{chargen-print-char}}}
(chargen-print-char)
  )
#+end_src


Note the {{{…}}} blocks. Those use literate programming to include
blocks defined below, with customized separators:
chargen-setup block: 
https://hg.sr.ht/~arnebab/ews/browse/Hauptdokument/ews30/chargen.org.in?rev=b8e3899c6d8b#L360
customization of separators: 
https://hg.sr.ht/~arnebab/ews/browse/Hauptdokument/ews30/chargen.org.in?rev=b8e3899c6d8b#L638
# Local Variables:
# org-confirm-babel-evaluate: nil
# org-export-allow-bind-keywords: t
# org-babel-noweb-wrap-start: "{{{"
# org-babel-noweb-wrap-end: "}}}"
# End:


Here’s how it pulls tables:
https://hg.sr.ht/~arnebab/ews/browse/Hauptdokument/ews30/chargen.org.in?rev=b8e3899c6d8b#L578
@tabelle_aussehen@


And this is an example of the datafiles that are used as source-of-truth
and also directly inluded in the main book as tables:
https://hg.sr.ht/~arnebab/ews/browse/Hauptdokument/ews30/tabelle-aussehen.org?rev=b8e3899c6d8b#L578

#+tblname: tabelle-hautfarbe
|  | -5 | direkt  | 6  |
|--++-+|
|   -3 | blass  | rosig   | sommersprossig |
|   -1 | grau   | gelblich| elfenbein  |
|2 | kupfer | rotbraun| bronze |
|4 | oliv   | dunkelbraun | schwarz|
| -5/6 | albino | -   | fleckig|


All this machinery can be invoked without ever seeing Emacs.


So yes, the Emacs implementation is the source of truth, and yes, this
can be used without requiring people to operate Emacs by simply using
Emacs as utility with project-specific setup — just as you would do it
with a compiler.


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


signature.asc
Description: PGP signature


Re: Thoughts on the standardization of Org

2020-10-31 Thread Dr. Arne Babenhauserheide

Asa Zeren  writes:
> I would appreciate thoughts on these ideas about how to develop and
> org specification.

The most important point I see here is to avoid hindering the
development of org-mode within Emacs.

So the most important part of the standard would be areas it doesn’t
standardize: Reserved for future use in org-mode.

These would then be sections that external tools must handle as opaque
text so their processing does not break usage within org-mode.

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


signature.asc
Description: PGP signature


Re: best practices query: non-emacs packages based on tangled source

2020-10-27 Thread Dr. Arne Babenhauserheide

TRS-80  writes:

> Therefore, any stuff I plan on releasing publicly, I do not do in
> literate style (JMHO).  However if you are dead set on doing literate
> paradigm, then maybe my experience is invalid for your use-case.

My experience is that literate style works very well for tutorials, but
whenever I developed a larger program within org-mode, I tangled it once
I had to start debugging and then kept it as separate source.

Once the code becomes complex, I want to stay in one programming
language without outside features that also add extra complexity.

That said, for simple code the additional freedom of multi-language
programming in org-mode is awesome. I’m using that to create random
roleplaying characters directly from random tables in org-mode, with
those tables being the primary source (because the book is the most
important product, not the code).

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


signature.asc
Description: PGP signature


Re: buffer name of Org Src...

2020-10-13 Thread Dr. Arne Babenhauserheide

Eric S Fraga  writes:

> On Tuesday, 13 Oct 2020 at 09:27, Greg Minshall wrote:
>> yes, but.  the first time i 'C-c C-v t' in the base file onto a
>> changed-but-uncommitted tangled file, even git will provide me no
>> succor.
>
> True.  :-(

Don’t you get a "do you want to revert file" warning then?

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


signature.asc
Description: PGP signature


Re: [matlab src is always exported to latex!!] (was: org mode with babel source: execute all source blocks, don't export them to latex)

2020-10-13 Thread Dr. Arne Babenhauserheide

Uwe Brauer  writes:

> That did not work: I tried
> #+begin_src matlab  :results output 
>
> But when I exported the org file to latex, the matlab code was also
> exported. Strange 

Do you use :exports results?

:results output switches to show what is printed to stdout

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


signature.asc
Description: PGP signature


Re: buffer name of Org Src...

2020-10-12 Thread Dr. Arne Babenhauserheide

Eric S Fraga  writes:

> On Monday, 12 Oct 2020 at 18:33, Dr. Arne Babenhauserheide wrote:
>> That’s also when I tangle — but I often don’t move the code back into
>> org afterwards, because once I needed this support once, I know I’ll
>> need it again.
>
> Interesting.  I guess my needs are different: I need these support tools
> when doing the initial code development but not much after
> that.  Subsequently, most of my time is spent with documentation,
> dissemination, and bug fixes.  Doing most of this is easier in org mode.

Do you use org-mode to document stuff after you wrote it?

I often use it to start small tools that I need right now — for example
some data extraction — and I would prefer to keep them in org, because I
then have one single reference. And I often write the code while I’m
writing the text around it. When then something does not work, I need
debugging and exploration to find out how to fix it.

> But whatever works best for you is what you should do!

There are a lot of great ways to use org-mode :-)

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


signature.asc
Description: PGP signature


Re: buffer name of Org Src...

2020-10-12 Thread Dr. Arne Babenhauserheide

Eric S Fraga  writes:

> On Monday, 12 Oct 2020 at 15:39, Dr. Arne Babenhauserheide wrote:
>> Did you find a way to make flycheck or flymake work in the src-buffers?
>
> This is an example of when I use tangling/detangling: when I need this
> kind of support to develop my code.

That’s also when I tangle — but I often don’t move the code back into
org afterwards, because once I needed this support once, I know I’ll
need it again.

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


signature.asc
Description: PGP signature


Re: buffer name of Org Src...

2020-10-12 Thread Dr. Arne Babenhauserheide

Greg Minshall  writes:
> ps -- in case it's of interest: possibly i'm frustrated now, and wasn't
> so much in the past, as i recently got annoyed by having to go back to
> the base file to save and tangle (part of my work flow, to test whatever
> i'm working on), and, so, wrote a few lines of emacs lisp so that a 'C-x
> s' save from the Org Src ... file causes a save of the base file
> followed by a tangle.  so, i can basically live long periods of time
> just in the Org Src ... buffers; if only i could find my way around.
> cheers!

Did you find a way to make flycheck or flymake work in the src-buffers?
I get problems with these, because the buffers are not associated to
real files. That’s what’s preventing me from using Org Src for anything
larger than a dozen simple lines.

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


signature.asc
Description: PGP signature


Re: org-mode time tracking setup integrating with SaaS (Harvest, Toggl, Bonsai etc)

2020-10-10 Thread Dr. Arne Babenhauserheide

Daryl Manning  writes:

> Has anyone run across a good integration for doing that or has a blog post
> on their system particularly where they need to track hours/tasks across a
> few clients and projects for consultancy purposes

I don’t do consultancy, but we I need to book for multiple projects at
work. I track my time and projects with org-mode (and found that
whenever I think “this is so small, I don’t need an org-headline for
this”, time gets out of hand). At the end of the week I then book my
time on the corresponding Jira issues using the clocktable in
agenda-view.

These are my essential customizations for that:

(use-package org-agenda
  :defer 8
  :custom
  (alert-default-style 'libnotify)
  (appt-disp-window-function 'alert-for-appt)
  (appt-delete-window-function (lambda ()))
  (org-agenda-clock-consistency-checks
   (quote
(:max-duration "12:00" :min-duration 0 :max-gap "0:05" :gap-ok-around
   ("4:00" "12:00")
   :default-face
   ((:background "DarkRed")
(:foreground "white"))
   :overlap-face nil :gap-face nil :no-end-time-face nil 
:long-face nil :short-face nil)))
  (org-agenda-clockreport-parameter-plist (quote (:link t :maxlevel 2 
:properties ("Effort"
  (org-agenda-start-with-clockreport-mode t)
  :config
  ;; Rebuild the reminders everytime the agenda is displayed
  (add-hook 'org-agenda-finalize-hook (lambda () (org-agenda-to-appt t)))
  ;; Run once when Emacs starts
  (org-agenda-to-appt t)
  ;; Activate appointments so we get notifications
  (appt-activate t))

(defun my/org-agenda-show-kanban ()
  (interactive)
  (save-excursion
(search-forward ":KANBAN:")
(org-agenda-goto)
(org-narrow-to-subtree)
(show-all)
(fit-window-to-buffer)
(widen)
(recenter-top-bottom 0)))

;; KDE: show custom agenda with kanban via f12:
(with-eval-after-load 'org
  (setq org-agenda-custom-commands
'(("o" "Agenda and TODOs"
   ((agenda)
(tags-todo "-notodo" ((org-agenda-block-separator ?-)))
(tags "KANBAN" ((org-agenda-block-separator 
?-)(org-agenda-compact-blocks nil)(org-agenda-overriding-header "")))

;; from https://www.emacswiki.org/emacs/TransposeWindows solution by Robert Bost
(defun rotate-windows (arg)
  "Rotate your windows; use the prefix argument to rotate the other direction"
  (interactive "P")
  (if (not (> (count-windows) 1))
  (message "You can't rotate a single window!")
(let* ((rotate-times (prefix-numeric-value arg))
   (direction (if (or (< rotate-times 0) (equal arg '(4)))
  'reverse 'identity)))
  (dotimes (_ (abs rotate-times))
(dotimes (i (- (count-windows) 1))
  (let* ((w1 (elt (funcall direction (window-list)) i))
 (w2 (elt (funcall direction (window-list)) (+ i 1)))
 (b1 (window-buffer w1))
 (b2 (window-buffer w2))
 (s1 (window-start w1))
 (s2 (window-start w2))
 (p1 (window-point w1))
 (p2 (window-point w2)))
(set-window-buffer-start-and-point w1 b2 s2 p2)
(set-window-buffer-start-and-point w2 b1 s1 p1)))


(defun agenda-and-todo ()
  (interactive)
  (org-agenda nil "o")
  (delete-other-windows)
  (my/org-agenda-show-kanban)
  (rotate-windows 1))
;;  systemsettings shortcuts: map f12 to
;;emacsclient -e '(progn (show-frame)(agenda-and-todo))'
(global-set-key (kbd "") 'agenda-and-todo)

;; KDE: record new issue with M-f12 (alt f12):
;;  systemsettings shortcuts: map alt f12 to
;;emacsclient -e '(progn (show-frame)(org-capture))'
(global-set-key (kbd "M-") 'org-capture)

;; clock into the current task via S-f12 (shift f12). rationale: shift
;; is used to shift from one task to another without clocking out.
(global-set-key (kbd "S-") 'org-clock-in)

;; KDE: global clock out via M-S-f12 (alt-shift f12):
;;  systemsettings shortcuts: map f12 to
;;emacsclient -e '(progn (show-frame)(org-clock-out))'
(global-set-key (kbd "M-S-") 'org-clock-out)

(defun show-frame ( frame)
  "Show the current Emacs frame or the FRAME given as argument.

And make sure that it really shows up!"
  (raise-frame)
  ; yes, you have to call this twice. Don’t ask me why…
  ; select-frame-set-input-focus calls x-focus-frame and does a bit of
  ; additional magic.
  (select-frame-set-input-focus (selected-frame))
  (select-frame-set-input-focus (selected-frame)))


I have a dedicated emacs environment for work that I brought over into
homeoffice.

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


signature.asc
Description: PGP signature


Re: Re Org 9.4 is out. Can you help? // breaking apart Org Mode

2020-09-23 Thread Dr. Arne Babenhauserheide

Bastien  writes:

>> Rather than a huge refactoring or pushing code back into other Emacs
>> modes, my thought was that Org should be trimmed into the "core" of
>> Org functions and that other things should be implemented as modules
>> available in MELPA outside of the official Org core. That way the
>> limited maintainer time can be focused on the core of Org and
>> maintaining strong interfaces for components made and maintained by
>> others.

> I agree with this goal, as long as Org modules are maintained too.
>
> Picking up the example I gave above in this thread of modularizing
> org-table.el, it will be a good think iff it gets as much attention
> than Org's core itself.

Keep in mind that this will make it much harder to change org-api.

I have some experience with Mecurial extensions, as a maintainer of
those, and basically every extension which is not shipped with Mercurial
(those live in the same source tree) is broken from time to time.

I had to give up one extension and two are currently broken (but not yet
really given up), because I could not keep up with the changes in
Mercurial, simply due to reduced free time.

So while I think that having a stronger separation, I only see a good
case for moving parts out of the org-mode source tree when there is
considerably more activity in those parts than in the core. That can
allow faster release-cycles than org itself, since fewer parts have to
be tested.

Stuff that’s moved out while it does not have its own community is in
danger of becoming dead code that must not be broken, but is much less
convenient to test (and the tests harder to automate) when stuff in org
core changes.

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


signature.asc
Description: PGP signature


Re: Bug: org-capture entry sometimes ends without newline, garbles next headline [9.3.6 (9.3.6-elpa @ /home/arne/Disy/.emacs.d/elpa/org-9.3.6/)]

2020-08-29 Thread Dr. Arne Babenhauserheide

Kyle Meyer  writes:

> Dr. Arne Babenhauserheide writes:
>
>> Sometimes when I use org-capture to create a new headline, that headline
>> ends with a non-empty partial line that isn’t terminated by a newline.
>>
>> This causes the next headline to be corrupted, because the * is appended
>> to the last line of the new entry.
>
> I believe this issue has already been resolved on the master branch.
> There have been a few bug reports and commits in this area; I think
> 6882478ca (capture: Fix org-capture-place-entry narrow bounds,
> 2020-05-29) is the most recent fix.

Thank you for the info!

(how can I close the bug?)

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


signature.asc
Description: PGP signature


Bug: org-capture entry sometimes ends without newline, garbles next headline [9.3.6 (9.3.6-elpa @ /home/arne/Disy/.emacs.d/elpa/org-9.3.6/)]

2020-08-28 Thread Dr. Arne Babenhauserheide
Remember to cover the basics, that is, what you expected to happen and
what in fact did happen.  You don't know how to make a good report?  See

 https://orgmode.org/manual/Feedback.html#Feedback

Your bug report will be posted to the Org mailing list.


Sometimes when I use org-capture to create a new headline, that headline
ends with a non-empty partial line that isn’t terminated by a newline.

This causes the next headline to be corrupted, because the * is appended
to the last line of the new entry.

Example:

* new entry
some text * old entry

I tried adding the empty-lines options and empty-lines-before and
empty-lines-after, but this did not fix the problem.

This sometimes causes entries to no longer be recognized as headlines,
so my task planning does not show them (for example in org-agenda view,
clocktable, and kanban.el).

It would be great if it could be ensured that capturing a new entry can
never modify the first line of another entry.

Best wishes,
Arne

-- 
Unpolitisch sein
heißt politisch sein
ohne es zu merken


signature.asc
Description: PGP signature