Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Ask HN: Why Do You Like Emacs' Org Mode (Or Derivatives)?
11 points by gavinhoward on Jan 5, 2023 | hide | past | favorite | 23 comments
I've seen so many people talk about why they like Org Mode, and hardly anyone speak ill of it. This is not typical of software, as the saying goes:

> There are two kinds of [software]: the ones people complain about, and the ones nobody uses.

But Org Mode seems to break that, and I want to know why, I want to know its magic, especially since I never really felt a need to organize my life that way.

If you are the exception, please also say why you don't like Org Mode.



I guess I've been using Emacs for 20+ years at this point, but I've only started using org-mode in a serious way in the past two/three.

One of the things I like most about it is that it doesn't enforce any particular work-flow on you. That lack of structure means that I can arrange and organize things as I see fit.

I keep two journals/diaries using org-mode:

* One for work, where I write down "everything" I did that day, often with commands and output as I do various tasks.

* One for my personal life, dates with people, notes on when I bought things, and regular recurring tasks for the house (e.g. "change toothbrush" every two months.)

On top of that I'm a landlord, and I use a single file per property. Records of tenants, monthly income/expenses.

I wrote some simple lisp to create tables of income per-tenant, profit/loss over distinct years, etc.

Every time I enter a suitable row for a month the whole document updates:

* Income/Expenses for the current year.

* Global income/expenses since I got the property.

* The tenant-table gets updated to say "Victoria total income: €1234, tenant for 14 months".

I wouldn't have setup such a system in a google sheet, or similar, but having down this now I just copy and paste a bunch of tables and change 2022 -> 2023 and I'm all set for the current year.


Lack of structure is not what I expected to see as a plus, but now that you say it, it makes sense; every person is different and needs a different organization.

It seems like Org Mode is an programmable documentation environment. Is that a correct understanding?

While I use a double-entry accounting system for my budget, and thus won't ever use Org Mode like you do for your properties, I'm utterly fascinated that Org Mode can do that.

Your mention of regular tasks caught my eye too. I use a task manager on my phone and have to back it up manually. The best feature is a way of repeating tasks at various intervals. I don't have a "Change Toothbrush" repeating task (I should), but I do have some like "Change Furnace Filter" (every month).

I also have a notes repo with a bunch of unorganized stuff.

It sounds like Org Mode (well, Neorg; I use Neovim) might serve both those purposes and more. Is that a fair assessment?

