
Life is 90% of my use cases for org-mode - billwear
http://stormrider.io/ninety-pct.html
======
gandalfgeek
Whenever there's an Emacs thread on HN, I want to post the following quote
from Neal Stephenson's "In the beginning was the command line":

"It is written in Lisp, which is the only computer language that is beautiful.
It is colossal, and yet it only edits straight ASCII text files, which is to
say, no fonts, no boldface, no underlining. In other words, the engineer-hours
that, in the case of Microsoft Word, were devoted to features like mail merge,
and the ability to embed feature-length motion pictures in corporate
memoranda, were, in the case of emacs, focused with maniacal intensity on the
deceptively simple-seeming problem of editing text. If you are a professional
writer--i.e., if someone else is getting paid to worry about how your words
are formatted and printed--emacs outshines all other editing software in
approximately the same way that the noonday sun does the stars. It is not just
bigger and brighter; it simply makes everything else vanish."

~~~
iLemming
> emacs outshines all other editing software in approximately the same way
> that the noonday sun does the stars

What makes Emacs genuinely great? Not that it was built a long time ago and
withstood the test of time. Not the fact that it is absolutely free to use,
distribute and extend. Not that it doesn't have tons of bugs (it does), or has
superb support for every known programming language (it does not).

To understand what makes Emacs so awesome, to learn and master it, one simply
needs to embrace the single fundamental truth about it. Emacs based on Lisp.
And please don't make a mistake - I am not talking here about a programming
language. I am talking about an idea - one of the most magnificent ideas in
computer science. Embrace the awesomeness of that idea, the fluidity, and
malleability of the structure. Accept it with all its incredible power and
some unavoidable flaws - and you will gain superpowers. Which is not
necessarily a good thing. Let me explain.

There's a scientific term "umwelt" that biologists use to describe the world
as experienced by a particular organism. Every one of us has this "umwelt" \-
our "subjective view of the world." Our umwelt is limited by our physical and
mental capabilities, past experiences, and social circles we grow up and live.
e.g., your subjective understanding of Renaissance Art would drastically
differ from when you're taken to a museum at the age of three, and when you go
there as an adult, or after studying art for fifteen years.

Learning and understanding Lisp expands your umwelt. You will start seeing
things differently. It doesn't inevitably make you a better programmer; it
might, but doesn't guarantee it, just like suddenly gaining the ability to see
things in the infrared spectrum not guaranteed to make your life better.

Finally, once you embrace the idea of Lisp, soon enough, you find out - humans
have yet to invent a better Lisp environment than Emacs.

And that's what Emacs is - it is not just an editor, it is not a mere IDE.
Most importantly, it is a Lisp environment - living, "breathing", dynamic and
malleable. That's what makes it so extensible. And that's what makes it so
versatile. And that's why it will never die.

~~~
noahl
I have a suspicion, which I have never verified, that the things that make
emacs great are basically the things that made Lisp Machines great back when
those were a thing - that emacs is best viewed as a Lisp Machine embedded in a
modern operating system.

I never used a real Lisp Machine, but I'd love if someone who did can confirm
this.

~~~
iLemming
The closest thing to a Lisp machine you can get today is if you use Lisp based
window manager. StumpWM or EXWM.

~~~
_emacsomancer_
EXWM or StumpWM+Emacs, since the window managing bits are pretty small
compared to other tasks (manipulating text of various sorts) that one would
use Emacs for.

------
AJRF
I once wrote a long comment on Hacker News about how I wasted 2 years on
trying to learn emacs. I wish I could go back and stop anyone from ever
reading it in case I put someone off from trying it.

I was in a weird place at the time and scapegoated emacs for my lack of
productivity. Don't get me wrong it is possible to spend a lot of time
fiddling with your config files for emacs.

I picked emacs up again after I quit my last job (quitting made me almost
immediately a happier person). I decided to only use packages that would help
me to write code, and EVIL mode. So lsp-mode (and the associated lsp-servers),
flycheck for syntax highlighting, DAP for debugging & breakpointing code,
magit for git and Projectile for project management.

I read the documentation thoroughly for each plugin to actually see what it
was doing, and many times jumped directly into the source code of the plugin
to see how it was moving under the hood. I started using org-mode to document
my journey into each plugin and grew really fond of the ability to collapse
points under headers and freely move the headers about in the file with a few
keystrokes.

