Live data from Hacker News

IPFS, Again

macwright.org

21–30 of 227 posts

Re: IPFS, Again

#21

Who is going to defend the free internet agains Azure, AWS and Google Cloud? They are the very opposite of a free and open internet where everyone can "run a website" on her own machine. It pains me to see a great idea like the Interplanetary File System still not working. I had similar experiences with IPFS and yes, we do need a project like this, only without the broken incentive structure attached to it. Why a "Fi…

> Why a "Filecoin"? We already have a tested and working native internet currency: bitcoin.

Because it’s a lot easier to raise $300 million on a bit of hype selling your own coin.

(Also Bitcoin micropayments aren’t quite there yet, but I’m not sure any other truly decentralized cryptocurrency really is either)

Re: IPFS, Again

#22
>Ready to publish it to the web? Not so fast. Clicking a link brings us back to my issue in 2017 [link]: the way that the IPFS gateway works will break your links.

(following the link to 2017 post)

>And even if I used the base tag to re-route that link so that it points http://localhost:8080/ipfs/QmR96iiRBEroYAe955my8cdHkK4kAu6SA... ... It wouldn’t work: the correct URL for that Recently post is, instead, http://localhost:8080/ipfs/QmTbJ6RSLZDmVYy8dgdoeQLCtKya7UrNT.... So IPFS content links are fully content-addressed. I suppose to make my site fully IPFS, I’d have to build each individual page and then construct a home page that linked to the generated hashes for those pages. That leaves an open question: how could two pages link to each other? Adding a link from one page to the other would change its hash, so wouldn’t it be impossible for pages to reference each other? This might be a lack-of-coffee problem on my part.

They've misunderstood that. Both links of these links would be valid. You would have all the pages be under http://localhost:8080/ipfs/QmR96iiRBEroYAe955my8cdHkK4kAu6SA... and refer to each other by relative links.

The author's point of relative links or a base tag being necessary for the site to work on the ipfs gateway URLs is valid though.

(back to new article)

>So, links don’t work. I posted an issue detailing this issue, and while I got an encouraging response that there’s a real solution planned, there’s no real solution. People use specific plugins just for IPFS, like this one for GatsbyJS, to get it to work. I ended up writing make-relative, a script that rewrites my built site to use relative links. This is where the story about IPFS being useful here and now for web developers breaks down a little. I’ve done enough HTML-mangling and path-resolution in my decade in industry that writing this script was straightforward. But the knowledge required to do it is not all that common, and I think this is where a majority of web developers would call it quits, because IPFS’s ‘website hosting’ story would look broken.

You can either use relative links, a base tag, or keep absolute links and only support your domain with dnslink (and eventually when the web gateways support the hash in the subdomain field, or extensions support the ipfs:// protocol, then your site will also work through that). I'm hoping for the hash-as-subdomain support which will make things simple.

>IPNS

Yeah, it's awkward. This is because of multiple reasons (zooko's triangle and hosting of the names) that can only be addressed with a centralized service (see DNSLink) or a blockchain. Thankfully there's the DNSLink option too. I wish the IPFS docs wouldn't push IPNS as much because it's not ready / it's not what most people want.

>That was an incorrect assumption. IPFS-based websites do update their DNS records every time that they update their website, so that they can avoid using IPNS, because IPNS is just too slow. This was a tough discovery, because it works against everything I know about DNS – a system that isn’t particularly designed to be fast or scriptable.

