📚 node [[hacking]]
⥅ node [[agora-plan]] pulled by user

Agora Plan

Introduction

The [[Agora]] is a project with a large [[scope]], so it takes a minute to explain what it's all about, and what the vision this plan tries to advance is.

If you'd like a quick introduction to the Agora as of mid 2021, please check out [[go/agora-slides]].

You can also refer to [[go/agora]], that is the documentation in the [[root repository]] currently hosted on [[github]].

What this node is for

This node is used as a project planning page for the [[Agora]] implementation you're likely reading this in now: https://anagora.org .

As you might know by now, an Agora is a beast with multiple legs:

This node might deal with development of any and all of them. We will try to list past major developments below, but this node will try to also be [[future focused]].

Next

Previously

  • On [[2021-11-06]]:
    • Lots have happened. I gave up trying to maintain this for a while, instead using my journals and a transitive subset of the [[Agora]] to document the development process.
    • See [[flancia collective]], [[agora discuss]], [[journals]].
  • On [[2021-01-30]]
  • On [[2020-01-02]] I implemented [[jump]]
    • I said: "I'll implement the action and a 'jump'/ dialog always available in the Agora, perhaps replacing search in the [[toolbar]]."
    • Done!
    • Q: is 'go to' better than jump? I don't think so, and it could be confusing due to go links. But unsure.
  • On [[2020-01-01]] I fixed node titles.
  • On [[2020-12-29]] I pushed a quick patch that upranks all my subnodes, as some top subnodes in relatively popular nodes had formatting issues / were distracting. I intend this to be temporary; better ranking and formatting fixes are coming.
  • On [[2020-12-27]] I released [[agora 0.5.6]] with [[pull]] support, better db code, caching... quite a bit :)
  • On [[2020-12-20]] I worked [[agora 0.5.5]], which adds simple [[hypothes.is]] integration.
    • Fixed the fact that [[back]] [[links]] didn't work in non-existent nodes (even when there are backlinks, that is).
    • Prepared CSS/html for pull, push, forward links.
  • On [[2020-12-04]] I released [[agora 0.5.4]], with some improvements:
    • New data model (digital gardens are not subtree'd in the main [[agora repository]] anymore, stay wholly independent)
    • Index page is now just another node, subnodes can be contributed by users.
  • On [[2020-11-29]] I integrated the first community contribution ever.
  • On [[2020-11-27]] I fixed some bugs, like wikilinks with periods on their names not working.
  • On [[2020-11-22]] implemented count of subnodes in user pages.
  • On [[2020-11-17]] implemented [[latest]].
  • On [[2020-11-16]] I implemented [[agora fuzzy matching]] and full text search, adopted a div based layout, improved the CSS, improved user pages.
  • On [[2020-11-15]] I implemented dark mode (press on 'theme' on the top right corner to switch dark <-> light).
  • On [[2020-11-14]] I released [[agora 0.5.1]].

Signups

Integrations

Next

  • all http mentions should be auto linked, not only some: https://twitter.com/notverapetrova/status/1346258737204400128
    • Worked around this, but I should probably send an upstream PR to [[bleach]]
  • try rendering notes with [[marko]], see if it's a bit more forgiving with list indentation and other kinks that seem common.
  • add support for org mode gardens
  • I should make node [[0.5.6]] work
  • graph the whole Agora -- sounds fun!
  • Implement pull and push.
    • Define divs for 'pulled' and 'pushed' sections
    • Write functions that return [[pull]] and [[push]] entities in each subnode
  • Make more links default to node instead of subnode.
    • For example those in latest, those in user pages.
    • Might require 'upranking'.
  • set up [[agora]] hot spare in [[dorcas]], this is an experiment but I already find it very useful so I don't want to not have it available for a while if there's a server failure
  • add monitoring -- [[munin]] or something more modern? [[prometheus]]?
  • Implement /node/foo/selector as more resilient/uniform alternative to /subnode.
  • Implement user upranking/pinning.
    • Perhaps nodes visited from a user scope uprank subnodes by that user?
  • https://twitter.com/s5bug/status/1334686375275163652 ?s=09
  • Provide a link (GET) for the search for '[ ]', useful for [[do]].
  • Add better backlinks, showing some context.
  • Make the site header be marked as an actual header (div with a class, etc.); Google seems to think it's part of the site text (it's showing up in results).
  • Fix markdown list formatting issue with different tab widths.
  • add footer.
  • Implement preview-on-hover?
  • Implement "around the Agora".
  • add /latest or some other chronological view
  • User profiles: perhaps just note [[flancian]] as written by user [[flancian]]? Unsure.
    • [[s5bug]] suggested using [[README]] in gardens for this. Makes sense.
  • Make the index be just another note [[ding-levery]].
  • Improve backlinks: show snippets as well as just the link.
  • Improve pull loop to also support arbitrary hooks, like that needed to implement [[agora go links integration]].
  • Multi user improvements:
    • Better sorting (right now all my notes show up at the top, doesn't make sense).
    • Ability to "zoom into" a user, to navigate just their garden for a while.
    • Perhaps ability to "uprank" users, pinning their notes to the top of any sorting order.
    • Perhaps sort+uprank can be integrated?
    • usernames could have a 'pin' emoji that upranks all their posts?
  • Implement search (full text).
  • Add support for media serving (useful for pictures of [[ocell]]).
    • assets/foo end up at node/assets/foo; just adding a handler for node/assets/ seems like it could be enough.
    • It would conflict with a node named 'assets' though, so perhaps it's not ideal.
    • Perhaps it'd be better to just serve images/media as subnodes?
  • Add monitoring/alerting.

Some day:

Feature requests

History

  • fix bug: backlinks should be shown even in yet non-existent nodes, such as [[deceased]].
  • Clean up stale journal pages which don't follow [[iso 8601]].
  • Add config.py file with things such as paths.
  • Add user handler: /u
    • /u/flancian -> all nodes by flancian
    • /node/flancia/u/flancian -> flancia by flancian
    • Also added @flancian. Shorter is better, and it's a common convention.
    • perhaps /g/ for groups later? or /s/ for stoa.
  • Add 'link to this note'.
    • Now called subnode.
    • Subnode rendering is ready, just need to add links.
    • Perhaps I need to fix subnode paths; right now they are the actual filename. It'd be better if there was at least possible to specify the filename base (no extension) and have the right file be resolve, a la nodes.
  • add some search support -- a simple textbox + GET?
  • better css
  • Improve the [[index]].
  • Implement [[agora fuzzy matching]].
    • Done
    • but backlinks don't work in some cases, like http://dev.anagora.org/node/abstract%20fairy .
    • Probably not worth fixing that right now as it only triggers for nodes that are not canonical, perhaps better to just redirect to a canonical node.
    • could help with disambiguation and acronym expansion
⥅ node [[do]] pulled by user
⥅ node [[flancia]] pulled by user

(A directory).

I always assumed that, when people dedicated their work, they all first finished the thing and then wrote the dedication. That would mean dedicating the (say) book as a finished object, something concrete that one has compiled or created and can then be offered with few reservations.

Belatedly I've come to realize I'm not that kind of person, so I find myself dedicating a draft instead. Writing these lines as I write them now means dedicating a set of ideas first, and my clumsy implementation of these ideas second -- the latter amounting currently to little more than well meaning aspirations.

It seems appropriate, then, to dedicate this fuzzy set of ideas and aspirations to a fuzzily defined group instead of a concrete list of individuals.

To my friends.

May you be happy!

Look, an Agora!

⥅ node [[goals]] pulled by user

Flancia will be an entity1, perhaps established in Switzerland, with the following constitution[^201]:

Flancia should be a tight module, designed to be a compatible add-on for as many people as possible out there. Everybody can be a Flancian as long as they are willing to potentially collaborate on the stated shared goals.

Our first step is to build and improve an Agora. We start with Twitter.

How I plan to dedicate my personal resources to the foundation

This section details how I plan to live my life at the time of writing, dedicating my free time and resources to the foundation. Consider it optional reading; every Flancian constructs their own path.

I have a specific savings threshold that is "enough" according to my definition: I can then retire and support myself and my family in the country of our choosing with a comfortable lifestyle.

As I get closer to my threshold, perhaps I'll choose to work fewer hours on my day job to redirect that time to Flancia. Whether I retire fully, and when, probably depends on how many of Flancia's objectives can be reached while I keep working for a company or other kind of organization that I can also identify with.

If I keep holding gainful employment, I'll be in principle reasonably free to dedicate to Flancia all resources left over after paying for living expenses and our lifestyle plus savings, and my free time (if there's some economic downturn that affects us, I might need to cut back). I estimate I can get to the point of having enough savings not to work again under reasonable economic conditions (not if the world heats up too much) in about seven years, at which point I could "retire" to Flancia. In any case I already can set aside time for Flancia; another consequence of my privilege again, as I don't have to work two shifts, and we don't have kids.

