Live data from Hacker News

Org-mode parser in Rust

github.com

71–80 of 85 posts

Re: Org-mode parser in Rust

#71

Earlier quoted context omitted.

> Why would this want to live outside of emacs? It allows us to throw different use-case-optimized GUIs at a sync'ed folder of org-mode files. A clear example are the mobile apps, but there are others. I've been using org-mode for a year, trying to replace a 5 year-old Evernote knowledge base/todo list, which itself inherited from a 12 year-old InfoSelect knowledge base. For task management, org-mode on spacemacs com…

> It allows us to throw different use-case-optimized GUIs at a sync'ed folder of org-mode files. A clear example are the mobile apps, but there are others. This is a good point, I agree. > As for the knowledge base features, however, I'm still far from being able to reproduce the speed and precision of recall that I had on InfoSelect, or even Evernote with a solid tag hierarchy. I also use Dynalist to have an outline…

> What does KB mean?

Knowledge Base

Re: Org-mode parser in Rust

#72

Earlier quoted context omitted.

> Why would this want to live outside of emacs? It allows us to throw different use-case-optimized GUIs at a sync'ed folder of org-mode files. A clear example are the mobile apps, but there are others. I've been using org-mode for a year, trying to replace a 5 year-old Evernote knowledge base/todo list, which itself inherited from a 12 year-old InfoSelect knowledge base. For task management, org-mode on spacemacs com…

> It allows us to throw different use-case-optimized GUIs at a sync'ed folder of org-mode files. A clear example are the mobile apps, but there are others. This is a good point, I agree. > As for the knowledge base features, however, I'm still far from being able to reproduce the speed and precision of recall that I had on InfoSelect, or even Evernote with a solid tag hierarchy. I also use Dynalist to have an outline…

> What speed and precision are you missing? It seems that org mode should have the capacity to establish any content connection scheme you could dream up.

That's what I thought too, but I haven't been able to accomplish it yet.

In InfoSelect I had a tree on the left that I could filter instantly and incrementally while I typed in the full-text search box (imagine org-sparse-tree + helm-org-rifle on steroids). In Evernote I have a double hierarchy of notebooks and tags (vaguely based on The Secret Weapon [1]) that allows me to create a new project tag where I pull together new action notes, meeting notes, and old notes from my 17-yo knowledge base. I'll have anything between 5 and 20 ongoing projects that I can toggle quickly on the left hand navigation bar. The notes are shown in a table where I can click on the header to sort by title, created date, or updated date, so I can find what I need within a few seconds.

I can also do a mixed full text/tag/date search adding filtering criteria as I go. In org, I have to decide beforehand what kind of search I want, and if it's a mixed search the syntax becomes very cumbersome.

With org, I can do none of the above on mobile.

In practice, this means that I have more trouble finding things in my 14 month-old org setup than I do in my 17 year-old knowledge base.

> What does KB mean? "Knowledge Base", sorry for dropping the acronym without definition!

> All a gui like the brain is doing is putting animations and a mouse on top, we can definitely specify things via the keyboard in a number of ways to replace the mouse, and who wants animations to begin with?

I have zero problems with using the keyboard. I've been using vim and editors with vim keybindings since the 90s and my favorite laptop of all time doesn't even have a touchpad. There are cases however where specialized GUI affordances can be helpful. I would say that navigating a huge graph of nodes using mind-map-style partial views is probably one of them. I know there's a brave soul trying to pull this off in Org [2] and I sincerely wish them success.

> If the main pull at the end of the day is that GUIs are pretty and text UIs aren't then let me point you here

Pretty is also important but the default Spacemacs theme is pretty enough for me. Mixing fixed and proportional fonts would be nice, I've had that on my to-do list for a while.

[1] https://thesecretweapon.org/ [2] https://github.com/Kungsgeten/org-brain

Re: Org-mode parser in Rust

#73

Earlier quoted context omitted.

> Why would this want to live outside of emacs? It allows us to throw different use-case-optimized GUIs at a sync'ed folder of org-mode files. A clear example are the mobile apps, but there are others. I've been using org-mode for a year, trying to replace a 5 year-old Evernote knowledge base/todo list, which itself inherited from a 12 year-old InfoSelect knowledge base. For task management, org-mode on spacemacs com…

