rchain / bounties

RChain Bounty Program
MIT License
90 stars 62 forks source link

RChain Dictionary #88

Closed patrick727 closed 6 years ago

patrick727 commented 7 years ago

Google Document - RChain Nomenclature we'd like to get a markdown page with RChain vocabulary and links that we can refer to with the messaging.

Cheers

patrick727 commented 7 years ago

@kitblake if you could drive this it would be great. what we need is a github page in markdown, for the RChain vocabulary including a definition and linking documents.

kitblake commented 7 years ago

Sure, I can pick this up. Doing it like the FAQ in Github means everybody can edit. Maybe we'll keep it in /Activists as opposed to moving it to /reference where we don't have checkin rights.

This could also become a slash command bot in Slack. So when a noob writes, "WTF is a phlogiston?" then someone types: /dict phlogiston Which makes the Def Bot come up with a definition. What do you think @entropee?

patrick727 commented 7 years ago

thanks, yes it should eventually get published to a place that is only open to pull requests. and the integration with definition-bot would be a great move.

Thanks a bunch guys!

Jake-Gillberg commented 7 years ago

+1 to a place only open to pull requests

On Sun, Aug 27, 2017 at 5:44 PM patrick727 notifications@github.com wrote:

thanks, yes it should eventually get published to a place that is only open to pull requests. and the integration with definition-bot would be a great move.

Thanks a bunch guys!

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/rchain/Members/issues/88#issuecomment-325229758, or mute the thread https://github.com/notifications/unsubscribe-auth/AEg4RvxlhH4v04WCJQ_wA56rjhqw04Dfks5scfFGgaJpZM4PC2h_ .

lapin7 commented 7 years ago

Please set a budget for #86 in RChain Activist RHOC Distribution

kitblake commented 7 years ago

Made a start, @patrick727. • I think some of the section headings will also need to be definitions. • Not sure about grouping of the techy terms, someone will have to check/adjust. Contributions welcome :) I think it would be cool if the definitions were largely our content – in the context of RChain – as opposed to quoted defs from external sources. But those can be a seed.

entropee commented 7 years ago

This is great! I am looking at it now. I think the section called Pi-Calculus might better be called Formal Methods. Also, Lambda Calculus should be in this section. The definitions in this section need to be artfully crafted so they paint the picture that a dev needs to be able to understand RChain. I want to play with these for a bit.

dckc commented 7 years ago

I encourage the development of a pattern language in the wiki rather than a dictionary / glossary such as this.

This is based on my experience trying to do an index of terms in Web Architecture over a number of years vs. a trac wiki for an informatics team for the last few years.

patrick727 commented 7 years ago

@dckc sorry I don't really understand your point.

Maybe you can work on a wiki and demonstrate the superiority of this pivot.

If you can make the dictionary obsolete, then so be it.

I like the idea of the simple dictionary, especially as we create new language , acronyms etc to be used in later content.

lapin7 commented 7 years ago

This issue has a bit of budget allocated to it, is this enough? And no rewards have been distributed yet. Although the issue has already several participants and assignees. Please go ahead and use form Budget allocation and - spending to fill it out 👍 before the end of the month.

The sheet Pub Activist Budget Allocation-Spending is constantly updated.

Budget Allocation

Issue # Link Status Project / Issue Category Votes Last month Left over New Budget Voters
88 https://github.com/rchain/Members/issues/88 New RChain Dictionary Marketing 3 $ - $ - $ 800.00 @kitblake @patrick727 @lapin7

Budget Spending

URL Description Category Set Set ⍴ To Pay Activist AVG work Votes Voters
https://github.com/rchain/Members/issues/88 RChain Dictionary Marketing 3 New ⍴ - @kitblake 0% 0  
https://github.com/rchain/Members/issues/88 RChain Dictionary Marketing 3 New ⍴ - @drbloom 0% 0  
https://github.com/rchain/Members/issues/88 RChain Dictionary Marketing 3 New ⍴ - @kdvalentine 0% 0  
https://github.com/rchain/Members/issues/88 RChain Dictionary Marketing 3 New ⍴ - @plantether 0% 0  
https://github.com/rchain/Members/issues/88 RChain Dictionary Marketing 3 New ⍴ - @patrick727 0% 0  
plantether commented 7 years ago

@dckc I don't understand either. Could you ELIF for us, please?