I loved that I could create my own IDE using emacs-lisp. I have a completely
minimal interface with just the mode-line and the pane of text. No gaudy
menus, no enormous always present side panel, no top bar. Just me and the
text. When I start the program it loads an empty window. There are no
distractions in emacs, and no incentive to ever add them. And if Stallman ever
decided to sell out, I have a fork of the code at its current version which I
could use forever.

I jump between backend and front end code in emacs and due to the hooks and
mode setup, it always knows the right things to turn on to make it easier to
work on that specific chunk of text.

Emacs is an alien technology. It has so much power I didn't know what to do
with it at the start and that scared me. I dedicated a bit of my life to it,
and now I am confident knowing that if I pick up a new language in the future
I will be writing it in emacs.

~~~
burntoutfire
I wish someone did a thorough comparison of emacs with the newer extensible
editors, such as Sublime. Is there something substantial that Sublime users
are missing?

~~~
AJRF
I'll give two examples to showcase features other editors are missing -
ownership over the editor, and the extent to which you can build on top of
existing primitives.

1\. Can you change where the command palette shows up in Sublime? In emacs
(M-x is our Command Palette) I can not show it, I can show it as a full width
pane that takes up 50% of the screen, or I could recreate the Sublime Text
look and feel (top of the screen X width, Y height). This looks like a toy
example but I'm trying to show that there is not a single part of emacs I
don't have control over.

2\. Okay how would you do the following in sublime;

Your company is getting into credit checking. As such you now are beholden to
certain rules and regulations around the safety of your code, and now your
product owners want an update every time CreditCheck.java is modified by
someone. They want to be notified in a Slack channel and also by email. They
don't care if the top 30 lines are changed, but anything after that is
important.

In emacs, I would make a hook for CreditCheck.java that any time I saved the
file, it would run through the changes, check if there is a diff from line 31
onwards, and if so send a slack notification and send-mail the diff to the
product owners.

I would just open my settings.org file and add the emacs-lisp to do this and I
wouldn't even need to restart to avail of it - I could just load-file and have
it working. All within emacs. You could do this via a tangle of shell commands
sure - but emacs lets you do it emacs-lisp with ease.

Programming in the real world is full of stupid like processes like this, and
emacs makes it easy to accommodate them. (Not saying that you should
accommodate them, but the real world can be messy)

~~~
sverhagen
I think that most companies would not find it adequate for the compliance
regulations to be implemented "client-side". Mine would certainly answer your
question: "how would you do the following in Sublime" with: "not at all", or:
"please don't".

As for your former point of configurability; all power to you; I think that
there is a spectrum where many folks choose to be more on the end of the
spectrum where there is paved roads of using an editor that looks a certain
way through the consensus of its users. Instead of picking between a super-
configurable editor and one that isn't, I think many users choose between two
less so configurable editors (I imagine IntelliJ and VS Code are good
examples) for the one that just suits them better than the other.

~~~
AJRF
You are missing the forest for the trees here - and I imagine that's by
choice.

I'm not saying emacs shines as an audit trail - I am saying the processes by
which you work can be incorporated within emacs very easily, in a way that is
unmatched.

I can see why people tend to ignore questions around specificity of why they
like emacs - the goalposts never stop moving.

~~~
IanCal
> You are missing the forest for the trees here - and I imagine that's by
> choice.

To flip this around, I'd say you're fascinated by the forest when someone else
just needs a tree.

I understand the excitement and the freedom you're describing. What I think
you're missing is that if others don't see a need for what you're describing
it not only doesn't sound useful but sounds like the tool is definitely not
aimed at them. This is not them being deliberately obstinate.

In the classic spirit of tortuous car analogies for technology - there is a
benefit in having a car you are able to maintain yourself. But when asked why
this car and not another if the examples all sound like "You could add six
steering wheels and put a tyre on top and have the horn play jingle bells only
on christmas if you wanted!" then it immediately puts people off.

~~~
AJRF
Sorry but I entirely disagree with you here given the context - I am answering
the question "Is there something substantial that Sublime users are missing?".

What I described is a substantial benefit of using emacs over sublime text.

If you are a programmer there are many benefits to total control over a
system, and the ability to compose new functionality from a solid foundation
of base functions. Now, you could happily use emacs forever without ever using
that control, but the difference is with something like Sublime control you
don't even have the freedom to make the choice as to whether you want to or
not. It's out of your control, which is a downside when compared to emacs.

The OP wasn't asking why would anyone want control they were asking what are
the benefits of emacs in comparison to sublime.

~~~
IanCal
> What I described is a substantial benefit of using emacs over sublime text.

I think you're _assuming_ "more control" is a substantial benefit for them.

> The OP wasn't asking why would anyone want control they were asking what are
> the benefits of emacs in comparison to sublime.

Right, but if you don't see a strong use case for that control it isn't a
benefit. The examples you gave were of changing the UI in a way I am not
interested and a way of triggering emails and slack messages when I save a
file which would be actively harmful.

Giving me the ability to do something I _do not want to do_ is not beneficial.
It's like telling me a car is better because it's so modifiable I can install
a Margaritaville. That would be a bad change to me so it's not selling me on
the benefit of this car.

~~~
blindluke
> Giving me the ability to do something I do not want to do is not beneficial.

Expecting that an example should be tailor-made is not very beneficial,
either. When I go out to buy a car, and the salesman tells me the trunk is big
enough to fit a grown pig, this information is of use to me. Not because I
smuggle livestock, but because this gives me a good idea of what the capacity
is.

~~~
IanCal
I'm not expecting a tailor made example, but as you say one that I can compare
to my own situation.

Obvious things would be like vims make command - I'm not going to turn around
and say a webpack example isn't relevant because I'm a python guy as I can see
a direct parallel. But lots of this is standard and in major ides, or well
written and tested plugins are available.

Saying I can send emails on a file save is not that useful as I can't see any
reason I'd want to do that. I'd definitely not want to throw together a
regulatory setup - that should not be something solved there (margharitaville
comparison).

Broadly - it's not necessarily that the rest of us are missing some incredible
wonderous world because we're too blind to see. It may simply be that the
freedoms afforded are of little value to us.

Edit - I think I've got it sorted in my head why I don't care as much about
this.

My problems are typically shared by lots of other people, and so solutions
that suit me are readily available. I don't enjoy building my tools as much as
I enjoy solving other problems with them.

It's the same reason I got rid of my mythtv setup and just bought something
that worked to play videos. It was less flexible but did what I actually
wanted better than my own setup and didn't require me to build and maintain
it.

------
jeppesen-io
I wonder what the venn diagram looks like of those who enjoy the readability
of this blog and use emacs

~~~
komali2
It'd be hard to argue that it ISN'T "readable." Maybe some would think it's
ugly (I don't), but objectively speaking it's ticking every "readability" box.

~~~
smichel17
On mobile it's very difficult to read because the font is too small and line
width is too long, so I have to choose between squinting or scrolling back and
forth and back and forth and.. (or use Firefox's reader mode). I don't mind
plain text, but this site is several orders of magnitude harder to read than
[http://motherfuckingwebsite.com](http://motherfuckingwebsite.com)

~~~
shanemhansen
On mobile it's really easy for me to read. Don't is at a natural size and
lines wrap appropriately.

[edit]

Oh I see it looks bad in Firefox on mobile. Fair enough.

~~~
smichel17
I do most of my HN browsing in the app [Materialistic], so I usually first
look at articles using the built-in webview, then open externally in Firefox
if that doesn't render correctly (which is unfortunately common. Not sure why,
but I'm inclined to blame either the app or webview; for example, Wikipedia is
served as a static site but renders as a blank page). In this case, they both
rendered the same way (but was able to read the page with FF's reader mode).

[Materialistic]:
[https://f-droid.org/en/packages/io.github.hidroh.materialist...](https://f-droid.org/en/packages/io.github.hidroh.materialistic/)

------
Rerarom
I don't use emacs.

I use text files to organise myself but I use notepad++ to edit them.

I have tried to learn emacs a couple of times but I am really unmotivated -
don't see any case where it would help me. I am afraid I'm missing something.

~~~
na85
I say this as an avid emacs user: Emacs has a real problem in that it's very
powerful but the, let's say, spiritual leader of the project (Stallman) is so
wildly divorced from the real world because of his personal choices that he
really has no idea what makes a compelling UX vs what makes a complete mess of
arcane incantations. On top of that, the documentation is only suitable as a
reference for someone who already knows emacs, so it's hard to learn.

To wit: Again I really really like Emacs as a piece of software, and I've been
using it for like 10 years now. Maybe 3 or 4 of those years I've been using it
reasonably seriously and even I find my eyes glaze over because of how dense
and unapproachable the documentation is.

On top of that, being a political project, Stallman actively resists certain
improvements to Emacs that would for example make it work better on my Mac,
because my Mac is nonfree and Stallman would rather have an objectively poorer
piece of software than one that "encourages" using MacOS.

And of course the other senior people in the Emacs project don't want to go
against Stallman, so emacs is doomed to being a mediocre niche text editor
with unrealized potential to become a household name.

If someone wrote an open source clone of Emacs that adopted some sane
defaults, modern UI conventions, and dropped all the political BS it could be
so much better.

Alas I don't have the skill nor the time to attempt such a thing.

Edit: hey how about a substantive reply rather than drive-by downvotes?

~~~
taeric
If all you think it needs are sensible defaults, try just bending said
defaults.

I'm somewhat curious what choices of Stallman's you think are holding it back.
Feels more alive to me than it has ever felt. And that branch that is using
gcc to compile elisp is a delight.

I concede I expect there are choices made that could be bad; but I suspect
most of the choices people think matter, don't. Which is why i highlight the
compiling elisp branch. A complete rewrite would not have had as much of an
impact. And, frankly, I feel elisp is easily as good of a language as any
proposed choice. Better than most.

~~~
tetris11
This. How is Stallman holding back the UX?

~~~
iLemming
He ain't holding it back. He's stalling it. He's the Stall-Man after all.

------
jonathanstrange
Whenever there's an Emacs thread I feel really bad like an impostor, because
I'm using Emacs daily for work and hobby for the past 15 years now and still
only use only 5 to 10 functions regularly. Heck, I can't even remember the
keyboard combo for getting help about a mode. When I have to install a new
package, I use Melpa and copy&paste init code for the .emacs file from the
web. If it doesn't work or breaks, I usually just use another package because
it's too hard to fix the error. My .emacs file is a total mess and I have no
idea what 50% of the code in it is doing. Do I need it or should I comment it
out? I don't know.

Two years ago I tried to start using org mode and bought the printed org mode
book but it just turned out to be too complicated and too much time to adapt
all the publishing settings for me to be of any use.

For a while I used a Bibtex tool which was weird to use, and now I'm using
KBibtex again.

I guess what I'm trying to say is that Emacs is a great editor but I wish
someone made an AI-powered assistant called "clippy" for it that makes
suggestions for commands one might use when working in Emacs. I just can't
remember all those keyboard shortcuts for every mode.

~~~
taude
Sounds like the package which-key [1] might help you out. (It comes pre-
configured for those who use Doom Emacs, but I was using it in my personal
config for awhile.). From the about: which-key is a minor mode for Emacs that
displays the key bindings following your currently entered incomplete command
(a prefix) in a popup.

[1] [https://github.com/justbur/emacs-which-
key](https://github.com/justbur/emacs-which-key)

~~~
iLemming
I bet you'd love this feature.

M-x which-key-dump-bindings

[https://twitter.com/iLemming/status/1129578330687123457](https://twitter.com/iLemming/status/1129578330687123457)

Check it out, if you didn't know about it.

------
dingaling
It takes impressive wordplay to contort Emacs and org-mode into a philosophy
of "Keep it simple"...

~~~
iLemming
I think you're confusing "simple" with "easy." You may be looking at the
controls of a military helicopter for the first time - switches, knobs,
buttons, joysticks, etc. and probably feel very confused. But ask any
experienced pilot, "Why can't all that be replaced with a single touch-screen
interface? Wouldn't that be so much friendlier and intuitive?" they'd look at
you like you're out of your mind. For them, those controls are probably the
most efficient interface they can imagine.

There's a strong correlation between things that are confusing for the
beginners, but over time become incredibly simple to use and things that are
easy to start with, but over time they become cluttered, inefficient and
frustrating to use. Emacs and Org-mode are not easy to learn, but they can
simplify a lot of things later.

------
elwell
I use Notes mostly, because it's synced to my phone and I can paste images
(usually screenshots) in it easily.

~~~
amake
I made an org-mode viewer for iOS and Android. It can load from anything that
supports the standard file access API (so Dropbox, Google Drive, etc.).

[https://orgro.org](https://orgro.org)

~~~
sva_
I'd absolutely buy this if you made it support inline LaTeX fragment rendering
(as emacs does[1]). Without it, it's sadly fairly useless for me as a math
student. A subset of LaTeX would be sufficient, such as that supplied by
KaTeX[2]

[1] [https://orgmode.org/manual/Previewing-LaTeX-
fragments.html](https://orgmode.org/manual/Previewing-LaTeX-fragments.html)

[2] [https://katex.org/](https://katex.org/)

~~~
amake
There is a TeX package for Flutter so that might be doable.

[https://pub.dev/packages/flutter_tex](https://pub.dev/packages/flutter_tex)

------
spenczar5
> __Network __: Since I 'm set up to send email, IRC, Mattermost, etc.,
> directly from my org-mode tasks, it's easy to track where I am.

I'd like to know more about this because it's something I struggle with while
using org-mode. I want to have some sort of bidirectional link between org
mode and Github issues for my projects; new issues should arrive in my "inbox"
org file, and I'd like a simple way to update the status or commentary around
issues from inside org-mode.

Does anyone know of good tools for this sort of thing, or should I take the
plunge and really write a lot of elisp?

~~~
billwear
I'm afraid it's macros and elisp, but don't forget that you can write a good
amount of useful elisp by recording macros and saving them in your .init file.

------
platz
Unfortunately, org-mode is only a portable format if you stick to bare-bones
org-mode; if you start using any of the "power-features" unique to org-mode
you're stuck.

And if you restrict yourself to markdown-compatibilty, why not just write in
markdown?

~~~
iLemming
\- Markdown is not consistent across the platforms that support it. If I wake
you up at 3AM would you remember the format of links? is it parentheses first
or brackets?

\- Extensibility. e.g.: I got tired of manually typing description of links
when I insert a link to a GitHub issue, I just wrote a tiny snippet that
automatically retrieves the title of that issue.

\- Literate programming. For example: I can have a python snippet that when I
evaluate, results would be piped it into another snippet in SQL that retrieves
data from postgress, and then I can send a http request to a remote API based
on what's in DB, and then use that to build a chart. Can you do that in
Markdown?

\- LaTeX support. I can write some complex math formulas.

\- Exporting. I can turn my Org-mode file(s) into a reveal.js presentation,
into a book, or a web-blog.

\- etc.

~~~
contravariant
> Literate programming. For example: I can have a python snippet that when I
> evaluate, results would be piped it into another snippet in SQL that
> retrieves data from postgress, and then I can send a http request to a
> remote API based on what's in DB, and then use that to build a chart. Can
> you do that in Markdown?

I've found you can get pretty close if you combine it with Jupyter notebooks.
When you use jupytext [1] or similar to synchronize the markdown and ipynb
then it works quite nicely.

Oh and as far as LaTeX / exporting is concerned, just use pandoc, you can
export it however you want basically.

[1]:[https://github.com/mwouts/jupytext](https://github.com/mwouts/jupytext)

~~~
tincholio
Doesn't that require you to jump back and forth between browser and editor?
also, does Jupyter support running multiple kernels in the same session? Org-
babel allows you to mix and match languages freely.

There's also really good support in Emacs for interacting with Jupyter, too
[https://github.com/dzop/emacs-jupyter](https://github.com/dzop/emacs-jupyter)

~~~
contravariant
Well you can edit the markdown in the regular jupyter browser. They haven't
embraced plaintext in quite the same way emacs did though (so for some
niceties you do need to use a browser, similar to how you need to use the
emacs-gui to embed images).

Coincidentally I haven't really managed to get the equation rendering right in
emacs, the org-latex-preview seems quite slow. It's unfortunate that emacs
isn't able to take advantage of things like KaTeX, there are historical
reasons for this but still.

Mixing languages seems to be possible [1], though I haven't personally used
it.

[1]: [https://vatlab.github.io/sos-
docs/doc/user_guide/multi_kerne...](https://vatlab.github.io/sos-
docs/doc/user_guide/multi_kernel_notebook.html)

------
focus2020
There is another Emacs package "pdftools" which is very underrated. It's
amazing package, and just like org-mode pdftools will also be useful for the
next several decades

------
ashton314
I was but a wee lad of seven years when my father took me to a closet in our
family office/craft room space and gave me a login to a FreeBSD machine
running there. He showed me how to use Emacs and mutt—I sent my first email
via a TUI.

It's been almost two decades since then, and I still use Emacs every day. I
only recently got into org-mode. Boy was I missing out. I felt like a wizard
compared to my classmates and peers, but now I feel like I've _seriously_
leveled up.

What motivated me to learn how to use org-mode was a nice solution that worked
on mobile. My favorite org-mode client for mobile is beorg [1]. (No relation
to the app, other than a happy customer.) For general note files, I generally
use Working Copy.

If you'd like to get into org-mode but are held back by the experience on
mobile, give beorg a try. You will thank yourself.

[1]: [https://beorgapp.com/](https://beorgapp.com/)

------
MichaelMoser123
there is an org mode for vim, how good is it? [https://github.com/jceb/vim-
orgmode](https://github.com/jceb/vim-orgmode)

(also i never understood why collapsible nested lists make such a big
difference)

~~~
theodcr
Not that great in my experience, good enough to read and navigate through org
files, but lacks many features and has performance issues. vimwiki
[https://github.com/vimwiki/vimwiki](https://github.com/vimwiki/vimwiki) is
probably the best note-taking plugin for vim.

~~~
episode0x01
I've been using vimwiki daily for the past month after I saw it mentioned here
on HN. It's really changed a lot and has replaced the method I had before that
involved VScode markdown snippets. It's nice to be able to directly link
between my diary / task lists and my general knowledge base that contains code
snippets and information about my projects, etc.

~~~
MichaelMoser123
i am still trying to figure: how is that any better than having the stuff as
indented text, or writing it downs as markdown?

------
devnullbyte
I have had a few stints of trying out emacs. I used spacemacs, doom and rolled
my own. It never gained any traction for me. I think the reason for this, is
that the amount of time I would put into memorizing all the shortcuts and
control / meta combinations, setting up all the lisp plugins (and then
remembering their control key / meta combinations) is just not worth it for
the time lost setting up and learning for the productivity gained. I am better
to just use an IDE with all its bells and whistles and for general terminal
work my old simple VIM set up easily does the job.

As far as org-mode, meh. I really don't see whats so amazing about collapsible
to-do notes anymore. As for email, listening to music etc, I am sorry, but
browsers do that job very well and with zero time needed to scour around blogs
trying to get them to work.

------
drivers99
> The unwieldy part came with all the repeated tasks, and tasks that got
> carried over from one day to the next (or didn't get finished). I had to
> copy yesterday's file, change all the key info, sort out the todo list,
> erase yesterday's journal, and generally do far too much work to keep my
> journal up.

I have that problem with my systems. I was hoping he would explain the
solution specifically.

------
billwear
no offense, but i thought i would take to heart your tips about my abysmal
format. falls under the category of "release early, release often." kinda like
the borg, but without nanoprobes.

------
svnpenn
Does anyone know of a small Emacs distribution? I would like to get into
Emacs, but its hard to justify 114 MB:

[https://ftp.gnu.org/gnu/emacs/windows/emacs-26](https://ftp.gnu.org/gnu/emacs/windows/emacs-26)

Versus Vim 18 MB:

[https://github.com/vim/vim-
win32-installer/releases](https://github.com/vim/vim-win32-installer/releases)

~~~
dmd
Justify in terms of what, exactly? At current disk prices, 114 megabytes costs
less than a third of a US penny. Even at minimum wage, you'd make that in
under a second.

~~~
svnpenn
surely someone of your pedigree can understand, not everything is about money.
Why should I use something 6 times larger? Without a benefit thats just
software bloat from where I sit. and GNU is known for this, from glibc on up.

~~~
ramraj07
Unless you are actually running out of space, why is that even a criteria?
Unless two programs are exactly feature-paired, why would you even think about
how much storage they take up? The only explanation is that your work has made
you think about space taken by programs for legitimate reasons and you are
unable to think outside that mindset - when the cheapest phones ship with
50-100x more space than that, when a single minute of video from a regular
persons phone could take up this much space, when the regular user consumes
10x that bandwidth every day in the internet? Who cares if it's 100 MB?

