From d25b7743fb26bbe4f1648048214d17da621d070beb202630c31ae044906b3ed7 Mon Sep 17 00:00:00 2001 From: Nicholas Johnson Date: Fri, 20 Oct 2023 00:00:00 +0000 Subject: Use SWHIDs in Software Heritage links --- content/entry/future-proof-digital-timestamping.md | 2 +- content/entry/icannot-be-trusted.md | 2 +- content/entry/journal-update-017.md | 4 ++-- content/entry/journal-update-018.md | 2 +- content/entry/journal-update-020.md | 2 +- content/entry/site-update-010.md | 4 ++-- content/entry/site-update-013.md | 4 ++-- 7 files changed, 10 insertions(+), 10 deletions(-) diff --git a/content/entry/future-proof-digital-timestamping.md b/content/entry/future-proof-digital-timestamping.md index 10db49c..d09eb2a 100644 --- a/content/entry/future-proof-digital-timestamping.md +++ b/content/entry/future-proof-digital-timestamping.md @@ -25,7 +25,7 @@ Then I found [OpenTimestamps](https://opentimestamps.org/). It's based on Bitcoi Also, OpenTimestamps has an extremely efficient design compared to other Bitcoin timestamping schemes. Thanks to OpenTimestamps' clever use of [Merkle trees](https://petertodd.org/2016/opentimestamps-announcement#merkle-trees), it can timestamp unlimited data using only 1 transaction. Other Bitcoin timestamping software uses 1 transaction per timestamp, an extremely wasteful, inefficient design. At least OpenTimestamps isn't that bad. -So anyway, I created a timestamped Git commit and tagged it [timestamp-1](https://archive.softwareheritage.org/browse/release/e4726ec79a43e28c616e4d5f3db0efe2237b23f9/?origin_url=https://git.nicholasjohnson.ch/nicksphere-gmi&release=timestamp-1&snapshot=fb9bef300f9b939382f5656232d95377c8630a10). I wrote the concatenated commit data of the timestamped commit to [a file](/resource/timestamp-1.txt) in case you're interested to see what it looks like. The software works in a very elegant fashion. It even maintains compatibility with non-OpenTimestamps Git clients, so GnuPG can still verify the commit signature. +So anyway, I created a timestamped Git commit and tagged it [timestamp-1](https://archive.softwareheritage.org/swh:1:rel:e4726ec79a43e28c616e4d5f3db0efe2237b23f9;origin=https://git.nicholasjohnson.ch/nicksphere-gmi;visit=swh:1:snp:fb9bef300f9b939382f5656232d95377c8630a10). I wrote the concatenated commit data of the timestamped commit to [a file](/resource/timestamp-1.txt) in case you're interested to see what it looks like. The software works in a very elegant fashion. It even maintains compatibility with non-OpenTimestamps Git clients, so GnuPG can still verify the commit signature. The base64-encoded timestamp appended to the commit data includes all the necessary hashes to build the Merkle path from the tagged commit to the merkle root included in the Bitcoin transaction. Using './ots --git-extract ' on any file in the nicksphere-gmi repo present at the timestamped commit, you can extract an ots proof file which you can then verify with './ots --verify '. diff --git a/content/entry/icannot-be-trusted.md b/content/entry/icannot-be-trusted.md index 54e09f9..9d1122f 100644 --- a/content/entry/icannot-be-trusted.md +++ b/content/entry/icannot-be-trusted.md @@ -18,6 +18,6 @@ Ideally, you're accessing this journal [over](gemini://nick6gsepvtmkcpibpid6dqtq My Tor onion and I2P addresses aren't foolproof. They're hosted on a VPS, meaning my VPS provider could hijack them. Using nicholasjohnson.ch to access my journal, you have to trust both ICANN and my VPS though. So you're better off using Tor or I2P so you only need to trust one third party, not two. -Brief digression: To avoid trusting any third party, you can always [verify my journal's Git repository](https://archive.softwareheritage.org/browse/origin/directory/?branch=refs/tags/signify-signature-1&snapshot=d25282c0c441839d1ca147a90699bd2c7d986a21) with [my public Signify key](/resource/signify.pub) and a small utility called [git-signify](https://git.nicholasjohnson.ch/git-signify/). If there's any doubt the key is mine, I gave a [Libreplanet talk](https://media.libreplanet.org/u/libreplanet/m/taking-back-the-web-with-haketilo/) with my public key in the slides five months ago and I have an unbroken history of public keys going back to December of 2020 starting with my original [GPG key](/2021/12/30/statement-of-gpg-key-transition/) which I transitioned away from. +Brief digression: To avoid trusting any third party, you can always [verify my journal's Git repository](https://archive.softwareheritage.org/swh:1:rev:0990ac4365ea2e436a9d28aeefdd16ec65c27afa;visit=swh:1:snp:d25282c0c441839d1ca147a90699bd2c7d986a21) with [my public Signify key](/resource/signify.pub) and a small utility called [git-signify](https://git.nicholasjohnson.ch/git-signify/). If there's any doubt the key is mine, I gave a [Libreplanet talk](https://media.libreplanet.org/u/libreplanet/m/taking-back-the-web-with-haketilo/) with my public key in the slides five months ago and I have an unbroken history of public keys going back to December of 2020 starting with my original [GPG key](/2021/12/30/statement-of-gpg-key-transition/) which I transitioned away from. If you yourself are an online service provider, please follow my example and offer a Tor onion and/or I2P address to help resist ICANN's power. diff --git a/content/entry/journal-update-017.md b/content/entry/journal-update-017.md index beaa72a..bff7a81 100644 --- a/content/entry/journal-update-017.md +++ b/content/entry/journal-update-017.md @@ -12,11 +12,11 @@ draft: false * Remove corrections page. I have no motivation to write corrections. I don't think anybody would read them anyway and it's probably best to just make new entries to self-correct. * Remove hosted services on the [about page](/about/). My new VPS doesn't have the resources for them. I still have the old VPS and domain name rented out for a year in advance. If anybody reading this needs a hosted service for a use case, just let me know. Otherwise I'll dedicate those resources elsewhere. * Website redesign! I changed the font to sans-serif which is much easier and more enjoyable to read than monospace. I also squashed the text to 780 pixels so less horizontal eye scanning is required. This is irrelevant to readers coming from Gemini and Atom/RSS. -* Remove dead links. I wrote a [Python script to crawl the journal and detect all the dead links](https://archive.softwareheritage.org/browse/revision/c77cc20bbeaf017b9426f2de548aefd20c8e4007/?origin_url=https://git.nicholasjohnson.ch/nicksphere-gmi&path=scripts/find_broken_links.py&revision=c77cc20bbeaf017b9426f2de548aefd20c8e4007&snapshot=fb9bef300f9b939382f5656232d95377c8630a10). Running this periodically should be sufficient to prevent link rot on Nicksphere. I may automate the process in the future. +* Remove dead links. I wrote a [Python script to crawl the journal and detect all the dead links](https://archive.softwareheritage.org/swh:1:cnt:bca14b35aa1cbd9ef5abdea35e406248faddb24f;origin=https://git.nicholasjohnson.ch/nicksphere-gmi;visit=swh:1:snp:fb9bef300f9b939382f5656232d95377c8630a10;anchor=swh:1:rev:c77cc20bbeaf017b9426f2de548aefd20c8e4007;path=/scripts/find_broken_links.py). Running this periodically should be sufficient to prevent link rot on Nicksphere. I may automate the process in the future. * Remove articles and books from the [promoted page](/promoted/). I've struggled with how to promote others' work for a while. For now I've settled on promoting more general links on the promoted page, while writing individual entries to promote more specific things. # Future Plans -* Everything in the [TODO](https://archive.softwareheritage.org/browse/revision/c77cc20bbeaf017b9426f2de548aefd20c8e4007/?origin_url=https://git.nicholasjohnson.ch/nicksphere-gmi&path=TODO.txt&revision=c77cc20bbeaf017b9426f2de548aefd20c8e4007&snapshot=fb9bef300f9b939382f5656232d95377c8630a10). +* Everything in the [TODO](https://archive.softwareheritage.org/swh:1:cnt:fc325646b7c096fcd62a21dff2454632b54ff75e;origin=https://git.nicholasjohnson.ch/nicksphere-gmi;visit=swh:1:snp:fb9bef300f9b939382f5656232d95377c8630a10;anchor=swh:1:rev:c77cc20bbeaf017b9426f2de548aefd20c8e4007;path=/TODO.txt). # Final Note A while back I said I don't wish for my entries related to spirituality to be interpreted as truth-apt. I've complained about the difficulty in explaining spiritual concepts. But I think I've finally reached a point where I can explain myself better. So I'm retracting my previous stance. Please do interpret future entries related to spirituality as literally true. diff --git a/content/entry/journal-update-018.md b/content/entry/journal-update-018.md index e82d3f7..8e2eeb0 100644 --- a/content/entry/journal-update-018.md +++ b/content/entry/journal-update-018.md @@ -16,7 +16,7 @@ draft: false * Use spare server resources to run [Tor Relay](https://metrics.torproject.org/rs.html#details/B04ABF4521C773216BC94F6FC1310686A2ECA150). # Future Plans -* Rewrite [nicksphere-gmi](https://archive.softwareheritage.org/browse/origin/directory/?origin_url=https://git.nicholasjohnson.ch/nicksphere-gmi)'s scripts to improve efficiency, maintainability, and code quality. +* Rewrite [nicksphere-gmi](https://archive.softwareheritage.org/swh:1:snp:fb9bef300f9b939382f5656232d95377c8630a10;origin=https://git.nicholasjohnson.ch/nicksphere-gmi)'s scripts to improve efficiency, maintainability, and code quality. * Document nicksphere-gmi's scripts separately. * Add privacy policy to journal. * Add 404 page to journal. diff --git a/content/entry/journal-update-020.md b/content/entry/journal-update-020.md index da39693..10f8ab4 100644 --- a/content/entry/journal-update-020.md +++ b/content/entry/journal-update-020.md @@ -5,7 +5,7 @@ tags: ['journal updates'] draft: false --- # What's New -Over the past week, I rewrote my journal generator (yes, again). I created a [Hugo theme](https://git.nicksphere.ch/hugo-theme-nicksphere/), so Hugo now does all the heavy lifting. The new program simply called "[nicksphere](https://git.nicksphere.ch/nicksphere/)" generates the website, the Gemini capsule, and the Atom feeds for both all in less than a second. Any plans I had for my custom generator [nicksphere-gmi](https://archive.softwareheritage.org/browse/origin/directory/?origin_url=https://git.nicholasjohnson.ch/nicksphere-gmi) have been scrapped. +Over the past week, I rewrote my journal generator (yes, again). I created a [Hugo theme](https://git.nicksphere.ch/hugo-theme-nicksphere/), so Hugo now does all the heavy lifting. The new program simply called "[nicksphere](https://git.nicksphere.ch/nicksphere/)" generates the website, the Gemini capsule, and the Atom feeds for both all in less than a second. Any plans I had for my custom generator [nicksphere-gmi](https://archive.softwareheritage.org/swh:1:snp:fb9bef300f9b939382f5656232d95377c8630a10;origin=https://git.nicholasjohnson.ch/nicksphere-gmi) have been scrapped. Now that Hugo is handling the generation process, I no longer need to make my generator multithreaded, multilingual, or documented. My generator wasn't bad, but obviously it's nothing compared to a popular, established site generator like Hugo. diff --git a/content/entry/site-update-010.md b/content/entry/site-update-010.md index d218417..539d07c 100644 --- a/content/entry/site-update-010.md +++ b/content/entry/site-update-010.md @@ -10,13 +10,13 @@ I did some more behind the scenes work on my site: * Add Libreboot/osboot mirrors to the mirrors subdomain. * Convert embedded videos to links. I don't want my site to embed external resources, contacting other sites. All resources should be local. * Add Freenet support. I want to support many platforms and supporting Freenet isn't any inconvenience to me. -* Add license files in the site's [Git project](https://archive.softwareheritage.org/browse/origin/directory/?origin_url=https://git.nicholasjohnson.ch/nicksphere-www). I did that to clarify the licensing of my writings for those looking at the Git repo. +* Add license files in the site's [Git project](https://archive.softwareheritage.org/swh:1:snp:5a3f52e6dbabb43b317b376da9b1f52451f811e4;origin=https://git.nicholasjohnson.ch/nicksphere-www). I did that to clarify the licensing of my writings for those looking at the Git repo. * Prepend dates to content URIs (/YYYY/MM/DD/TITLE). This one is going to annoy RSS users because all my posts will reappear but I feel like it was worth it. * Make About page more detailed. * Change post licenses to CC-BY-SA 4.0. Previously they were under CC-BY-ND, but I don't mind if others change my content and redistribute it. I don't even care if they monetize it. I only care that I'm given credit for my work. # Future Plans -* Add [Gemini](https://gemini.circumlunar.space/) support. I justified this in [my last site update](/2021/02/21/site-update-009). I've converted my Hugo markdown files to Gemini and created a repo for the [Gemini capsule](https://archive.softwareheritage.org/browse/origin/directory/?origin_url=https://git.nicholasjohnson.ch/nicksphere-gmi). +* Add [Gemini](https://gemini.circumlunar.space/) support. I justified this in [my last site update](/2021/02/21/site-update-009). I've converted my Hugo markdown files to Gemini and created a repo for the [Gemini capsule](https://archive.softwareheritage.org/swh:1:snp:fb9bef300f9b939382f5656232d95377c8630a10;origin=https://git.nicholasjohnson.ch/nicksphere-gmi). I have 2 options when it comes to Gemini: diff --git a/content/entry/site-update-013.md b/content/entry/site-update-013.md index 4a550ce..56ac314 100644 --- a/content/entry/site-update-013.md +++ b/content/entry/site-update-013.md @@ -6,9 +6,9 @@ draft: false --- # What's New * Full content [Atom feeds](/atom.xml) have returned. Before Gemini, I had a full content web feed, not just the summaries. After Gemini, I changed it to summaries only. Now, full content is supported again along with summaries. It was a mistake adding Gemini without full content web feed support. I shouldn't have taken that feature away from readers without warning. I was just so focused on getting Gemini that I ditched the web feed to roll that out early. Apologies to anyone using it. I don't really care how readers access my blog as long as they're reading it and I want to make it as accessible as possible for everyone. -* New [content submodule](https://archive.softwareheritage.org/browse/origin/directory/?origin_url=https://git.nicholasjohnson.ch/nicksphere-gmi-content). This almost entirely separates the text on my blog from everything else, significantly reducing the number of files in the main repository. I did this to create a logical separation between the text on the blog and everything used to generate/display that text. +* New [content submodule](https://archive.softwareheritage.org/swh:1:snp:14fb224d5e13136ac433bb459e3803aed63a0bb7;origin=https://git.nicholasjohnson.ch/nicksphere-gmi-content). This almost entirely separates the text on my blog from everything else, significantly reducing the number of files in the main repository. I did this to create a logical separation between the text on the blog and everything used to generate/display that text. * Clearer licensing. The licensing was unclear before because I didn't clearly indicate which licenses went with which files. Now that content and scripts live in separate repositories, the main repo can use GPLv3 exclusively and the content CC BY-SA 4.0 exclusively. -* Gitlab pages is fixed as of [this commit](https://archive.softwareheritage.org/browse/revision/3ea0615f72fcae2d345f239569019429c5d5d168/?origin_url=https://git.nicholasjohnson.ch/nicksphere-gmi#swh-revision-changes). Before, it wasn't recursively cloning the new content submodule, so the generation process was failing and the mirror was down for a while. +* Gitlab pages is fixed as of [this commit](https://archive.softwareheritage.org/swh:1:rev:3ea0615f72fcae2d345f239569019429c5d5d168;origin=https://git.nicholasjohnson.ch/nicksphere-gmi;visit=swh:1:snp:fb9bef300f9b939382f5656232d95377c8630a10#swh-revision-changes). Before, it wasn't recursively cloning the new content submodule, so the generation process was failing and the mirror was down for a while. * GNU Audio Video mirror link added. I'm now mirroring all the GNU audios and videos. Before I had the A/V on the mirrors subdomain and A/V links weren't working that way. I realized that particular mirror requires its own domain to display properly, so now it has one. # Future Plans -- cgit v1.2.3