Re: content management in emacs

2021-02-28 Thread Bob Newell

Martin Steffen  writes:
> For phoning, I am not sure. I think there is (or was) a functionality to
> initiate a call (probably with skype or ekiga or some such) but I never
> used that.

There is bbdb-dial, and I have it set up to call a function
which places a call through Google Hangouts. Of course Google
is deleting that feature so I will have to figure out how to
make it use Google Voice.

Admittedly it's an unnecessary feature but I just have fun
making calls with Emacs instead of fishing around for my cell

Bob Newell
Honolulu, Hawai`i

- Via GNU/Linux/Emacs/Gnus/BBDB

Re: contact management in emacs

2021-02-27 Thread Bob Newell
I've used BBDB for years, and have tried org-contact, but it
didn't seem to scale to the now rather large size of my BBDB

I've looked at migrating to EBDB but as I have many custom
functions I haven't yet made the move.

BBDB can do amazing things. I've mentioned some of them
before. Of course org links are supported, and in conjunction
with the 'gnorb' package, Gnus email can be associated with
BBDB entries in interesting ways.

I use BBDB to easily maintain a slew of mailing lists. I also
have custom functions to set the input language mode for those
with whom I correspond in non-English languages. I even use
BBDB to initiate phone calls when I'm on my desktop computer.

I hadn't thought to put BBDB under version control but that
would be very easy.

However you don't need to get fancy right away. All the basics
are there. Like many things Emacs, it does take time to get
things set up the way you wish, but that time is well repaid
down the road a little.

Bob Newell
Honolulu, Hawai`i

- Via GNU/Linux/Emacs/Gnus/BBDB

Re: Possibility to copy text outside EMACS and send it to orgmode document

2021-01-06 Thread Bob Newell

I've done similar sorts of things in Linux with xdotool and
xclip. These are very useful tools although a bit fiddly in
their usage.

Bob Newell
Honolulu, Hawai`i

- Via GNU/Linux/Emacs/Gnus/BBDB

Re: Contact data and sync revisited

2020-05-31 Thread Bob Newell

Russell Adams  writes:

> My key problem is I need a way to access my contacts in Emacs and Mutt, and 
> send
> them to my Android phone. Single direction sync is fine.


I've probably mentioned this before in past postings, but
there is a comprehensive solution for Android if you install
the free Termux app, which has packages for emacs and mutt
(although I use gnus), plus rsync and zillions of other
tools. I was able to reproduce 100% of my (text mode) emacs
environment on an Android tablet, an Android phone, and a
Chromebook running an Android subsystem. I use rsync to a
cloud service for two-way sync among eight varied devices (one
at a time, of course).

It takes a seriously serious amount of up-front work and may
not be at all close to what you are seeking, but once it's set
up, it's amazingly effective and productive (at least for me).

Bob Newell
Honolulu, Hawai`i

- Via GNU/Linux/Emacs/Gnus/BBDB

Re: issue tracker?

2020-05-20 Thread Bob Newell
Aloha everyone,

Sometimes a "lower tech" solution is best, or at least offers
a lot of advantages.

What I see as the advantages of resolving issues through a
mailing list are:

* Minimal barriers to entry. If you have an email client of
  ANY type, you're in. No need for anything more. I think this
  is a very big deal, the merits of which can easily be

* Distributed data. No one has to be responsible for
  maintaining a central database, keeping it secure and
  updated, etc. (except, of course, for the list server but
  that's a different matter). Changes in policy on the
  bug-tracker host don't matter because there is no host.

* A permanent record maintained and replicated widely.
  Everyone who saves their mail from the list has a copy.

I'm certainly not saying that a formal project-management
style issue tracking system is a bad thing; in many use cases,
it can be quite important. But this is an open-source,
distributed effort, non-commercial endeavor, not beholden to a
specific client (the clients are all of us) and clearly not
for profit. The requirements are not the same.

I can't cite statistics, but I wonder if more gets "lost" on
the mailing list than in a formal bug tracking system, where
things do get buried and may not surface for a long time if

Another big enabling factor is that (as others have mentioned)
this list is very responsive, very open and welcoming, and
almost always courteous and respectful (rather a big thing on
today's internet).

I've posted various things and gotten various replies and
results. When I've reported problems, they've been addressed,
generally quickly and effectively. When I talk about
nice-to-haves, some get responses and some don't, which is
exactly what I'd expect.

I'm very pleased with the way things are working and would
hate to add another layer of complexity without being sure the
upsides were greater than the downsides.

Bob Newell
Honolulu, Hawai`i

- Via GNU/Linux/Emacs/Gnus/BBDB

Re: Org mode for meeting minutes

2020-03-25 Thread Bob Newell

I'll second (nth) all the compliments. Your work is not only
day to day useful but is a great mini-tutorial on the usage of
a previously undocumented org-mode feature that is highly

Bob Newell
Honolulu, Hawai`i
- Via Gnus/BBDB/Org/Emacs/Linux

Re: OrgNV - alternative to deft

2020-03-23 Thread Bob Newell

You might take a look at my 'scraps' package. I created it a
little while back and it does a fair amount of what you

I've got over 3,000 files taking up over 64 MB and it's still
quite fast.

Bob Newell
Honolulu, Hawai`i
- Via Gnus/BBDB/Org/Emacs/Linux

Re: [O] MobileOrg and other tools

2020-02-04 Thread Bob Newell
I'm not going to be critical of either MobileOrg or Orgzly, which are
the way to go if you want a dedicated app. But I much prefer going to
the trouble of setting up a Termux environment, which allows Emacs to
run in a very close to native term mode on any Android device.

I combine this with an rsync service and I have my working environment
on two Linux desktops, three Linux laptops and three Android devices,
including my phone.

Bob Newell
Honolulu, Hawai`i

Via Linux/Emacs/Gnus/BBDB.

Re: customizing Org for legibility

2020-02-01 Thread Bob Newell
Aloha everyone,

> I agree terminal users typically won't want variable pitch, but disagree
> that they are generally doing sysadmin -- I know users who use org-mode
> for their notes, but prefer to use emacs in the terminal.

I have a Very Big Use Case here: on my Android devices I run
Termux, which runs nearly everything perfectly but only in
terminal mode. I run Emacs/org-mode this way on my Android
tablet all the time when out of the house or traveling.

The mixed pitch idea has great merit, don't get me wrong, and
would be a very nice thing indeed on my native Linux
devices. But I'd hope there would be no "unintended
consequences" for terminal users.

Bob Newell
Honolulu, Hawai`i
- Via Gnus/BBDB/Org/Emacs/Linux

Re: Testimony on how to publish a book using Org-mode

2020-01-27 Thread Bob Newell
At first glance this is indeed interesting and I must study it
carefully. Thank you for pointing this out.

I have published quite a number of books (both fiction and
non-fiction) starting with org-mode. Inevitably, though, there
is lots of hand work with LaTeX, and anything to reduce that
will be very welcome.

Bob Newell
Honolulu, Hawai`i
- Via Gnus/BBDB/Org/Emacs/Linux

Re: How to get parsed output of org-eww-copy-for-org-mode ?

2019-12-25 Thread Bob Newell
I don't seem to have any trouble with org-eww-copy-for-org-mode. I
capture with a capture template. The code below may be longer or more
than you want, but it works for me.

My capture template is this:

 ("w" "Website" plain
  (function org-website-clipper)
  "* %a\n%T\n" :immediate-finish t)

And it depends on the following code.

  (require 'ol-eww)
  (require 'ol-w3m)

;;; Change this to suit:
(defvar org-website-page-archive-file "~/organize/website/")
(defun org-website-clipper ()
  "When capturing a website page, go to the right place in capture file,
   but do sneaky things. Because it's a w3m or eww page, we go
   ahead and insert the fixed-up page content, as I don't see a
   good way to do that from an org-capture template alone. Requires
   Emacs 25+ and the 2017-02-12 or later patched version of org-eww.el."

;;; Address the plague of trailing whitespace in some web buffers.

 (let ((buffer-read-only nil))

;;; Check for acceptable major mode (w3m or eww) and set up a couple of
;;; browser specific values. Error if unknown mode.

   ((eq major-mode 'w3m-mode)
   ((eq major-mode 'eww-mode)
 (error "Not valid -- must be in w3m or eww mode")))

;;; Check if we have a full path to the archive file.
;;; Create any missing directories.

  (unless (file-exists-p org-website-page-archive-file)
(let ((dir (file-name-directory org-website-page-archive-file)))
  (unless (file-exists-p dir)
(make-directory dir

  ;; Open the archive file and yank in the content.
  ;; Headers are fixed up later by org-capture.

  (find-file org-website-page-archive-file)
  (goto-char (point-max))
  ;; Leave a blank line for org-capture to fill in
  ;; with a timestamp, URL, etc.
  (insert "\n\n")
  ;; Insert the web content but keep our place.
  (save-excursion (yank))
  ;; Don't keep the page info on the kill ring.
  ;; Also fix the yank pointer.
  (setq kill-ring (cdr kill-ring))
  (setq kill-ring-yank-pointer kill-ring)
  ;; Final repositioning.
  (forward-line -1)

Re: Gnus org-mode link problems in org 9.3

2019-12-04 Thread Bob Newell

I have solved this problem after some investigation. It could
perhaps apply to other users.

I had customized the value 'org-modules'. This was fine so
long as we had 'org-gnus' (and other similar modules). But in
org 9.3 this has become 'ol-gnus' (and ol-bbdb and so
on). Now, 'ol-gnus' and the rest are included in the stock
value of org-modules, but this was over-ridden by my
customized version. No more org-gnus to load! So I lost
functionality as described in my complaint.

I found this by going through '*Messages*' where the message
"Problems loading org-gnus" (et al) appeared.

I didn't see anything in the 'incompatible changes' log for
org, but perhaps this is too obscure. Oh well. This occupied a
few hours but it wasn't good beach weather today.


Bob Newell
Honolulu, Hawai`i
- Via Gnus/BBDB/Org/Emacs/Linux

Re: Gnus org-mode link problems in org 9.3

2019-12-04 Thread Bob Newell
Just to update, reversion to an earlier org-mode makes these
problems go away.

That still doesn't parse the question of whether there is
something in my own setup that now doesn't work as opposed to
a more general problem.

Continuing work 
Bob Newell
Honolulu, Hawai`i
- Via Gnus/BBDB/Org/Emacs/Linux

Re: Gnus org-mode link problems in org 9.3

2019-12-04 Thread Bob Newell

Thanks for the input! But I don't think org-link-escape is the
problem for me. In the documentation for the new org changes
there is a link conversion function. I ran this to fix all my
links and still got the same problem.

It also wouldn't explain my todo capture template failure,

Of course, I'll keep researching, but I may temporarily try to
revert to the previous org release (if I can figure out how!)


Bob Newell
Honolulu, Hawai`i
- Via Gnus/BBDB/Org/Emacs/Linux

Gnus org-mode link problems in org 9.3

2019-12-04 Thread Bob Newell

Posting to both org-mode and gnus groups.

Just updated to latest org (9.3 of 3 December) on Emacs 26.3.1
and my gnus link functions seem to have quit.

Now, whenever I do C-c C-o on an email link I get something like this:

org-link-search: No match for fuzzy expression:

Further, when I want to set up a todo with C-c c t when in a
gnus message (article), I now get

org-capture: Capture template ‘t’: No method for storing a link from this buffer

Does anyone else see any of this or just my problem? Any ideas? 

Mahalo in advance,

Bob Newell
Honolulu, Hawai`i
- Via Gnus/BBDB/Org/Emacs/Linux

Re: [O] Best practice for providing an Org-based application?

2019-09-08 Thread Bob Newell

Although I don't have an answer to your question, I'm also
interested, as it's been suggested to me that I somehow publish
my code and workflow for substantially easing the somewhat
painful process of taking and inputting registrations for
USCF-rated chess tournaments.

Bob Newell
Honolulu, Hawai`i
* Via Gnus/BBDB/Org/Emacs/Linux *

Re: [O] org-drill vocabulary and question about properties

2019-07-31 Thread Bob Newell
Milan Zamazal  writes:

> GB> still only once there. If I want to track the learning in both
> GB> directions separately, I need to make two items for one word,
> GB> once german-spanish and once spanish-german. Am I right?

I've used org-drill for both English/Hawaiian and English/Hindi, and
I've never been able to get balanced two-way drills without making
separate cards for each direction. But making card pairs is really easy
to automate.

I make a .org file with words in one direction only, semicolon separated
like this:


etc. etc. and then call the following elisp. (Obviously works for any
pair of languages.) The elisp sets up a two-way org drill file that does
what I want. The coding is crude and could be improved however it works,
which is something of a benefit :)

;; Make Hindi flashcards for org-drill
;; Pseudo-Two sided, English/Hindi
(defun org-make-hindi ()
 "Make Hindi flashcards"
 (goto-char (point-min))
;; Process each line top to bottom.
 (while (not (eobp))
  (setq frontofline (point))
  (search-forward ";") 
  (backward-delete-char 1)
  (setq partone (buffer-substring frontofline (point)))
  (delete-region frontofline (point))
  (setq frontofline (point))
  (setq parttwo (buffer-substring frontofline (point)))
  (delete-region frontofline (point))
  (delete-char 1)
  (insert (concat "** Word :drill:\n:PROPERTIES:\n:END:\n"
  partone "\n*** A\n" parttwo "\n"
  "** Word :drill:\n:PROPERTIES:\n:END:\n"
  parttwo "\n" "*** A\n" partone "\n"))

Bob Newell
Honolulu, Hawai`i
* Via Gnus/BBDB/Org/Emacs/Linux *

Re: [O] org-links for Gnus in imap with Gmail (for a convenient list)

2019-07-26 Thread Bob Newell

I too came across this long ago. I like a 'zero inbox' and so I archive
(or delete!) my gmail after reading. And indeed, when you move from
INBOX to "All Mail" an org-link to INBOX will no longer function.

I use Gnus and do something rather simple and easy:

(defun changegroupinemaillink (args)
  (setcar args
   "[Gmail]/All Mail" (car args)))
(advice-add 'org-gnus-article-link :filter-args #'changegroupinemaillink)

After this, links point to All Mail and the mail will always be found.

Bob Newell
Honolulu, Hawai`i
* Via Gnus/BBDB/Org/Emacs/Linux *

Re: [O] Error handling in org-make-link-string

2018-04-14 Thread Bob Newell

Either of your suggested solutions would work, of course, and limit
effects to org-xxx-copy-for-org-mode. I didn't go that way because I
didn't want to have to continually modify the core product on my own

The idea of

(if (org-string-nw-p link-location

etc. may be best because we can have a guaranteed nil on a bad link,
rather than ignore-errors which (I think?) may have a different
return. I didn't put an error message in my 'advice' workaround but it
would be a good idea.



On Sat, Apr 14, 2018 at 3:17 AM, Nicolas Goaziou <> wrote:
> Hello,
> Bob Newell <> writes:
>> The problem? When org-make-link-string encounters an empty link (it
>> doesn't happen often but it does happen), it uses the 'error' function
>> to say that the link is empty. This means that the entire call to
>> org-xxx-copy-for-org-mode is aborted, and consequently nothing is
>> captured.
>> Should this be the desired behavior?
> Your question is twofold.
> OTOH, it seems sane to expect `org-make-link-string' to throw an error
> if you try to apply it on garbage. OTOH, I agree it is not desirable to
> throw away all captured information because of a bad link.
> I think the problem lies in the logic of `org-eww-copy-for-org-mode' and
> `org-w3m-copy-for-org-mode', which should handle better errors from
> `org-make-link-string'.
> For example,
>(if (stringp link-location)
>;; hint: link-location is different for form-elements.
>(org-make-link-string link-location link-title)
> link-title)
> could be replaced with
>   (if (org-string-nw-p link-location)
>   ...)
> or even
>   (or (ignore-errors (org-make-link-string ...))
>   link-title)
> Regards,
> --
> Nicolas Goaziou

Bob Newell
Honolulu, Hawai`i

Sent via Linux Mint 17.

[O] Error handling in org-make-link-string

2018-04-13 Thread Bob Newell

I've got a subsystem for capturing snippets of information (I mentioned
it here, scraps.el, quite some while back). Some information is captured
from w3m or eww browser buffers.

To do this I use org-w3m-copy-for-org-mode or
org-eww-copy-for-org-mode. This is nice in that links are converted to
org-mode links, using org-make-link-string.

The problem? When org-make-link-string encounters an empty link (it
doesn't happen often but it does happen), it uses the 'error' function
to say that the link is empty. This means that the entire call to
org-xxx-copy-for-org-mode is aborted, and consequently nothing is

Should this be the desired behavior?

It doesn't quite work for me, but I'm not sure about other uses, side
effects, etc. Someone more familiar with org-mode code would have to
decide. My workaround, since I don't want to modify org.el directly and
have to maintain the mod, is this fairly primitive idea:

(defun rjn-around-omls (orig-fun link  args)
  (if (org-string-nw-p link)
  (apply orig-fun link args)
(advice-add 'org-make-link-string :around #'rjn-around-omls)

This works fine for me in that an empty link is simply returned as nil
and ignored. (I suppose I could add an error message.)

Any thoughts on (a) is the 'error' return the right thing, and (b) this


Bob Newell
Honolulu, Hawai`i
* Via Gnus/BBDB/Org/Emacs/Linux *

Re: [O] Uninstall bbdb

2018-01-12 Thread Bob Newell
I didn't catch this at first but if continued this should be moved to
the BBDB mailing list.

On Thu, Jan 11, 2018 at 9:36 PM, Eric S Fraga <> wrote:
> On Thursday, 11 Jan 2018 at 13:48, Bob Newell wrote:
>> But the real question is /why/ would you want to delete BBDB? You get
> And supplementary question: if you (directed at the OP) don't use it,
> how does it affect you even if it is installed?
> --
> Eric S Fraga via Emacs 27.0.50, Org release_9.1.6-317-gc82c21

Bob Newell
Honolulu, Hawai`i

Sent via Linux Mint 17.

Re: [O] Uninstall bbdb

2018-01-11 Thread Bob Newell
"M. P." <> writes:

> How do I uninstall bbdb?

How did you install it? If it was from the package manager, delete it
from there. If it was by hand, take out whatever you added to your
startup file, probably

(require 'bbdb-loaddefs)

or similar, and delete the bbdb directory. There might be other startup
lines to remove if you integrated with gnus or something else. Do M-x
occur RET bbdb RET to help you find everything.

But the real question is /why/ would you want to delete BBDB? You get
the most out of it when you integrate with Gnus or another mail reader
and make use of great features like autocompletion, auto-addition of
addresses, etc. It takes time and effort but it becomes an indispensable

Bob Newell
Honolulu, Hawai`i
* Via Gnus/BBDB/Org/Emacs/Linux *

Re: [O] orgmode for many continuous tasks?

2017-09-27 Thread Bob Newell
Mycroft Jones <> writes:

> I'm wondering if org-mode can do this:
> I have many tasks.  Some are one off.  But many are tasks that will take a
> period of time, days, weeks, months.  I need to schedule a bit of time every
> day.  Over time I can complete the tasks by plugging away.  But I have so 
> many.
> Half hour chunks work for some tasks, 1 or 2 or 3 hour chunks work best for
> others.


This sort of thing is really a project management issue. While I know
you're asking for an org-mode solution, something like Task Juggler will
do the kind of scheduling you want. But it would be a fair amount of
work entering progress and updating scenarios every night.

What is really needed is a good org-mode/Task Juggler interface. (There
is an Emacs interface but it's meant for creating and running Task
Juggler scenarios directly.) I'm not necessarily volunteering to write
one, but it could be done. However this doesn't help you in the near

To further the concept: If TODOs had due dates/time estimates/time spent
as perhaps additional properties, and there was a better way to express
dependencies (I think there is already an org-mode adjunct for this),
some coding could turn this into a Task Juggler input file.

There is already a project management adjunct for Emacs, but it doesn't
do scheduling.

Bob Newell
Honolulu, Hawai`i
* Via Gnus/BBDB/Org/Emacs/Linux *

Re: [O] org-publish-all unknown sitemap style

2017-09-15 Thread Bob Newell
Bob Newell <> writes:

> I have :sitemap-style "tree" in all projects.

And the problem turns out to be that "tree" cannot be in quotes, instead
it has to be

:sitemap-style tree

Previously, this error would not be flagged and the default, which is
tree, would be used, so I thought it was all working fine. Now my error
is caught.

Removing the quotes fixes everything.

Bob Newell
Honolulu, Hawai`i
* Via Gnus/BBDB/Org/Emacs/Linux *

[O] org-publish-all unknown sitemap style

2017-09-15 Thread Bob Newell
Aloha kakou,

Up until the latest org (Emacs 25.1.1, org 9.1-20) org-publish-all did
exactly as it should. But now I get this error:

Unknown site-map style: tree

I didn't change anything (honestly!).

I have :sitemap-style "tree" in all projects.

I looked into ox-publish.el to verify that style was passed as "tree"
but it seems to not be parsed as such.

Is there a new bug or is it an old flaw in my setup now exposed?


Bob Newell
Honolulu, Hawai`i
* Via Gnus/BBDB/Org/Emacs/Linux *

Re: [O] Tracking Interruptions -- Work Flow Question

2017-08-13 Thread Bob Newell

Solutions to the interruption problem are definitely individual. In my
case I simply tracked frequency of interruptions. I got from that the
bottom line that I should not try to work at home--- a conclusion that I
probably needed no software support to justify.

When I switched to working at libraries and coffee shops, the issue
became one of focus, and the pomodoro method solved that problem for
me after a little fine-tuning of work and break intervals.

I use one of the non-org pomodoro packages also, but it's all according
to how you organize your work.

I only think tracking length of interruptions adds value if you bill
clients in time increments, and even in that case clocking out of the
billable task is arguably more important than clocking in to the
interruption task.

If you want to know how much time is lost to interruptions, etc., just
subtract your logged productive time from the length of your workday, to
get the same depressing result as if you had logged all interruptions.

Bob Newell
Honolulu, Hawai`i
* Via Gnus/BBDB/Org/Emacs/Linux *

Re: [O] org-publish an org-mode outline

2017-08-13 Thread Bob Newell
Bob Newell <> writes:

> * top
> ** level 2
> *** level 3

Question answered in another thread, just to confirm: ",* top"
etc. works as advertised. I missed that footnote about using a leading
comma but the syntax is consistent with Emacs convention, it seems.

Bob Newell
Honolulu, Hawai`i
* Via Gnus/BBDB/Org/Emacs/Linux *

[O] org-publish an org-mode outline

2017-08-12 Thread Bob Newell
I may be overlooking something simple here, but I'm having a problem
with org-publish. When I try to publish a page containing something like
this (minimal example):

* top
** level 2
*** level 3

what happens is that 'top' etc. get interpreted as section markers (the
'example' seems to be overlooked).

To get it to be an actual code example I have to indent the * to make
the line a non-headline, " * top" instead of "* top" for instance.

What kind of dumb mistake am I making? I've been using org-publish for a
while but all my code samples so far haven't included org-mode headlines.

Mahalo in advance.

Bob Newell
Honolulu, Hawai`i
* Via Gnus/BBDB/Org/Emacs/Linux *

Re: [O] Scatter-gather idea

2017-04-06 Thread Bob Newell
>> mark them with tags, and do org-tags-view.  Or, you can use regex or other
>> criteria if you like.
> That was my first thought too: I didn't think any extra functionality is 
> needed.

I looked into this earlier but agenda bulk marking doesn't seem to work
in an arbitrary org-mode buffer; it must be an agenda buffer, and you
can only mark certain entries.

The tag idea may be the best way. Thanks to all for the replies.

Bob Newell
Honolulu, Hawai`i
* Via Gnus/BBDB/Org/Emacs/Linux *

Re: [O] Scatter-gather idea

2017-04-02 Thread Bob Newell
Samuel Wales <> writes:

> can you provide a use case?

A simple use case: you're brainstorming, making org-mode headline
entries as fast as you can think or type. After a while you notice that
a number of entries seem to be related and might actually be better
considered as a spin-off. So you want to gather up all of those entries
and send them off in bulk to a different org file.

Or even simpler: you want to group together a bunch of scattered
headlines that you now see as being related. Yes, you can do this by
moving each one around individually, but I'd like a faster method---
just mark them and relocate them all at once to the top or bottom of the

> for me, i have long wanted to mark a set of tasks with a tag in the
> outline or agenda, then have /links/ to them gathered in one place, at
> a uniform level.

This sounds quite useful, actually.

Bob Newell
Honolulu, Hawai`i
* Via Gnus/BBDB/Org/Emacs/Linux *

Re: [O] Scatter-gather idea

2017-04-01 Thread Bob Newell

Thanks for the feedback. As to the question, what is scatter-gather? --
It's the idea of gathering up scattered pieces of text and consolidating
them in another place, whether elsewhere in the same buffer or
in another file.

Using tags would work, and I've done something similar in my home-brew
code for a fiction writing environment (I gather scattered comment
blocks). So would non-visible marks, although when brainstorming you may
want visible indicators of selected headlines.

Something like '** ! headine' doesn't really destroy org syntax in any
way, but it does add extra text to a headline (of course, so does a
tag). I'll certainly look at the suggested alternatives, especially helm.

In any case I'll think this through quite a bit more before developing a

Bob Newell
Honolulu, Hawai`i
* Via Gnus/BBDB/Org/Emacs/Linux *

[O] Scatter-gather idea

2017-04-01 Thread Bob Newell
Org-mode has nearly everything that other outlining tools have, and
generally much, much more. But one thing that is missing (and
there's been sporadic traffic about this) is convenient
scatter-gather. BrainStorm WFO has this; it's not like I'm going to
start using it as an alternative, but such a feature might be nice in

The Emacs way is to write it yourself, and I'm thinking about that. But
I wanted to try out the concept and see if it's of interest, or for that
matter, more trouble than it's worth.

You can do something like this on the Agenda screen, but that's not a
general solution at all. What about an "ordinary" org mode file. So
here's the flow I envision.

1. You "mark" a series of headline entries with, say,
   'org-sg-mark'. Perhaps it would look like this when marked:
   ** ! interesting headline

   Yes, this disturbs the existing text. But the marking has to be
   somehow visual.

2. You give a command like 'org-sg-gather' and the marked headlines are
   gathered up, moved (just like archiving) to a file (for which you're
   prompted) or maybe, optionally to the top or bottom of the current
   buffer. The marks are then cleared.

3. 'org-sg-clear' clears a single mark; 'org-sg-clear-all' clears them all.

Potential problems:

1. As mentioned, text is disturbed at least temporarily.

2. Incomplete operation sequences leave marks in place, when they might
   be useless.

3. If the gathered headlines are at different levels, the resulting
   gathered outline will not be sensible and will require manual fixing.

Comments welcome. This doesn't look especially difficult to code, but
does it make sense and is it of any use?

Bob Newell
Honolulu, Hawai`i
* Via Gnus/BBDB/Org/Emacs/Linux *

Re: [O] How do you store web pages for reference?

2017-03-16 Thread Bob Newell
Scott Otterson <> writes:

> I use Evernote, which has handy annotation, tagging, and search

I use this also, but I wanted something working within Emacs similar to
the Evernote web-clipper. Org-board is very powerful but requires an
intermediate step of creating a headline with a URL property.

I wanted something fast, so I wrote an org-mode web clipper. It works
with both w3m and eww, making use of an org-capture template and a
little custom code. Images are captured if you've set up w3m or eww to
display them. CSS, etc, is obviously not captured.

I've put it here if it's of any interest to anyone. It's pretty much a
prototype but I use it daily. Emacs 25 required.

Bob Newell
Honolulu, Hawai`i
* Via Gnus/BBDB/Org/Emacs/Linux *

Re: [O] org-publish issue

2017-03-13 Thread Bob Newell
Okay, solved, but it does point to a problem. I had misspellings in the
project names. So this happens:

("generalweb" :components ("generalimages" "generalother" "generalorg"))

"generalimages" is processed. "generalother" isn't found because of a
misspelling. But there is no error message and processing stops
silently, with "generalorg" being skipped.

Perhaps there should at least be an error or warning here?

Bob Newell
Honolulu, Hawai`i
* Via Gnus/BBDB/Org/Emacs/Linux *

[O] org-publish issue

2017-03-13 Thread Bob Newell

Running 9.0.5. I have a strange problem with org-publish. Only the first
entry of my :components gets processed. I've tried tracing code and fail
to find the problem. Can anyone give a suggestion? I'm appending my
project alist. Mahalo!

(setq org-publish-project-alist
(quote (
   :base-directory "~/organize/publish/35years/"
   :recursive t
   :table-of-contents t
   :auto-sitemap t
   :sitemap-title "35 Years of EMACS"
   :sitemap-filename "index.html"
   :sitemap-style "tree"
   :makeindex t
   :base-extension "org"
   :publishing-function org-html-publish-to-html
   :style-include-default nil
   :section-numbers t
   :table-of-contents t 
   :author-info "Bob Newell"
   :creator-info nil)
   :base-directory "~/organize/publish/35years/other/"
   :base-extension "css\\|pdf\\|sh"
   :publishing-function org-publish-attachment
   :recursive t
   :base-directory "~/organize/publish/35years/images"
   :base-extension "png\\|jpg\\|gif"
   :publishing-function org-publish-attachment
   :recursive t
  ("35yearsweb" :components ("35yearsimages" "35yearsother" 
   :base-directory "~/organize/publish/general/"
   :recursive t
   :table-of-contents t
   :auto-sitemap t
   :sitemap-title "General Web Pages"
   :sitemap-filename "index.html"
   :sitemap-style "tree"
       :makeindex t
   :base-extension "org"
   :publishing-function org-html-publish-to-html
   :style-include-default nil
   :section-numbers t
   :table-of-contents t
   :author-info "Bob Newell"
   :creator-info nil)
   :base-directory "~/organize/publish/general/other/"
   :base-extension "css\\|pdf\\|sh"
   :publishing-function org-publish-attachment
   :recursive t
   :base-directory "~/organize/publish/general/images/"
       :base-extension "png\\|jpg\\|gif"
   :publishing-function org-publish-attachment
   :recursive t
  ("generalweb" :components ("generalimages" "generalother" 

Bob Newell
Honolulu, Hawai`i
* Via Gnus/BBDB/Org/Emacs/Linux *

[O] IMAP Gmail and org-mode links

2017-03-03 Thread Bob Newell
Aloha kakou,

I'm cross-posting to both gnus and org lists, although I suspect the
readership overlaps greatly. I wanted to solve the problem of using
Gmail via IMAP with gnus and org-mode links, wherein if you make a link
from, say, INBOX, and then archive the mail, the link is no longer
valid. But in Gmail, everything is in All Mail--- but you don't want to
have to leave INBOX and go to All Mail just to make a link.

The first part is this. It's kludgy, but it works for me. It edits the
link just after creation to force it to point to All Mail if it's a
Gmail link. The regexp could possibly have to change in another
environment; I don't have a means to test that.

;; This function and defadvice attempts to solve the problem of Gmail
;; email being moved from folder to folder. We change org-mode email
;; links involving gmail to always point to the All Mail folder, where
;; everything resides except stuff that has been purged.

(defun changegroupinemaillink ( args)
  (if org-stored-links
(let* ( (oldlink (car (car org-stored-links)))
(newlink (replace-regexp-in-string
"gmail:.*#" "gmail:[Gmail]/All Mail#" oldlink)))
(setcar (car org-stored-links) newlink
(advice-add 'org-store-link :after #'changegroupinemaillink)

You should also use the gnus registry, with the nnregistry method added
as documented in the gnus manual. (You may have more methods than shown
below; modify to suit.

;; Referer (parent) lookup.
(setq gnus-refer-article-method

Perhaps this is redundant, but as I've got it working and doing what I
need, I'm reluctant to mess it up :)

Bob Newell
Honolulu, Hawai`i
* Via Gnus/BBDB/Org/Emacs/Linux *

Re: [O] Dr Wozniak’s tasklist implementation

2017-02-01 Thread Bob Newell
Aloha kakou,

I started to find the above idea pretty interesting, and so I did a
small proof of concept coding to implement it. (Certainly this could be
done a lot better but I just wanted to try it out.)

I'm going to work with the idea for a little while to see how well it
helps in sorting through tasks.

Bob Newell
Honolulu, Hawai`i

* Sent via Ma Gnus 0.14-Emacs 24.3-Linux Mint 17.3 *

;; Implement supermemo style task list processing via org-mode tables.

;; Usage: M-x org-tasklist-add and follow the prompts. If you use it a
;; lot, tie it to a function key or something fast and useful.

;; The task table file,, goes to the org default directory,
;; and is created if it doesn't yet exist.

;; Tasks have an input value (in any units you like), time (in any
;; units you like) and a description. Priority is then calculated as
;; value/time and the table is sorted from highest value at top to
;; lowest value at bottom.

;; This is /not/ integrated with the org-mode agenda. That is keeping
;; with the philsophy explained by Dr. Wozniak, that tasks with
;; time-constraints should be avoided if possible and scheduled
;; separately when they cannot be avoided. (This seems like a fair
;; amount of wishful thinking.) But in any case, high-priority or
;; high-value items can be manually added to the agenda if so
;; desired. (I don't yet have an automated function for this.)

;; I think the task table could contain many items, none of them (yet)
;; urgent. It may be a way of prioritizing future work (chosing the
;; most valuable work), which later gets projectized (perhaps) and
;; scheduled. What the table can surely do, which I think is of much
;; merit, is screen out low value projects and tasks that simply
;; aren't worth doing, either on their own merit or compared with
;; higher payback items.

(defun org-tasklist-sort ()
"Sort org tasklist"
 (goto-char (point-min))
 (search-forward "#+TBLNAME: org-tasklist" nil 2)
 (forward-line 3)
 (forward-char 2)
 (org-table-sort-lines nil ?N)

(defun org-tasklist-add (value hours description)
"Add a task to tasklist"
 (interactive "nValue: \nnTime: \nsDescription: ")
 (find-file (concat org-directory ""))
 (goto-char (point-min))
 (while (not (search-forward "#+TBLNAME: org-tasklist" nil 2))
   (insert "\n#+TBLNAME: org-tasklist\n")
   (insert "|Priority|Value|Time|Task Description|\n")
   (forward-line -1)
   (forward-line 2)
   (insert "#+TBLFM: $1=$2/$3\n")
   (goto-char (point-min))
 (forward-line 3)
 (insert (format "|  | %f | %f | %s |\n" value hours description))
 (forward-line -1)


Re: [O] Dr Wozniak’s tasklist implementation

2017-01-29 Thread Bob Newell
If you don't care about integrating into the agenda, this could be
quite easily implemented in an org table.

Re: [O] syncing my life (orgmode :)) to a mobile (android) device..cant find a holistic reliable do you guys manage to do it?

2015-12-06 Thread Bob Newell
I take a slightly different approach. Google calendar is my main
calendar and this works across devices including my Android phone and

However I use the old-fashioned emacs diary, which org-mode of course
easily incorporates. Diary is simple to work with.

When I start up emacs, I use gcalcli and some custom elisp to fetch my
Google calendar and regenerate the diary file completely, every time.

On exiting emacs, I run a diff (through custom elisp) to find changes to
the diary file and again use gcalcli to push those changes back to
Google calendar.

I don't try to sync contacts or notes bidirectionally. I do use
mobileorg to make sure my tablet/smart phone has a copy of all my
org-mode stuff. If I do happen to edit on the tablet/smart phone, it's a
manual process to put that back to the master, but this is not my usual
working mode. I have a lightweight laptop (Asus Zenbook) and carry that
whenever possible.

Overall I sync to and from a master at, which supports
use of rsync.

I suppose some day I should get away from diary, but it works really

Bob Newell
Honolulu, Hawai`i
* Sent via Ma Gnus 0.14-Emacs 24.3-Linux Mint 17.2 *

Re: [O] Capture-like browser plugin?

2015-07-28 Thread Bob Newell
Aloha kakou,

I've had this work on Firefox (with Linux) when everything is properly
set up, but it won't and probably never will work on Chrome. Even on
Firefox it isn't really ideal. But as long as you have clipboard access
configured in your Emacs, it really isn't such a great slowdown to do
cutting and pasting--- with any browser, on any system.

Yes, ideally we would have a web-clipper (similar to Evernote).

Bob Newell
Honolulu, Hawai`i
* Sent via Ma Gnus 0.12-Emacs 24.3-Linux Mint 17 *

Re: [O] Organizing and taming hectic Academia work (faculty viewpoint)? Tips or a good guides sought after :)

2015-06-15 Thread Bob Newell
Julian Burgos writes:

 b) I write the manuscript in org-mode.  Then I send the org-mode file to
 my coauthor.  Because the org-mode file is just a text file, my coauthor
 can use Word to edit it.  I ask him/her *not* to use track changes and
 to save the edited version also as a text file.  Then, when I receive it I
 use ediff in emacs to compare both documents and incorporate the edits I

Simple is best, and I wish I had thought of this simple idea before I
took an 87,000 word novel that I wrote in org-mode, output as ODT,
converted to DOCX, and then sent to an editor. I got back all the track
changes stuff and even worse, margin notes, and punctuation (like quotes
and ellipses) changed over to Word-ish characters.

It wasn't utterly useless but it created a lot of extra work, which
still isn't over. Next time I'll do as per above, tell her to just edit
the thing directly, write her notes in-line, and keep it as pure ASCII.

I really believe she thinks I was going to use Word to publish the
novel. Failure to communicate on my part. I could say lack of judgment
on her part but that's unfair; in her world, most everyone uses Word at
some stage in the process.

Bob Newell
Honolulu, Hawai`i
* Sent via Ma Gnus 0.12-Emacs 24.3-Linux Mint 17 *

Re: [O] A Microsoftesque detail in org

2015-05-15 Thread Bob Newell

Pressing enter in a headline to make a new headline is consistent with
the way many other text-mode outliners have worked in the past. Ctrl-O
to open a line is an Emacs standard keybinding.

I don't really have an issue with the way this works.

Bob Newell
Honolulu, Hawai`i
* Sent via Ma Gnus 0.12-Emacs 24.3-Linux Mint 17 *

Re: [O] Source code evaluation problem

2015-04-25 Thread Bob Newell
On Sat, Apr 25, 2015 at 5:47 AM, Damian Bernardini wrote:
 I'm trying to use ledger blocks inside org with babel:
 I can evaluate and get results from income and expenses blocks, but when I
 try to run C-c C-c on balance block I get:
 Symbol's function definition is void: org-id-find-id-file

I have no problem doing a balance report.

My transactions sit in a block like this:

#+name: hcfgeneralledger :noweb yes
#+begin_src ledger
... etc
... etc

And then I use this to get the balance report. C-c C-c on the line
hcfgeneralldeger, for instance.

#+name: balance
#+begin_src ledger :cmdline -s bal :noweb yes

Bob Newell
Honolulu, Hawai`i

Sent via Linux Mint 17.

Re: [O] Making 'mailto' org links use gnus styles

2015-03-05 Thread Bob Newell
Rasmus writes:

 Have you configured mail-user-agent?

mail-user-agent was set to message-user-agent. Changing it to
gnus-user-agent solved the problem within org-mode, so for the purposes
of this mailing list, your idea is excellent. Thanks!

Bob Newell
Honolulu, Hawai`i
* Sent via Ma Gnus 0.12-Emacs 24.3-Linux Mint 17 *

[O] Making 'mailto' org links use gnus styles

2015-03-04 Thread Bob Newell
Aloha kakou,

I have some 'mailto' links in an org file in the expected form:


C-c C-o also does as expected, bringing up a blank email to the
addressee in question. But it uses 'browse-url' to do so, and just
brings up a simple mail interface, when I'd like to have my gnus
interface (with my BCCs, sig, etc.). I am able to get this to work (and
at the same time work with mailto links in w3m buffers) with the
following kludge that I threw together this afternoon (coded below and
yes, it's a horror story).

It just seems like there should be an easier/better way. Haved I failed
to find something simple?

I'm posting here as I encountered this with org-mode. Unsure if it
should (also) go in the 'gnus' groups.

(setq browse-url-mailto-function 'rjn-browse-url-mailto)

(defvar rjn-mail-addr)
(defvar rjn-mail-subject)
(defun rjn-browse-url-mailto (messy-mail-addr optional whatever)
Fix for url-browse and w3m mailto to work with gnus styles
 (setq rjn-mail-addr (replace-regexp-in-string mailto:;  messy-mail-addr))
 (string-match ?subject=.* rjn-mail-addr)
 (setq rjn-mail-subject (match-string 0 rjn-mail-addr))
 (setq rjn-mail-subject (replace-regexp-in-string ?subject=  
 (setq rjn-mail-addr (replace-regexp-in-string ?subject=.*  rjn-mail-addr))
 (gnus-msg-mail rjn-mail-addr rjn-mail-subject)

Bob Newell
Honolulu, Hawai`i
* Sent via Ma Gnus 0.12-Emacs 24.3-Linux Mint 17 *

Re: [O] Efficiency of Org v. LaTeX v. Word

2014-12-28 Thread Bob Newell

The study is an obvious diatribe couched in (poorly done) scientific
method. It almost seems like these researchers have at some time been
required to use LaTeX and are angry over it.

I will agree that LaTeX is slower and less efficient than LibreOffice (I
don't have Word on any of my computers but the argument I suppose is the
same), if your only interest is pounding out text of a first draft. But
the study didn't allow for the effects of proofreading, etc., and all
the things that are always done when producing something for
publication. I expect that the differences in grammar and orthographic
errors will be insignificant.

A 30-minute test is ridiculous. More meaningful would have been
end-to-end time to complete a given document. Maybe then Word would have
still been faster; I don't know. But that doesn't tell the whole story
by any means, including the very important matter of long-term storage
in a non-proprietary format.

Bob Newell
Honolulu, Hawai`i
* Sent via Ma Gnus 0.12-Emacs 24.3-Linux Mint 17 *

Re: [O] Drawers and visibility cycling

2014-12-28 Thread Bob Newell
Steven Arntson writes:

 Here's my not working process:

 + type some sample text.
 + select the region and do `C-c C-x d'
 + I'm queried for the title of the drawer and type test

 The result looks like this:

 test content

I've always had to put the drawer title in a line with all the drawer
names like this:


Bob Newell
Honolulu, Hawai`i
* Sent via Ma Gnus 0.12-Emacs 24.3-Linux Mint 17 *

[O] Writing Challenge

2013-10-19 Thread Bob Newell
A couple of us who are writers have worked on a writing challenge
spreadsheet. This year, for the upcoming National Novel Writing Month,
I've greatly modified (read: made more complex) the challenge
spreadsheet, and implemented it in org-mode.

It's attached, for anyone who's interested. I know there are other
writers and WriMos out there.

It probably has bugs. No, it surely has bugs. Comments welcomed.

I'm kind of attachment-challenged so if it doesn't appear below, get it

Bob Newell
Honolulu, Hawai`i
* Sent via Ma Gnus 0.8-Emacs 23.3-Linux Mint 13 *

#+STARTUP: align

* The new writing challenge - how it works

There are three numbers that enter into the challenge: base words,
quota words, and target words. The base is the minimal number of words
to write every day to count as a writing day. The quota is the number
of words you must write to meet the challenge. It is a dynamic value
which increases as you write more and decreases as you write less. The
target is the number of words you must write to reach your word goal by
the end of the challenge.

So for NaNoWriMo, the target is definitely 1667. The base can be
whatever you wish, but 250 seems good as a general number, for NaNo as
well as other challenges. The base should /not/ be set too high. The
whole point is to make each and every day a writing day, and not make
it so burdensome that it's easier to skip.

In non-NaNoWriMo-like situations, you may well want to set the target
equal to the base. It's up to you. However, if you have a deadline for,
say, a 10,000 word novelette, you can set the target accordingly by
dividing the number of days to deadline by the required word count.

You must write at least the 'base words' every day to keep
your chain going. If you write at least 'base words' you get a score
addition equal to your new chain count, but never less than a one point

Chain count increases by 1 if you meet quota exactly. It increases by
less than 1 if you're under quota but still at least at the base words
count. Chain count increases by more than 1 if you exceed quota. Chain
count will always increase if you meet base word count.

Quota then changes for the next day. The value is the multiple of the
most recent chain count times the increment value. The increment value
shouldn't be set too high. 4 is a good number; this would mean an
increase of about 120 over the course of the month if you write to
quota each day.

If you don't do the base word count, on the first day you miss, chain
count goes to -1. The chain count decreases by one for each missed day
in a row. The total score is decreased on each missed day by the chain
count. So as you miss more days, score drops faster. Quota gets reset to
the base word count. Score never goes below zero, though (it's like a
total reset when you reach zero).

When you starting meeting the base word count again, chain count is
changed to a positive number with the scoring and quota rules as above.

Sensitivity to being under or over quota is fairly low. The recommended
logbase value is 100 which yields log 100 of words/quota). You do get a
boost for being way over quota and less of a boost for being under, but
the real sensitivity of the method is to writing the base amount every
day for as many days in a row as possible. For this reason a low value
of logbase (which would lead to bigger chain count changes) isn't

The target influences score but not chain count. Score is increased or
decreased based on both daily performance vs. target and cumulative
word count vs. cumulative target. The parameter tdlogbase controls
daily sensitivity, and tclogbase controls cumulative sensitivity. Make
these large numbers (like 1000) to largely cancel these score effects
if you don't want them. 100 for tdlogbase and 200 for tclogbase are
recommended for moderate but not excessive influence. 

Note that it is possible for score to decrease even if base and or quota
are met in a given day, due to target influences. Getting way behind on
cumulative target will have lasting effects. 

Point counts can get pretty large with sustained writing. The method
should be reset after each challenge period, which might be 30, 60, or
at most 90 days. A month is probably best.

This method is derived and modified from the original Hawai`i challenge
(by Tony Pisculli) which, while truly excellent, was fairly static and
used fewer tracking and scoring factors. The new method is more in line
with what you'd expect from an MIT engineer.

The advantage of the new method is that it is dynamic and adjusts to
performance. The more you write, the more you need to write to get
bigger bonuses. If you slack off, you still need to write minimums but
there is some mercy on the quota.  Bonuses are sustained by being built
in to the chain count. This makes the new method a stretch
method. However, using log 100 instead of log 10 ensures that the
stretch is reasonable

[O] Per-window visibility cycling

2013-07-07 Thread Bob Newell
This likely has been asked in the past but I didn't find it so please
allow me :)

Is visibility cycling per-buffer and not per-window? 

I ask because I want to do a horizontal split of a window containing an
org-mode file. Then I want to do a certain level of visibility cycling
in the left side to sort of make an index. On the right side, I want to
open/close various tree branches without affecting the left side.

But the two always seem to stay in sync with respect to visibility.

Any ideas appreciated.

Bob Newell
Honolulu, Hawai`i
* Sent via NoGnus 0.18-Emacs 23.3-Linux Mint 13 *

[O] Distinguish between blank and zero in org-mode spreadsheet

2012-12-10 Thread Bob Newell
Can't find out about this anywhere.  My apologies if I missed something
simple or something already posted.

I want a calculation to appear in column 9 if and only if column 2 is
non-blank. If there is an explicit 0 in column 2, I want the calculation to
appear in column 9. But if column 2 is blank, I also want column 9 to be

I made it work with the following elisp example:

$9 = '(if (eq $2 )  (* (string-to-number @2$8) (string-to-number $1)));S

But the question is, can it be made to work with a calc formula, which
would be possibly a little more straightforward? All of the other columns
have the same requirement, and some of the formulas are quite long, so
doing many, many string-to-number functions makes things very cluttered.

The problem obviously revolves around a blank cell being interpreted as
zero. That's all well and good, and quite correct, but makes distinguishing
blank and explicit zero more difficult.

Re: [O] Distinguish between blank and zero in org-mode spreadsheet

2012-12-10 Thread Bob Newell
I'm making it work, and using L rather than S turns out to be better, as in 
this revision of my example above:

$9 = '(if (eq $2 )  (* @2$8 $1));L

But when I want different actions when there is an explicit number (including 
vs. a blank cell, and if my action is at all complex, I end up with one monster 
like this:

$3 = '(if (eq $2 )  (if ( $2 @2$8) 0 (calcFunc-max 0 (calcFunc-ilog (/ 
@2$8) 2;L

and it just seems that there oughta be a way to do this with calc and outside 
of elisp. I've tried all sorts of calc things without success to date. 

(This gets even worse when you work with ranges and need to do operations on 
cells in those ranges.)

I guess the upside is that with elisp you can eventually do almost anything 
comes to mind, if you have enough patience.