IPFS isn't for frequently changing websites. You're not going to host a forum or other dynamic site on IPFS. (Or if you do, it's going to work by being static content hosted on IPFS that contains some javascript that talks to some regular external HTTP(S) servers or maybe even a WebRTC swarm for all of the dynamic content.)

>Unfortunately, once I started getting this set up as a ‘pinning device’ [server], the fun stopped. I tried running ipfs pin add with the hash generated earlier from ipfs add -r, but it just ‘hung’ - outputting nothing at all. After a while I realized that, like ipfs pin add, IPFS doesn’t communicate very well when it’s having a problem. So I figured out how to turn logging information all the way up, and then… I was never able to get past a ‘got error on dial’ failure, despite trying all potential configurations of the IPFS daemon, enabling logging, upgrading to the newest version, and so on. There are about 63 similar issues in the tracker, 21 of which are marked as bugs.

I think the "got error on dial" errors are just it complaining that it can't connect to some random people in the p2p swarm. Like people who may have recently turned off their computers, etc. You can't expect to be able to connect to everyone in the p2p swarm. IPFS is just trying to connect to tons of people in the swarm until it finds people with the blocks that you're trying to pin, and it's reporting errors that it can't connect to some of the people in the swarm. The real problem is that it should be giving some kind of logs of how it's trying to find some content, it's successfully connected to a bunch of people, but none of them it's talked to yet have it. Also of course it should eventually make a connection back to your computer and successfully get those blocks. I'm not sure why that's not happening and that's disappointing it's not working. I really hope IPFS improves in things like this because the concept of IPFS seems great.

Re: IPFS, Again

#23
post #11

Earlier quoted context omitted.

There is an alternative stack that works pretty much as you describe, its browser being Beaker: https://beakerbrowser.com/docs/tour/ There is an option in there to seed visited content as well as to host your own stuff.

Yeah I was so confused why the author didn't just use dat it's so easy

He also tried dat.

https://macwright.org/2017/07/20/decentralize-your-website.h...

Hasnt written about it again though.

Re: IPFS, Again

#24
Unicornporn thamks for the writeup, saved me a lot of time (I thought IPFS was ready to go for this sort of use case)

P.s I think there is a typo at ‘ipfs pin add’ where it’s used twice instead of ‘ipfs pin add’ then ‘ipfs add’ I think?

Re: IPFS, Again

#26

This might sound a bit weird, but when I look at the employee base of protocol labs (the makers of IPFS), the most impressive employees are the business people. Multiple Harvard Business School graduates, tons of Stanford degrees. For the technical people, some are impressive, but no where near the stature of the business people. No distinguished ex-FAANG engineers, no principal engineers from notable companies, a fe…

There are a number of companies that have started that haven’t had “distinguished engineers from ex-FAANG companies”. And honestly, the quality of an engineer good at Leetcode is way different than the self taught Eastern European engineer who knows obscure protocol stacks up and down.

It’s experience and capability that matters, not being tied to distinguished companies or overpriced fancy degrees.

Re: IPFS, Again

#27
I work for a cryptocurrency company as a software engineer and I definitely agree that a lot of projects backed by crypto funds tend to over promise and under deliver.

It's clear that those who control the funds aren't always the best at judging tech talent. Big tech corporations have had years to settle down and build a reputation to attract top talent. Crypto companies tend to attract greed over talent and it shows in practially all projects.

Its improving for some projects but not others.

Re: IPFS, Again

#28

Unicornporn thamks for the writeup, saved me a lot of time (I thought IPFS was ready to go for this sort of use case) P.s I think there is a typo at ‘ipfs pin add’ where it’s used twice instead of ‘ipfs pin add’ then ‘ipfs add’ I think?

I didn't write the blog post. Tom MacWright did. :)

Re: IPFS, Again

#29

Just today I was looking into IPFS vs DAT, does anybody have any insights about the similarities/differences other than the ones listed here [1]? From far away, DAT looks smaller and better documented (perhaps less ambitious, too?) Apparently the best IPFS overview is the 2015 paper [2] which looks pretty daunting and does not seem to cover any practical considerations. 1: https://docs.datproject.org/docs/faq#how-is-…

I consider dat:// to be the better protocol, in part because of what you mentioned. Other advantages are the lack of duplicating data on disk (IPFS makes a copy of all data it shares) as well as having a versioned history of all changes. That way app owners can'tp ublish malicious versions while preventing people from using the non-malicious ones.

Essentially, dat:// behaves like BitTorrent but the torrent data can change.

The only downside for both protocols I can think of is that the integration story outside the browser and CLI tools is very poor (there is no FFI/C lib Ic an bind my Rust app to)

Re: IPFS, Again

#30

This might sound a bit weird, but when I look at the employee base of protocol labs (the makers of IPFS), the most impressive employees are the business people. Multiple Harvard Business School graduates, tons of Stanford degrees. For the technical people, some are impressive, but no where near the stature of the business people. No distinguished ex-FAANG engineers, no principal engineers from notable companies, a fe…

Something 20+ years of development experience has taught me is that developers vary a lot. People who went to Ivy League schools can be amazing and they can be awful, and the same is true for every other dev who went to a 'lesser' college or didn't get a degree at all. Certificates don't tell you much. Output is what matters. You should judge Protocol Labs on what they build rather than where their employees went to school.
Post reply on HN