My current plan is to study, write, and research whatever I find interesting and most promising for the advancement of the foundation's goals. The first is building an Agora: a platform for discussing humanity's biggest problems and their possible solutions. I'd start with homelessness, hunger, climate change. Causes of human suffering.

Whatever of interest I do find while I research material and possible solutions, I'll try to write down (it's work, and I'm lazy, but I guess I have to if I'm to get anywhere interesting: my memory is not great, remember). I know fully well that most of what I will produce will be (initially?) close to trivial, given that I have a day job and I'm not an experienced researcher, but I hope to become better with practice. Some day cross the threshold in Sturgeon's law. Even if I never get there I can hope to inspire others to best me. I'd be content with that life -- some potential impact, albeit unlikely; some slight progress, once in a while. Life is a long game of probabilities.

If Flancia fails, I can always go back to work and try to donate more to [Effective Altruism][2] directly, which I would probably be doing while working on Flancia anyway (Effective Altruism will be one of the first non-human nodes in the Agora, and the first with an edge meaning "resource dedication" in its graph).

By the way: you can save a life with around 3000 USD nowadays; I did not know that until recently. This is a mind boggling amount in a lot of the world, but not an overly significant sum for a lot of privileged people (like me) in a lot of developed countries. It's the price of about six iPhones (on the cheaper side), and in 2018 Apple sold about 65 million of them overall. If you think it's offensive that smartphones and human lives can even be discussed on the same basis in any dimension, I'm with you. But the numbers are there, and we don't talk about them enough. So... yeah, consider donating if you can. There are charities that work and you can help them. You don't even need to do the research yourself.

