Executive summary of this rather long email: I am aware that ELISP is the language of choice for Org-mode features/tools. Here, I describe my motivation behind using Python instead.
* Rüdiger Sonderfeld <ruedi...@c-plusplus.de> wrote: > On Friday 22 November 2013 18:09:42 Karl Voit wrote: > > Org-contacts has an :ICON: property and supports Gravatar. It doesn't seem > to > be handled in the VCard export though. :ICON:, I see. Thanks. >> You see: I want to have ways to tweak the export process. And as >> long as I don't know ELISP that well, I stick to the tools I know. > > I understand that and it solved your problem for now. Exactly. > But having an external tool in a different programming language is > usually not a good idea to solve the problem in the long run. The > code base of org-contacts and your tool is under the risk of > diverting quickly. If it's in org-contacts then it is maintained > in one piece and easily accessible to other users. Don't worry: I totally agree. :-) > So my point is you should take a look at elisp. It's a lot of fun > to use and if you are using org-mode and Emacs then you will have > to learn it sooner or later. I tried but I could not get a decent progress to implement the features I want to use. It is a rather high learning effort. I am not only referring to ELISP as a language. The basics are not that hard to learn. However, the more important part is to get into the existing libraries and their feature-set. For me, I could not get into it or I am not patient any more :-) It might be laziness or my brain might not be compatible with the world of functional programming languages. Therefore, I develop all my Org-mode tools with Python which I am comfortably with. I have done various things and put it on http://github.com/novoid I agree that implementing this stuff in ELISP would have been better for the community. However, as long as I don't have an ELISP code-monkey that implements my ideas and wishes, I have to stick to Python which is doing well to me and I don't have to invest a couple of weeks/months of not being that productive. You don't have to forget that I am not a programmer - I am an advanced user who is tweaking his personal set-up in a small sub-set of his spare time. If the features of my tools are implemented in Org-mode as well, I feel happy about it. I don't want to write "please add this highly sophisticated feature to Org-mode"-messages on the ML and wait for somebody to implement it. I can do it on my own (in Python) and I am able to do it the way I need/want and I am able to *use* it right away. Works for me. Additionally, I would never be able to implement Memacs (see sig) without the help of several students of mine. And here is the next thing: I could get several students with Python-knowledge and no one(!) with (E)LISP knowledge. Sad but true. I have the feeling that ELISP knowledge is found only at a small set of experts. Therefore: I did it in Python and I am aware that this is not the best thing to do. However, if somebody finds my stuff handy, she/he can grab it from github. If somebody re-implements it in ELISP, I am fine as well. It is even "worse" than that: I totally insist on writing a complete stand-alone blog system which parses my Org-mode files and generates (static) HTML5: https://github.com/novoid/lazyblorg Bam! Worst case scenario! :-) I tried to get other people infected with my thoughts [1] on a IMHO perfect blog system. So far, it seems that everybody is happy with the blog generating systems we do have now. When I stick to my current development velocity of lazyblorg, it will be finished right for the Christmas season ... of 2014 ;-) > I have to admit the org-contacts format is pretty much ad-hoc and > not really well designed. It is documented a bit in the file > itself (contrib/lisp/contacts.el). M-x customize-group RET > org-contacts RET should also tell you more about the options. Thanks for the pointer. However, I consider my template a bit more elaborated since I want to differ things like, e.g., mobile phone, work phone, land-line phone, and so forth. > Your format choice is not fully compatible with the existing > org-contacts. Right now multiple entries are separated by space > (which sadly breaks for addresses) and different entry names are > used. > > However I'd look forward to some new ideas and improvements. > Right now it's not ideal solution. I am glad to help here as well if my help is needed. The current examples in org-contacts.el were not able to suit my personal requirements. Therefore, I did my own definitions. In future, I will derive my complete mailserver whitelist directly from my Org-mode contacts and more. 1. http://article.gmane.org/gmane.emacs.orgmode/49747/ -- mail|git|SVN|photos|postings|SMS|phonecalls|RSS|CSV|XML to Org-mode: > get Memacs from https://github.com/novoid/Memacs < https://github.com/novoid/extract_pdf_annotations_to_orgmode + more on github