DNS in IPFS

Over the past couple of years, I’ve been thinking about things that could be used to replace parts of the internet and web we currently use. There are projects like cjdns that are looking to replace the network routing layer of the internet with a system that does not require a centralized authority to issue IP addresses. There are other parts of the web stack that are looking to be replaced (IPFS is one of them, looking to replace HTTP(S)), but the one I will be looking at in this post is the Domain Name System (DNS).

Planned Obsolescence

Planned obsolescence is evil. It robs the greater part of the people of their things by consciously designing those things so they break well before the end of their useful life. And it is robbery. Theft. Its incredibly sad that people now expect their things to constantly break. The perfected form of planned obsolescence would be to have everything break as soon as it was taken out of the box, so that you were forced to turn right around an go buy another one, which itself would promptly break, and so on, until you run completely out of both money and debt, reducing you to abject poverty while making the rich even richer.

Nextcloud Drama

I run an instance of Nextcloud for storing files, contacts, calendars and similar things that most other people use Google or Microsoft for. I self-host the server, as should be done to truly own the data, but about a month ago, the official Nextcloud app on my phone stopped working for no discernible reason. I have got to where fixing that was the next task, so that’s what I tackled today.

Git Repo Update 2

I have made another change to the git repo handling code so that when publishing, only the repos that have been updated are added to IPFS again. This way, large repos only slow down the publish process when they are updated and not every time any repository is updated. The new process is this: post-update hook adds its path to the spool directory Monitor process sees update and starts publish The existing repo is added to a temporary directory in the mutable file system (MFS) For each updated repo: The repo is added to ipfs without pinning The directory for that repo in MFS is removed and replaced with the new hash The old hash is unpinned and the new hash pinned The root hash of the new repo directory structure is published Remove temporary directory from MFS Now, git push is almost exactly the same speed as a plain ssh remote (only an additional flag set), the update is fast for small repositories and only slows down when processing a large repo.

Blog Workflow

If you were curious how I go about writing posts for this blog, keep reading. If not, there’s plenty of internet out there to hold your attention. The main tools I use are: hugo vim aspell ssh bash ipfs Static Site Generator - Hugo I use the static site generator hugo for generating this site with a minimally customized Mainroad. There really isn’t a lot to talk about here that I haven’t already covered elsewhere.

Indexer Update

If you’ve been following my IPFS Scanner, you will have notices some changes today. I’ve added tags. There are also a good number of sites listed now, with widely varying levels of stability and content. Don’t blame me if there isn’t good content there: go make a site and make sure it is published with you node’s primary key (that would be ipfs name publish /ipfs/QyourSiteHashGoesHere). I’ve reworked the site generator to allow me to attach tags to every site in the index by /ipns/ key.

Security Challenge

I was reviewing the results of my IPNS Scanner and found that a new blog is listed: ParanoidPenguin.net. In addition to being available on the http(s) web, it is also available on the ipfs web. I don’t know (yet) if the IPFS version is official (the site being a static site generated by hugo makes me think it is likely). Browsing over the articles, one in particular stood out to me, this one on web server security.

"Science"

Copenhagen: The Science Is Settled; The Policy And Politics Aren’t The Atlantic, Marc Ambinder, Journalist Scientific knowledge is a body of statements of varying degrees of certainty — some most unsure, some nearly sure, but none absolutely certain. Richard Feynmann, Scientist Science is uncertain. Theories are subject to revision; observations are open to a variety of interpretations, and scientists quarrel amongst themselves. Isaac Asimov, Science Fiction Author This morning, this article at The Burning Platform popped into my feed, talking about “listen to the scientists”.

Private or Government

When comparing project costs, there is a difference that pops up that is universally glossed over in every handling that I’ve seen. In discussion comparing the cost of a hyperloop route and a high-speed rail route between San Francisco and Los Angeles , there is never a distinction made between hyperloop being privately funded and the high-speed rail being government funded, and there is indeed a very big difference between the two that comes down to accountability for using funds constructively and efficiently.

Git Repo Update

I have a set of git repos published to IPFS that I talked about before here. Since that post a month ago, the repos have grown in count and size to the point that it is no longer feasible to use the automatic publish as it was. I have made one change and found that I am required to make further changes for it to remain usable. The change already made is to no longer run the publish from the post-update hook and to instead have that create a file in a spool directory and have a separate process monitor the spool directory and launch the publish script.