dckc commented 7 years ago

No, I can't think of a simple way to convey several years of experience. And maybe this context is different.

But I'm curious: what's the intended audience of the document? What situations are likely to cause someone to read / consult it? What are triggers to maintain / update it?

kitblake commented 7 years ago

The dictionary/nomenclature is meant for clarifying RChain-specific jargon for people who are not indoctrinated insiders. While many of the words listed, like "Tuple Space", are generic concepts the intention is to flesh out the definitions with RChain context. Other words, like "RhoVM", will be RChain-only.

Since they're Github headings the words are URL-addressable. If someone asks "What's that LADL acronym?" they can be pointed to: https://github.com/rchain/Members/blob/master/projects/dictionary.md#ladl

The doc can also can function like a FAQ when someone ends up perusing it. Another idea that's been floated is a forum bot that can retrieve a definition on demand.

Maintenance will need to be a proactive effort where people note noob confusion and, like the "Scan Discord for issues" issue, make a note of it.

dckc commented 7 years ago

FYI, I just ran across another pattern language via lobste.rs: https://martinfowler.com/eaaCatalog/

patrick727 commented 7 years ago

@dckc I get it now, based on that example. Thanks for that.

That would require a catalog of pages for each word and definition.

Is this doable in github?

I like the simplicity of the dictionary so far.

Audience would be 1. a bot to pull definitions from. 2. an RChain researcher that wants to become accustom to the nomenclature and how it is used within the documentation.

dckc commented 7 years ago

