Add Irmin intro blog post #186

Merged
merged 2 commits into from Jul 18, 2014

5 participants

@samoht
MirageOS member

edit: One of the posts for mirage/mirage#257 - AC

@samoht samoht referenced this pull request in mirage/mirage Jul 17, 2014
Closed

Blog posts in the run up to OSCON #257

13 of 13 tasks complete
@bendiken

You might consider adding a mention and/or reference to content-addressable storage (CAS), for anyone interested to learn more about the notion of block addresses as identity.

Also, I wouldn't exactly agree that CAS is just an implementation detail, as it's a pretty fundamental design decision (and a good one). Recall that old chestnut, "There are only two hard things in Computer Science: cache invalidation and naming things"; well, as it happens, CAS addresses both these hard things, greatly simplifying everything.

I'm done. As usual: interesting and understandable read.

@dbuenzli
MirageOS member

if you are a pedantic writer of english, data is always considered a plural (cf the singular, datum). more modern usage has data as a singular collective noun (vs dataset).

i personally don't care so long as it's consistent in a given document :)

Ah, thanks for the tip.

@dbuenzli

This sentence doesn't "work" (e.g. I read "like all the components of Mirage OS irim is not a proper database engine"...). Split the sentence.

@dbuenzli

Again to many things in the sentence starting on this line. Split it in smaller chunks.

@dbuenzli

I'd rather say "what I explain below holds both for in-memory databases and for fancy disk serialization like browser local-storage or the Git format."

MirageOS member

...below... (not bellow)

(and i'd say "what i explain below" not "what i will explain below")

@dbuenzli

immutable rather than read-only ?

@dbuenzli

"the popular Distributed Version Control System" is a distraction in this sentence.

@dbuenzli

Add commas after Semantics and Complexity

@dbuenzli

remove the "to" : and put it in each bullet after the commas, otherwise the continuous sentence is unreadable.

@dbuenzli

Name the thing directly after you present them, otherwise the sentences make it needlessly hard to connect the terminology. Something like:

In both cases, you need a global pool (the irmin block store) and a way to name values in that pool (the irmin tag store).

@mor1

...this makes...

@dbuenzli

what is a principle point-of-view ?

@mor1

dave is a dangling ref :)

See for instance, instance of what ? I don't think it's an instance of the previous assertion.

@dbuenzli

Or rather it seems to be tag store + block store = high-level irmin store, this should be made somehow clearer.

@dbuenzli

what is a store context ?

@dbuenzli

initial common state ?

@dbuenzli

is that sequence of updates ? if it's the case put it that way.

@dbuenzli

This sentence doesn't make sense, e.g. where are the edges. Maybe split it and kill a few parens.

@dbuenzli

persistent and immutable ? or are you allowed to rewrite history ?

@dbuenzli

operation (singular).

@dbuenzli

IIRC you changed raising exception to returning a value, so I'd rather not use "conflict exception" but just "conflict" or "conflict value".

@dbuenzli

Which functions exactly ? you were just talking about 3-way merge here.

@dbuenzli

heterogeneous here feels like if applied to backend (singular) different backends ? Also what does it take to write a new backend ? Just implement the Irmin Store sig ? Then also maybe say that the work to implement a backend is also rather trivial which should help aswel to have a lot of different backends.

@samoht
MirageOS member

Thanks you for your feedback! I tried to fix all the remarks ...

@avsm avsm merged commit e19a15d into mirage:master Jul 18, 2014

1 check passed

Details continuous-integration/travis-ci The Travis CI build passed
@bendiken

The CAS link definition is missing, even in the final published article: http://openmirage.org/blog/introducing-irmin. As a result, that link erroneously shows up as "[content-addressable storage][cas]" in the rendered version. The link should probably be to http://en.wikipedia.org/wiki/Content-addressable_storage

MirageOS member

woops. thx for reporting the issue, I'll fix that.

MirageOS member

done in mirage#191

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment