Hacker News new | past | comments | ask | show | jobs | submit login

I've given up on using any sort of branded app for notetaking. At best it's open source and the maintainers will lose interest in a few years. When you write things down, you're investing in your future. It's silly to use software that isn't making that same investment.

After trying Evernote, Workflowy, Notion, wikis, org-mode, and essentially everything else I could find, I gave up and tried building my own system for notes. Plain timestamped markdown files linked together. Edited with vim and a few bash scripts, rendered with a custom deployment of Gollum. All in a git repo.

It's... wonderful. Surprisingly easy. Fast. If there's a feature I wish it had, I can write a quick bash script to implement it. If Gollum stops being maintained, I can use whatever the next best markdown renderer is. Markdown isn't going away anytime soon.

It's liberating to be in control. I find myself more eager to write things down. I'm surprised more people don't do the same.

Edit: here's what my system looks like https://imgur.com/a/nGplj

X-post from https://news.ycombinator.com/item?id=15057002 10 months ago. Still using & loving it.

Alternatively, you can use something which saves in a format that would be trivial to make a replacement for reading/writing it.

One example is jrnl[1]. Each journal (collection of entries) is written in a flat text file. You can optionally encrypt it with AES. They even give you reference code on how you could decrypt it yourself[2].

If jrnl stops being a thing, I can probably re-implement all of its functionality in a day. Or someone else can. Its output is very simple.

1. http://jrnl.sh/overview.html

2. http://jrnl.sh/encryption.html#manual-decryption

I used jrnl.sh for about a year. I was able to extend it to parse the output so I could do some analysis on what I had written (I was using it partially to track time spent on certain tasks). However, I came to find that write long-form on the command line is just awkward. Lately I have been using checkvist.com which has been working out great.

In case you hadn't seen this jrnl has a config option for setting the default editor. http://jrnl.sh/recipes.html#external-editors

I always use jrnl with vim, and never compose on the commandline.

I actually wrote my own jrnl command as a shell one-liner:

    pushd $JRNL_DIR && git pull && echo "##### "(date) >> (date "+%Y-%m-%d.txt") && vim (date "+%Y-%m-%d.txt") && git add *.txt && git commit -m "jrnl "(date "+%Y-%m-%d.txt") && git push && popd

I had the same sort of idea. I built this when Notational Velocity broke when upgrading to the latest macOS: https://github.com/JesseAldridge/toothbrush It's a single python file for grepping a directory of text files as I type. I have a global keyboard shortcut cmd+J that gives focus to my terminal and I then launch the script by running `t`. Then I can just start typing to search a career's worth of notes.

Would be cool if you could share your setup on GitHub.

There is FSNotes.

brew cask install fsnotes


Notational Velocity broke? Any details? I'm continuing to use it happily on High Sierra.

Yeah High Sierra was what broke for me: https://github.com/scrod/nv/issues/365

Maybe it's working now?

I switched to this: http://brettterpstra.com/projects/nvalt/

Now, if I could just find something as brilliant for this Surface Book 2.

Weird; I don't think I've updated NV in quite a while, and my disk is APFS. I have no idea what could be different. Anyways, thanks for the detail.

What is wrong with org-mode? It is plain text file. I see no major differences compared to markdown.

I use Spacemacs in my day job as a Clojure programmer but I prefer Bear Note for note taking because it starts up faster and all actions (pasting, adding images, adding todos, merging notes, exporting mardown) match simpler and I don't need to memorize new hotkeys and do any additional setup/scripting. If taking notes was my daily job I would probably spend some efforts to learn org-mode.

I find org-mode perfect for this. It's lightweight, the files can be interlinked and over time, expanded, if necessary into larger notes.

I've been using a variant of the zettelkasten method for keeping book summaries and notes on index cards. It's been nice but the indexing method I'm using is cumbersome. I've been toying with the idea of moving just that into something digital.

Another thing that I recently came across is https://www.gnu.org/software/hyperbole/. It's also Emacs based and might be something I can actually use.

Have you tried using it on mobile?

There is Orgzly, but it's not very practical.

People are much too afraid of Emacs to ever use it.

> afraid

That's quite the value judgement. Emacs, when compared with Atom and Sublime Text, has a tremendous learning curve for little payback. It's extensible? So are they, and with programming languages that are useful outside the editor, no less. It's powerful? So are they.

And more, they implement something resembling a common UI to the rest of the applications on your system. Sure, you can emulate that with the proper installation of modes into Emacs, but at that point you're already down the rabbit hole.

