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.
One example is jrnl. 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.
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.
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
Would be cool if you could share your setup on GitHub.
brew cask install fsnotes
Maybe it's working now?
Now, if I could just find something as brilliant for this Surface Book 2.
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.
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.
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.
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.
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.
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.
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.
Obviously you won't be able to execute code blocks, reformat tables, follow links, fold sections etc.. but everything is just a search away..
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.
Note: I don't know what raw orgmode files look like, maybe they're similar to Markdown.
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
- REDACTED NOTE
- [X] Baseline test for SOMETHING ELSE
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.
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.
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?
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.
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.
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.
(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.
(and yes the above sentence was meant to be a logical moron)
Although the difference between tool-making and yak shaving is itself a yak shaveable debate.
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.
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)").
That sounds a lot like zimwiki,except it uses a media wiki derived markup, but does have wysiwyg ui.
"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.
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.
I love the format, enjoy using Sublime for text-editing and never had a problem with syncing (as opposed to say OneNone or Evernote).
* a git repo (private on gitlab)
* markdown editor (desktop, phone)
* and several means of rendering (pandoc, gollum, etc)
I use a container image to generate my resume, my blog, knowledgebase and presentations. All from the same files and workflow...
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.
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 just don't feel like using some stupid apps for notes. I understand that someone not technical would like to use app for that.
But then I saw your screenshot. Nevermind.