Emacs 29 was marked insecure in nixpkgs recently, and I found myself stranded on Emacs 30, where a lot of packages broke. I have had similar experiences before and decided to do something about it, so I wrote rg-roam[1].
From the README: “rg-roam is a minimal standalone org-roam implementation, using ripgrep instead of sql. It requires no configuration – you can use it even without a .emacs file.”
That README goes on to explain everything it requires (which are Emacs and ripgrep), and then how to use it, which if you’re already familiar with org-roam should be straightforward.
I was not aware of either of those! I love the
“related notes” command in your package.
Something related that I often want is a “cousins” view – every other note linked to from something that links to this one. If I had time for it I’d use your code and add that but alas I’m working on a separate note-taking app focused on sharing:
Somehow I missed your reply, it has been a busy week. Looking forward to your new project. Do you know The Brain? Your project sounds a bit like that, just for Emacs.
I know about it but have not used it. It’s one of the systems I shout-out to in the README.
Sharing in TheBrain seems to use a traditional permissions model – if you have access, you can either read or write to a document. Skg would let you manipulate your view of someone else’s data as if you owned it, while staying informed of their changes and without affecting how they see their data. It would also let you learn more about the things in your notes from how someone else integrates yours into theirs (if they share that info).
The project sounds like an interesting (but also highly complex) idea. Yet, I still struggle a bit to see what the real benefit would be. These notes that people write are part of their personal knowledge graph but not intended for wider publication, right? Why would I search the preliminary notes of others on a specific topic whenever I write something to remind myself? And would you truly care if the source of a quote is updated? This feels important for something like Wikipedia but not a personal Zettelkasten.
Don’t get me wrong. I have many quotes and external references in my notes. Quotes from websites have a source URL and date. But the real added value for future me has always been my personal thoughts added to that quote - or linking it to other notes of mine. Do I miss something important here?
Do you not think universal thoughts? Would you not like to share ideas like those in the following tree with others, without necessarily duplicating the entire tree structure?
This is my note on writing as a form of thinking. It combines my reading of ideas from two books (Ahrens 2017, Allen 2024), an article (Luhmann 1992) and a quote from a website. But it is not of universal value (nor well written) and should not be treated as such. In a best case scenario I use my notes to write a text that will be published. The notes themselves have little value.
But I don’t want to be all negative. Perhaps I just misunderstood or you intended to create something more akin to a social network like Mastodon, X or Bluesky?
Universality is, I admit, not something I achieve a whole lot in my graph. But if we pooled everyone’s universal linked notes we could have something better than Wikipedia, at least in that it is not subject to the dictates of whichever editors win the Wikipedia power struggle.
Wikipedia is certainly not perfect – perhaps nothing is. But doesn’t Wikipedia’s key value lie in the creation of curated and edited knowledge (and the transparency of doing so)? It is not for no reason that authoritarian and authoritarian-curious figures are constantly attacking Wikipedia.
Sorry, I responded before seeing your last comment. I absolutely think your note referenced therein is of universal value. It is about a universal truth. (That’s not to say every person will take the time to learn, but it’s true.)
It could be in a graph marked as the both of us believing it. And that graph could also include other equivalent notes, and (assuming the authors engage in sufficient atomicity – I think you do) a relationship indicating their equivalence. Indeed the equivalence of many such notes would be testament to their validity.
I love Wikipedia. But I want a quantum version. Everyone’s ideas, however true or dumb or entertainment, could be visible at once. The links from people to ideas (and any note like “I like [these things]” or “I beleive [these things]” could be used to infer such relationships) could be used as transparent epistemic guidance. (As opposed to the opaque epistemology of my basically trusting Wikipedia’s political process, fact-checking only things that strike me as unlikely or wrong.) We could even have explicit epistemological algorithms.
Indeed a subscription algorithm is in essence an epistemological algorithm. We already do this in reality, just without a written record: We listen to some people more than others. Explicit user-defined subscription plans, perhaps incorporating probabilities to ensure the diet includes some disagreeing points of view, would be feasible.
Now it sounds, apologies in advance, like a Pinterest of ideas. Apart from figuring out the methods of interaction for such a platform, it might also be a major technological task. For example, you would either need a central server associated with high costs and responsibilities for you or many decentralised nodes that create a myriad of syncing headaches.
Again, I’m sounding too negative, my apologies. I started to learn Elisp to solve my needs and this is still at the core of all my coding projects. Org-roam v2 was bad, Dired felt too cumbersome, Elfeed does not allow for content-based search… all reasons for me to do something. So if this is your personal pain point, then you should absolutely go for it.
Your skg project sounds great @JeffBrown . I cross publish the notes that I keep in my (public) org-roam to an Agora (https://anagora.org, with Neil M / ox-agora · GitLab), which has a similar intent to combine digital gardens/personal knowledge bases. (I see you already reference it in your networking-and-scale doc above!)
FedWiki also is very interesting and perhaps more technically advanced than the Agora in this regard. The problem with FedWiki for me was always that I had to use that specific software, rather than being able to continue writing in emacs/org-roam. (for the Agora you just need to be able to export to wikilink flavoured markdown).
Valid question from @laotang about why would you want to see other people’s unfinished thoughts. And on the other side I’ve also seen people not keen to publish their own unfinished thoughts for others to see. Neither of those bother me personally. I think those coming at it from a digital garden (learning in public) approach are more keen on this then those coming at it from a zettelkasten approach.
Wikipedia is indeed a remarkable and important resource. However Wikipedia striving for objectivity is also a problem. On many, many topics, I would first prefer to know the subjective opinion of a trusted network of people that I follow, before I read what a larger, unknown network of people purport to be objective truth on that topic.
Gorden Brander was building a similar project, Subconscious, but then killed it off because he thought generative AI made it redundant. I think that’s just doubling down on the problem though - gen AI even further removes the human element from any reading on a topic.
why would you want to see other people’s unfinished thoughts
Knowledge graph tools have vastly amplified our powers of thinking alone. Thinking in a group is more powerful than thinking alone. Therefore knowledge graph tools should be extended to facilitate thinking in a group.
That argument is so short it might sound trivial, so I’ll elaborate.
As a lifelong student, I have constantly witnessed the tradeoff between ego and growth. The smartest people always seem to be the ones willing to ask questions that might look dumb. Really thinking hard should feel vulnerable. If it doesn’t, we’re not pushing our boundaries hard enough.
Both in and outside of knowledge graphs, I think we have a few social responsibilities:
Dare to imagine you could benefit from others’ ideas.
Dare to imagine others could benefit from your ideas.
Work with others’ ideas in our own writing.
I don’t know how to prove that we should do those things, but I’m far from the only person who has said so. Here’s a list of some of history’s greatest minds who seem to concur:
It’s true that some writing is more easily used than other writing. My truly half-baked ideas, I keep private. But notes that I find useful or enjoyable, I publish, whether or not they even contain complete sentences, let alone concrete conclusions or opinions. And I would like others to do the same. Even if I’m not learning hard truths about reality, if it’s a note you find useful, then I am at least learning about you.
True, I would not want to feel obligated to read massive volumes of incoherent thoughts from anyone. But knowledge graphs do a lot to alleviate that potential problem. The experience is nonlinear. We jump around these documents so, so fast. To guide my own attention, I would use the author’s own attention (what notes do they find most useful? which notes are linked to from other useful notes? flavors of the Google PageRank algorithm here) and also the attention of other authors (what have they linked to in this authors’ work?).
Maybe I am being naive, but I think the rewards would come quick.