Dr. Booth (her late husband) was one of my engineering professors back at the University of Victoria back in the early ‘90s. It’s amazing that modern CPUs still use the multiplication circuits he created (along with his wife). Also one of several people that can claim to have created the first spinning magnetic storage!
HN user
jimpick
[ my public key: https://keybase.io/jimpick; my proof: https://keybase.io/jimpick/sigs/WB0h2OmwNbujZWAebKxVRd-aoh1FdV4t6xGxHF38sPE ]
https://jimpick.com/
People hating on IPFS DHT performance probably aren’t using the experimental accelerated DHT client. https://github.com/ipfs/go-ipfs/blob/master/docs/experimenta...
“Disrupting data” sounds like a hell of a lot of fun.
You can see the live file storage deals here. https://filfox.info/en/deal
There isn’t really a single price. Each miner sets their prices dynamically (off-chain). Some miners set ridiculous prices to scare off load and some even set their prices to zero to attract test deal traffic. Miners have different reliability and business strategies too. If you look at average prices for asks or deals, it can be very misleading.
You can mine under 10TiB. You aren’t eligible for block rewards until you are proving at least 10TiB. Filecoin+ verified data deals count for 10x power. There’s a lot of power on the network, so the frequency of winning blocks at the threshold is fairly infrequent.
For long term archiving, it’s essential practice to move data from machine to machine over time anyways, as machines get old and obsolete and can’t be repaired after a certain age.
Right now there’s a maximum deal term of 1.5 years. Potentially that could be extended as the system matures and miners become capable of taking on longer commitments.
Security, mostly - if the proofs fail, it’s not just the data that could be corrupted - bad actors could attack the consensus itself and steal unlimited funds. The params for the proofs could be loosened, at the cost of extra risk of an attack. They’ve gone the safe route and picked challenging parameters that would be uneconomic to brute force attack.
Take the total storage size on the network, figure out the number of spinning disks, multiply by the power consumption per disk + typical overhead for servers and switches, etc. There’s power consumed by the processing for proofs on data ingest (bigger miners are more efficient at this), but not much afterwards.
Everything is in a grain, but I think the Earthstar applications could be decomposed to just handle a single document at a time.
I made a quick demo recording and updated the README with a link.
Video is here: https://bafybeih6kkv4rgmfada4kfc5thmtzheiurq7ck5uz4rchqkrxw7...
I've been doing some experimentation along the same lines ... I've got a small proof-of-concept working where I can sync Earthstar databases between multiple Sandstorm instances - each "grain" acts as a pub, and you can use "webkeys" as pubs. I'm using powerbox-http-proxy to request capabilities for connections, so it works even with fully sandboxed client-side networking (ALLOW_LEGACY_RELAXED_CSP=false). It's maddeningly complex to do simple networking, but it's amazing to have the security layer there. I'll put together a blog post / video soonish.
https://github.com/jimpick/sandstorm-earthstar-foyer
Sandstorm is very interesting for privacy-focused peer-to-peer because it has the tools in place to sandbox networking. The networking security model is designed to prevent things from talking to each other without user approvals - so it's extra tricky to do peer-to-peer things with it.
I'm excited to try to stick some of my old IPFS/IPLD/libp2p/Dat/CRDT things into Sandstorm - there's a tonne of interesting things that could be done with it.
I joined a set-top box startup in 2002 based in Palo Alto (Digeo) that ran out of the former Altavista offices - same building as PAIX.
https://www.datacenterknowledge.com/archives/2009/02/11/paix...
I ran a build cluster in the server room in the basement where Altavista used to be located. The server room was actually pretty small - just a few rows of racks. We still had a sign in our office that said "Altavista Operations". It's pretty mindblowing just thinking how small internet-scale things were back then compared to now.
I made a minimal web API for some experimental stuff I was trying:
https://github.com/jimpick/magic-wormhole-service
Not really hardened for production usage.
This is terrible...
I have a copy of my “DAT Shopping List” demo I last opened about 6 months ago saved to my iPhone home screen... I opened it, and the data was still there. I’ll be really sad when I open it again after iOS autoupdates and the data will be nuked.
Sorry to hear about your bad experiences.
I think I've experienced some of the same frustrations at times, and I think most of the bugs/problems are well known to the development team and are being actively worked on. It's a very open process. I know there's been a lot of improvement in the year that I've been working on it. The release train moves along slowly at times, especially as we are actively working on improving our testing processes.
IPFS works fine. I'm on the IPFS team and I use it everyday.
Depending on the app, it may or may not be a good fit. The performance you get out of it depends a lot on what features you are using.
There's a whole ecosystem of projects (eg. IPFS Companion, IPFS Desktop, IPFS Cluster) and 3rd-party services which are important to consider when deploying a production-ready app.
There's a lot of work ongoing to solve some of the biggest pain points (eg. content discovery across NATs), so expect the performance profile to improve dramatically in the short term and for it to become an option for many more apps.
(peer-base maintainer here)
This is really cool!
I found the share link, and just tried it between two Chrome browsers, and it worked great!
Thanks for using peer-base! There's a lot of great work happening with js-libp2p recently that would be awesome to incorporate ... I'm hoping to get active developing on it again in the new year. I've got so many ideas for improvements.
Japanese elementary and high school students spend years learning how to memorize and hand-write 2,136 official Kanji. That’s an expensive skill to learn, and has some advantages ... fax fits well.
A few other CRDT / collaborative text editor links I've collected:
* https://blog.datproject.org/2019/03/05/caracara-react-dat-au...
* https://conclave-team.github.io/conclave-site/
* https://github.com/noffle/hyperpad
* https://xi-editor.io/xi-editor/docs/crdt.html
* https://github.com/atom/teletype-crdt
Another one for the list:
https://github.com/ipfs-shipyard/peer-pad
Demo here:
(this version will launch soon as soon as we complete the “pinning” / backup link to ipfs-cluster and make some UI tweaks)
Built with:
Definitely the former in this case. British Columbia uses a British parliamentary system.
And then there’s how they wait in line in Cuba...
https://www.washingtonpost.com/world/the_americas/in-an-onli...
I hooked up Dat multiwriter and the Automerge CRDT for my own personal use... I’ve been using it for several months and it works well.
I haven’t tidied it up for a public release, but feel free to try it out:
So awesome!
There’s a great looking documentary about the commune in Lund, BC...
Very nice! I've been playing with https://github.com/janeasystems/nodejs-mobile to get the Dat project to run on Android and iOS. This might be another way to do the same thing on Android!
I built a little side multiuser wiki side project that’s actually using two levels of CRDTs... hyperdb (underneath hyperdrive) and then automerge on top of that. Sort of hard to explain the full design in a short entry, but you can play with it here:
https://dat-tiddlywiki.glitch.me
The UX definitely needs some improvement, but it’s just a personal project so far.
Firewalls are a pain.
UDP hole punching (using the UTP protocol) and the discovery network works a lot of the time.
Much of the people publishing public content for access by Beaker are using hashbase.io to "pin" the content and to act as a public peer, and those ports aren't behind a firewall, so the data can be directly replicated easily.
There's a lot of similarities, as they are both peer-to-peer and decentralized.
I've mostly done Dat. I want to do a bit more IPFS.
Dat feels a bit more like git for files - you can create a local file archive using the command line tools, and it's a separate step to sync it to the peer-to-peer network. There's a global discovery service for advertising archive keys, but it doesn't work at the level of single files. It's very lightweight.
IPFS supports many of the same operations, but you're mostly interacting with a local gateway server which is continuously connected to the network. I believe IPFS tries to content hash every single file so they are de-duplicated globally.