SAFE Network Dev Update - June 25, 2020

If you write any text inside backtick characters (except backticks obvs) it will show up as typed: $

5 Likes

Which is an utter pain when trying to express something like

cp target/release/safe which safe
ALL in monospaced “terminal” font

image

its even worse when you screenshot a spellig mistake and preserve it perpetually :slight_smile:

4 Likes

Fix that one quickly before anyone notices :joy:

3 Likes

You mean like:

cp target/release/safe `which safe`

:clap: :clap: :clap: :clap:

I thank you, thank you.

4 Likes

or even image https://en.wikipedia.org/wiki/Hryvnia_sign

2 Likes

The MutableData data type is a key-value store data type but it’s not CRDT yet, so it needs to be migrated to become CRDT and the name proposed (again as per the discussion in [RFC] Data Types Refinement) is Map.

The NRS Map is not a data type, it is just content that has the mapping from NRS names to links which is stored on a Public Sequence data type now. We could consider later on to use the Public Map as the storage data type for NRS Maps if it makes more sense than keep using the Public Sequence for it.

8 Likes

Hi @JPL! :slight_smile:

I’m sorry I couldn’t find the exact context of that question. I saw that you were talking about Sequence vs Sequenced, and I do understand that question so let me answer that one and hope it was the same. If not just shoot again :slight_smile:

Up until now, the data types have been called [x]Data. I agree that just as we say Mutable or AppendOnly, Sequenced is what you’d expect, an adjective for the noun Data. With [RFC] Data Types Refinement the aim for language simplification proposed removing Data. It is one of those words that very easily become inflationary in use, and in the end just constitutes noise. That also implicated a move away from adjective + noun to just a noun: heading straight on target and describing the data type structure; such as Map, or Sequence, or Blob.

More reasons to do this are found in [RFC] Data Hierarchy Refinement, where all the data types are in fact just structures with metadata and pointers to chunks (the regular SAFE Network chunks). So, we describe the structure. Under the hood, all of them point to the same type of chunks (or actually, recursively to other structures).

Now, back again to what we have right now. Sequence was just recently implemented, and as [RFC] Data Types Refinement (and CRDTs, which were actually not an explicit goal at the time of that RFC) is implemented in increments, minimal discrepancy is sought. So, it is now called SequenceData in code, even though it should suffice with Sequence, once Map and Blob (the latter is still somewhat under discussion) have been implemented. I guess there you inevitably fall into a grey area when it comes to stringency while in transition, seems it ended up with SequenceData instead of SequencedData, which is less stringent currently but more stringent with final result.

What Bochaco said here. And also, wanted to nuance with some technical aspects of using a Map data type (what MutableData over CRDT is becoming) instead of Sequence for an NRS Map:

Today, the full map content is serialised and stored as an entry in the Sequence. If using a Map, we could instead store only the specific change to an NRS Map.
The simplicity of a Sequence is that you have a snapshot of the entire state as it was, so the version of that NRS Map as of that state change, is very simple to see.
The drawback of that is a wasteful resource usage, both in comms and in persistence (massive duplication of data).

A Map data type can be designed to support version tracking for each individual key in relation to the overall version of the NRS Map. There are some more steps to do it, but it’s not complicated really. And the benefit is that you can update/access individual keys (so more light weight comms), without duplicating data.

11 Likes

Thanks for the long and clear answer @oetyng. Indeed, with versioned vs version I was making a comparison with sequenced and sequence - I’d kinda forgotten the reasoning behind the changes. What you say above makes total sense - why use the word data if it’s implied anyway?

9 Likes

to get $ to appear every time then use \ in front of the $

In this forum software the $ is a formatting character and disappear when there are 2 in the same piece of text. So using the backslash \ escapes the formatting and just places the character

also works for ` and *

8 Likes

These comments are all really fantastic. The community is doing a good job of providing useful feedback.

As always, thanks so much to the entire Maidsafe team for all of your hard work!

8 Likes

cp target/release/safe \which safe``
is what I get when I type

image

cp target/release/safe `which safe`

works OK but I can’t make it look like “formatted text” but thats not the end of the world.

4 Likes

Three backticks followed by ‘bash’ to start the block, and three backticks to end the block and you’re good. No backslashes needed if you are inside such a block. Single backticks to quote some text and you don’t get the full treatment.

4 Likes

That sounds Pythonesque… but works :slight_smile: when you type

image

cp target/release/safe `which safe`

Thank you.

3 Likes

I kind of wondered if the fact that Mutable is mainly a key value store if that’s why it made sense. So using Map will be more modular and light weight than running a whole Sequence to version something. I think I get the overall concept though not the exact details. Thanks @oetyng @bochaco

4 Likes

One of the reasons the alternative $(cmd) I mentioned in an earlier post exists: easier to use these to nest in comparison to the backticks. And apparently also easier to show the commands correctly here.

2 Likes

Well done team!! Having trouble getting into the Figma site to see screenshots. Any chance for them to be published elsewhere to see them? Love seeing the UI come to life being a non-tech person.

4 Likes

If you can try on desktop or laptop @Moose99 you should have better luck. Figma doesn’t play nice with mobile.

3 Likes

I couldn’t get the Figma to display either… :expressionless:

2 Likes

You can find a german version of this weeks dev update at: https://safenetworkforum.de/t/safe-network-entwickler-update-25-juni-2020/23

7 Likes

Yeah, sorry guys, It is a bit of a hungry beast of a file. I may have to break it down in to smaller files soon to make things more manageable.

8 Likes