Live data from Hacker News

IPFS 0.5

blog.ipfs.io

91–100 of 145 posts

Re: IPFS 0.5

#91
post #41

Earlier quoted context omitted.

Rust will start edging out Go once Rust becomes easier than Go to prototype/start projects. Rust is a great language, but right now I can start a project in Go and have someone else start a project in Go and have something up and working in a week. Rust still takes significantly longer to learn and/or find skilled developers for. Go is up there with Python in terms of "Get something out now ".

And therefore Rust will never outcompete Go in this regard in as much as Haskell, Ocaml, ... never overtook C. Rust might draw from the better principles and get things right C, C++, D, Go, ... failed to incorporate. But in order to get things done a company has to source developers from a market and consider that developers get replaced by another, taking over. Even in a globalized developer market a smaller develop…

> does that translate?

It does, and it's very evocative.

Re: IPFS 0.5

#92
post #68

I really really want to use this, I have used it in the past. It works great as far as I could tell except for one thing: bandwidth limits[1]. Now I can do this myself, because I'm all "+337" and what not. (I used trickle as described in the comment[2]. Seemed to work fine. Nice and stable.) But I can't recommend Joe and Jane Consumer to install IPFS and some other thing with a straight face, because they'll say, "We…

plus IPFS wants to enforce copyrights worldwide: [1,2] Businesses principles plus monthly bandwidth usage matter for real people. [1] https://github.com/ipfs/community/blob/master/code-of-conduc... [2] https://discuss.ipfs.io/tos#8

I think you misread. These terms apply to "public IPFS infrastructure" (I read that as things like build services, gateways or bootstrap notes) and the ipfs.io website, not to the IPFS network as a whole.

The IPFS network itself is decentralized, there's no central authority that can police copyrighted content on individual nodes.

Re: IPFS 0.5

#93
I run https://www.eternum.io/ (an IPFS pinning service) and created Hearth (https://hearth.eternum.io/, a Dropbox-like way to publish files on IPFS), and this is a very welcome release.

IPFS has been a real pain to work with in the past (the node would just consume all RAM and CPU and had to be restarted a lot), but it's been getting better, which is great to see.

I really hope it gets good enough to run on everyone's desktop machine, since that's the way IPFS is meant to be deployed (rather than just on gateways). It seems that it doesn't take up too much RAM or CPU now, but it looks like it might be a problem bandwidth-wise, if you host some popular content.

Still, great news overall.

Re: IPFS 0.5

#94
post #68

Earlier quoted context omitted.

plus IPFS wants to enforce copyrights worldwide: [1,2] Businesses principles plus monthly bandwidth usage matter for real people. [1] https://github.com/ipfs/community/blob/master/code-of-conduc... [2] https://discuss.ipfs.io/tos#8

For IPFS to work, there needs to be no central authority who can block files. Todays IPFS is a long way from that - any Joe Random can DoS any particular hash by getting their node at the right place in the DHT and blackholing requests.

> For IPFS to work, there needs to be no central authority who can block files.

There isn't one.

> any Joe Random can DoS any particular hash

Sounds pretty decentralized to me!

Re: IPFS 0.5

#95
Good progress. I looked at IPFS a few months ago from the point of view of fitting a decentralized file store. The decentralized requirement came primarily from the point of view wanting to fit this in a broader product that is all about decentralized for various reasons.

Key problems in this space:

- decentralized is something techies obsess about but that has as of yet no business value whatsoever. Customers don't ask for it. Centralized alternatives are generally available and far more mature/easy to manage. The business ecosystem around IPFS is basically not there.

- this space is dominated by hobbyists running stuff like this on their personal hardware doing this mostly for idealistic or other non incentivized (i.e. money) reasons. Nothing wrong with this but using it for something real brings a few requirements with it that are basically hard to address currently.

- Filecoin has been 'coined' as the solution for this for years but seems nowhere near delivering on it's published roadmap. Last time I checked it had undelivered milestones in the past. As of yet this looks increasingly like something that is a bit dead in the water / a big distraction for coming up with better/alternate solutions.

- Uptime guarantees for content are currently basically DYI. Nobody but you cares about your data. If you want your content to stay there, you basically need ... proper file hosting. As incentives and mechanisms for others to agree to host your content (aka pinning in ipfs) are not there, this is hard to fix.

- integration with existing centralized solutions is kind of meh/barely supported. We actually looked at using s3 as store for ipfs just so we could onboard customers and give them some decent SLA (bandwidth would be another issue for that). There are some fringe projects on github implementing this but when we looked at it the smallish blocksizes in ipfs are kind of a non starter for using this at scale (think insane numbers of requests to s3). This stuff is not exactly mainstream. Obviously this wouldn't be needed if we could incentivize others to 'pin' content. But we can't currently.

Re: IPFS 0.5

#96

Earlier quoted context omitted.

Rust isn't that difficult to prototype or start projects with? What trouble do you run into? I think the hardest parts to understand are the concepts of borrowing, lifetimes, and ownership, but you don't have to know all the subtleties of that to prototype. A basic understanding is fine to get started with. Just like a developer doesn't have to understand all the subtleties of generics to get started with either, lot…

Just a minor example. https://github.com/awslabs/aws-lambda-rust-runtime/blob/mast... Could you explain to a junior what Box does and how should a person who is starting to learn Rust come up with something like this? Second minor example. I have a configuration string like let's say timeout for a certain type of connection. What is the recommended way to have that as a string that is accessible to all functions with…

I get what you're trying to say, but disagree with the examples. If you want to prototype and start a project, you don't care what exactly that box type means. You can use it and things will not break. It's part of that particular boilerplate.

It's like people using `std::string` and not necessarily caring for years what `template, class Allocator = std::allocator> class basic_string;` means or does.

For the second example: environment variable. Once you need more, you can start researching static cells and use a ready crate for configuration loading / processing. If you want more, googling "rust mutable global configuration" brought me https://stackoverflow.com/questions/27791532/how-do-i-create... which gives a pretty good solution.

Re: IPFS 0.5

#97

I really really want to use this, I have used it in the past. It works great as far as I could tell except for one thing: bandwidth limits[1]. Now I can do this myself, because I'm all "+337" and what not. (I used trickle as described in the comment[2]. Seemed to work fine. Nice and stable.) But I can't recommend Joe and Jane Consumer to install IPFS and some other thing with a straight face, because they'll say, "We…

Bandwidth limiting is something the OS should do, not individual applications/daemons.

Re: IPFS 0.5

#98
post #97

I really really want to use this, I have used it in the past. It works great as far as I could tell except for one thing: bandwidth limits[1]. Now I can do this myself, because I'm all "+337" and what not. (I used trickle as described in the comment[2]. Seemed to work fine. Nice and stable.) But I can't recommend Joe and Jane Consumer to install IPFS and some other thing with a straight face, because they'll say, "We…

Bandwidth limiting is something the OS should do, not individual applications/daemons.

Sure, but the problem remains. You can't expect a user to download a tool and then configure their OS to limit the application. Developers / Linux users might do that, but someone on Windows or OSX won't, I don't think the OS even exposes those controls to the user in a easy manner.

So, while we get there, applications/tools can also manage their bandwidth, so the default settings are more gentle with using users bandwidth.

Re: IPFS 0.5

#99
post #68

Earlier quoted context omitted.

plus IPFS wants to enforce copyrights worldwide: [1,2] Businesses principles plus monthly bandwidth usage matter for real people. [1] https://github.com/ipfs/community/blob/master/code-of-conduc... [2] https://discuss.ipfs.io/tos#8

For IPFS to work, there needs to be no central authority who can block files. Todays IPFS is a long way from that - any Joe Random can DoS any particular hash by getting their node at the right place in the DHT and blackholing requests.

> can DoS any particular hash

Can you explain more how this is possible?

So we have one evil user Karen who wants to block access to content ABC.

She will spam the DHT with requests to content ABC. After a while, nodes will stop responding as she hits the rate limit. Now her DHT requests goes into the void.

Now Joey wants to request content ABC too. He requests the content, and because no other nodes are responding to Karens requests, they responds to Joeys request for the content. Now he can fetch the content.

Re: IPFS 0.5

#100

>> Opera became the first major web browser to offer default IPFS support on Android, shortly after Brave started directly embedding the IPFS Companion extension (complete with a built-in js-ipfs node). This means millions of people around the world now have access to the decentralized web built directly into their browsers. Wow. Thank you IPFS community.

I believe Opera only redirects to a gateway and doesn't implement IPFS itself, though, which is rather less exciting.

[deleted]
Post reply on HN