Roam is expected to be the digital twin of your brain. Working with Roam is like “building a second brain”, the community echoes, after the training course of Tiago Forte by the same name.
Looking at Roam as a second brain is understandable. It is conditioned by a long history of swapping metaphors between computer science and cognitive science. At first computer science used the brain as a metaphor for the computer. This was reciprocated by cognitive science taking computer as a metaphor for the brain. But, as Lakoff and Johnsson convincingly demonstrated, metaphors are not innocent figures of speech. And indeed, the-brain-as-a-computer was not just a metaphor. It was, and for many still is, a guiding light and a paradigm in cognitive science. As with computer, the brain was understood as both a location of the mind and as a processor of representations. Both computationalist and connectionist schools in cognitive science and philosophy of mind held this view of cognition and still do Now, to go through all the arguments on why this is not the case is beyond the objectives of this article, but the curious ones are invited to follow them. Let’s just say that, if you are using Roam with the expectation that it will be your second brain, you might be disappointed. But here’s the good news:
Roam is even better than that.
If the smallest unit of matter is the atom, and the smallest unit of information is the bit, then what is the smallest unit of cognition? George Spencer-Brown came with a convincing answer: distinction. It’s only due to our ability to make distinctions, that we can distinguish anything from nothing, and are able to separate a thing from its background. Everything starts with a distinction.
Now, before diving into distinctions, it’s worth bringing another strand into the story and that is the influence of George Spencer-Brown on Niklas Luhmann.
The Roam user community developed an interest in Zettelkästen. This is the life-long personal knowledge management system of Niklas Luhmann. At first glance, Zettelkästen is a clever way of indexing note cards to maintain their references. However, it doesn’t only enable quick retrieval and new relations but also serendipity. For Luhmann, Zettelkästen was a communication partner and a thinking tool. He explained how he used it shortly in this video and in more detail in this paper.
Many people learned about Zettelkästen through Roam as it is indeed a contemporary platform for a similar kind of linked note-taking but with way more possibilities. Zettelkästen method is now referred to as a particular way of using Roam. At any rate, if Roam triggered some interest in Luhmann, it was entirely on what the German sociologist did to produce such an amazing volume of work with outstanding rigour and coherence. Indeed the Zettelkästen method deserves attention, but I’d like to shift it on Luhmann’s work itself as it enacts the same kind of thinking which produced the working method.
The most significant part of Luhmann’s work is his Social Systems theory. All books he wrote from the beginning of 80s to the end of his life were devoted to that. And here’s the strong link with the topic of this article: Luhmann Social System theory is heavily based on George Spencer-Brown’s calculus of indications and his concept of distinction. Keep this in mind, when reading further about distinction. It has significance on its own and is also a basis for the next post on self-reference.
George Spencer-Brown bought the idea of the distinction as the smallest unit of cognition in his book Laws of Form. The book starts with the following note:
The theme of this book is that a universe comes into being when a space is severed or taken apart. The skin of a living organism cuts off an outside from an inside. So does the circumference of a circle in a plane. By tracing the way we represent such a severance, we can begin to reconstruct, with an accuracy and coverage that appear almost uncanny, the basic forms underlying linguistic, mathematical, physical, and biological science, and can begin to see how the familiar laws of our own experience follow inexorably from the original act of severance.
It sounds almost mystical. Roam also creates such an impression with its astrolabe logo.
And this mystical vibe is further enhanced by the community using #roamcult tag on Twitter.
But there is nothing mystical in Laws of Form (and neither in Roam). In Laws of Form, George Spencer-Brown developed a rigorous calculus of indications, based on the concept of containment. Everything is generated from a single operation, that of distinction.
But what has distinction and the calculus of indications to do with Roam?
They are both minimalistic yet bring forth a rich word. Every word is an indication of distinction and every phrase is an indication of another distinction within the text. But when a word or a phrase is made a reference by putting it in double brackets in Roam, it creates a container of other distinctions, which can themselves be containers of distinctions.
There can be no distinction without motive, and there can be no motive unless the contents are seen to differ in value. If a content is of value, a name can be taken to indicate this value. Thus the calling of the name can be identified with the value of the content.
In Roam, calling a name is made by clicking on an internal hyperlink.
To indicate a distinction, George Spencer-Brown came up with an elegant symbol, the mark:
The mark does many things at once. It indicates an inside, an outside, an invitation to cross from one side to the other, the operation of making a distinction, and the one who makes the distinction.
Call the space cloven by any distinction, together with the entire content of the space, the form of the distinction.
And there are two laws of form. The first is the law of calling:
It means that to re-call is to call. I’ll try to make this clear with three examples. If you draw a circle and name it X, the X does not add meaning. The circle stands for itself and the X stands for the circle. If you highlight something and then underline it, that’s just another way of highlighting unless you assign a specific meaning. But in that case, it will be drawing another distinction. If you go to the ice cream shop, you may say “vanilla” or point to the container of vanilla ice-cream. Both ways you’ll indicate the same. To re-call is to call.
This law gives also the definition of information which Luhmann strictly adheres to in his writings and is line with Bateson’s “a difference that makes a difference”. If I ask you what’s your name, and you tell me, this will make a difference for me. I will be in-formed. If you tell me your name after five minutes, I will understand what you are telling me. Your utterance will make sense to me but it won’t be information for me, unless I’ve forgotten it. If you tell me your name twice that’s the same as telling it once. To re-call is to call.
In Roam, both writing and marking are acts of making distinctions. When a word is put in double brackets, this kind of distinction gives identity and enables making the same distinction in other contexts. Then the bracketed word stands for the actual name, which is the generated unique identifier When another word is used to indicate the same thing, once you correct it to be the same as the initial word, Roam suggests to merge it:
To re-call is to call. Appropriately, George Spencer Brown calls this “the form of condensation”.
The second law of form is the law of crossing:
It means that to re-cross is to cross. When a distinction is nested in another, it cancels it. Note that there is nothing on the right of “=”. It looks what it means. Nothing. Void. Don’t confuse that with 0 (zero).
The symbol 0 looks like something. It visually contradicts its own meaning. “0” is not nothing.
The best way to demonstrate the law of crossing, just as it was with calling, is to imagine an actual physical crossing. You are in front of a house with a fence that fully surrounds it. You jump over the fence and then continue walking straight until you reach the fence again, this time from the inside, and then jump on the other side. If your state is either inside or outside the fence, crossing twice is equal to not crossing at all. To re-cross is not to cross.
In Roam, crossing, just like calling, is done by clicking on a word or phrase in double brackets. The actual law of crossing is experienced due to the bi-directional links. Once the bracketed word is clicked, you cross to its page. There, in Linked References is the link to the page where you clicked to come here. Clicking that link will bring you to the original page. This is the second crossing which is like not crossing at all. To re-cross is not to cross.
Now we can go back to indicating distinction and see it, semantically, in two ways. In Roam, distinctions are indicated, syntactically, by putting double brackets. That’s technically made using an extension of Markdown (mark again!). Marking with [] in Roam separates something from its context, giving it separate life. As a notation, one way to look at it would be to see the double bracket as an indication of distinction in Roam. But we can also look at a single pair of brackets as indicating a distinction. Surprisingly, that will also be in line with Laws of Form. Here’s why.
In George Spencer-Brown’s primary algebra, the first consequence is called Reflection. It states and looks like this:
In Roam, that would be:s
[[a]] = a
The symbol “=” – I forgot to mention – stands for “can be confused with”. Again, there is no “is”, the act of confusion is an act by somebody. And importantly, “=” is not coming from nowhere or pre-given. It stems from distinction.
It is easy to demonstrate that [[a]] = a by using the law of crossing. If a is void, then by the law of crossing, [] = . If a is a mark, then again by the law of crossing [[]] = . In all cases [[a]] = a.
In Roam, the same is experienced by clicking on [[something]]. This something is called, it comes into being and the brackets disappear.
Looking this way at Roam, I found that apart from nesting blocks, it’s very useful to nest page reference, so that a reference is made out of other references.
For example, I’m preparing the 5th edition of a Linked Data Newsletter. When I refer to it, in a task and some other kind of block in Roam, I can simply put [[Linked Data Newsletter 5]]. But that would mean to discard some important for me distinctions. Practically it would also require maintaining metadata for each page. As I explained in the first part, that’s what I want to – if not avoid – at least minimise so that I have an uninterrupted flow of thinking and writing.
Since I don’t want to make a single distinction when referring to the newsletter, I may choose to make the following distinctions:
In this case, they are three which means three nodes in the knowledge graph of Roam producing (or linking to) three pages which act both as containers and collectors of mentions with context, as explained in Part 1. But I may prefer other three distinctions:
This way I won’t have a collector of content related to Linked Data Newsletters, but any kind of newsletters, along with the collectors for “Linked Data” and the work specifically for the 5th edition of the Linked Data newsletter.
My preference is to do both in which case I’m calling five distinctions:
As in Roam the mark for indicating distinctions is [], the same expression will look like this:
If you are not using Roam, this may wrinkle your nose. The first two reactions might naturally be “That’s awfully difficult to write and prone to error” and “That’s not just difficult to read but unpleasant to look at unless you are a geek”.
It turns out it’s surprisingly easy to write. In fact, it’s easier than it would be to write the phrase for the first time. You just indicate with [[ that you are going to use or create a page reference and for all existing pages it would be filled in by the autocomplete functionality, which works incredibly fast. In the end, unless you are creating a new page reference for each of the four distinctions, all of this compound page reference would be filled in after just typing a couple of characters. As to being prone to error, Roam takes care that all the double brackets are closed.
For the second concern, what is showed is a matter of choice. You may choose not to see any brackets at all or to switch between bracket mode with the shortcut Ctr+C, Ctrl+B. And it will simply look like this:
You’ve probably noticed that it is another manifestation of the consequence of reflection
Even if that’s convincing for you, you might still have a third concern. It may arise even if you are using Roam already and it is, in fact, the scariest question of all:
When you browse the web and click on a link it would bring you to one page. The link is not only uni-directional, unlike in Roam, but it’s also 1 to 1. You can’t go to many linked pages. Very rarely you might be given a choice with a second click. Here, a common link like in the example shown, allows me to call different references depending on where I click.
When I click anywhere on “Linked Data”, it brings me to the respective page which currently collects and contains dozens of references. They include articles, training courses, my current projects, technologies, tools, Wikidata resources etc, as well as TODOs related to them and, of course, the two other references “Linked Data Newsletter” and “Linked Data Newsletter 5”. Clicking anywhere on the word “Newsletter” brings me to the page containing references to other newsletters, many of them not related to Linked Data. If I want to see content related to Linked Data newsletter, all I need is to click on zone 3, as shown above. Clicking on zone 5 (just anywhere between the two right brackets surrounding “5”) will lead me to the page of the concrete newsletter. Importantly, all these distinctions are called directly from the text, thanks to the affordances of Roam.
It get’s interesting and useful, when there are many compound references. Here’s another compound reference, having a common part with the previous one. In the notation of Laws of Form, it would look like that:
In Roam it looks like this:
There is the post which is a type of thing and there would be many posts collected on the page of this node. The Linked Data is the first modifier and COVID-19 is the second, each of them related to other nodes in the graph. Focusing on the Linked Data node shows this graph currently in my database:
With the two expressions, I made 7 distinctions, four in each expression having one in common. These seven distinctions look like that as a graph in Roam:
And this is another important function of distinction, and of its indication, the mark
It both separates and links inside and outside.
Since distinction is the smallest unit of cognition, we may want to review the bit as the smallest unit of information. This may help us change the way we do computing. In fact, such an attempt was already done. And the result is called unary computing. William Bricken told this story last year, at the 50th anniversary of the first publication of Laws of Form.
As to the atom, we already know it is the smallest unit of matter that can’t be divided using chemical means. Otherwise, the smallest particle is the quark. This is well known. What is less known is that Murray Gell-Mann borrowed “quark” from James Joyce’s book Finnegans Wake:
– Three quarks for Muster Mark!
Sure he hasn’t got much of a bark
And sure any he has it’s all beside the mark.
Yes, it’s all beside the mark.