> It allows us to throw different use-case-optimized GUIs at a sync'ed folder of org-mode files. A clear example are the mobile apps, but there are others. This is a good point, I agree. > As for the knowledge base features, however, I'm still far from being able to reproduce the speed and precision of recall that I had on InfoSelect, or even Evernote with a solid tag hierarchy. I also use Dynalist to have an outline…

[deleted]

Re: Org-mode parser in Rust

#74
post #66

Earlier quoted context omitted.

I think, the major appeal of it is that it does everything. Lots of "productivity"-applications are either TODO-lists or meant for note-taking or good for writing down concepts or are knowledge bases. But you can't really separate these. Often I'll write something down and later realize that I need to do xyx for that. Or that I want to schedule a reminder for this note. Other times I write something down just to have…

Perfect—thanks! Yeah, my current, main ideas txt file is something called "movies to watch.txt" —which does start with a list of movies, but then I added some random extended thoughts there temporarily and it has grown massively since. So yep, I may be a good candidate for using OrgMode ;) I tried out a demo of Notion ( https://www.notion.so/ ) not long ago and was pretty impressed by their editor (similar concept to…

> but the text editing required for OrgMode seems way too cumbersome

If you don't like key-chords then Emacs probably won't work for you, but just in case the video you watched wasn't clear about it, most of the markup is handled pretty much automatically by Emacs. Table creation and editing in particular works pretty much like in a graphical application. For example, if you want to create a table like

    | foo | bar | quux | qwerty |
    |-----+-----+------+--------|
    |  10 |  20 |   30 |     40 |
    |  50 |  60 |   70 |     80 |
All you need to do is insert the first row with the vertical bars to separate fields,

    |foo|bar|quux|qwerty
Then hit `C-c RET` and Emacs turns it into

    | foo | bar | quux | qwerty |
    |-----+-----+------+--------|
    |     |     |      |        |
with the cursor ready on the first cell under `foo`. Then you can just write the value and use tab to move to the next cell like in any spreadsheet program. Emacs will add new rows as needed and adjusts the table formatting automatically as you move to the next field (or when you hit `C-c C-c` if you don't want to move).

There are typical table editing commands available like moving, deleting and inserting columns or rows with [shift+]alt+arrows.

Re: Org-mode parser in Rust

#75
post #74

Earlier quoted context omitted.

Perfect—thanks! Yeah, my current, main ideas txt file is something called "movies to watch.txt" —which does start with a list of movies, but then I added some random extended thoughts there temporarily and it has grown massively since. So yep, I may be a good candidate for using OrgMode ;) I tried out a demo of Notion ( https://www.notion.so/ ) not long ago and was pretty impressed by their editor (similar concept to…

> but the text editing required for OrgMode seems way too cumbersome If you don't like key-chords then Emacs probably won't work for you, but just in case the video you watched wasn't clear about it, most of the markup is handled pretty much automatically by Emacs. Table creation and editing in particular works pretty much like in a graphical application. For example, if you want to create a table like | foo | bar |…

Ah, thanks! That actually is better than what I inferred from the video.

Re: Org-mode parser in Rust

#76
post #4

I love org-mode as a format and as a literate / notebook programming environment. And I love emacs. But, I think it’s great that more people are looking at org-mode outside emacs. I’d love to see alternative tool chains that push the capabilities and open more people to its magic.

As someone who only reads about the love of Org, could you breakdown what features you see as improvements over markdown, specially CommonMark? I often see Org and OrgMode conflated, where OrgMode seems to provide much more of an experience with the way Emacs has integrated it into the editor. Could markdown be as integrated and provide similar experience?

Org is just a shorthand as far as I know. Emacs Org-Mode works with files typically ending in ".org". I prefer to avoid the confusion by saying "Org-Mode" and "Org-Mode files" fully (and, I believe, properly).

Re: Org-mode parser in Rust

#77
post #46
post #44

Earlier quoted context omitted.

That sounds extremely hard to enforce, especially between languages that aren’t similar enough for a clear one-to-one correlation to appear. I could see this being an issue between CL and Scheme or two different kinds of shell scripting, but less so with Rust and elisp.

Most likely but I think the FSF has sufficient legal and technical chops to figure out if, in this instance, they have a good case and should contact the developer. As I recall, Stallman used to do something similar early on pre-GNU and stopped when he realized it wasn’t technically necessary, wasn’t even particularly helpful to himself in particular, and might even have legal implications to reimplement software wit…

In fact, I remember clearly that the FSF was extremely persistent that any tool that was going into user land in GNU had to be implemented in an obviously different way. This is one of the reasons why Bison produces faster code than Yacc. I think grep was another one of those, "Well we can't do it the normal way, so let's find a crazy way that will be super fast".

Re: Org-mode parser in Rust

#78
post #23

Earlier quoted context omitted.

And if I compile some GNU code (for example written in C) to javascript with a compiler, then change some details here and there can I change the licence to MIT? How derivative is defined? Manual compilation is ok, but automatic is not? But what if I beleive that humans are just fancy machines? ;)

It's somewhat interesting that someone might copyright the output of a compiler. Although in practice it's not terribly different from the source. > How derivative is defined? For the US, it's primarily defined in plain English in the USC. But subtle distinctions are made by court rulings/opinions.

This is actually why GCC has (or at least did at one point) an extra clause to the GPL to specifically allow its output to be used in non-GPL programs. Because the compiler output necessarily has to copy some bits from the compiler, it was the FSF's belief that programs compiled with it would become derived works and hence be forced to use the GPL. They didn't want that, so they added the extra clause.

You may think that's a strange interpretation, but before GCC many compilers took that exact same stance. You bought the compiler and you did not have a license to distribute the resultant binary. You had to pay an extra fee for the right to distribute your own compiled code. That pretty much stopped when Borland released a compiler with a mostly sane license. You can imagine why, though, that Cygnus made so much money doing contract work for GCC in the embedded space -- every other compiler required royalties for everything you shipped!

Re: Org-mode parser in Rust

#79

Earlier quoted context omitted.

The four differences between .org and CommonMark I could spot right now is that the latter lacks metadata[0], macros[1], syntax for specifying language for inline code blocks[2], and for tables[3]. It's hard to separate .org the markup language from org-mode the application, because quite a lot of its syntax is driven by application features. TODO markers, time stamps, schedule/deadline markers, property drawers, log…

Going off of table support: - org mode is at least as powerful as excel thanks to gnu cal or straight up lisp - org mode tables are nuts in the sense that you can refer to cells from your text (paragraphs, titles etc). Its neat because it means that when writting a report, you can refer to results of computations in tables - meaning that you can then change constants in the table and numbers will update in you docume…

I've written an entire XP planning tool in Org mode. Unfortunately I don't know where it is any more (it was a long time ago). I should dig it up.

Re: Org-mode parser in Rust

#80
post #74

Earlier quoted context omitted.

> but the text editing required for OrgMode seems way too cumbersome If you don't like key-chords then Emacs probably won't work for you, but just in case the video you watched wasn't clear about it, most of the markup is handled pretty much automatically by Emacs. Table creation and editing in particular works pretty much like in a graphical application. For example, if you want to create a table like | foo | bar |…

Ah, thanks! That actually is better than what I inferred from the video.

Yeah, just to cheer you on, if you are using Emacs just for Org mode you really can just learn the Org mode commands and use the editor just like you would any other insert mode editor. If you want to do complex editing, then it helps to know Emacs.

However, Evil mode now works pretty amazingly right now if you like Vim. I use Emacs with Evil and Vim practically interchangeably. My biggest frustration is a bug (which is probably unfixable) with how undo doesn't always correspond with a vi command. There are some details with how buffers are specified, etc, but you can customise it to get close.

Spacemacs is a pre-setup Vim setup for Emacs using Evil mode which is highly recommended, though I haven't used it (I like minimal setups). I don't know if anyone has ever setup edit-mode key bindings for Org mode, but I just use the Emacs ones (I was originally an Emacs user before switching to Vim... and then back to Emacs :-P )

Post reply on HN