<div dir="ltr"><div class="gmail_quote"><div dir="ltr">On Sun, Mar 26, 2017 at 7:31 PM Joe Armstrong <<a href="mailto:erlang@gmail.com">erlang@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Somebody  tweeted me me a link to <a href="http://upspin.io" rel="noreferrer" class="gmail_msg" target="_blank">upspin.io</a><br class="gmail_msg">
<br class="gmail_msg">
<a href="https://upspin.io/doc/overview.md" rel="noreferrer" class="gmail_msg" target="_blank">https://upspin.io/doc/overview.md</a><br class="gmail_msg">
<br class="gmail_msg">
This has a very good way of naming files - well worth reading<br class="gmail_msg">
<br class="gmail_msg"><br class="gmail_msg"></blockquote><div><br></div><div>Upspin does two things right:</div><div><br></div><div>1. It uses protobufs for its protocol on top of a simple HTTP layer:</div><div><br></div><div><a href="https://github.com/upspin/upspin/blob/master/upspin/proto/upspin.proto">https://github.com/upspin/upspin/blob/master/upspin/proto/upspin.proto</a></div><div><br></div><div>(it is very close to UBF in many ways)</div><div><br></div><div>2. It exposes file systems, not final solutions, through Key, Directory and Storage servers.</div><div><br></div><div>The latter is especially powerful. It means you can evolve the system as long as it fits inside the rules of a file-system-like object. It abstracts the problem away and provides just a protocol for a client to follow.</div><div><br></div><div>The naming scheme in Upspin is indeed brilliant since it allows everyone their own name space.</div><div><br></div><div>As a side note: you don't need something like <a href="http://hex.pm">hex.pm</a> if you have something like upspin. Really, all you have to provide is a nice UI layer and the underlying data layer will take care of the rest of the stuff.</div><div><br></div></div></div>