Emacs may still be the king of the hill, but it's a really nasty hill to climb. And with Atom and Sublime text sitting just a little below the summit with a nice, paved road to them it's going to take more than just being a bit better than them to justify that final hill climb.

So, no, people aren't afraid. Emacs is just not worth most people's time.

Sincerely, a VIM and emacs user.

You're ignoring distributions of Emacs which are designed to solve this problem by bundling and pre-configuring everything.

Spacemacs, Prelude, and Scimacs are all good options depending on your use-case.

I mean if all you want is a text editor, some SCM integration, some build tool integration, syntax highlighting, and code completion then going with a specialized tool just for that is a good choice.

But the power of Emacs is that it can do nigh-anything and everything is a few lines of elisp away from being tightly integrated.

* Organize your tasks and projects with org-mode and work seemelessly with your team by syncing with org-trello.

* Use mu4e and magit integration to seemelessly send and apply patches and pull projects and todo items directly from email.

* Use one of the IRC clients or emacs-slack to do the same thing. Generate snippets on the fly in your team's chat from the currently selected text.

* Use org mode with org-babel and TRAMP to create interactive notebooks carrying out tricky tasks directly on the remote server from within emacs.

* Use emacsclient --tramp when you're SSH'd on a remote box to transparently edit in your local emacs.

* Replace tmux and tmuxinator with emacs-server.

I don't realy think it's small step up.

Respectfully, you're describing workflows that very few people use today. Patches over email or chat? I've only seen that use at any scale with Linux kernel development. Tricky tasks on remote servers, editing files on remote servers? Most places prefer immutable servers, which run peer reviewed remedial scripts via Ansible/Puppet/Chef/Salt.

Org mode is one of the few unique bits of software available only on Emacs, but you can get 80% (if not more) of its functionality with markdown notes and regular email/calendaring software for 20% (if not less) of the learning curve.

EDIT: And I'm not ignoring Spacemacs and its kin. Yes, they are more user friendly, but they still do not follow many of the common OS UI models, and you still are interacting with a single-purpose programming language for any customization. The abstraction falls apart quickly when you try do do something more powerful (like opening the package manager).

Not to mention, the last three times I tried to do Go development in Spacemacs it would freeze in an infinite busy loop. It's unfortunate that a broken mode can completely hose the entire editor in this day.

Side note: I have been coding a large golang application for 3y now on emacs/spacemacs with the 'go' layer. Never had a single problem.

Otoh, I tried both atom and vscode for the same job, but quickly ran away because using an editor on which modal editing is not a first class citizen is not for me anymore.

> Organize your tasks and projects with org-mode and work seemelessly with your team by syncing with org-trello.

I disagree to this point. org-trello should work in that way "in theory", but actually it doesn't. Its usage is quite opinionated, and its syncing didn't work as I expected when I tried it out. Instead, we probably should have an org-mode integration with GitHub/GitLab issues.

I sincerely agree all you mentioned above. I believe emacs is the best editing tool, actually it is an Operating System. But I still not gonna use it, since it just not worth my time to master all of them skills comparing alternatives, which is just use Sublime and Atom. For me the choice equals to setup my own Git server, or use Github or Gitlab.

But how hard is it to learn, and remember, how to do all these things?

There is a huge difference. It's proprietary, what I mean by that is you can't really edit it with anything else than Emacs. I used it with Spacemacs, and when an upgrade broke it, I left with no notes... Very frustrating experience, I immedieately abandoned it when it happened. Never used org-mode since then.

It's not proprietary, it's still just plain text, and can be edited with anything. Emacs adds a lot of nice features on top of it to manipulate that text, but it's still just text.

See http://karl-voit.at/2017/09/23/orgmode-as-markup-only/.

Yes, I have been fooled by the "oh it's just plain text" notion also and have regretted it. Did you try to actually open an org-mode file with anything else than Emacs? Did you try get any meaningful information out of it on a mobile phone or with an another editor? I did...

Take a look at Orgzly for interacting with org files on Android, and set up a dropbox shared folder between your devices, including your smartphone. Works well for me.

As for extracting meaningful info with other editors, I would say it depends on how you structure your notes. For me it's just a very long bullet list with some tags here and there. So a plain text editor will only 'add' some star characters at the beginning of each lines, which appears quite readable to my eyes.

TBH, I wonder why you had to "leave without your notes", when pandoc eats org-mode for breakfast and gives you a multitude of target options, including markdown (and this is really after wondering what prevented you from using a fresh Emacs install, if you couldn't fix yours, to export them in the first place)

I've been opening org files with Atom, VS Code and inside Github without a problem.

Gogs renders well behaved org files also. The VS Code extension should get the update to allow folding soon. After that the Ctrl-c Ctrl-v crowd could use it nicely with Orgzly and Syncthing say bypassing Emacs until they need a full development environment. You could use Pandoc importing/exporting to other formats without Emacs. For note taking it's promising. Sharing to Orgzly on mobile captures a lot.

All the time. I'm curious as to what problems you were having?

Obviously you won't be able to execute code blocks, reformat tables, follow links, fold sections etc.. but everything is just a search away..

> It's proprietary, what I mean by that...

That’s not what that means.

I take your point in it being bound to Emacs however. Pandoc is an excellent tool for conversion though, and other editors are catching up quickly.

In that sense markdown is also proprietary, since you need some editor making things easy for you to manipulate and navigate the text document(that's all emacs does; even github renders org docs).

Except Markdown looks like text with some special characters to embellish it a little. It's perfectly readable and legible in any text editor. Navigation is the only thing lacking, but manipulation is as easy as manipulating text is in your editor of choice.

Note: I don't know what raw orgmode files look like, maybe they're similar to Markdown.

They are. Org format is kind of a better and more powerful Markdown. As plaintext, it looks cleaner to me.

The thing is, Org format is defined by the way Org-mode in Emacs handles it. Beyond Markdown-like features (which are rather easy to parse out; the format is similar), you get things in the data format that to date are handled only by Emacs. Think of Emacs + org mode as a better Jupyter notebooks than just editor for static text documents.

Consider this note I have in my org file for work tasks.

  ** DONE [#A] Testing prior to syncup meeting       :CUSTOMER_development:
     CLOSED: [2018-07-13 Fri 14:04]
     CLOCK: [2018-07-13 Fri 12:14]--[2018-07-13 Fri 14:04] =>  1:50
     - [X] Baseline test for REDACTED
     - [X] Baseline test for SOMETHING ELSE
If you rendered this as a static document (e.g. export to HTML), you'd see the headline "Testing prior to syncup meeting", and the bullet-point list at the bottom. The remaining things are metadata, nicely formatted by Emacs (and partially hidden; e.g. :LOGBOOK: / :END: block starts folded by default). The metadata shown are part of Org-mode's task management aspect - the todo state (DONE), date of task's finalization, time clocking (CLOCK: entries), tags (CUSTOMER_development). Together, they enable me to very efficiently mange tasks, track spent time, and autogenerate invoice data.

In this sense, org format is both a nice Markdown alternative, and - when coupled with Emacs - enables very powerful interactive documents that can handle task management, time clocking, literate programming, spreadsheeting, and other tasks.

I suspect Org will never be as popular as Markdown simply because, if you wanted to go beyond Markdown feature parity, you'd have to reimplement half of Emacs to handle those "advanced" aspects.

Oh I don't doubt the usefulness of Org-Mode, but I guess the point is the one you bring up: if you want to use Org-Mode it's Emacs or the highway.

With Markdown I can use any editor from a full-featured IDE all the way down to `cat` or `ed` and all I'm giving up are some quality of life features. It's the same format at the bottom, and it has the added benefit of being ubiquitous in that nearly every editor has some basic Markdown support. I can write it anywhere and take it anywhere, not so for Org-Mode.

I think I prefer the Markdown approach of keeping the file format light and plain, and building the quality of life features on top in the editor.

To be clear: Org format is just plaintext, and you can use it mostly in the same way you use Markdown. It's nowhere near as popular, but if all you want is Markdown feature parity, then there is growing support in other editors and places. It's only when you want to go beyond Markdown that this becomes "Emacs or the highway".

Biggest difference for me is, that I had already been taking notes in markdown since before I heard about it. The only change for me was the welcome relief of not having to be creative any more about what headings or links should look like. Rest of the syntax I already used because that's how I've always made text files "look good".

As for your orgmode example, it's not a very good example of "just plaintext" if the metadata code in between the bits of text is larger than the content of the note. I imagine that with nice syntax highlighting it becomes easier to parse in just a glance, but then it's no longer "just plaintext" in the same way that e.g. YAML isn't.

It probably works very well, but to me it looks a lot like a plaintext encoding of a database record or something. It's a different use case. Not a simple note that is "basically plaintext". For instance I would not feel entirely comfortable editing your example without worrying I'd mess up the structure or produce a syntax error. Though maybe the format is really forgiving, I can't tell. What happens if you forget the :END: bit, for instance?

You can certainly write org in ed, if you're masochistic enough. You could also use Vim or VSCode or whatever floats your boat, and you will just be missing the more useful stuff (agenda integration, babel, etc), but if you just want to use it as a markup language, there's good support in other editors, and ease of export as well (pdf, html, docx, odt...) with pandoc. I don't get why you think that editing org is any harder than editing markdown, given editor support.

The big difference is that Markdown is way simpler, you can read it reasonably easy with Notepad even, and this is why every reasonable editor can Render it preview it, export it. Even browsers or small apps can show a HTML rendered markdown. There are even standalone Markdown editors, but there is no standalone org-mode editor.

You can render a subset of Org mode just as easily as Markdown - they mostly differ with syntax. The problem is, Org format is not just a format for static documents - it also accounts for things you'd like to achieve with plaintext notes, and most of those "extra features" are defined in terms of their Emacs/Org-mode implementation. Which is something very hard to clone.

This is a silly comment.

Of course you can read Orgmode in plain text, because that’s all it is. Maybe you looked at a file with a bunch of meta-data, or a file with a bunch of code blocks, but so what? Ignore the meta-data and just read the notes. They are all delimited by asterisks by their header level. Links are simple. Tables are simple, even tables with formulas are readable.

Further more Markdown is a poorly defined plaintext format, which is why there are so many variants of it, and processors specific to those variants. If you don’t believe me, remember that GFM is not official markdown.

Orgmode is at least well defined, so when other editors catch up and are able to implement all the features Emacs has when using it, they should behave similarly. If you want a well defined plain text format that exports to HTML/PDF/Word/RichText take a look at AsciiDoc or reStructuredText.

But don’t blame Emacs for leveraging its power over a relatively simple plain text format. There are even packages these days for Vim, Sublime, Atom, Jetbrains to make good use of Orgmode without Emacs.

I just use HTML directly if I need formatting. I find it wuch easier to remember its syntax than Markdown.

An org-mode subset comparable to Markdown isn't more complex than Markdown itself.

Org-mode itself is an Emacs addon, so it's not surprising that you cannot run it without Emacs. Emacs and org-mode are much more stable and much less likely to die than any other software, and that's precisely why I'm using them for a decade already.

The org-mode file format is plaintext, just like Markdown, and you definitely can edit and view it with any text editor. You will obviously lose the convenience of org-mode, though. Additionally, it's simple enough that you can easily implement a parser/importer for any other software.

what? it's plain text, you could read it with notepad.

For vim users, vimwiki[1] is great. It combines the wiki with jounaling features and is easy to call up while editing any other files. Just make sure to change the default from wiki to markdown format.

[1]: https://github.com/vimwiki/vimwiki

> I've given up on using any sort of branded app for notetaking. At best it's open source and the maintainers will lose interest in a few years. When you write things down, you're investing in your future. It's silly to use software that isn't making that same investment.

I strongly agree with this. Actually I'm surprised that creating one's own tools is not more widespread in our industry as I consider this a quite unique trait of our profession.

> I consider this a quite unique trait of our profession.

(In case you really meant unique rather than special or valued). Machinists, woodworkers, and craftsmen in general all make their own tools when the situation calls for it.

You use the word "unique" in the strict database sense. That is also a unique trait of our profession.

(and yes the above sentence was meant to be a logical moron)

Making our own tools in software used to be more common.

Although the difference between tool-making and yak shaving is itself a yak shaveable debate.

Yep a private repo in GitHub goes a loooong way. With git you can be offline, dump whatever comes at any time. Markup syntax is remarkable in its simplicity but how much you can get out of it.

GitHub UI for on the move web committing is also pretty well done.

For a lot of things in life, you want to have simple interface yet sophisticated functionality. It’s incredibly hard to achieve that balance and so many software products screw up that balance.

Another useful tool I've been using for note-taking is `mdbook` which I think accomplishes the same thing - organizing markdown files into a book of sorts. Just thought I would throw the name out here in case anyone is looking for alternatives to research.

I too am thinking of going this route so as to reduce dependencies on custom software for something as important as note taking. However, how do you handle images in such a system? For instance, I sometimes take pictures of a whiteboard discussion and paste them as is in One Note - how do I do the same with plaintext files?

I have two folders: notes/ and uploads/. I've been uploading any attachments (images, PDFs, etc) to uploads/ with a timestamped name (ex. "2018-07-15_interesting_document.pdf") and linking them from the associated note.

At first this was pretty annoying, but then I wrote a couple scripts to automate the upload + naming process. Now it's as simple as running the script and getting the Markdown reference copied to your clipboard (ex. "![Interesting Image](../uploads/2018-07-15_interesting_image.jpg)").

> lain timestamped markdown files linked together. Edited with vim and a few bash scripts, rendered with a custom deployment of Gollum. All in a git repo.

That sounds a lot like zimwiki,except it uses a media wiki derived markup, but does have wysiwyg ui. http://zim-wiki.org/

I recently switched to simple markdown files as well.

"I find myself more eager to write things down." I feel exactly the same. Something about the simplicity and lightweight approach makes it more inviting for writing.

I use QOwnNotes to manage the notes, it's open source and available on osx/linux/windows, uses a sqlLite DB to add tagging and fast searching.


I use nextcloud for syncing the notes to a server and across devices.

I have a similar setup. Markdown files published in the open¹ using Hugo. That said, I'd love to have an easy way to add tagging and searching without having to create my Hugo template.

¹ https://davidgasquez.github.io/handbook/

I've been doing that for quite some time as well, but recentlish (<6 month ago) stumbled upon BoostNote [0] (electron based) and have to say that I think its pretty neat.

Especially because I can (if it ever becomes unmaintained), export the data to my preferred format with a simple script, as everytthing is saved in plain json files.

[0] https://github.com/BoostIO/Boostnote

I have to agree with you... but in a...an _expanded_ sort of way. I use Epsilon and you can do anything except maybe make an Omelet. That comes out in the next version. lol. No, seriously: Epsilon is an either/or/both kind of app. It is happy letting you use Markdown, or _just_ as happy if you decide on CommonMark (which is like Github-flavored Markdown and Multi-Markdown combined, then made easier to use than either of those). It has FontAwesome Icons, Tags, Indexing, YAML, MathJax, and CSS. You can find it on G+ if you are curious but not sure if you are interested in a full commit just yet. I don't even work for or have any vested interest in Epsilon Notes. I just Love it that much. Yeah Markdown IS here to stay. It's crazy-easy to learn and even more so on the fun and useful side of things. Ciao, and Happy Coding! ~MJC

I went through a similar path. Tried everything and it all kinda sucked. Finally settled on using plain markdown files stored in a folder on Dropbox and edited by Sublime Text.

I love the format, enjoy using Sublime for text-editing and never had a problem with syncing (as opposed to say OneNone or Evernote).

Still doing the same as many years ago;

  * a git repo (private on gitlab)
  * markdown editor (desktop, phone)
  * and several means of rendering (pandoc, gollum, etc)
See: http://gbraad.nl/blog/task-management-and-personal-kanban-ho... and http://gbraad.nl/blog/document-generation-using-markdown-and...

I use a container image to generate my resume, my blog, knowledgebase and presentations. All from the same files and workflow...

I’ve always favored physical notebooks (there’s something about putting pen to paper that you just don’t get from a laptop and keyboard), but I’ve since played around with org-journal on emacs to track my programming work and the fact the buffer is only one shortcut away makes it really welcoming. I can put it in git, version it, and it’s plain text as you say so as long as I maintain some kind of structure I can code against it.

Now if I added some stuff to automatically link to JIRA tickets or GitHub PRs, or even specific commits if I go to that level, that would be fantastic.

Same here, I built a UWP app called flatnote. It's basically just a markdown editor with a directory tree. Everything is stored in Dropbox and I have a mobile app which does the same.

I built it when OneNote had a week long outage on Windows Phone. I'll never go back. Storing everything in plain text files is wonderfully liberating. Any app can read them. There's zero lock in. I can build my own super client or just use notepad

I do the same and keep it in gitlab private repo. On my android phone I have GIT client because I mostly write my notes on the phone.

I just don't feel like using some stupid apps for notes. I understand that someone not technical would like to use app for that.

How about trying https://hackmd.io ? I started HackMD few years ago with similar reasons (but for hackpad), hope you enjoy and feel free to tell me more about your opinion!

Add nextcloud for sync. There's a nextcloud notes app on f-droid.

I was about to comment that the problem with DIY is it only works on desktop, because for mobile you need some sort of app to interface.

But then I saw your screenshot. Nevermind.

How are you using vim on iPhone? What terminal app is that?

Looks like Blink. It’s pretty awesome. The layout is relatively simple for using special keys and it works great with a keyboard on larger iOS screens. The UI is also almost entirely text based for workflows once you have servers setup. That was always the most annoying thing about using Prompt and other SSH clients on iPad. Pecking around on the screen to get to a shell before you can start typing away. Blink supports Mosh as well.

Sorry, what is the editor on the screenshots? Or what the keyboard?

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