Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
brendoncarroll
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
8 ms
·
31.
▲
by
brendoncarroll
4y ago
My approach to hosting with Got has been to make it easy and secure for users to host from any machine. INET256 solves that problem nicely. If you have access to an INET256 network, then all you have to do is swap addresses and two Got ins
32.
▲
by
brendoncarroll
4y ago
Yep, your link is indeed to the probabilistic tree used in GotKV. Here "probabilistic" just refers to a way of balancing a tree. Rather than having a set of rules to keep the tree balanced, like with a btree or red-black tree, ba
33.
▲
by
brendoncarroll
4y ago
Sure, Git stores data in a trie. Each file is one blob identified by hash, and directories (called trees in Git) are blobs where each line is a directory entry with a name and the hash of a file or another tree. This means that modifying a
34.
▲
by
brendoncarroll
4y ago
This is a very similar to one of my projects "Got". https://github.com/gotvc/got The algorithms it uses are superior to rsync and git in a few ways. It comes short on features, especially for software develo
35.
▲
by
brendoncarroll
4y ago
I̶ ̶d̶o̶n̶'̶t̶ ̶t̶h̶i̶n̶k̶ ̶r̶s̶y̶n̶c̶ ̶u̶s̶e̶s̶ ̶f̶i̶x̶e̶d̶ ̶s̶i̶z̶e̶d̶ ̶c̶h̶u̶n̶k̶s̶.̶ The algorithm is described here; it's a rolling hash. https://rsync.samba.org/tech_report/node3.html Your description
36.
▲
by
brendoncarroll
4y ago
FastCDC is the same chunking algorithm used in Got. https://github.com/gotvc/got
37.
▲
by
brendoncarroll
4y ago
I'm working on INET256, an API for secure identity based networking. The reference implementation, mesh256 is a mesh network using a distributed routing algorithm. There is also diet256, which is a centrally coordinated network with
38.
▲
by
brendoncarroll
4y ago
I work on a project which solves a similar use case. https://github.com/gotvc/got Got also does E2E encryption, but it can additionally encrypt branch names from remote servers. It also handles syncing large files and
39.
▲
by
brendoncarroll
4y ago
I can think of a few reasons to exclude a character: - Requires quoting or escaping in the shell or some other programming environment - Hard to type on mobile keyboard. - Not in a given person's touch-typing repertoire. The correct wa
40.
▲
by
brendoncarroll
4y ago
I've been working on a project "Got". Which deals with the LFS problem, mentioned in the post. https://github.com/gotvc/got Got isn't really trying to do software version control better than Git.
41.
▲
by
brendoncarroll
4y ago
In the same space is the key-value store underlying Got: GotKV. https://github.com/gotvc/got/tree/master/pkg/gotkv It stores encrypted blobs in any content-addressed store, and provides a copy-on-wr
42.
▲
by
brendoncarroll
4y ago
Author here, happy to answer any questions. Diet256 is a centrally coordinated, densely connected overlay network, implementing the INET256 spec. It's the same simple INET256 API, but without any of the peering or routing configuration
43.
▲
Show HN: Diet256 Is a Centrally Coordinated INET256 Network
(github.com)
3 points
by
brendoncarroll
4y ago
|
1 comments
44.
▲
Show HN: Blobcache Is Content-Addressed Storage
(github.com)
5 points
by
brendoncarroll
5y ago
|
0 comments
45.
▲
Show HN: Go Networking Library Using Generics
(github.com)
3 points
by
brendoncarroll
5y ago
|
0 comments
46.
▲
by
brendoncarroll
5y ago
I'm working on INET256, a 256 bit network address space for easily and securely connecting applications. https://github.com/inet256/inet256 - The API is focused around sending and receiving messages to addresses d
47.
▲
by
brendoncarroll
5y ago
I am working on INET256, an API and address standard + reference implementation for secure network communication. https://github.com/inet256/inet256 Developers, applications, and end-users are under-served by the netwo
48.
▲
by
brendoncarroll
5y ago
There is an interface for address discovery [1] (finding transport addresses for peers you know about) and autopeering [2] (peering with peers you didn't know about beforehand). There is an unfinished branch for LAN broadcast discover
49.
▲
by
brendoncarroll
5y ago
The "ideas from WebFS" that are mentioned in the README are just building a filesystem on top of 2 well defined primitives: compare-and-swap cells and content-addressed storage. Those primitives are general enough to deal with th
50.
▲
Show HN: Got is like Git, but with an 'o'
(github.com)
17 points
by
brendoncarroll
5y ago
|
5 comments
51.
▲
by
brendoncarroll
5y ago
> To me, this is the future. I wish we had a set of APIs to allow connecting to a public key instead of an IP address INET256 is working on exactly that. It's a set of APIs for connecting to addresses derived from public keys. htt
52.
▲
by
brendoncarroll
5y ago
A message based p2p library. https://github.com/brendoncarroll/go-p2p There is a single abstraction (the Swarm) which is capable of modeling communication, NAT, and identity. And you can layer them (Swarms) to provide
53.
▲
by
brendoncarroll
5y ago
I have been working on a similar project here: https://github.com/inet256/inet256 The focus is more on establishing an upward facing API, to develop p2p applications against. You can write your p2p app in whatever lan
54.
▲
INET256: A 256 bit address space for peer-to-peer hosts/applications
(github.com)
2 points
by
brendoncarroll
6y ago
|
0 comments
55.
▲
INET256: A 256 bit address space for peer-to-peer hosts/applications
(github.com)
1 points
by
brendoncarroll
6y ago
|
0 comments
56.
▲
by
brendoncarroll
7y ago
I was not aware of Plan 9's WebFS. It looks like it presents websites in the local file system. IPFS can do something very similar with its content. I have used that before. The name here comes from using web resources (referred to by
57.
▲
by
brendoncarroll
7y ago
A WebDAV file could be used as a WebFS Cell. The locking would allow emulation of the compare-and-swap functionality. The reference HTTP Cell: client and server are way less complicated than WebDAV though, as many here have alluded to.
58.
▲
by
brendoncarroll
7y ago
Yes, you could use the HTTP Store over Tor. I think you would have to configure the proxy environment variables for Go's HTTP client.
59.
▲
by
brendoncarroll
7y ago
Encryption keys are derived from a secret and the hash of the data. The secrets are set per Volume. An empty secret would be a convergent encryption strategy, maybe suitable for public data. If the secret is set then the keys will be con
60.
▲
by
brendoncarroll
7y ago
Just to clarify: All data is encrypted on the client, going after a server backing a Store will get you encrypted blobs. Encryption keys would not exist on the server in plaintext.
More ›