I can see the chat bot scenario working well. (In fact, I have seen it work well in https://indieweb.org/discuss ) The bots I have seen use some sort of database that isn't published as a web page, but using a page in git as the db makes as much sense as anything else.

But for researchers, I'm less confident; for them (i.e. us; I count myself as an occasional researcher), seeing the terms used in context is essential, with each term defined in terms of already defined terms. Articles, specs, slides, and presentation recordings are the way to go for that audience. If you want to help us find stuff, traditional title / author / date / publication venue citations work pretty well; bonus points for abstracts.

kitblake commented 7 years ago

@dckc, I'm trying to find that IndieWeb bot.. is it in their Slack?

<off-topic> They have all the channels bridged: "Join the #indieweb discussions via the web, IRC, Matrix or Slack!" </off-topic>

dckc commented 7 years ago

@kitblake I don't know. But they're very friendly and responsive. Head over and ask!

dckc commented 7 years ago

oh... and actually, I think that indieweb bot does publish its DB on the web - in their wiki.

kitblake commented 7 years ago

I inquired. The DB is the wiki itself: https://indieweb.org/User:Loqi.me Storage questions aside, it's a nice bot that does a lot of stuff. Also it's working in all their chat channels, because all their channels are bridged, including irc, Slack, Matrix, riot.im.

entropee commented 7 years ago

This document is being referenced and curated by the VPG Your help and suggestions are most appreciated. When you click the commitment button you should see something like this:

Join us at Mattermost for the Social Ledger experment

Agent - In computer science, a software agent is a computer program that acts for a user or other program in a relationship of agency, which derives from the Latin - agere (to do): an agreement to act on one's behalf. Such "action on behalf of" implies the authority to decide which, if any, action is appropriate.

Agent-based model - A computational model for simulating the actions and interactions of individuals.

Bisimilarity - In theoretical computer science a bisimulation is a binary relation between state transition systems, associating systems that behave in the same way in the sense that one system simulates the other and vice versa. Intuitively two systems are bisimilar if they match each other's moves. In this sense, each of the systems cannot be distinguished from the other by an observer.

Bot - An Internet bot, also known as web robot, WWW robot or simply bot, is a software application that runs automated tasks (scripts) over the Internet. Typically, bots perform tasks that are both simple and structurally repetitive, at a much higher rate than would be possible for a human alone.

Chatbot - (also known as a talkbot, chatterbot, Bot, IM bot, interactive agent, or Artificial Conversational Entity) is a computer program which conducts a conversation via auditory or textual methods.

Cyborg - (short for "cybernetic organism") is a being with both organic and biomechatronic body part. Cyborg from "cybernetic organsim". Cybernetic from the greek kybernetes which means steersman, governor, pilot, or rudder.

Formal Methods - In computer science, specifically software engineering and hardware engineering, formal methods are a particular kind of mathematically based techniques for the specification, development and verification of software and hardware systems.

Intelligent agent - An autonomous, goal-directed entity which observes and acts upon an environment.

Lambda Calculus - Lambda calculus (also written as λ-calculus) is a formal system in mathematical logic for expressing computation based on function abstraction and application using variable binding and substitution.

Process Calculus - In computer science, the process calculi (or process algebras) are a diverse family of related approaches for formally modelling concurrent systems.

Process Algebra - An algebra is a mathematical structure with a set of values and a set of operations on the values. These operations enjoy algebraic properties such as commutativity, associativity, idempotency, and distributivity. In a typical process algebra, processes are values and parallel composition is defined to be a commutative and associative operation on processes.

[Mobile Process Calculi]()

[Pi Calculus]()

[Rho Calculus]()

[Rho API]()

[Language Bindings]()

[RChain]()

[RChain Platform ]()

[RChain Blockchain]()

[The RChain Cooperative]()

[The RChain Holdings Company]()

[Rho-Calculus]()

[Reflection]()

[Behavioural Types]()

[LADL]()

[Rholang]()

[Actors, Tuples, and Pi]()

[Rosette]()

[Tuple-Space]()

[RhoVM]()

[Concurrency]()

[Concurrency vs Parallelism]()

[Staking Tokens]()

[Namespace Logic]()

[Composable Namespaces]()

[Application Tokens]()

[Milestones]()

[Compiler Complete]() [Node Complete]() [Mercury Complete]()

entropee commented 7 years ago

I am borrowing liberally from Wikipedia and The PI-Calculus FAQ in most of these definitions, so far. I intend to link back to the original content, where possible so I think I'm okay with copyright.

kitblake commented 7 years ago

A link to the Dictionary draft has been posted in the comm channels. Any inputs? https://github.com/rchain/Members/blob/master/projects/dictionary.md

dckc commented 7 years ago

I saw this interaction in discourse chat (I presume it's OK to share). This would have been a perfect time to use a chat bot:

sportshark: what is the meaning of Rchain, "chain" means blockchain,but what about "R"?

jbassiri: Reflective higher order calculus, rho calculus, is a variant of pi calculus. They fall into the category of mobile process calculi, a framework for analyzing concurrent processes that communicate like biological cells or different namespaces (identities) on a blockchain (blockweb)

The answer given isn't very close to the one in dictionary.md, though the one in dictionary.md does match the official FAQ.

I like the bit about biological cells.

As a small investment in the wiki-powered chat bot approach, I just made https://github.com/rchain/Members/wiki/RChain

dckc commented 7 years ago

Maybe #63 is more relevant to the chat bot approach...

dckc commented 7 years ago

What does the "MatterMost Migration" tag mean?

Is the MatterMost stuff publicly available? I much prefer to collaborate in public.

patrick727 commented 7 years ago

@dckc thanks great job, yes building out a wiki is one the to-do list, integrating the discord chatbot would be really cool.

entropee commented 7 years ago

@dckc MatterMost migration was a tag that I put on quite a few issues to remind me which need to be addressed by the RChain MM team. Yes, everything on MM is open. Except for things like tags and links, I see MM as a supplement to github rather than a replacement. We can remove the tags if they are confusing. BTW, I'm all in with your pattern language idea. I'm reading up on it now.

dckc commented 6 years ago

MM stuff is open? Do you have an example of a URL I can access without logging in? I looked around but could not find any.

kitblake commented 6 years ago

The MMs in the Mattermost Social Ledger trial (#108) and RChain MM working group (#113) are not open to the world. Could be others are.

kitblake commented 6 years ago

That was an inspired answer @jbassiri. You changed the definition of RChain! I like the biological cell metaphor too.

Now that @dckc put his edit in a wiki page, someone could implement a bot that'll search for wiki pages where the page title matches the term to be defined (see the existing example from IndieWeb pioneers in the above message).

This also means we have a content feedback loop. The RChain definition in the wiki is now in dictionary.md. Contributors can edit in whatever environment – or markup language – they choose.

dckc commented 6 years ago

@kitblake says in #635 that this wasn't actually finished:

there was a project to build an RChain Dictionary, operating on a somewhat higher level, but it stalled waiting on developer input that never materialized ...

So I added wontfix.