Live data from Hacker News

Neocities is implementing IPFS – distributed, permanent web

ipfs.io

241–249 of 249 posts

Re: Neocities is implementing IPFS – distributed, permanent web

#241

Earlier quoted context omitted.

It might be possible to do some sort of self contained data structure that authenticates everybody and only allows authorized access to it, which solves the Byzantine Generals problem like BitCoin does, and which resists forking and instead uses vector clocks and Operational Transformations to consolidate actions done to the tree. But even so, how would it resolve conflicts? It could be a long time until a conflict i…

Why would you want to resist forking, and incur all that other complexity when you can just have an "authoritative" source for the entry point? Similarly, if someone wants to fork the conversation off and become a new "authoritative source" why would you need to stop them? as for conflict resolution, merging, etc, it kind of looks like a (mostly) solved problem. I don't see how conflicts could occur in a comments str…

It's append only until B and C get a copy and each append their own comments, then D and E get two separate forks and append their own comments. That can work for trees to which you only append, such as comments. That does NOT work for any operations that do non-append operations on trees, such as operations which rearrange the tree into a line.

So yes, for append-only tree structures, this may work. In terms, of say, a Google Doc that means you can never delete or insert any text, but only append text to the end of paragraphs etc. Certainly very limiting.

Unless there's something you haven't described, in which case I encourage you to provide a more in-depth comment describing a solution for actually inserting or modifying the tree.

Re: Neocities is implementing IPFS – distributed, permanent web

#242
post #101

Earlier quoted context omitted.

You guys are great! :-)

Interesting project addressing linkrot and central servers. Hopefully this line of work will attract more attention and developers. Sadly the design contains some flaws that need addressing. From their whitepaper ( http://static.benet.ai/t/ipfs.pdf ) The architecture is essentially creating 1 giant Bittorrent swarm where each piece may be seeded by different people. See section 3.4.4 of whitepaper. This approach suff…

I haven't thought about IPFS in months. One thing I do remember thinking about months ago, are aggregators and distributed indexers.

I don't know enough about those kind of security attacks to comment.

My comment "you guys are great!" refers to their team as people not necessarily the project itself. I've worked with them before, and they are awesome folks.

Re: Neocities is implementing IPFS – distributed, permanent web

#243
post #8

Earlier quoted context omitted.

This is also the qualm I'm having with it... it's great for HTML files, but dynamic websites go right the window.

I believe they have an "IPNS" protocol which is intended to handle mutations.

Any links, please?

Re: Neocities is implementing IPFS – distributed, permanent web

#244
post #243

Earlier quoted context omitted.

I believe they have an "IPNS" protocol which is intended to handle mutations.

Any links, please?

You can read section 3.7 of their paper for an overview: http://static.benet.ai/t/ipfs.pdf

I imagine you could go through their codebase to try to see how far this has come along: https://github.com/ipfs/go-ipfs

According to this, it looks like the implementation is currently in progress: https://github.com/ipfs/go-ipfs/blob/master/dev.md

Hope something in there helps you.

Re: Neocities is implementing IPFS – distributed, permanent web

#245
post #128

Just to point out -- hypertext systems prior to the web almost universally expected permanent stable addresses (and this was, for instance, required by the various Xanadu specs). Enquire (Tim Berners-Lee's immediate predecessor to the Web) had permanent stable addresses, too. The web didn't have permanent stable addresses because the web was a hack, intended as a way to explain Enquire to people who didn't have a bac…

This turned out to be not a bug, but a feature: removing the requirement for permanent, stable addresses made a large-scale hypertext system something that could actually be implemented . (Unlike Xanadu.) Here we are, more than twenty years later, and a hypertext system with permanent, stable addresses is still so rare in the real world that creating one will get you on the front page of Hacker News. The "crappy" Web…

The thing is, Xanadu was implemented -- twice, at autodesk, prior to 1990. (It wasn't released for political reasons until 1999.) Please check your facts before saying something clearly untrue like "Xanadu couldn't be implemented".

Even if it wasn't -- being a first mover by sacrificing quality can get you greater adoption over superior competitors. Compare the Mac, released in 1984, with the Amiga 1000, released in 1985. By being delayed by a year, the Amiga was able to have all the features that the Mac team wanted but were told that they couldn't have -- color graphics, multitasking, and an actually usable amount of RAM, at about half the price of the Mac. The Mac, on the other hand, was the follow-up to the Lisa, which was technically superior feature-wise but too slow to be usable. Both the Amiga and the Lisa lie forgotten, and people come to believe that the Mac was the first consumer GUI machine or the best consumer GUI machine of its time -- or that its limitations were unavoidable. In reality, a combination of luck and good PR warped our sense of history.

The reality is that the web was not the first hypertext system, or the best, and the features that it lacked were implemented and functional in its competition. The web gained a following through a combination of being free (at a time when most hypertext systems, including Xanadu, were proprietary and commercial) and stupid enough that it could be reimplemented poorly by beginner programmers -- which, of course, was its aim.

The Web was designed as a model to teach non-programmers the concepts behind Enquire, Tim Berners-Lee's "real" hypertext system. The fact that the web escaped and Enquire didn't is a tragedy.

Lots of crappy things become the basis of culture, commerce, and communications. Quality doesn't particularly matter when it comes to being the basis of things, and nuance and complexity work against you if you want wide adoption. But, when something crappy becomes so widespread, its flaws become far more dangerous.

Lack of permanent stable addressing made possible the DMCA safe harbor provision (and thus systems like ContentID that delete your content at random on the off-chance that you were quoting somebody famous). Lack of bidirectional links caused the monetization system for the web to be based on advertising. Embedded markup created the need for complex javascript kludges to navigate deeply hierarchical DOM structures in order to perform simple transformation.

The web is a long series of poorly thought out decisions, all of which in the end led to both the grey hairs, premature heart attacks, and hefty wallets of people on this site. We're stuck with it now, because we've created a broken system and added structure on top of it to keep it from being fixed. And we, as an industry, profit from its brokenness. But, it would be intellectually dishonest to pretend that it isn't broken -- or that the ways in which it was broken were unavoidable. They were avoidable, and they were avoided; it's sheer bad luck that the web was adopted over its superior brethren.

Re: Neocities is implementing IPFS – distributed, permanent web

#246

Earlier quoted context omitted.

A big (biggest?) reason is that popularity is largely independent of quality. Things get popular for lots of reasons heavily affected by the shape of social networks and early choices by a small number of people involved—often based on what they have and have not heard of more than an analysis of what is better or worse. Quality plays a small role at best. This Nautil.us article[1] does a good job of summarizing the…

> Quality plays a small role at best. This is simply not true in the long-term. Good technologies survive because they are useful. Of course quality is not enough to ensure success, but it sure as hell matters for long-term survival. Homer, Shakespeare and the wheel survived because they are very good / useful. Are there lost Homers? Of course there are. Will the Web survive 100 years? I have no idea, and neither do…

Quality is definitely a small factor in success, when we're talking about network effects. When we add in capital, with all its perverse incentives, quality matters even less.

Technologies become popular primarily based on how easy or cost-effective they are to replicate. The fewer concepts you introduce, the lower the bar is for people to reproduce your intellectual inventions; the cheaper the materials and manufacturing process, the easier it is for knock-offs to be manufactured. Popularity means a plurality of knock-offs. Quality often requires subtlety and attention to detail -- two things that add effort to replication, and thus work against popularity.

The web became popular not because it was better than the alternatives but because it was stupider than the alternatives -- it had fewer features, fewer ideas, and fewer nuances. The web is no longer less featureful or nuanced than its competitors, because unplanned organic development grows complexity like a rat with a radium drip grows tumors, so as a result the very simplicity that made the web grow so quickly in the first place would prevent it from growing again, had it not become the focal point of an enormous amount of lock-in and path-dependence.

The web is a huge bureaucratic mess right now, just waiting to be disrupted by a superior hypertext system.

Re: Neocities is implementing IPFS – distributed, permanent web

#247
post #14

I'm very excited to see what happens with IPFS. The article talks about replacing HTTP however, and this is definitely a tricky task. Someone in this thread already asked one of my questions (So is this primarily for static websites?) but my second question is: So is this primarily for personal websites? I'm having a hard time finding a good way for Facebook, for example, to monetize their website. Targeting ads go o…

My first thought when reading the specification was that they're liars and making bold claims out of context. Yes, any torrent ever released is also permanent. Yet, if I dig my archives and try to download 10 years old ed2k links from ShareReactor, somehow there aren't any seeds. Wonder why? Isn't it permanent? Because the ed2k link is right for sure, it's permament.

Re: Neocities is implementing IPFS – distributed, permanent web

#248
post #179

Earlier quoted context omitted.

1. Don't use it for what's basically messaging 2. I thought torrents can work decentralized e.g. using magnet links and DHTs.

Even DHTs require a server to bootstrap the network, due to a node's unicast nature on the internet.

That's why there's the magnet links, isn't it?

Re: Neocities is implementing IPFS – distributed, permanent web

#249

Earlier quoted context omitted.

Why would you want to resist forking, and incur all that other complexity when you can just have an "authoritative" source for the entry point? Similarly, if someone wants to fork the conversation off and become a new "authoritative source" why would you need to stop them? as for conflict resolution, merging, etc, it kind of looks like a (mostly) solved problem. I don't see how conflicts could occur in a comments str…

It's append only until B and C get a copy and each append their own comments, then D and E get two separate forks and append their own comments. That can work for trees to which you only append, such as comments. That does NOT work for any operations that do non-append operations on trees, such as operations which rearrange the tree into a line. So yes, for append-only tree structures, this may work. In terms, of say…

actually, google docs ARE append only. They use the vaunted google wave tech of Operational Transforms. every single timestamped keystroke is saved separately in the database. when two users are involved, and editing simultaneously, the OT algorithms resolve the merge conflict on the spot. it kind of looks like a tree structure, or an append only array. the actual document you are looking it is actually something like a flattened keyframe in a movie that's reached the end.
Post reply on HN