As of [[2022-03-26]]:

  • An Agora exists. It is https://anagora.org.
  • Flancia Collective exists. It is in the Agora.
  • I try to write [[Wikilinks Everywhere]], even in platforms that don’t yet support wikilink resolution. Please assume that all links point to https://anagora.org; they can be looked up there, or you can automatically resolve them using extensions.

I am back here after a long hiatus. 2020 happened, I was very busy at [[work]] working on [[Covid]] response and then on reliability projects. On my free time I built an Agora: some coding, some writing, lots of meeting interesting people. And, of course, I lived — we lived :) Happily, I have to say. I am thankful.

All posts on flancia.org are also automatically published on anagora.org/@flancia as of the time of writing. I also write to the Agora from my digital garden as anagora.org/@flancian.

About Roam-likes

Several people have asked me what I think is the best available open source alternative to Roam currently. I’ve procrastinated writing about this long enough; here go some relatively raw thoughts in lieu of a proper answer. I’ll try to keep this updated.


As of the time of writing I believe the best Roam-like is Foam (https://flancia.org/go/foam). At least that’s what I’m currently using. Setup is a bit clunky, if only because it is actually an extension for a text editor, VSCode. But it’s a really good text editor — and I say this as a die hard vim fan, if you know what I mean.

First it was off-putting but now I think it being an extension is kind of genius. It makes it so that you can extend it and compose it with other existing extensions very easily.

Following https://foambubble.github.io/foam/#getting-started:

  1. First, install VSCode: https://code.visualstudio.com/download.
  2. Log into github, or create an account there if you don’t have it: https://github.com.
  3. Create an ssh key and upload it to github if you haven’t already done it: https://github.com/settings/keys. If you don’t have a key, on OS X and GNU/Linux you can just run ssh-keygen to generate it; the result (what you need to upload to github in this step) will be in .ssh/id_rsa.pub (could also be in .ssh/id_dsa.pub depending on your SSH version).
  4. Create a new repository using the Foam template: https://github.com/foambubble/foam-template/generate.
  5. Clone the repository in your computer, using the git client (if you have it) or the git extension in VSCode.
  6. Open the repository in VSCode and follow the instructions. Accept installing the recommended extensions (Foam is actually a package of other extensions; that’s part of its power). If for some reason VSCode doesn’t recommend installing Foam, you can search for it and install it by pressing ctrl-shift-p and typing “install extensions”.
  7. press alt-d to generate a daily note. Then get writing! :)

If you add text [[that looks like this]], it becomes a link — it’s a [[wikilink]]. You can control+click to follow it, which will create a file if necessary or open it if it already exists.

Once in a while, commit your changes in VSCode/git. It will automatically back up your notes to github. If you want to keep them private, you should flip that setting on github.com.

That’s it!

A note on Athens

Athens (https://flancia.org/go/athens) is only in closed beta. Once it’s out, it might provide the best out-of-the-box Roam-like experience; it is looking like it’ll be amazing really great. From all the tools listed here, note that only Athens supports block references. If you care about them, you’ll want to try it out.

Migrating from Obsidian

I mean, you don’t actually need to migrate from Obsidian. Obsidian is actually pretty great! I prefer Foam because of its extensibility and because it’s open source; but I like Obsidian. Its community forums are also great.

I’d still recommend you commit your Obsidian repository to git; this way you maintain full control over it, and you can even contribute it to the Agora directly too — functionally the whole setup can be very similar to Foam. You can just set up an empty repository in github, clone it in your computer, and then copy/create your Obsidian notes directory to it. After that you need to manually run git one in a while to update it:

$ cd garden
$ git commit -a -m "Some message saying what's in this commit."
$ git push

Remember to set your repo as private if you want to keep it that way.

Migrating from Roam Research

You can export your database to Markdown, and import that directly into Foam or Obsidian. Obsidian even has a “Markdown import fixer” that solves some issues with it (unclear to me right now exactly what the list of issues fixed is).


Now you have a digital garden of your own, please consider adding it to the Agora: https://flancia.org/go/agora-howto. The Agora contains a repository of digital gardens. With such a “digital forest” we could build a https://flancia.org/go/distributed-knowledge-graph by convention.

If you need help, please reach out to me anytime at 0@flancia.org, https://flancia.org/go/twitter or https://flancia.org/go/mastodon.

In Flancia there are no walled gardens

In Flancia the internet is truly open: they managed to get rid of walled gardens. How they did it is an interesting story.

Status quo

Let’s take just one example; it should suffice to represent the general approach they took. In Flancia they had a social network — well, they had many of course, same as we do, but one in particular had grown into dominance. People had sort of liked it at some point, then eventually didn’t anymore, but they were stuck with it by then; it had developed at just the right time in internet history, and it had done enough things right in the beginning to take over from contenders and really soar in usage.

As it often was the case in those days, this network was fully controlled by a single corporation, and although at the beginning there were some provisions in place that made it look like a relatively healthy platform eventually the company had chosen to consolidate their dominion; namely close down APIs and turn it into a walled garden. By then network effects had taken over and de facto locked people in, too: the company had gotten users to build up an expansive social graph for them and had succeeding in retaining control over it. They proceeded to use this virtual monopoly on many users’ social capital and attention to make billions selling ads — and gained the ability to significantly steer public opinion in the process, too. Many people recognized problems with this approach, but users at large mostly kept using it. It was that or being locked out of a significant portion of social activity online and offline.

X marks the spot

One of the obstacles that Flancians faced when trying to improve on this status quo was that there was no single clearly better platform of choice available; in areas where there were some alternatives there were often too many, so the competitive landscape was fragmented, and that played to the company’s advantage. The company also used their ad-fueled wealth to buy most promising contenders and offer them as relatively empty alternatives to their main network, while effectively gaining access to more social data and expanding their influence. After a while network effects and inertia were so strong that competitors all but stopped trying; social networks are known to be hard to decamp from, as most of their value is in the social graph that users build on them; and the oh-so-valuable graph was kept very deep within the company’s walled garden.

Flancians didn’t have much when facing this dire state of affairs, but they had one thing, and it was an important one: they had a machine for solving coordination problems. So they used it. First they sketched out a declaration of intents flowing naturally from their publicly espoused values.

  • Useful internet platforms should be open.
  • Open’ means that no single monolithic entity can fully control them and that their inner workings are transparent to interested parties and appropriately malleable.
  • Open’ is desirable because otherwise monolithic egotistical entities can gain control of the network and extort value out of its users, or mislead them.

Then they proceeded to write a plan together. The first version was remarkably simple; a sketch to get the real discussion started. It said essentially as follows:

  • For each useful internet platform X that is not open:
  • Let X’ be its open replica.
  • Write down a plan to reimplement its core functionality, F(X’) ≈ F(X).
  • Write down a plan to reproduce its critical data set, D(X’) ≈ D(X).
  • Add X’ to the Catalog of Missing Devices in the Agora. This both marks it as a canonical replica of X and announces it as a priority for Flancians.

Once this bootstrap process was complete, the standard Agora algorithms took over; Flancians would best-effort iterate, improving on plans and resource estimates and executing actions as available to them, until failure or convergence.

Social networks were useful internet platforms; the Agora, after all, was in many ways a social network (a focused, goal-oriented one). So Flancians set out to replicate the company’s social network. They named that particular X’ Flanbook — after The Book of Sand, of course. It was fitting because the task of replicating it seemed at that point in time infinite in scope.


Looking around, it turned out that Flancians were relatively lucky. Most of the tools and libraries needed to build an open replica of the social network were available off-the-shelf. From all its algorithms, its ranking algorithms were perhaps the most sophisticated; but Flancians intended to replace those anyways, thinking the community could do better, so that was not an issue. The road to I(X’) was not trivial by any means, but it wasn’t very interesting for the purpose of telling this particular story.


In the case of social networks, then, it followed that most of their value was in their data; and, from all their data, none was more valuable than their social graph. Here Flancians had an ideological advantage, albeit perhaps not strictly a legal one to begin with, as they were known to often burst into chant in unison in barely appropriate occasions:

This, which is our data,
will always be our data.
A Flancian and their data
shall never come apart.

This somewhat awkward ritual came handy sometimes, though. Flancians strongly believed that any information they produced and maintained was theirs; they believed this almost as much as they believed in the Agora. To a Flancian, the idea of their part of the social graph (the piece they had contributed a node and edges to) being out of their reach, locked down somewhere deep in a walled garden, just didn’t make sense. They refused to take it. So they just agreed to take their data back.

To perform this kind of task in a scalable way, they built special devices called syphons. The simplest came in the form of browser extensions. Whenever a Flancian used a targeted service X, the syphon redirected relevant data in the background to the replica X’. This allowed building up D(X’) incrementally so it could eventually function as a drop-in replacement. Flancians agreed to use these devices any time they could in platforms being replicated, even when they were not otherwise directly involved in the replication project.

Now, Flancians are an altogether friendly group, and they have the added advantage of knowing how to use an Agora; but they still do sometimes come into disagreements. Here Flancians disagreed with each other in how to define relevant in the above paragraph. Some Flancians, believing closed platforms to be actively dangerous to society, took the position that all data could be considered relevant in the noble pursuit of replicating such platforms, and consequently took a relatively aggressive stance and built and used syphons that actively sought to crawl and extract the largest portion of D(X) possible as fast as possible, regardless of provenance of data. Other Flancians, mostly aligned with the Middle Way, built syphons that only extracted data that they could strongly claim to be theirs to begin with, according to a shared and public definition:

  • If the user of the syphon added the node or edge, it is considered relevant.
  • If a non-Flancian added the node or edge, and they give explicit consent to extraction, it is relevant.
  • If a Flancian added the node or edge, it is relevant (Flancians consent by default to the rational constructive actions of other Flancians).

The second approach introduced the additional problem of identifying users across platforms and tracking consent. The syphons offered cross-platform validation as a feature; otherwise it could be manually accomplished by cross-posting tokens and declarations of intent publicly in the relevant networks.

Once this system was in place, it would presumably make D(X’) converge into a usable dataset.

The company, of course, put up a battle. They correctly identified X’ as an existential risk, and sought to attack syphons and their users. This started an arms race. Both groups of Flancians were affected differently, with those subscribing to the Middle Way being on more solid legal footing. The fact that Flancians had enough resources and a platform to organize a united resistance (the Agora) helped them tremendously; also helpful was the fact that relatively small but dense parts of D(X’) were sufficient to bootstrap smaller social networks within the network.

It would be perhaps unwise of me to say at this point which group fared better in the end, and precisely when and how the first replication project was brought to effective completion. Suffice it to say that Flanbook was a success, at least for a while, and it remains somewhat popular among the more old school Flancians. I, myself, am more partial to Instaflan.

On go links

I’ve had several conversations with people surrounding go links recently, over on Twitter and Matrix; that made me realize I’ve been procrastinating on writing something about them, so here I am. Procrastination over.

Before I lose you, let me tell you outright why I think go links could be interesting or even important to you:

  1. They are complementary cognitive artifacts.
  2. They are URLs made truly democratic.
  3. They are a simple, but solid, base for a distributed social knowledge graph.

Did that pique your interest? Then read on.

A primer

go links originated within Google around 2005 or 2006. They are the invention of Benjamin Staffin, an SRE (like yours truly); as detailed in his interview with Jon Gaulding from trot.to, they were inspired by AOL keywords and were designed to scratch an itch that Benjamin’s team was experiencing at the time: people kept asking for trivial redirects to internal pages that were relatively work intensive to set up. Go links emerged as self-service named redirects, essentially: a web service that sets up a redirect from a chosen label (e.g. go/agora) to a target URL (e.g. https://flancia.org/agora). From Google they spread to many other companies, particularly around Silicon Valley. If you walk around their offices (well, if you did before Covid-19 anyway) you will see them in wide use.

In many ways, a go link is like any randomly generated “short link” you can get nowadays around the web as offered by a number of services like : you can create them quickly, they can point to any valid URL, and they tend to be shorter than the URLs they link to. So far so good. But they have some extra attributes:

  • They tend to carry semantic information in their labels — you need to choose the go link label anyway, and better names make for easier communication and better recall. Some examples:
  • The chosen-label approach lets you do what I call go-link-driven-development: it is easy to write them down before they exist, and backfill references as needed later. This is very convenient when you know that a resource exists (or will exist), but do not want to interrupt the flow you are in to go fetch a reference to it.

All in all, go links are good drop-in complements to URLs: every time you are about to use a “bare” URL (and you have it, say, in your clipboard), it’s very easy to promote it to a semantically meaningful and easier to remember go link instead. If you visit a go link that doesn’t exist, you get a prompt to create it and point it at a target. Browser extensions make this easier even, but honestly you don’t even need those and many heavy go links users don’t use them.

Give URLs back to the people

So, what’s with the democratic bit earlier? Isn’t that a bit grandiose? Perhaps, but I believe not by much.

Back in the early days of the web, the ratio of users that “owned” some part of the URL space to total number of users was quite high. This was due to the fact that many users came from academia and got some personal web space with their campus/research accounts, a la flanbridge.edu/~flancian; or, later, relatively tech-savvy and likely to run a domain of their own or be part of an organization that did so. Even as late as the heyday of blogs, around the mid aughts, lots of internet users could claim ownership of some URL space — and, with it, responsibility over links between resources. Hyperlinks are, of course, the true spirit of the web; it is not the nodes themselves, but rather their connections, that grant the web its power, and define online communities (remember the blogosphere?).

Then, of course, monolithic social media happened, walled gardens were built — and everything changed. With the push to mobile apps, which are notoriously hard to link to in a consistent cross-platform way, URLs were further de-prioritized by companies; some went as far as fighting deep linking and seemed to make a concerted effort at making URLs useless — by making them impermanent, unreliable. As we all know, cool URIs don’t change.

I posit go links can give back the power of URIs and stable links to the people; this through the fact that some URL space could be shared equally by all users of a public go links instance. Go links are mostly used in companies nowadays, but they could (and, I believe, should) be extended so they can be used by arbitrary groups in the internet, pending the definition of an ACLing system and the imposition of reasonable terms of use.

To illustrate: say you write a Facebook post that you are particularly proud of — you share the link widely. One day Facebook decides to take you down for any reason — you’re in trouble. You’ve not only lost your Facebook account and your post — you’ve lost the value of all the links you sent out, and any links that people set up! Even if you rewrote the post in a Wordpress blog, or restore from a personal backup, all the links would still point to the old location, and you would have no way to set up redirects after the fact or even let people know that the target is known to be broken.

With go links as a tool, you could have shared go/about-topic instead, and just adjusted the target after the Facebook issue. Go links are user-owned arbitrary pointers; a user-friendly overlay that can mediate between said users and the targets controlled oh so often by monolithic platforms that have claimed ownership of most of the URL space that people care about.

Cognitive artifacts

Cognitive artifacts are “artificial devices that maintain, display, or operate upon information in order to serve a representational function and that affect human cognitive performance”1. They are objects “made by humans for the purpose of aiding, enhancing, or improving cognition”2. Some examples are calendars, to-do lists, computers — and, with the latter, many of their abstractions.

David Krakauer from the Santa Fe Institute volunteers some further useful definitions surrounding cognitive artifacts: they can be competitive or complementary. Complementary cognitive artifacts have an interesting property: as you use them, you become better at the same or a related cognitive task, even in the absence of the artifact. A common example is the abacus: as it’s widely known, people that become proficient at using the abacus for performing arithmetic become better at these tasks even in the absence of an abacus. To some extent, they are able to internalize the abacus. Compare, of course, to the use electronic calculator; lose your calculator and you’re back to square one, or perhaps worse off than if you didn’t ever have it in the first place. Another example: maps are complementary for most people, whereas step-by-step GPS directions are competitive.

See where this is going? I’d like to make the argument that go links are complementary cognitive artifacts.

To see this, ask yourself: where is the go link stored? It is somewhere in a database or an HTTP server configuration for an HTTP redirect, of course; and, sure, if you lost that data, you would not be able to retrieve the target anymore. In that sense, for that function, they are competitive. But an often used go link is also in your head, and you can easily operate with it in some ways — even while far away from a computer or an internet connection. You can tell people about a go link; you can write it down on a piece of paper; you can tattoo it on you (you should probably only do this if you can trust whoever runs your instance). All in all, the go link can be operated on in many ways by virtue of the fact that you remember it. And you will remember it often, even without trying — you may need to use them for a while to believe this, but setting up and using links in spaces interesting to you (and you tend to link interesting things by definition) is clearly reinforcing in my experience.

Note that the alternative to using go links for many use cases is not to save and store the target URLs, but rather not to use URLs at all; to rely on search instead. You can notice this every time you ask for a document, or try to surface a document for someone, and find it takes a number of steps and involves opening up an interface (say, Google Docs) and searching. In this sense, giving a resource a go link replaces a relatively unstable procedure in your working cognitive space with a constant operation — dereferencing the go link retrieves an item. It’s a valuable optimization. In my experience it adds up. Once you see this and “get” go links, they become indispensable. They have sticking power. I miss them when I’m not in the day job and have thus spent some of my free time replicating them with open source tools.

Social knowledge graphs

Now, we’ve covered some social aspects and some cognitive aspects of go links as a tool. This section is a bit of a synthesis of both: I’d like to make the case that go links are a reasonable platform to build a social knowledge graph 3.

Think about it: the users of a go links instance link resources. Some of the resources are “owned” by them in some way — say, they are the authors of the Google Document, the blog post or the tweet that is being linked. This creates a transitive user-thing-user relationship that can be modelled as implying a user-user relationship. Furthermore, users might also use go links set up by others; this defines yet another relationship of this kind.

Thing-thing relationships are where things get more interesting. A go linked resource might include a go link to another resource in its body in turn. This can define a thing-thing edge in a knowledge graph; two interesting resources that are related. Taken as a whole, this defines a subgraph of the link graph that defines the web; one that happens to have been semantically annotated by users.

Note that there are social platforms, like Twitter, where power users constantly struggle to locate content they’ve seen before; search is woefully insufficient. Go links could work as a bookmarking tool in this context and be bootstrapped by this social function.

After that I would expect information-heavy communities like that that has formed around tools like Roam Research and Notion to benefit the most. Go links can be a good way to share interesting or relevant information between users; the URLs that these tools (and many others) are often opaque. Roam Research could even auto-Link nodes marked as public, and offer users a way to cross-link nodes with other users’ (see also the federation point below).

TLDR: Roam/Wikis/Docs/Twitter plus go links = lightweight distributed social knowledge graph that builds on these platforms but is not directly controlled by any of them.


If you accept one or more of the hypotheses implied above (that go links can be directly useful to users; that they complement existing tools and platforms well; that they might benefit from network effects), further venues for thought seem to open up:

  • In general, go links could function as a hub-like platform for any number of lightweight label-oriented cross-product integrations (see the Roam example above).
  • Hierarchical go links: multi-level/name-spacing.
  • go links feeds: you can subscribe to updates for go links — or the resources they link. You can subscribe to subgraphs, as well; around things or people.
  • Federation: domains can expose some part of their URL space as go links space. https://flancia.org/go is precisely this. Participating domains can cross-link resources that have the same go link within their spaces, e.g. https://flancia.org/go/go-links and https://anagora.org/go/go-links are automatically linked to each other. Participating pages can include links to each other in a web-ring-like way.
  • go links actions: a set of standard operations that apply to go links or their targets. e.g. could make aware of via some pre-defined channel. could list all targets for that people around the network have defined.


All in all, if you had a distributed social knowledge graph, what would you do with it?

I know what I’d do. I’d build an Agora.

(See also: https://medium.com/@golinks/the-full-history-of-go-links-and-the-golink-system-cbc6d2c8bb3.

On Twitter

Be careful with Twitter, they said. You’ll get addicted.

I said: don’t worry, I have it under control. I recognize you can get addicted to social networks; I’m doing this purposefully. I want to investigate how to hack dopamine hacking, in a way: how to use the dynamics that social networks exploit for my own benefit, or (stretch goal) for the benefit of society.

I still got hooked. I do believe a lot of what’s come out of it thus far is productive: I try to use Twitter as an open note taking tool, to “think socially” — to motivate myself to get my writing out there, even if it’s in bite sized chunks. But I’m also falling prey to the algorithm; one that, of course, I can’t control. The algorithm’s objectives are not my objectives; I can try to bend it, but I can’t replace it, so all in all Twitter is sometimes competitive instead of complementary.

In any case, these are what I consider the relative highlights of my Twitter career so far. I’ve set up go links for each of these to make referencing them easier.

I’ve also set up a trivial redirect from https://flancia.org/t/x to a Twitter search for ‘x’ in my account. Enjoy (?). E.g. https://flancia.org/t/agora.


What is Flancia in 2020?

Lots has happened since I last wrote here. I continue to try to advance the principles of the Agora, as I can. I continue to have a day job; the day job has been particularly busy due to Covid-19; the product I help maintain at work was affected particularly by it, and I worked long and hard in the last four to six weeks.

Nevertheless, I also found the time to think a lot. I’m lucky in that, even while working hard, I have time and energy to think; at least on the weekends.

Flancia in 2020 must be about our weekends, and about quarantine: about what we can do together in this special time and place.

These are my goals for 2020:

  • To advance the goals of the Agora with whatever pieces I can find and muster. If you read this and you don’t know what the Agora is, don’t worry; just take it to mean something that I care about and that I consider a positive contribution.
  • To do good by others; to help people. For the time being my commitment is to try to donate monthly at least 20% of my disposable income.

It’s not much of a plan; it’s simple enough that I can tell you most about it in a short post like this. I came up with this by thinking on the weekends; and, of course, by living a privileged life that allows me to be in the position to do so.

Leaving distances aside for a minute, what is your plan for 2020?

In Favour of Identity Politics

This is a thought experiment that makes the case for Identity Politics as useful and desirable. It was inspired by Sam Harris, a thinker I admire and deeply respect but who I believe is at least partly wrong in his assessment of Identity Politics and other ethical matters related to privilege as it interacts with personal identity. I hope rational-minded people might find some arguments here attractive regardless of their current position in the conservative-liberal spectrum.

This is also an exercise in the principles delineated earlier in my writing (see, for example, Agora). I’m communicating as clearly and openly as I can to try to understand each other better, regardless of any a priori perceived agendas. I will begin by trying to state Sam’s position as well as I can; an instance of what is widely known as the Principle of Charity, and that I believe Sam himself is a fan of.

My current personal best mental simulation of Sam Harris says: Identity Politics is wrong, that is, it is of low effective value to our thinking. Identity Politics restrains our thinking to whatever space is provided by the identity of the thinker, which is very much tied to their personal history and their expressed phenotypes. Our race, for example, should not matter when it comes to making an argument or pushing a rational discussion forward: the opinion of everybody should count the same, as that will let us optimally explore the shared space of thinking. Collect as much useful knowledge about the world as we can, after Deutsch.

To that I say: Identity Politics is also needed. Identity Politics is a way of thinking; Identity-Free Politics is another, and both have their advantages. They are philosophical contexts: both provide us with the opportunity to explore diverse solutions and collect useful knowledge. It is desirable to use both, ideally each at their best time. Our discussion can ideally move forward to rationally listing contexts where each approach provides value: when to put each module to best use (in which mental context, after Weinstein). This is a subjective assessment, thus a matter of ethics, and our discussion must shift there.

Our knowledge of the world is imperfect. We must make assumptions all the time when thinking, for much we do not know; this goes doubly for our thoughts about people. How we make those assumptions — which heuristics we use, in algorithmic terms — clearly also has a huge incidence in the thinking space we get to explore.

Imagine we were forced by a specific situation to have to decide which single person gets to make an ethical decision, freely and without consequences, for a whole group. Imagine, say, that aliens came and saw that race is a huge open issue in the US, and that needs to be fixed, and they told us that we must designate a single person to decide exactly what happens next, within the resource constraints of the whole nation. Whether to establish reparations, institute a basic income, or build a colony on Mars. Anything that can directly nudge “Karmic balance” in the right direction, according to some reasonable definition of those terms.

Who should we choose?

Before we know more about each individual candidate, I’d fathom the guess that “black woman thinkers” should be very highly represented in the group to be considered. I believe this is an instance of Identity Politics that is rational and thus desirable according to many useful systems of ethics.

Now, that doesn’t mean we shouldn’t then hold a healthy debate between candidates and get to known them all much better; listened to them, to their ideas, regardless of who they are. The best idea for what to do next might come from a white male. Listening to a white male talk about what to do about race is a bit awkward to many, but to exclude them altogether from a debate that decides how their future will look seems unfair. That means that at some point we want representation of thought regardless of identity; we can then judge people purely on their thoughts, as they are at some point in time, regardless of their history. This adds a degree of (trigger warning for some) free will to everybody’s existence. So in a sense we must always turn to Identity-Free Politics at some point in our rational debate to further test our assumptions. Remember, our information about the world is imperfect but we want it to become better. Nobody wants to miss out on the potential of a truly great idea; one that improves the world for all, and that all choose happily and freely.

Now, where is the point of confusion here? Why are we not all on the same boat, agreeing on what is essentially a middle ground approach that potentially allows us to work better as a society? The middle ground just requires us all to give our distinct frame of thinking a chance in open debate. Just talk to each other, and accept the other’s world views for a little while.

Why is Sam Harris not talking to Ta-Nehisi Coates?

About the nature of the Buddha and loving-kindness.

Computer Science and Machine Learning provide an effective vocabulary to talk about mental states. As I go about my life, I tend to think of the computational processes I could be applying to solve tasks. I’m not sure everybody does this as often as I do; probably geeks do it more often? I’m doing it more and more since I started meditating and became more aware of my mental processes and formations.

While we live, we experiment things; feel a series of qualias. While we experiment with the world and feel things, we learn. When we learn, we adjust our internal neurological state.

More in computing terms: feelings about things and ideas are linked to weights in our models. Qualias are vectors; each dimension is a characteristic of the experience. Experimenting a qualia is evaluating a condition. Usually we experiment many qualias muddled up together; we are evaluating batches. Summing up: the weights we adjust when we learn determine the experiences we feel on different stimuli; they might be the qualia.

Concentration (“Samatha”) lets you evaluate your mental state while considering fewer items at a time. It lets you focus more on individual weights in the model, observe them and update them individually.

You believe in things that ended up with a high weight in the “belief” dimension of its qualia. You believe these things because they happen to be true, or useful, or otherwise important. Wisdom, as distinct from knowledge, is the sum of all this information you carry.

Metta is theory of mind training.

Metta lets you experiment the affinity weights that link you to other people in your life. You feel happy when they feel happy; how much? You feel miserable when they suffer; how much? It might be that some weights are lazy-initialization; reading them actually sets them (lazy here means they are set to NaN and don’t affect batch calculations). Or perhaps reading them also reinforces them; if you check for a feeling often enough, and it comes up positive, perhaps it comes up more positive every time (TODO: look up neurological correlates)..

The self is a cluster of ideas we are positively disposed to; our identity is the set of things that that a) make us happy for one reason or another (we feel as if we “choose” those), or b) we don’t like but otherwise are useful (for example: they are good at predicting how we will behave in the future, like character traits we don’t want but carry).

Feelings of happiness related to other people let you identify with those people; move your self distance operator towards a gravity center not within yourself. Your self expands as you do Metta. As you do it with yourself, you also realize that the same mental processes you use to build a mental model of what other people think (theory of mind) are (or at least feel) like the ones that you use to think in first person.

Hypothesis: they are the same. “Being social” probably comes after just “being” (and trying to understand your being) evolutionarily speaking. So it would make evolutionary sense for it to build on the previous neural pathways; a mutation is more likely to trigger a new module than an independent system.

Once you realize all this, you can can choose to adjust your self any way you like. Part of your identity is group-linked; the group can be expanded, and your identification with it too (every time you do this, perhaps you “feel” it to be true a bit more). You are not the same as all people in all the ways; but if you care about them, and you want them to be happy, well: you’ve got something in common with all of it.

Eventually the significant weights you use to decide whether some entity is in your “self” or not flips. In a practical way, your self can become “everybody”.

This is the nature of the Buddha: Buddhism mostly agrees that it is core to all living beings.

You become the Buddha by identifying with your Buddha nature; believing this to be true.


I had an idea about a sort of lazy undertaking. For now, I call it White Kallax.

A 5x5 Kallax from Ikea

Kallax is the successor to the popular Ikea Expedit. It’s a bookshelf that is amenable to becoming a filing system; you get a bunch of cubes you can fill in. I like to think of it as a matrix: the bottom left corner cube is a0, the one to the right of it b0, the one on top of that b1. Or it could be the plain matrix notation for m x n matrixes, although that has the disadvantage that extending the Kallax to the top (by stacking) would yield a coordinate change or negative numbers.

I like that a 5x5 one is 169 on Ikea. It doesn’t break the bank, as long as you’re privileged enough to be able to buy stuff at Ikea in the first place.

We’ve just moved to a new place and bought a 5x5 Kallax and I plan to try to keep it representative. Of what we like; of what we want to be. As we add to it, and edit, I want to take pictures of it. Right now it’s a 5x5 one, and it’s only about half unpacked; not all our books, not all the stuff we like is on it. But it’s getting there.

We like books, so we’ll try to fill it with our favourite books: the most beautiful to us, the most interesting. Many that we’ve always been curious about but haven’t had the time to read1.

Books don’t break the bank, either. Hopefully other stuff I will put in there will be the same way. I like having nice things, but I want everybody to be able to have the same standard of living that I enjoy. It would only be fair, as a Flancian[^books].

I’ll try to keep the Kallax it nice and tidy; honest. Not have too much fluff in it. To the best of my ability and no further away, of course. I accept suggestions.

  1. Of these all, I wonder how many I will actually read before I die. All things make us face our mortality; books do so more than many. 

My meditation practice

I’ve been meditating for about a year now, and for four months seriously. It seems like a good time to stop and just write down what meditation means for me right now; in particular, how much time it takes and what I try to use it for.


I follow the Pareto principle, where I try not to over-invest in activities, instead trying to get 80% of the benefit with about 20% of the effort (with 100% of effort being the quantity of work needed to get 100% of the benefit). So my meditation practice is currently quite light, when compared to most serious practitioners. It looks like this.

In the mornings I wake up and make coffee for my partner and me. I start work later than them, so they leave earlier. Then I do a guided meditation. I use Sam Harris’ Waking Up app, which I can recommend. I started with the 50 day initial course, with each session being about ten minutes long; Sam takes you from complete beginner to someone familiar with focus techniques, duality and non-duality, loving-kindness and open eyes meditation. After finishing the initial course a daily guided meditation becomes available, which you can customize to fit in either ten or twenty minutes depending on the time available. Nowadays I often do twenty minutes.

In the evenings after I get home from work I try to meditate for another ten minutes, either guided (redoing a previous meditation) or unguided (the app has a built in meditation timer, where you get bells every few minutes as desired; the bells remind you to stay on target). This doesn’t happen every day as some days it’s gotten late and we need to go straight to exercise and dinner instead. When it doesn’t happen, and sometimes even if when it does, I meditate in the same way just before taking a shower (I shower in the evenings, just before bed).

In the weekends the routine is quite similar, although the morning meditation is shared with my partner (we just meditate at the same time with the same session playing).

Benefits and ramp up

At this point the benefits I’ve noticed in my life that I can attribute to meditation are various enough and clear enough that I feel comfortable trying to ramp up my practice. To put it shortly, meditation seems to have increased my focus and my creativity; I’ve been writing more, and have been able to stay on target with my daily activities longer than I used to (I’ve always procrastinated too much).

All in all, I find that I seem to have gotten a bit better at thinking about hard things. By this I don’t mean I’ve gotten smarter, but rather that I’ve noticed a range of improvements when trying to think about issues that I find difficult or off-putting. The easiest way I can describe it is as follows: whereas before I skirted around difficult topics, now I find myself a bit more willing to tackle them — or at least think them through. That doesn’t mean that my problem solving skills have improved, of course; rather that I have a chance to solve more problems just because I bother to start on them more often.1

For me, this is one of the main advantages of meditation: it teaches you to recognize patterns of thinking, and through it it enables meta-cognition. To use a corny programming metaphor: it gives you access to the scheduler in your mind, and then lets you use your resources more efficiently.

As I’ve written elsewhere, what you do with your resources is an ethical decision. I believe that thinking about the problems that other people and beings face is one of the ethical responsibilities that every privileged person has. For my own take on how to do this efficiently, see goals.


I think a slightly increased practice may yield worthy benefits; put another way, I want to explore if I’m really hitting the Pareto sweet spot. Currently I plan to ramp up my morning sessions by adding an unguided session after the guided one; another ten minutes. I will use it with the following default program, with bells to mark phase transitions:

  • One minute: focus on sounds/breath.
  • Four minutes: think about topics chosen in advance, while trying to not lose myself in thought. Examples:
    • The nature of human existence.
    • How to help people reach their fullest potential.
  • Four minutes: Metta (loving-kindness).
  • One minute: focus on sounds/breath.

  1. Of course, this could all be placebo effect or just plain old self-delusion. But as long as the world plays along with my efforts, it’s hard to argue with even short term results as they pile up.