I live in Flancia until I die, pursuing in its confines some singular line of thinking, or form of art, or human activity, trying to make Flancia real. More than these lines you're reading.

[2]: https://en.wikipedia.org/wiki/Effective_altruism [3]: link://slug/gwern

Except

When I die, Flancians inherit Flancia. Perhaps even get a stipend out of the foundation's assets and returns on investments, for however long they last. By default as of 2020 I think it should go to fund a "basic income" of sorts, with a 90-10 proportional virality rule. That and making reality optimal for enacting constitution of Flancia: building an utopia for its members first and then for humanity.

We'll start with my definition of utopia, but mine is only a draft.

I want to write it with you.

In my utopia, there is no privilege. That doesn't mean we all revert to a painful level of living standards, but rather just that nobody has too much and nobody has too little; everybody has want they want, and they can defend what they want in a public court of law. In public rational, truthful, ethical discussion.

Flancia should be fair and thus its members should constantly dedicate some of the time of their research explicitly to the reduction of human suffering. That is: they need to help others. The percentage is publicly visible on an actual dashboard. You can set it to anything you want, even zero or a hundred. The important thing is not to have it higher than others but rather to be truthful about it, and commit to thinking hard about changing it once in a while. Or whatever your personal ethics tells you to do. You can think and do whatever you want, we don't care as long as you also want to be a part of Flancia.

You can leave anytime if you think Flancia is no longer your thing. No hard feelings!

Finally: I know a lot of this might sound a bit far out or perhaps even crazy. But I think it's perfectly rational to be fully honest and explicit about what I want to do. I don't believe in irony that much anymore. Irony, I've come to believe, is a hindrance in human communication.

I must now tell you that in Flancia there is an Agora.

  1. Perhaps a foundation of sorts; I am researching what the most appropriate entity would be. I hope it's not too hard or expensive?. [^201]: You can comment inline and view translations (currently also available in Spanish) in the Google Docs version

    1. Everybody can become part of the project driven by this foundation, henceforth “Flancia”. Upon enrolling, you can choose to get an account in our system to keep your core identity separate when you interact with others. Or you can just bring your own.
    2. Each member of Flancia, henceforth “Flancian” or “Flancish” (all silly names, nay, all silly concepts are optional), can choose to partake in the advancement of the goals of the entity as they see fit; whichever they agree with and care about enough to dedicate resources to (such as time and attention).
    3. The first goal of Flancia is to build an Agora.
    4. The first goal of the Agora is to enable optimal communication, collaboration and cooperation.
    5. The second goal of the Agora is to advance all other domains of knowledge.
    6. The ultimate goal of the Agora is to advance the rational will of its members, as expressed in the Agora through the best available tool set for rational discussion and decision making.
    7. The second goal of Flancia is to bring its members to the state of life they most prefer individually: happiness, ataraxia, eudaimonia, enlightenment, awakening or any other desirable and desired state.
    8. The third goal of Flancia is to bring all living entities to the their independently defined state, with each entity expressing their will within their capabilities. We start with our friends; our fellow humans. Think of The Expanding Circle: we keep our doors open.
    9. The fourth goal of Flancia is to keep itself current, adding and removing goals and entities as they most benefit its members and the best available set of rational tools: technology, philosophy and ethics. The constitution of Flancia, its Agora and any other of the foundation’s systems and entities can be amended when Flancians deem it necessary.

Goals

These are the goals we are currently considering:

    (Unsupported content elided by the Agora.) (Unsupported content elided by the Agora.) (Unsupported content elided by the Agora.)
  • {{ entry.title }} ({{ entry.last_modified_at | date: "%Y-%m-%d" }})
    {{ entry.excerpt | strip_html | truncatewords: 30 }}
  • (Unsupported content elided by the Agora.) (Unsupported content elided by the Agora.)

There are other issues tagged as features on the Gitlab site. If you'd like to have it become a goal, please do a short write up on how you would like it to work, so we can publish a page here.

You can file an issue if you'd like, or email us any ideas you have.

⥅ node [[intents]] pulled by user

Intents

Intents

Go to [[How to build a Chatbot with Watson Assistant]] or [[Building AI-powered Chatbots with Watson]]

Chatbot series:

Intents try to capture what the user wants (their goal) in the conversation.

Intents vs Examples

  • greeting_us_en <-- Intent
    • Hello
    • Hi <-- Examples
    • Wassup
  • location_qustion_au
    • Where are your Brisbane offices?
    • Where can I find you?
    • What's your website?

Create intents in the skill section of the Watson Assistant section.

[[Creating_Intents.pdf]]

Give at least 5 examples per intent to train Watson, though the more the merrier.

A map of where intents exist in the dialog flow

Importing/Exporting Intents and examples

Intents and examples can be imported and exported via csv file in the intents page of the skill.

The format is a simple two-column comma-delemeted format with examples followed by intents, one per row, as below.

What time are you open until?,hours_info
What are your hours of operation?,hours_info
What are your hours?,hours_info
Are you open on Sundays?,hours_info
what are you hours of operation in Toronto,hours_info
what are the hours of operation for your Montreal store,hours_info
list of your locations,location_info
Where are your stores?,location_info
⥅ node [[later]] pulled by user

later

⥅ node [[next-action]] pulled by user
⥅ node [[plan]] pulled by user

So, yeah, I want to have that [Agora]. Flancia should have it, you know. It's a fictional place, like I said; this is a work of fiction. You got it? This is all hypothetical.

So MediaWiki could definitely be a serviceable Agora, right? People know how to use it. It's easy to set up; you can do a lot with "just a Wiki" because it's a framework, not only code but also conventions. A lot of things can be modeled with a Wiki. And it's so easy to set up -- I'm a geek. "In the old days, I could have set up a LAMP stack and a Wiki on top of it in 1h" is something that a less concerned with cringeness version of me could have uttered. I'm rusty but it shouldn't take long. And then what, you might say. Then you have an empty wiki that nobody uses.

Exactly! That's the beauty of it. It's there, it exists -- there is an Agora. People could use it -- they might not. But they could. So I posit that it exists as a place, here in the internet, where so much of our lives happen nowadays. We do spend time in other social networks -- a lot of people do, anyway. People could choose to spend their time in this other social network. Do you really need 2h of Facebook and Instagram in your lives?

Can't you do with 1h45m, really? You can't think about other stuff, the things that interest you, start a new hobby of sorts? Spend 15m here. You don't even have to post anything. Just think.

You are an entity that exists and is aware. You can think of anything, any time. You can decide to do stuff, just stuff in this place, whatever you want. The internet is this amazing place; never existed before. Our society will continue to be shaped by it; it must be; it is clearly powerful.

And we could do anything with it, if we put enough time on it.

What should we do next?

Next up: ?.

Plan

⥅ node [[revolution]] pulled by user

Revolution

the institutional transformation of society by society

[[Common: On Revolution in the 21st Century]]

I'm on board for a [[social revolution]] in the 21st century. My revolutionary flavour of choice is [[revolutionary socialism]]. [[Eco-socialism]], specifically, as [[to be a 21st century socialist is to be an eco-socialist]]. I am desiring of a revolution that leads to something akin to an [[ecological civilization]].

How to get from here to there?

revolution never occurs just through the behaviour of a particular group, however big or small. It happens because masses of people, many of whom have never considered the matter before, demand change and put themselves at the centre of political events

[[Revolution in the 21st century - Chris Harman]]

Strategy: I hope that [[prefiguration]], education, agitation, and organisation ([[educate, agitate, organise]]) may lead us to a [[social tipping point]] that tips us towards harmony. I believe you need both some of the spontaneous network and the party form to make this happen. See [[Neither Vertical Nor Horizontal]]. A bit of both [[Climate Mao]] and [[Climate X]] if you will.

Tactics: With revolution there is the thorny question of violence and struggle. [[When bringing change we must minimise violence]]. I hope the minimum = 0 and that [[direct action]], [[civil disobedience]] and enacting positive alternatives in there here and now can suffice. Probably naive. But unlike in [[To Posterity]], I hope that we who wish to lay the foundations of kindness, can ourselves be kind.

Demands: TBC. see e.g. [[Half-Earth Socialism]], [[ecological civilization]].

⥅ node [[values]] pulled by user empty.
📖 stoas
⥱ context
⥅ related node [[hacking in progress]]
⥅ related node [[music for hacking]]
⥅ related node [[sundays for hacking]]
⥅ related node [[hacking for the commons]]