Hacker News new | ask | show | jobs
by mjhoy 3567 days ago
The emacs ecosystem has really changed how I work.

I manage all of my email now in `mu4e`. I manage all of my notes, writing, TODOs, time tracking, invoicing in `org-mode`. For interacting with git, `magit` is simply amazing.

The most important thing is how everything works together. There is the obvious window, frame and buffer management, the kill ring, the searching across all open buffers. Less obvious is that while looking at email I can hit a few keys to create a TODO, schedule it for a particular date that will show up in my agenda, and will link back to that same email (which I can now move out of my inbox). Or, in my programming notes file, I can link to a specific commit for a project I'd like to come back to later.

And, the best part, which I've only barely scratched the surface of: everything is programmable. I can write an emacs lisp function to automate almost any part of my workflow.

5 comments

That mail workflow is good, and I use it too, but not in Emacs; most of the task management tools for OSX can link back to a specific email.

Are there other good reasons to use mu4e? I'm an Emacs person, but not yet an "I do my email in Emacs" person.

I use notmuch instead of mu4e, and have been quite happy with it for the last 7 years or so. The org integration is good, though I don't actually use it all that much. What is indispensable for me, though, is being able to start a longer message in a text file, save it, open a message window, (C-x i) the message file, pull in some code or text from another buffer -- basically to treat my longer emails the way I treat any other piece of text that I'm working on.

Similarly, if I'm writing, any mail (or attachment) from the last decade is just a few key strokes and a search query away, without ever really taking my eyes off my current buffer.

I know there are other ways to accomplish the same thing, but that close link between my mail and the rest of my writing is the main benefit, for me, of having my mail in emacs.

That's true. Beyond links to email, I also include links to a specific line in a file, links to a commit, links to a remote file (e.g., an apache config file), maybe some snippets of code, links to other TODOs, all in one TODO. So it's really having all of those together which is important for me.

If I wasn't using org, I don't think I would find it that useful. I'm not really a power user of mu4e. I don't have any complicated email workflows. I like that the search is very fast (for me, anyway -- I only have 100k emails), and, obviously, that my email is stored locally. I like that I can compose in Emacs. I also use two computers and I like that I can easily share configuration. My config, which doesn't do anything too fancy, is here: https://github.com/mjhoy/dotfiles/blob/master/emacs.d/lisp/i...

None that come close to it AFAIK.

How good are OS X task management tools? Can they build/export custom reports and stuff?

There is only one big thing I find is missing to Org, and that's its lack of options for collaboration. After all any humans collaborating toward common goals would do best to have a common plan and a common way to track each others progress.

I think you more mean, "I'm not an 'Emacs is my Operating System' person".

There are many people who use Emacs as their OS, its never been appealing to me, because I like the richness of other tools.

There is a question though, are OSes doing enough to make the integrated experience like Emacs something that's done system wide? I think Apple comes close to providing the set of things you want, but it still feels tacked onto the top, rather than more deeply integrated.

I'm sold on Magit. If I had more interfaces that worked like Magit and were as well thought out, I'd use them, even if I had pretty OSX programs to use in their place.
Richness of other tools are OK if you use one OS. But if you switch between several of them, then Emacs tools more handy...

I'm using Windows & Linux at work, and Mac OS X at home, and Emacs provides uniform interface for most of my tasks, except web browsing and multimedia...

It's a great question and a comparison I try to exercise regularly against different Emacs components I use.

From someone who never touched OS X, how would you compare its system-wide software integration with Emacs?

I think Apple calls these *Detectors:

https://developer.apple.com/reference/foundation/nsdatadetec...

They essentially act as regexes that when match allow for an external application to be called with that text sent as a parameter. This allows for dates to be clickable and create and event in a calendar for example.

They also do a good job of taking phone numbers from emails and when an unknown call comes in suggesting that it might be the person who included that in an email.

These features generally work well in their apps, but I think there's less support for third parties to create custom options (though I haven't actually tried so not sure).

I use Emacs' rmail with mairix as a search tool. I can link to emails via rmail like this:

  [[rmail:<mbox-path>#<message-id>][link text]]
No need to type that out, M-x org-store-link does that for me in any rmail buffer.

I split my mboxes regularly, so I need to link them via mairix instead of rmail. I haven't set it up yet, but that is so trivial I guess it's already done.

I deeply share your feelings and recommend anyone to give Emacs and Org mode a try. The learning curve can be long, but if you start programming Emacs on your first day it will love you back faster.

If Org mode interests you this may be good advice:

  - http://doc.norang.ca/org-mode.html

  For the lazy, I have an emacs.d directory packaged with,
  Norang's Bernt Hanson Org mode configuration, if you are 
  eager to try Org mode for the first time, try it out:

    - clone https://github.com/ncouture/emacs.d
    - replace ~/.emacs.d with the repo's root dir
    - launch emacs
    - read Bernt Hanson's Org configuration workflow
      documentation (http://doc.norang.ca/org-mode.html)
If you start using Emacs and want some advice:

  There are many well-rounded pre-packaged Emacs 
  configurations available out there, they may be nice but 
  they will fool you.

  Try them to get a feeling on how Emacs behaves with
  other people, but don't stick around too long.

  Build your own environment.
The best way to use Emacs is to make it work the way you want.
http://doc.norang.ca/org-mode.html is awesome for inspiration but it's a ton of information. I think your point about pre-packaged Emacs configs also applies to org-mode configs.

For building a productivity system, I think it's much easier to build it in small pieces, week by week.

Org mode configs are really Emacs configs.

It's true it's easier to build your system in small pieces as you discover your needs, but it helps a ton to have a better idea of what can be accomplished through customization.

In my case, I didn't write any Elisp between 2004-2010 and probably used Org mode as a bullet list during that time. Until I had enough interest to read its documentation and explored how others are using it.

Only then was I able to come up with a half-decent solution that was still quite good, but really so far off of what can be accomplished with a better understanding of the parts at play in this mode, as demonstrated by Bernt Hanson's setup (http://doc.norang.ca/org-mode.html).

To this day I'm not even considering trying to rethink the way he is using Org mode because his setup works out perfectly for me, and I have to GTD like everybody else.

All I'm saying is it may not be obvious at first glance and without studying documentation but a very powerful set of tools are available in there and anyone with half a brain can use them, and that it's best to adopt complex-type configurations once you've wrapped your head around them.

For people considering whether they'd like emacs:

Take the org-mode advice with a pinch of salt. It is an incredibly rich and powerful package, but it's possible to get completely enveloped in org-mode, costing time that could be better spent improving ones skills elsewhere.

What I am saying is: emacs can simply be an amazing text editor / programming environment. It doesn't need to be complicated. You don't need to invest time learning kitchen sink frameworks. (But as a bonus, magit is the best interface to git that there is!)

How do HTML emails look in Emacs? How often do you have to open email in browser to be able to properly look at an email? What email service do you use?
Simple HTML emails look fine, more complex ones don't. I think now you can use Webkit to render them, but I haven't set that up yet. It isn't much of an issue for me, though.

I use it with both fastmail and gmail accounts.

Thanks, I did not know about mu4e. Will have to check it out. Back in the day (before there was google, much less gmail) I loved MH-E. It's been a while since I've done email in Emacs.