(I wonder if there's an Open Source Android app for Org Mode...)


Yes I think it's fair to say it's a programmable system, because it can be extended significantly by either packages or your own local lisp setup.

I think org-mode could easily be used to maintain a collection of notes, whether in one large file or multiple small ones. (That's an obvious example of how no workflow is mandated - people make different choices on that, and use org-refile to move things between files too.)

I've seen android "viewers", but since they require having the file(s) on your PC and your phone they get a bit horrid - using dropbox to sync, or similar. For that reason I've never used them.


I use ledger-cli as my double-entry accounting system. It's been really helpful to have an Org file with literate programming blocks for the kinds of reports I regularly run and the TODOs to check various accounts' statements so that I don't have to remember things. =)


Probably the biggest drawbacks of org-mode are easy to spot up-front:

- Cross-device syncing isn't as easy to setup compared to easily accessible competitors.

- It's more/less coupled to using Emacs.

I guess if someone's willing to accept those things, it's unusual that they'd then go on to use it & complain about other aspects?

So, since it's software you choose for yourself, I think it's less likely to fit into that cliche "two kinds of [software]".

In terms of what makes org mode special? It's a plaintext format where the org-mode functionality has a long tail of features that are useful for organising things. -- e.g. to compare with markdown:

- both org and markdown have tables; but org tables can have spreadsheet functionality;

- both have code snippets, but org allows for executing those snippets;

- both have headings/subheadings, but org-mode also supports tags/task management. etc.


Your last three items seem to point at why: Org Mode is a programming environment and a notes environment. This seems to make the notes as powerful as and task manager or note taking software or even spreadsheet.

Is that correct? Am I understanding what makes Org Mode great?


I’d say there more nuance to that, but yeah, for me part of the magic is that I can manage/complete multiple tasks while not even thinking about leaving org-mode (or space|emacs).


My Org Mode and Emacs use has been a progression. I was looking for a flexible note-taking program without lock-in. I found Org Mode. I had to learn Emacs to use Org Mode. That is a crazy thought now that I know the implications. The magic is in the simplicity, if all you want is a folding outline.

The folding outline and flexibility were the greatest attractors to Org Mode but it of course did not end there. I originally read, took notes, and taught from my outlines. That was all for home and personal life, but it quickly invaded note-taking at work. Next, I started using it to store data snippets and run code which could present results in the same file. This solved a long-standing annoyance in my statistical keeping workflow. I created shopping lists for home and synced them with my phone. I have contacts stored using properties. On and on.

Now, the magic comes from the amazing flexibility. Start simple and easy. Keep learning.


* Not in love with it, but do use it.

** It's simple.

** If you can drive Emacs and tables it's easy to understand.

*** It's really easy to use with just basic Emacs commands.

** There are _lots_ of translators (pandoc) to make printable output. Or convert to/from markdown

** It's possible (easy even) to edit org mode in another editor "raw" (I do this in vi all the time for various reasons)

* It's not perfect.

** It has some confusing behaviours

** you have to work a bit to make it eg represent nested structures more prettily

* what do I do with it?

** time tracking

*** (but not using its clock)

** annual tax reconciliation

** note taking for meetings

* what have I done with it?

** tried doing task management TODO/done style

** gave up and use org mode tables to mark stuff as a daily diary and forward planner


Thank you for all of the points!

> * you have to work a bit to make it eg represent nested structures more prettily

Can you explain more? I like nested structures, use them all the time.

> * tried doing task management TODO/done style

> * gave up and use org mode tables to mark stuff as a daily diary and forward planner

One of the big things I would use it for is to replace my task manager, which uses the TODO/done style and which I like a lot, so can you explain why this was not possible?


In Emacs by default the nested star elements draw as repeat stars and usually you have to add an adjunct LISP segment to tell it to draw them as eg 4 indent single stars. Pandoc knows how to do the right thing.

The actual nest logic is fine. It's the on screen representation that bothers me.

ToDo works fine if you want to use its model. I got tired of trying to conform my work patterns to its cyclical states. I just use a simple org table now and mark things x for done o for open p for pending - for unknown.

If you live or die by time spent and time commitments it would be fine. My granularity to report is fortnightly and it didn't help me significantly.


> Not in love with it…

But notice the way the list is composed :)


Yes.. proof-by-example.


It's text, so no proprietary binary format. Text-based formats survive OS changes, death of applications, updates of either. Many learn that the hard way over time ...

It's my notebook, structured text, an outliner with programmable extensions, can accommodate snippets in any programming language (via #+BEGIN_SRC foo ... #+END_SRC tags), searchable with text-based tools like grep.

It's local data, but easily shared with all of my systems (synchronized).

It's available on my Linux machines, my Macs, my Android devices (e.g. via the Termux app)

Last but not least: It's working in my favorite editor. ;-)


Oh, it works in Termux? Interesting. I would want to use Org Mode (well, Neorg) on my phone too because that's where my task manager is.


Emacs is available as an installable package in Termux, so yes, org works too. And besides that there are dedicated Orgmode apps, e.g Orgzly. But those dedicated apps aren't as flexible as a full blown emacs.


After an initial small investment, I was able to take notes.

Then it was keeping my todos on projects at work, getting a list, etc. Then I could add source blocks and execute them.

Now it’s a literate and repl driven engine that is nearly a daily driver. I love the workflow because I build up the code and tests as I’m playing and tweaking it. The feedback loop is very strong. Plenty of maintenance cost though.


Hi! I'm an exception!

I find Org very hard to learn, mostly because I'm a "non-user" in the sense explained in the page below. Note that that page is about a video, and that it is possible to read the subtitles of the video without watching it by following the second link...

http://angg.twu.net/2021-org-for-non-users.html

http://angg.twu.net/SUBTITLES/2021-org-for-non-users.lua.htm...


> please also say why you don't like Org Mode.

I don't like that Org mode takes 30+ seconds to load on a windows laptop. After the library is loaded everything is fast for the rest of the Emacs session. There's thought in the Emacs world that loading time doesn't matter because you rarely restart Emacs. Org abuses this philosophy to the extreme.

This slow loading has made me shy away from using org mode as a documentation format for projects. I noticed some projects switched to org instead of markdown. Until load performance improves it's simply not an option.


That's weird. I use an old PC (i5-4250U) with a slow HD (SATA SSD) and it loads instantly. I run Linux, though.

Is this a known Windows issue?


I'm not sure if it's known. But in general loading stuff off disk or spawning processes is slow in windows.

But even on my fancy M1 mac, Org takes ~0.5 seconds to load initially. Assuming "emacs -Q". With some modest tweaks to org in my init.el it takes ~0.75 seconds to load Org initially.

Not too bad, but Org's load time abuse is still firmly in the realm of human perception on the latest, greatest hardware.

Here's a comparison between Org and Markdown modes initial load time on my M1 mac.

    markdown: 0.08 seconds
    org: 0.732128 seconds
Sure it's a price you only pay 1 time per Emacs session. And it's somewhat acceptable on Linux/Mac. But Windows is still an important platform and 30+ seconds is just ludicrous.


What's not to like?

I write all documentation and similar using Org Mode. I get all the power of Emacs text editing with easy tables, footnotes, hyperlinks, etc., and I can then export directly to PDF, HTML and so on.


Would you use it for e.g. documenting software, where your have to export to PDF's, web, man pages, etc? I'd love if one format could do all of that for me.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: