
Org-roam: Emacs org file based personal knowledge base system - matthberg
https://www.orgroam.com/
======
ipnon
Michel Foucault had this to say to contemporary critics of Hegel:

"We have to determine the extent to which our anti-Hegelianism is possibly one
of his tricks directed against us, at the end of which he stands, motionless,
waiting for us."

It seems any investigation of prior art regarding knowledge base systems comes
back to Emacs, where the solution to all problems of note taking and memory
retention is patiently waiting for everyone to finally learn Elisp. But Emacs
is for dinosaurs, we repeat for the 100th time ...

~~~
bjoli
I have come to the point where I don't think 100% of what shows up in modern
editors is a re-inventing the wheel. Multiple cursors, for one, was actually a
decent replacement for short-and-not-too-many-lines macros. Roam seems ok if
used with discipline.

All the new things do however prove the Emacs model at least partially right:
most things can become well integrated into Emacs. Multiple cursors and
editable fired (file manager) buffers? Worked from day one!

------
lvh
Does anyone have any research or experience with using "personal" systems like
these as a team? I've always seen them described as having a single user, but
many of the links seem like they'd be just as powerful for a (maybe small,
maybe tightly-knit) team.

~~~
dangirsh
I've used RoamResearch in small groups, and it works well. Just don't try to
edit the same block simultaneously (last one wins).

If anyone has successfully done something similar with org-roam, I'd love to
hear about it. I've never been on a team that would even consider it, given
the Emacs learning curve. That said, I recently helped a Vim + Bear user
switch to Doom Emacs + org-roam, and he was swimming in days.

Is anyone aware of projects to diff / merge content in collaborative knowledge
graphs like these?

------
vedtopkar
Since these systems have been coming up so much on HN, I have to ask: are
there any such softwares that play nicely with images, PDFs, and Word/Excel
docs? I've been trying out Devon think and it's pretty good, but I'd prefer to
support a FOSS option.

~~~
lvh
I've used org-noter to annotate PDFs in line, so I'd expect org-roam + links
wouldn't hurt. Org will display images inline. I don't have a great answer for
links into Excel. Do you need the data to "come back out", or just reference
capability?

~~~
dangirsh
I can confirm org-roam links + org-noter works well for linking ideas between
PDFs. I haven't found anything better, and regularly demo this to friends.

Related video demo:
[https://www.youtube.com/watch?v=Wy9WvF5gWYg](https://www.youtube.com/watch?v=Wy9WvF5gWYg)

------
frankie_t
I see a screenshot there defines an anki card? Couldn't find any mention about
anki in docs or on the github (I only skimmed though). Would be interesting to
see if there is a possible interplay.

I myself use vanilla org mode for this purpose (spaced repetition). My
workflow is the following:

1\. Create a hierarchical structure with leaves representing bits of
knowledge. For example postgres/indexes{btree, GIN, ...}

2\. Have a study session with materials (books, video, etc).

3\. Try to recreate a concise version of each subject and place it under
leaves, so put text in btree, GIN, etc. If I cannot do something I skip it and
fill as much as possible.

4\. Verify written, fix if necessary.

Then, the document will sit there for a while and when I feel that I need to
review a certain subject I would open a tree node and try to recall the child
nodes, or sometimes go directly to leaf nodes and try to explain each. Then
verify with the data there, maybe do additional research if something isn't
clear.

I initially wanted to make anki cards for every piece of information that goes
to leaf nodes, but it seemed that hierarchical organization suits me better.
It would be interesting to try an automatic card system that would keep track
of when I reviewed the concepts and remind me to do so.

~~~
temo4ka
Well, maybe try org-drill: [https://orgmode.org/worg/org-contrib/org-
drill.html](https://orgmode.org/worg/org-contrib/org-drill.html)

The repository: [https://gitlab.com/phillord/org-
drill/](https://gitlab.com/phillord/org-drill/)

~~~
frankie_t
Wow, that resembles something I wanted to implement myself. It's crazy how
most of the things you think of doing are already done. I think I will migrate
to it eventually, thank you.

------
hanklazard
All the the recent Org Mode content on HN has really gotten me interested. I
feel like I’ve tried so many systems over the years (including just using one
big text file in Joplin currently) ... this one seems to be very well-liked,
but the learning curve, at least for someone who is new to emacs, seems steep.
I’ve started by just installing Doom on my clients and am slowly learning my
way around.

Two questions for those with more experience: 1\. Do you think this is a good
system for someone NOT actually working in emacs all day long (I’m not a
programmer)? 2\. I see some mobile apps out there that claim to allow Org Mode
use on phones ... is this system of note-taking / task mgmt actually usable on
a mobile device?

~~~
gas9S9zw3P9c
I'm one of the people who started using emacs just for org-mode about a year
ago. I've been using it daily to manage my schedule, TODOs and projects. It's
nice, but IMO overhyped by a very vocal religious minority. I've been spending
as much time configuring little things and working around rough edge cases
than it has actually saves me. Elisp is still somewhat of a mystery to me and
I'm mostly copying and pasting snippets without truly understanding what's
going on.

I've encountered so many little issues that resulted in hours of debugging and
searching for solutions that the net productivity gain has definitely been
negative. True, if I stick with it for 10+ more years, the productivity gain
will likely become net positive, but who knows if that will happen. IMO it's
quite likely that better systems are going to be invented over the next 1-2
decades. It's clearly outdated.

Only do it if you are willing to invest a large amount of time into learning
emacs, and if you are planning to stick with it for decades. The best for me
way to describe it is: Emacs is the ultimate procrastination tool. It's great
at making you feel productive by letting you do meta things with elisp and
configs, when you really should just be getting stuff done.

~~~
elliottwilliams
I've used emacs in a dev environment and about 5 years ago i carted my 3000 or
so text files from vim/markdown to emacs/org-mode.

I agree, it is an amazing procrastination tool. My advice is to stick to
spacemacs with very few configs. About a year ago i started from scratch with
my .spacemacs. Now I've got about 20 lines in there, I use deft/org-roam/fira
code, and org-attach and I think the less you fiddle the better off you'll be.
Think of it like a 20 year old car-yes you can put a turbo in there, yes, you
can chop the springs and lower it, but 1 there will be less people to help you
when it breaks, and 2 it will break more often.

Honestly, org-roam is moving so fast that if you aren't in the slack or at
least watching the commits, I'd think twice. I'm betting there will be
breaking changes in the future, whereas deft is rock solid.

------
gandalfgeek
I do like org-roam, but wonder if it's over-engineered. The main thing you
need is backlinks, and you can get that without all the complexity of an
additional package and sqlite dbs.

    
    
      (defun buffer-backlinks ()
        (interactive)
        (rg (buffer-name) "*.org" org-directory))
      (add-to-list 'org-mode-hook 'buffer-backlinks)
    

Net effect of that tiny elisp snippet is what when I open an org file, I get a
buffer beside it (powered by ripgrep/rg) with names + context snippets of all
the other files in my org dir that link to it.

------
cachestash
This is going to be unpopular, but clunky, ugly and antiquated all come to
mind when I look at emacs.

~~~
eddiegroves
Yes, a common reaction, until newbies (like myself) find configurations like
Doom Emacs and Spacemacs and come to realize the opposite. For myself it's
only missing a slightly better "rending experience" like VSCode.

~~~
giancarlostoro
I love Spacemacs but due to varying configurations per build on different OS'
Emacs either doesnt work at all OOTB with Spacemacs for me, or it works just
enough to show up broken. Without cross-platform consistency I'm better off
using Neovim + Spacevim which sometimes fails on me due to fonts, but its less
broken.

------
lvh
I'd be particularly interested if anyone has tried both org-roam and
zetteldeft and can compare the two.

~~~
elliottwilliams
I've used both. The problem I had with ZD is that it uses a non-standard
"ligature" (not sure what the non-coding term is) to identify zettels. This
means lock in not just to emacs, but to a specific package. Org-roam OTOH uses
standard org-mode notation, which means I can freely mix deft with org-roam or
any other package that plays nice with org-mode.

------
mkl
Well that's a trademark infringement lawsuit waiting to happen! Might want to
rename it.

~~~
kinghajj
Do trademarks protections apply against noncommercial works, too?

~~~
jdminhbg
Yes. You can’t produce a non-profit Coca-Cola.

------
1MachineElf
After seeing the "Zettlekasten" concept trending on HN, I've been wondering
when someone might bring up Emacs org-mode, because the promises of both
technologies seem to overlap. This seems like a step in that direction.

------
abecode
Question for anyone who's tried this: Do you use your normal org file
directory for org-roam or is it better to start from a fresh directory?

~~~
mmmcurry
I've seen people do both successfully. It plays fine alongside existing non-
linked org files. I personally have ~/org with my preexisting files, todos,
etc at the top level and (setq org-roam-directory "~/org/roam") as its own
thing to try to make it easier to clean up if I decide I don't like it after
all. Having a good time so far though.

