1
0
Fork 0

New post: I uninstalled my RSS feed reader

pages
Lethe Beltane 2 years ago
parent 3047a3b3fb
commit 7c124593e8
Signed by: lethe
GPG Key ID: 21A3DA3DE29CB63C

@ -0,0 +1,49 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>I uninstalled my RSS feed reader - Archive - MayVaneDay Studios</title>
<link href="../../../style.css" rel="stylesheet" type="text/css" media="all">
<meta name="author" content="Vane Vander">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body class="mayvaneday">
<article>
<div class="box">
<h1>I uninstalled my RSS feed reader</h1>
<p>published: 2022-08-17</p>
</div>
<hr>
<div class="box">
<p>I almost bricked my Kobo a few days ago trying to upgrade <code>libc</code> to get some dependencies written in C to function. When trying to get <a href="https://web.archive.org/web/20220627012432/https://www.w3.org/Tools/HTML-XML-utils/man1/hxselect.html"><code>hxselect</code></a> and its sibling commands to function, I repeatedly got the same error on execution: <code>libc.so.6: version 'GLIBC_2.34' not found</code>. Being that the Kobo is an "embedded Linux" device, it has no package manager, so asking the system to <em>pretty please update</em> this <em>one</em> package wasn't an option. Remembering how I had previously gotten <code>tree</code> to run with limited functionality by copying some <code>arm32</code>-architecture libraries stolen from my Raspberry Pi (now running a 64-bit OS), I stole a copy of <code>libc.so.6</code> from a Debian chroot I had lying around, moved <code>libc.so.6</code> on the Kobo to <code>libc.so.6.bak</code>, and...</p>
<p>...broke every single program running on the device.</p>
<p><code>mv</code> and <code>cp</code> wouldn't work to put the file back. <code>cat</code> wouldn't let me view a few critical files to retrieve them in case the device was toast. While <a href="https://archive.ph/https://github.com/koreader/koreader/wiki/SSH">Dropbear</a> was running in the background, I couldn't SFTP into it from my desktop computer because Dropbear couldn't contact the <code>libc</code> library to open a new process. Even though I knew the file existed on the device and <em>where</em> it was, I had no way of moving it back to where the system expected it to be. <a href="https://web.archive.org/web/20220817011337/https://goodereader.com/blog/kobo-ereader-news/the-kobo-libra-h2o-sd-card-is-soldered-onto-the-motherboard">The damn internal storage is soldered onto the motherboard</a>, so taking it apart to mount the storage on a different device and manually move the file (or just giving up and re-flashing it) wasn't (and will never be) an option.</p>
<p>A panic attack and a furious untimely shit in the bathroom later, the original Dropbear process I was using to debug over SSH still running, my wife reminded me I had previously installed <a href="https://archive.ph/https://github.com/henderjon/kurly">Kurly</a> to make (and fail to make) a line-based browser since the Busybox <code>curl</code> on the device apparently doesn't support TLS, and maybe <em>that</em> would still work to push data around in the filesystem. Binaries written in Golang apparently don't give a shit about <code>libc</code> unless they need to do some wacky low-level stuff in the operating system. So imagine my surprise, and sudden stroke of hope, when Kurly was the only damn program still functional. I quickly spun up a simple web server <a href="https://web.archive.org/web/20220817002902/https://gist.githubusercontent.com/mildred/67d22d7289ae8f16cae7/raw/214c213c9415da18a471d1ed04660022cce059ef/server.py">(the one from Python, but patched to support HTTP PUT)</a>, pushed <code>libc.so.6.bak</code> to my desktop, renamed it to the proper <code>libc.so.6</code>, then retrieved it again from the Kobo.</p>
<p>And then everything <em>magically</em> started working again. (Well, except for KOReader, whose UI had crashed... but that could just be fixed with a power cycle.) And I let myself cry for a few minutes in relief. And I did <em>not</em> go on eBay and spend another $200 or so on a replacement, and I spent the next half-hour scouring the bottom of the barrel of GitHub to find <a href="https://web.archive.org/web/20220817172827/https://github.com/tomwright/dasel">an equivalent XML parser but written in Golang</a> so I wouldn't be tempted to break any more critical system libraries.</p>
<p>I wasn't canoodling in the intestines of my device for fun. I was working on my latest project, <a href="https://codeberg.org/lethe/beres">Beres</a>: a Bash script that takes a list of URLs and dumps to plaintext (formatted Markdown) files all articles that happened yesterday. (Well, maybe "Bash" is a lie: Beres seems to run just fine when called as <code>sh /bin/beres</code>, but changing the shebang to <code>#!/bin/sh</code> fills the screen with errors.) Even though it may seem like it from my more creative work, I don't hate myself <em>quite</em> enough to attempt to implement an XML parser in <code>sed</code>/<code>awk</code>/whatever, thus the necessary external dependencies. By only pulling articles that happened yesterday, Beres doesn't have to keep "state" of when it was last run, thus reducing code complexity at the cost of the user potentially missing articles if they don't run Beres for a few days.</p>
<p>It's a lovely little script. No database, barely any config, no requirement for a VPS. I'm quite proud of it, really. After reading an article, if I don't care about it anymore, I can just delete it instead of merely marking it read and hoping the RSS feed reader will eventually run garbage collection to prevent the database from growing obese and unusable from latency. However, since reading articles means manually opening every one with <code>less</code> and Beres doesn't fetch external resources like images, I've found that using it is incredibly frustrating for use with feeds that publish more than, say, two articles a day. Like social media feeds, for example. It soft-limits me to only subscribing to news and maybe a handful of personal sites I care about and can trust to put out high-quality articles... or, at least, ones I would want to expend the effort of typing in KOReader's terminal emulator to read.</p>
<p>Said social media feeds were the reason I originally went with Tiny Tiny RSS because of the "scroll to mark as read" feature to consume as many articles as quickly as possible. It probably also helped that I could just <a href="https://web.archive.org/web/20220817173016/https://git.tt-rss.org/fox/ttrss-docker-compose.git/tree/README.md?h=static-dockerhub">throw it inside Docker</a> instead of having to deal with the monstrosity that is manually creating a database in Redis or PostgreSQL or installing seven kajillion PHP dependencies and hoping they'll run nicely with Caddy. (I hate you specifically, Miniflux. "MUH MINIMALISM!!1!" Okay then, where's SQLite support? What's more simple to handle than a single file? You're already a single file, being written in Golang. Can't you go one step further?) And technically I only deleted Newsboat and Tiny Tiny RSS; I kept <a href="https://f-droid.org/en/packages/org.decsync.flym/">Flym</a> on my phone(s) to track a handful (an admittedly large handful, but still one) of artists on Twitter whose artwork I would rather not go without. I would have gone one step further and imported these onto desktop to fully cut off the ability to constantly swipe for updates on my phone like a dopamine slot machine, but none of the options for Linux that I know of really mesh well with my sneakernet setup and I often move among two or three devices for writing as I go about the day.</p>
<p>But nobody cares about these minor implementation details. What's more important is, <em>why am I doing this to myself?</em></p>
<p>And the answer, paradoxically, is that <a href="../../2021/december/exhausted.html">I'm exhausted.</a> I'm tired of dealing with Docker, so I wrote a program that would completely negate the need for it. I'm tired of eye strain from reading on my phone, so I wrote a program that would work on my e-reader. I'm tired of being exposed to the opinions of thousands of strangers on a daily basis, so I wrote a program that would keep me up-to-date on the current state of the apocalypse while being so unwieldy that it de facto excludes all those other strangers with ultimately nothing worthwhile to say.</p>
<p>I'm tired of being online, so I gave myself one less reason to boot up my computer.</p>
<p>I wanted to retire from public life, I thought the night before I almost accidentally killed my Kobo. Leave only my books publically accessible and remove access to all the rest and delete all my other social accounts elsewhere. A woman I had never seen before had come up to me in a dream a few nights prior and demanded I stop being so neurotic about my website, to decide once and for all whether I was staying on the Internet or leaving.</p>
<p>I don't think I've made my choice yet. Some part of me thinks I may never. That's my response to everything that ever goes wrong in my life, isn't it, Jett? Do nothing and wait for the problem to get worse?</p>
<p>I wonder what creative wrench the Eschaton will try to throw into my gears next.</p>
</div>
<hr>
<div class="box">
<p>A few days after I write this, and I awake to find that yet another asshole has scraped the entirety of my website and then gutted all but the front page for the sole purpose of stealing my CSS. This I only know because apparently they forgot to remove the <a href="https://letsdecentralize.org/about.html">GoatCounter tracking pixel</a> I have on the bottom of the homepage, so I keep seeing them in my referers. I don't know whether to be incensed that users from Lainchan (I'm 99.9% sure that's where the scraping keeps coming from) don't have a single creative bone in their bodies and so apparently need to pretend to be me, or full of schadenfreude that apparently I'm the only one worth trying to ape. Something something "imitation is flattery" with a dash of "males yet again trying to skinwalk as women they hate".</p>
<p>My wife says to <a href="https://deadendshrine.online/p3.html">keep going</a>. So I think I will. I can trust no one else with this most sacred of missions.</p>
</div>
<hr>
<div class="box">
<p align=right>CC BY-NC-SA 4.0 &copy; Vane Vander</p>
</div>
</article>
<script data-goatcounter="https://stats.letsdecentralize.org/count"
async src="//stats.letsdecentralize.org/count.js"></script>
<noscript>
<img src="https://stats.letsdecentralize.org/count?p=/blog/2022/august/beres.html">
</noscript>
</body>
</html>

@ -38,7 +38,7 @@
<script data-goatcounter="https://stats.letsdecentralize.org/count"
async src="//stats.letsdecentralize.org/count.js"></script>
<noscript>
<img src="https://stats.letsdecentralize.org/count?p=/blog/2022/august/separatism-redux.html">
</noscript>
<img src="https://stats.letsdecentralize.org/count?p=/blog/2022/august/separatism-redux.html">
</noscript>
</body>
</html>

@ -18,6 +18,7 @@
<div class="box">
<h2>2022</h2>
<ul>
<li>August 17 - <a href="./2022/august/beres.html">I uninstalled my RSS feed reader</a></li>
<li>August 6 - <a href="./2022/august/urbit.html">Urbit is still basically just a glorified chatroom</a></li>
<li class="based">August 1 - <a href="./2022/august/separatism-redux.html">Separatism: Redux</a></li>
<li class="based">July 11 - <a href="./2022/july/android_darknet.html">The state of darknet access on Android</a></li>

@ -15,15 +15,16 @@ bff06d4671b3543128ee06645fd6acd9 tdom.epub
d1d8ce55deebef3fba7000fc2a46639c tsf.epub
2db09e80effb9a0781b351bd1446e19c tvsc.epub
cbac3b59516ab2ec5cf008a9a9ecd471 twlf.epub
9c46f5ea13d0507b9072be81dc3efb15 tyia.epub
-----BEGIN PGP SIGNATURE-----
iQFOBAEBCAA4FiEEq2j4OrvQF4SeDEtjVj/VgT2D7rUFAmJOFpAaHHZhbmV2YW5k
ZXJAbWF5dmFuZWRheS5hcnQACgkQVj/VgT2D7rW/8QgAtKXckpGrx86NUB8LE/tU
JHC+mRWc+ZaVvh2tiFtkYWyO9p9UapIriDtM6GrEHtjUFSaYPnZ60Oz6RoivpxKD
6V/OXPO8wjU7iq5lZd1oeKPXBHm5e49UCwyHFBKuzz5EkLXE3EezcA2QPXqmQ0Oc
jHldL8nDTe9ntGg1Qa42wqPO3dG5aa0IO11PuKdQYMo5nup7jyCRoPLs0y0Otqrt
vvkGHuU+aoxFzFXX/IuxCdy+EYhnv2b1yZjqgYzG+ElxplsHxi04sClhUEW51s4k
sYWRY3psVah4WL1usS+J2GDdbLlNMKUZVzQO/aMWLhx20Og5yc10bxRE8+VgkubX
bQ==
=2lI6
iQFOBAEBCAA4FiEEq2j4OrvQF4SeDEtjVj/VgT2D7rUFAmL9KWoaHHZhbmV2YW5k
ZXJAbWF5dmFuZWRheS5hcnQACgkQVj/VgT2D7rVFGAgAlkNVALy0rFMeeZ1MJ5kO
Ohi/dd34+/9++zNPyazxgGXP/hBeVjFSB67C05tQ+fyDl52ecXk6HPc+wn02+gQs
0azg4yLddmA5USBn4MbP8BV9D0yKEvZPrVLSrfg2NCrYpm5EigsCbyXqDJmM2NUe
IdfWDlvTGopbzuyZelSusvNWO7ZCdhFaH0/cAEcL7sbws9DqOAdDCfKVWU7SMDFD
+s36ITUK2tNNpTyetzzW83f1JQgxEtSVyQA9uGqbPI/iKobQ6uFKZh3WEFn+RyAD
a8D/mCjiZCZSAoLiq2kdEKmZhll+TkERrMGoAEfueH+YymivoXeD6bVaKpWhIwjM
ng==
=DAXD
-----END PGP SIGNATURE-----

Binary file not shown.

@ -0,0 +1,91 @@
<!--
/* "Crow" for Layout V4 */
/* crow.png banner modified from "big crow sitting on tree branch" generated using Craiyon and licensed under the Free Commercial License (https://www.craiyon.com/terms) */
body {
background-color: #cecece;
font-family: monospace;
color: #FFFFFF;
max-width:900px;
margin: auto;
font-size: large;
margin-bottom: 10px;
}
.center {
text-align: center;
}
.index {
max-width: 670px;
}
a, a:visited {
color: inherit;
}
.box, .card, nav {
margin-top: 3%;
margin-left: auto;
margin-right: auto;
background: #242424;
padding: 10px 10px 5px 20px;
}
.box-smaller {
max-width: 700px;
}
table {
width: 100%;
padding: 3px;
}
article a, ul a, td a, .bruh {
text-decoration: underline;
}
hr {
display: none;
}
b, strong {
color: #80ff80;
}
i, em, code {
color: #ccffcc;
}
img.big {
width: 100%;
height: auto;
}
/* https://www.svgrepo.com/svg/6977/star */
.based {
list-style: url('./css/star.svg');
}
/* https://orangeable.com/css/animated-gradient-text */
.lesbian {
background: linear-gradient(-45deg, #D52D00, #EF7627, #FF9A56, #FFFFFF, #D162A4, #B55690, #A30262);
background-size: 300%;
font-weight: bold;
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
animation: animated_text 8s ease-in-out infinite;
-moz-animation: animated_text 8s ease-in-out infinite;
-webkit-animation: animated_text 8s ease-in-out infinite;
}
@keyframes animated_text {
0% { background-position: 0px 50%; }
50% { background-position: 100% 50%; }
100% { background-position: 0px 50%; }
}
-->

@ -1,21 +1,22 @@
# MayVaneDay ASS (https://tilde.town/~dzwdz/ass/) feed
2022-08-06 http://yggdrasil.mayvaneday.org/blog/2022/august/urbit.html Urbit is still basically just a glorified chatroom
2022-08-01 http://yggdrasil.mayvaneday.org/blog/2022/august/separatism-redux.html Separatism: Redux
2022-07-11 http://yggdrasil.mayvaneday.org/blog/2022/july/android_darknet.html The state of darknet access on Android
2022-07-07 http://yggdrasil.mayvaneday.org/blog/2022/july/web3.html Broke Dumbass Attempts To Web3
2022-06-18 http://yggdrasil.mayvaneday.org/poetry/r/reciprocada.txt Reciprocada
2022-06-16 http://yggdrasil.mayvaneday.org/blog/2022/june/mistakes.html I Love Deleting Things, Actually
2022-06-14 http://yggdrasil.mayvaneday.org/poetry/n/none-nuns.txt None Nuns
2022-06-11 http://yggdrasil.mayvaneday.org/poetry/m/mitad1.txt Mitad-marida I
2022-06-09 http://yggdrasil.mayvaneday.org/blog/2022/june/purity.html Purity Spiral
2022-06-07 http://yggdrasil.mayvaneday.org/poetry/m/morgana.txt Morgana
2022-06-05 http://yggdrasil.mayvaneday.org/poetry/h/hotdog.txt hotdog
2022-06-03 http://yggdrasil.mayvaneday.org/blog/2022/june/MUHWEBSITE.html Having a website is not revolutionary
2022-06-01 http://yggdrasil.mayvaneday.org/poetry/y/YOU-NEED-TO-KNOW.txt YOU NEED TO KNOW
2022-05-26 http://yggdrasil.mayvaneday.org/poetry/r/reynar.txt Reynar
2022-05-25 http://yggdrasil.mayvaneday.org/poetry/u/under-my-fingernails.txt Under My Fingernails
2022-05-24 http://yggdrasil.mayvaneday.org/poetry/g/gradation.txt Gradation
2022-05-21 http://yggdrasil.mayvaneday.org/poetry/g/grey.txt The Grey
2022-05-20 http://yggdrasil.mayvaneday.org/poetry/c/cultivator.txt Cultivator
2022-05-19 http://yggdrasil.mayvaneday.org/poetry/t/tissue.txt Tissue Sample
2022-08-17 https://mayvaneday.org/blog/2022/august/beres.html I uninstalled my RSS feed reader
2022-08-06 https://mayvaneday.org/blog/2022/august/urbit.html Urbit is still basically just a glorified chatroom
2022-08-01 https://mayvaneday.org/blog/2022/august/separatism-redux.html Separatism: Redux
2022-07-11 https://mayvaneday.org/blog/2022/july/android_darknet.html The state of darknet access on Android
2022-07-07 https://mayvaneday.org/blog/2022/july/web3.html Broke Dumbass Attempts To Web3
2022-06-18 https://mayvaneday.org/poetry/r/reciprocada.txt Reciprocada
2022-06-16 https://mayvaneday.org/blog/2022/june/mistakes.html I Love Deleting Things, Actually
2022-06-14 https://mayvaneday.org/poetry/n/none-nuns.txt None Nuns
2022-06-11 https://mayvaneday.org/poetry/m/mitad1.txt Mitad-marida I
2022-06-09 https://mayvaneday.org/blog/2022/june/purity.html Purity Spiral
2022-06-07 https://mayvaneday.org/poetry/m/morgana.txt Morgana
2022-06-05 https://mayvaneday.org/poetry/h/hotdog.txt hotdog
2022-06-03 https://mayvaneday.org/blog/2022/june/MUHWEBSITE.html Having a website is not revolutionary
2022-06-01 https://mayvaneday.org/poetry/y/YOU-NEED-TO-KNOW.txt YOU NEED TO KNOW
2022-05-26 https://mayvaneday.org/poetry/r/reynar.txt Reynar
2022-05-25 https://mayvaneday.org/poetry/u/under-my-fingernails.txt Under My Fingernails
2022-05-24 https://mayvaneday.org/poetry/g/gradation.txt Gradation
2022-05-21 https://mayvaneday.org/poetry/g/grey.txt The Grey
2022-05-20 https://mayvaneday.org/poetry/c/cultivator.txt Cultivator
2022-05-19 https://mayvaneday.org/poetry/t/tissue.txt Tissue Sample

@ -2,24 +2,55 @@
<feed xmlns="http://www.w3.org/2005/Atom">
<title>MayVaneDay: Latest Updates</title>
<link href="http://yggdrasil.mayvaneday.org/feed.xml" rel="self" />
<link href="http://yggdrasil.mayvaneday.org" />
<id>http://yggdrasil.mayvaneday.org/feed.xml</id>
<link href="https://mayvaneday.org/feed.xml" rel="self" />
<link href="https://mayvaneday.org" />
<id>https://mayvaneday.org/feed.xml</id>
<author>
<name>Vane Vander</name>
<email>vanevander@mayvaneday.org</email>
</author>
<entry>
<title>I uninstalled my RSS feed reader</title>
<link href="https://mayvaneday.org/blog/2022/august/beres.html" />
<id>https://mayvaneday.org/blog/2022/august/beres.html</id>
<published>2022-08-17</published>
<summary type="html"><![CDATA[<article>
<div class="box">
<p>I almost bricked my Kobo a few days ago trying to upgrade <code>libc</code> to get some dependencies written in C to function. When trying to get <a href="https://web.archive.org/web/20220627012432/https://www.w3.org/Tools/HTML-XML-utils/man1/hxselect.html"><code>hxselect</code></a> and its sibling commands to function, I repeatedly got the same error on execution: <code>libc.so.6: version 'GLIBC_2.34' not found</code>. Being that the Kobo is an "embedded Linux" device, it has no package manager, so asking the system to <em>pretty please update</em> this <em>one</em> package wasn't an option. Remembering how I had previously gotten <code>tree</code> to run with limited functionality by copying some <code>arm32</code>-architecture libraries stolen from my Raspberry Pi (now running a 64-bit OS), I stole a copy of <code>libc.so.6</code> from a Debian chroot I had lying around, moved <code>libc.so.6</code> on the Kobo to <code>libc.so.6.bak</code>, and...</p>
<p>...broke every single program running on the device.</p>
<p><code>mv</code> and <code>cp</code> wouldn't work to put the file back. <code>cat</code> wouldn't let me view a few critical files to retrieve them in case the device was toast. While <a href="https://archive.ph/https://github.com/koreader/koreader/wiki/SSH">Dropbear</a> was running in the background, I couldn't SFTP into it from my desktop computer because Dropbear couldn't contact the <code>libc</code> library to open a new process. Even though I knew the file existed on the device and <em>where</em> it was, I had no way of moving it back to where the system expected it to be. <a href="https://web.archive.org/web/20220817011337/https://goodereader.com/blog/kobo-ereader-news/the-kobo-libra-h2o-sd-card-is-soldered-onto-the-motherboard">The damn internal storage is soldered onto the motherboard</a>, so taking it apart to mount the storage on a different device and manually move the file (or just giving up and re-flashing it) wasn't (and will never be) an option.</p>
<p>A panic attack and a furious untimely shit in the bathroom later, the original Dropbear process I was using to debug over SSH still running, my wife reminded me I had previously installed <a href="https://archive.ph/https://github.com/henderjon/kurly">Kurly</a> to make (and fail to make) a line-based browser since the Busybox <code>curl</code> on the device apparently doesn't support TLS, and maybe <em>that</em> would still work to push data around in the filesystem. Binaries written in Golang apparently don't give a shit about <code>libc</code> unless they need to do some wacky low-level stuff in the operating system. So imagine my surprise, and sudden stroke of hope, when Kurly was the only damn program still functional. I quickly spun up a simple web server <a href="https://web.archive.org/web/20220817002902/https://gist.githubusercontent.com/mildred/67d22d7289ae8f16cae7/raw/214c213c9415da18a471d1ed04660022cce059ef/server.py">(the one from Python, but patched to support HTTP PUT)</a>, pushed <code>libc.so.6.bak</code> to my desktop, renamed it to the proper <code>libc.so.6</code>, then retrieved it again from the Kobo.</p>
<p>And then everything <em>magically</em> started working again. (Well, except for KOReader, whose UI had crashed... but that could just be fixed with a power cycle.) And I let myself cry for a few minutes in relief. And I did <em>not</em> go on eBay and spend another $200 or so on a replacement, and I spent the next half-hour scouring the bottom of the barrel of GitHub to find <a href="https://web.archive.org/web/20220817172827/https://github.com/tomwright/dasel">an equivalent XML parser but written in Golang</a> so I wouldn't be tempted to break any more critical system libraries.</p>
<p>I wasn't canoodling in the intestines of my device for fun. I was working on my latest project, <a href="https://codeberg.org/lethe/beres">Beres</a>: a Bash script that takes a list of URLs and dumps to plaintext (formatted Markdown) files all articles that happened yesterday. (Well, maybe "Bash" is a lie: Beres seems to run just fine when called as <code>sh /bin/beres</code>, but changing the shebang to <code>#!/bin/sh</code> fills the screen with errors.) Even though it may seem like it from my more creative work, I don't hate myself <em>quite</em> enough to attempt to implement an XML parser in <code>sed</code>/<code>awk</code>/whatever, thus the necessary external dependencies. By only pulling articles that happened yesterday, Beres doesn't have to keep "state" of when it was last run, thus reducing code complexity at the cost of the user potentially missing articles if they don't run Beres for a few days.</p>
<p>It's a lovely little script. No database, barely any config, no requirement for a VPS. I'm quite proud of it, really. After reading an article, if I don't care about it anymore, I can just delete it instead of merely marking it read and hoping the RSS feed reader will eventually run garbage collection to prevent the database from growing obese and unusable from latency. However, since reading articles means manually opening every one with <code>less</code> and Beres doesn't fetch external resources like images, I've found that using it is incredibly frustrating for use with feeds that publish more than, say, two articles a day. Like social media feeds, for example. It soft-limits me to only subscribing to news and maybe a handful of personal sites I care about and can trust to put out high-quality articles... or, at least, ones I would want to expend the effort of typing in KOReader's terminal emulator to read.</p>
<p>Said social media feeds were the reason I originally went with Tiny Tiny RSS because of the "scroll to mark as read" feature to consume as many articles as quickly as possible. It probably also helped that I could just <a href="https://web.archive.org/web/20220817173016/https://git.tt-rss.org/fox/ttrss-docker-compose.git/tree/README.md?h=static-dockerhub">throw it inside Docker</a> instead of having to deal with the monstrosity that is manually creating a database in Redis or PostgreSQL or installing seven kajillion PHP dependencies and hoping they'll run nicely with Caddy. (I hate you specifically, Miniflux. "MUH MINIMALISM!!1!" Okay then, where's SQLite support? What's more simple to handle than a single file? You're already a single file, being written in Golang. Can't you go one step further?) And technically I only deleted Newsboat and Tiny Tiny RSS; I kept <a href="https://f-droid.org/en/packages/org.decsync.flym/">Flym</a> on my phone(s) to track a handful (an admittedly large handful, but still one) of artists on Twitter whose artwork I would rather not go without. I would have gone one step further and imported these onto desktop to fully cut off the ability to constantly swipe for updates on my phone like a dopamine slot machine, but none of the options for Linux that I know of really mesh well with my sneakernet setup and I often move among two or three devices for writing as I go about the day.</p>
<p>But nobody cares about these minor implementation details. What's more important is, <em>why am I doing this to myself?</em></p>
<p>And the answer, paradoxically, is that <a href="https://mayvaneday.org/blog/2021/december/exhausted.html">I'm exhausted.</a> I'm tired of dealing with Docker, so I wrote a program that would completely negate the need for it. I'm tired of eye strain from reading on my phone, so I wrote a program that would work on my e-reader. I'm tired of being exposed to the opinions of thousands of strangers on a daily basis, so I wrote a program that would keep me up-to-date on the current state of the apocalypse while being so unwieldy that it de facto excludes all those other strangers with ultimately nothing worthwhile to say.</p>
<p>I'm tired of being online, so I gave myself one less reason to boot up my computer.</p>
<p>I wanted to retire from public life, I thought the night before I almost accidentally killed my Kobo. Leave only my books publically accessible and remove access to all the rest and delete all my other social accounts elsewhere. A woman I had never seen before had come up to me in a dream a few nights prior and demanded I stop being so neurotic about my website, to decide once and for all whether I was staying on the Internet or leaving.</p>
<p>I don't think I've made my choice yet. Some part of me thinks I may never. That's my response to everything that ever goes wrong in my life, isn't it, Jett? Do nothing and wait for the problem to get worse?</p>
<p>I wonder what creative wrench the Eschaton will try to throw into my gears next.</p>
</div>
<hr>
<div class="box">
<p>A few days after I write this, and I awake to find that yet another asshole has scraped the entirety of my website and then gutted all but the front page for the sole purpose of stealing my CSS. This I only know because apparently they forgot to remove the <a href="https://letsdecentralize.org/about.html">GoatCounter tracking pixel</a> I have on the bottom of the homepage, so I keep seeing them in my referers. I don't know whether to be incensed that users from Lainchan (I'm 99.9% sure that's where the scraping keeps coming from) don't have a single creative bone in their bodies and so apparently need to pretend to be me, or full of schadenfreude that apparently I'm the only one worth trying to ape. Something something "imitation is flattery" with a dash of "males yet again trying to skinwalk as women they hate".</p>
<p>My wife says to <a href="https://deadendshrine.online/p3.html">keep going</a>. So I think I will. I can trust no one else with this most sacred of missions.</p>
</div>
</article>]]>
</summary>
</entry>
<entry>
<title>Urbit is still basically just a glorified chatroom</title>
<link href="http://yggdrasil.mayvaneday.org/blog/2022/august/urbit.html" />
<id>http://yggdrasil.mayvaneday.org/blog/2022/august/urbit.html</id>
<link href="https://mayvaneday.org/blog/2022/august/urbit.html" />
<id>https://mayvaneday.org/blog/2022/august/urbit.html</id>
<published>2022-08-06</published>
<summary type="html"><![CDATA[<article>
<div class="box">
<h2>preparing for launch</h2>
<p><a href="https://web.archive.org/web/20220805155749/https://en.wikipedia.org/wiki/Urbit">According to Wikipedia</a>, Urbit is a "decentralized personal server platform." It seeks to "deconstruct the client-server model in favour of a federated network of personal servers in a peer-to-peer network with a consistent digital identity." In other words, it's a piece of software you run on your computer that <em>supposedly</em> lets you communicate and share data without the need for a server that's online 24/7 or a static IP. Going on the <a href="https://web.archive.org/web/20220706083257/https://urbit.org/">project homepage</a> immediately hits any visitor over the head with a ton of cruft about DAOs, however, so it is clear from the get-go that this isn't a replacement for something like ZeroNet but instead a web3 project with a paywall.</p>
<p>As I stated <a href="http://yggdrasil.mayvaneday.org/blog/july/web3.html">a few posts ago</a>, the apparently inherent paywall requirement of web3 projects excludes low-income and other disenfranchised people who don't have additional money to spend on getting into these citadels. Unlike other web3 projects, however, an identity on Urbit seems to be a one-time purchase (as I will detail later) instead of requiring tokens to fund every action taken on the network, and being a part of the network doesn't require hosting a local copy of a gigantic and computation-heavy blockchain. In addition, owners of <a href="https://web.archive.org/web/20220805160909/https://urbit.org/overview/urbit-id">"stars"</a> can issue 216 "planets" each and either sell them or give them away to, ahem, <a href="http://yggdrasil.mayvaneday.org/blog/2022/july/web3.html"><em>broke dumbasses</em></a> like yours truly.</p>
<p>As I stated <a href="https://mayvaneday.org/blog/july/web3.html">a few posts ago</a>, the apparently inherent paywall requirement of web3 projects excludes low-income and other disenfranchised people who don't have additional money to spend on getting into these citadels. Unlike other web3 projects, however, an identity on Urbit seems to be a one-time purchase (as I will detail later) instead of requiring tokens to fund every action taken on the network, and being a part of the network doesn't require hosting a local copy of a gigantic and computation-heavy blockchain. In addition, owners of <a href="https://web.archive.org/web/20220805160909/https://urbit.org/overview/urbit-id">"stars"</a> can issue 216 "planets" each and either sell them or give them away to, ahem, <a href="https://mayvaneday.org/blog/2022/july/web3.html"><em>broke dumbasses</em></a> like yours truly.</p>
<p>I got an Urbit planet out of the blue from a man I used to be internet friends with back in 2019. I was kind of an ass to him, but there was an understanding at the time that most of it was just joking and banter. I eventually ended up cutting off contact with him because he had given me admin permissions over his XMPP group chat and I had taken it upon myself to ban a "coomer" who was constantly putting simulated CSAM in the chat and sexually harassing me in DMs. Said "friend" kept adding the coomer back despite my protestations, so, disgusted, I decided that my mental health was more important than maintaining what little of the friendship remained at that point.</p>
<p>Apparently nowadays he LARPs as a gross stereotype of a woman and spends his entire online presence fetishizing lesbians, so whatever guilt I felt for calling him cringe for being an Urbit fanatic instantly dissipated.</p>
<p>For whatever reason, although I had no intentions of ever using it again, I kept my Urbit passport, two JPEGs containing my "master ticket" and "management phrase". When cleaning out the downloads folder on my phone a few months ago, I discovered that it was still there, sitting at the top of the file listing. And hey, it's been three years... so surely Urbit is now more than just a nonsensical terminal, right?</p>
@ -31,7 +62,7 @@
<p>You mean... onboarding hasn't been made easy for non-technical people? The same people all these grand overtures of "escaping from MEGACORP" are supposed to save? Or is this one of those "citadel" projects where all the benefit is for the early adopters safe inside and the masses are supposed to be locked outside to suffer whatever computing apocalypse will come?</p>
<p>Urbit has a free version of an identity called a "comet", but apparently <a href="https://archive.ph/pOszH#selection-293.184-293.206">it can't download any apps or interact with much of the network</a>,<!-- https://urbit.org/getting-started/desktop -->
which is confusingly later <a href="https://web.archive.org/web/20220805172516/https://urbit.org/getting-started/cli#boot-your-planet">contradicted in the CLI install instructions: "There are currently few differences between using a comet-level identity and a planet-level one."</a> To do anything of substance, you'll "need a to get a planet". Because I already had my Urbit passport from three years ago, the post doesn't end here, and I was able to continue my research without spending any money. Otherwise, judging from the <a href="https://web.archive.org/web/20220730150142/https://urbit.org/getting-started/get-planet">recommended planet resellers</a> that were functional, prices for a Layer 2 planet range from about $15 to $50, which isn't an "I am now destitute and living on the streets" amount of money... but still, that's a lot of groceries.</p>
<p>The desktop GUI, according to the documentation, requires <code>snap</code> to be installed, but some digging reveals <a href="https://github.com/urbit/port/releases">there are also <code>.dpkg</code> packages and raw binaries</a>... which, par for the course of web3 bullshit, are written in Node.js. However, these seem to only be available for x86_64, unless you're using a Mac, in which case you also get <code>arm64</code>, or a Raspberry Pi, in which case you get shunted to a <a href="https://web.archive.org/web/20220730152509/https://github.com/OdysLam/home-urbit">a third-party solution</a>. You could also attempt to compile it yourself, but given the aforementioned Node.js dependency, you're more likely to see the sun explode tomorrow than <a href="http://yggdrasil.mayvaneday.org/blog/2020/february/32bit.html">get the damn thing to compile properly</a>.</p>
<p>The desktop GUI, according to the documentation, requires <code>snap</code> to be installed, but some digging reveals <a href="https://github.com/urbit/port/releases">there are also <code>.dpkg</code> packages and raw binaries</a>... which, par for the course of web3 bullshit, are written in Node.js. However, these seem to only be available for x86_64, unless you're using a Mac, in which case you also get <code>arm64</code>, or a Raspberry Pi, in which case you get shunted to a <a href="https://web.archive.org/web/20220730152509/https://github.com/OdysLam/home-urbit">a third-party solution</a>. You could also attempt to compile it yourself, but given the aforementioned Node.js dependency, you're more likely to see the sun explode tomorrow than <a href="https://mayvaneday.org/blog/2020/february/32bit.html">get the damn thing to compile properly</a>.</p>
<p>Because I wasn't sure how much bandwidth Urbit would use, even though I have a Wi-Fi repeater in my bedroom now and thus an actually decent connection, I instead opted for the server install, which entails <a href="https://urbit.org/getting-started/server#install-urbit-via-the-command-line">downloading a shady-looking CLI binary</a> and feeding it a keyfile... which supposedly comes with the passport, but mine didn't have one, and the setup instructions make it too easy to accidentally skip over the part where you can redownload said keyfile at <a href="https://bridge.urbit.org">bridge.urbit.org</a> in the "OS" menu at the bottom of the page.</p>
<p>It took what felt like forever (at least ten minutes; I timed it) to get to a prompt after running <code>~/urbit/urbit -p 57323 -w socleb-fosrut -k ./socleb-fosrut.key</code>. The web interface, the port to run on specified with the <code>-p</code> option, completely ignored this argument and instead decided to run on port 8081, which thankfully wasn't claimed by any other process at the time. You still need the CLI running in a separate window, though, because you'll need to run <code>+code</code> in the "dojo" (Urbit speak for the CLI) to generate a code to log in to the web interface.</p>
<p>On first run, there are only three options in the web UI: "Terminal", "Groups", and "Bitcoin". I tried Terminal first. It appeared that whatever I typed into it was immediately mirrored in the CLI window. I typed <code>help</code> thinking it would give me a list of commands like it does in Bash, but instead I got the nonsensical string <code>&lt;1.lqz [* &lt;232.hhi 51.qbt 123.ppa 46.hgz 1.pnw %140&gt;]&gt;</code>. (At least it has an angel number...?)</p>
@ -71,13 +102,13 @@ dojo: hoon expression failed
<entry>
<title>Separatism: Redux</title>
<link href="http://yggdrasil.mayvaneday.org/blog/2022/august/separatism-redux.html" />
<id>http://yggdrasil.mayvaneday.org/blog/2022/august/separatism-redux.html</id>
<link href="https://mayvaneday.org/blog/2022/august/separatism-redux.html" />
<id>https://mayvaneday.org/blog/2022/august/separatism-redux.html</id>
<published>2022-08-01</published>
<summary type="html"><![CDATA[<article>
<p>More than three years ago, I wrote <a href="http://yggdrasil.mayvaneday.org/blog/2019/june/separatism.html">a post about female separatism</a>, or the concept that only by women divesting themselves of the need, or even the presence, of men in their lives and by working to build female-only institutions and otherwise centering women in their lives can they truly achieve liberation from the male-built structures, most of which fall under the term <em>patriarchy</em>. Because many of the structures in today's society require interacting with males- to name a few, college professors, plumbers and other home maintenance professionals, businesses- with no viable alternative, it is considered the work of every female separatist to contribute in some way to providing female-owned equivalents. At the time, after considering the concept, I ultimately rejected it because I was still struggling to reconcile my individualist belief that no person should be held responsible for crimes they did not commit with the radical feminist truth that men as a class are responsible for almost all problems faced by women. I only wanted to see the world as a collection of unrelated and coincidental events that <em>maybe sometimes</em> had deleterious effects in my life instead of burdened by an unconscious machination working to keep every woman oppressed at all costs. I stated that, if I were to flee to a separatist land, a Second Realm, I would choose one ran by libertarians (despite their <a href="https://web.archive.org/web/20220727005549/https://www.agoristnexus.com/seasteading-case-studies-learning-from-the-failed-attempts-of-the-past-practical-liberated-lifestyles-on-the-high-seas/">continued failures</a>) rather than by women, radfem or not, because I believed that lip service to the concepts of freedom and bodily autonomy would be enough to keep me safe from said misogynist machinations that employ every man alive.</p>
<p>More than three years ago, I wrote <a href="https://mayvaneday.org/blog/2019/june/separatism.html">a post about female separatism</a>, or the concept that only by women divesting themselves of the need, or even the presence, of men in their lives and by working to build female-only institutions and otherwise centering women in their lives can they truly achieve liberation from the male-built structures, most of which fall under the term <em>patriarchy</em>. Because many of the structures in today's society require interacting with males- to name a few, college professors, plumbers and other home maintenance professionals, businesses- with no viable alternative, it is considered the work of every female separatist to contribute in some way to providing female-owned equivalents. At the time, after considering the concept, I ultimately rejected it because I was still struggling to reconcile my individualist belief that no person should be held responsible for crimes they did not commit with the radical feminist truth that men as a class are responsible for almost all problems faced by women. I only wanted to see the world as a collection of unrelated and coincidental events that <em>maybe sometimes</em> had deleterious effects in my life instead of burdened by an unconscious machination working to keep every woman oppressed at all costs. I stated that, if I were to flee to a separatist land, a Second Realm, I would choose one ran by libertarians (despite their <a href="https://web.archive.org/web/20220727005549/https://www.agoristnexus.com/seasteading-case-studies-learning-from-the-failed-attempts-of-the-past-practical-liberated-lifestyles-on-the-high-seas/">continued failures</a>) rather than by women, radfem or not, because I believed that lip service to the concepts of freedom and bodily autonomy would be enough to keep me safe from said misogynist machinations that employ every man alive.</p>
<p>But after having spent time in online women-only spaces and of pouring effort into the friendships with the women in my life, I think I have changed my mind.</p>
<p>The Internet as it currently stands is no place for a woman, no matter her mental fortitude. I have gone through many a social media site throughout my time in this hellscape, from mainstream places like Twitter to the Fediverse to "Reddit runoff" link aggregators like Ramble to <a href="http://yggdrasil.mayvaneday.org/blog/2022/june/purity.html">indie forums</a>. Inevitably what happens is some male comes in, convinced that he knows better than me despite, from his words and the way he conducts himself, having <em>clearly</em> misinterpreted my argument, and starts "dick-swinging" until I get tired of attempting to put out the flames of his tantrum or arguing with a brick wall and decide to go do something more productive with my time, at which point he declares himself the "winner" of the "debate". As I have gotten older and less desperate for validation on the Internet, I have found myself opting for this "walk away" approach more and more. <em>Every</em> social media site that is not explicitly for females is rife with misogyny: Reddit's <a href="https://web.archive.org/web/20220726231916/https://www.reddit.com/r/BanFemaleHateSubs/wiki/index/">legion porn subreddits</a> and <a href="https://web.archive.org/web/20220726232429/https://ovarit.com/o/TransLogic/121648/first-thing-i-saw-on-r-actuallesbians">male infestation of formerly female-centered places</a>, "tradcaths" and "coomers" on Twitter and Tumblr, blatant calls to violence against women on literally <em>every</em> imageboard I've ever seen...</p>
<p>The Internet as it currently stands is no place for a woman, no matter her mental fortitude. I have gone through many a social media site throughout my time in this hellscape, from mainstream places like Twitter to the Fediverse to "Reddit runoff" link aggregators like Ramble to <a href="https://mayvaneday.org/blog/2022/june/purity.html">indie forums</a>. Inevitably what happens is some male comes in, convinced that he knows better than me despite, from his words and the way he conducts himself, having <em>clearly</em> misinterpreted my argument, and starts "dick-swinging" until I get tired of attempting to put out the flames of his tantrum or arguing with a brick wall and decide to go do something more productive with my time, at which point he declares himself the "winner" of the "debate". As I have gotten older and less desperate for validation on the Internet, I have found myself opting for this "walk away" approach more and more. <em>Every</em> social media site that is not explicitly for females is rife with misogyny: Reddit's <a href="https://web.archive.org/web/20220726231916/https://www.reddit.com/r/BanFemaleHateSubs/wiki/index/">legion porn subreddits</a> and <a href="https://web.archive.org/web/20220726232429/https://ovarit.com/o/TransLogic/121648/first-thing-i-saw-on-r-actuallesbians">male infestation of formerly female-centered places</a>, "tradcaths" and "coomers" on Twitter and Tumblr, blatant calls to violence against women on literally <em>every</em> imageboard I've ever seen...</p>
<blockquote>All space becomes male space unless females maintain a concerted effort to mark a space for themselves.<br>- Sheila Jeffreys</blockquote>
<p>For a long <em>long</em> time I have wished for a female-only lowercase-I internet. Even just a darknet, an overlay network a la Yggdrasil, a place no man could ever traverse. (Of course, it would be difficult without some kind of centralization to verify that only females are accessing the network, but this post is not concerned with implementation details.) A place without the cruft and scum and constant fighting for recognition of my worth as a person that defines the male-dominated Internet. From what I have seen of the few spaces like this on the clearnet I have found, I can extrapolate what this new network would look like: far less (maybe even no) pornography being spammed everywhere, less needless software complexity in the name of "dick-swinging" to pad out one's programming portfolio or resume, less soulless corporatist minimalism, fewer threats of violence, less harassment (sexual or otherwise), less SEO spam and blog chum... kinder interactions, more vibrant personality on personal websites...</p>
<p>Less energy spent "proving" my worth as a (physically) human being.</p>
@ -95,8 +126,8 @@ dojo: hoon expression failed
<entry>
<title>The state of darknet access on Android</title>
<link href="http://yggdrasil.mayvaneday.org/blog/2022/july/android_darknet.html" />
<id>http://yggdrasil.mayvaneday.org/blog/2022/july/android_darknet.html</id>
<link href="https://mayvaneday.org/blog/2022/july/android_darknet.html" />
<id>https://mayvaneday.org/blog/2022/july/android_darknet.html</id>
<published>2022-07-11</published>
<summary type="html"><![CDATA[<article>
<div class="box">
@ -193,7 +224,7 @@ make build
<p>The build failed. What did you expect from Node.js?</p>
<p>Hypercore, the protocol Beaker Browser started using once they abandoned Dat, apparently provides <a href="https://hypercore-protocol.org/guides/hyp/">its own CLI</a>... unsurprisingly also written in Node.js like so much other "next internet" garbage. This was slightly easier to install, although I don't see how my early-teenage self would have even known how to look for this.</p>
<p><a href="https://f-droid.org/en/packages/tech.ula/">UserLAnd</a> failed every <code>npm</code> command with "Illegal instruction". <a href="https://f-droid.org/en/packages/exa.lnx.a/">AnLinux</a> in a Termux install got as far as running <code>npm install -g @hyperspace/cli</code> before <code>npm</code> crashed at the end with the message "Exit handler never called!"</p>
<p align="center"><img src="http://yggdrasil.mayvaneday.org/img/node.png" alt="I HATE NODE.JS!!!" /></p>
<p align="center"><img src="https://mayvaneday.org/img/node.png" alt="I HATE NODE.JS!!!" /></p>
</div>
<hr>
<div class="box">
@ -211,8 +242,8 @@ make build
<entry>
<title>Broke Dumbass Attempts To Web3</title>
<link href="http://yggdrasil.mayvaneday.org/blog/2022/july/web3.html" />
<id>http://yggdrasil.mayvaneday.org/blog/2022/july/web3.html</id>
<link href="https://mayvaneday.org/blog/2022/july/web3.html" />
<id>https://mayvaneday.org/blog/2022/july/web3.html</id>
<published>2022-07-07</published>
<summary type="html"><![CDATA[<article>
<div class="box">
@ -239,7 +270,7 @@ make build
What is a website if not a collection of retrievable files over the Internet? Nothing in that definition explicitly excludes websites, even if web3 seems to be mainly comprised of a bunch of shoddy Node.js webapps.</p>
<p>This time, mainly due to the influence of the callout post, I went on a little tour of the community first before getting into the documentation. I wanted to test the waters, to see the typical userbase of Skynet, to judge the competence of those who I would be trusting with my data. After all, <a href="https://web.archive.org/web/20220706210602/https://web3isgoinggreat.com/">web3 has quite the reputation for scams and money laundering and general financial incompetence.</a> Given that I am currently unemployed and dependent on the goodwill of my parents to have a roof over my head and food in my stomach, I don't exactly have the "disposable" income to be burning it for the purposes of playing with "magical Internet money".</p>
<p>I should have expected less than nothing.</p>
<p align="center"><img src="http://yggdrasil.mayvaneday.org/img/siacoiners.jpg" alt="meme of man on a bus reading a book titled 'why Siacoiners deserve less'" title="meme of man on a bus reading a book titled 'why Siacoiners deserve less'" /></p>
<p align="center"><img src="https://mayvaneday.org/img/siacoiners.jpg" alt="meme of man on a bus reading a book titled 'why Siacoiners deserve less'" title="meme of man on a bus reading a book titled 'why Siacoiners deserve less'" /></p>
<p><a href="https://web.archive.org/web/20220706191825/https://marstorage.hns.siasky.net/">One of the example apps</a> is <em>clearly</em> written by competent developers I can trust with my private files. "Always make soure, you're logged in!" Yeah, I'll make "soure"... to stay away from cloud storage that's effectively a black box concerning where my sensitive data goes.</p>
<p>One of the top posts in the subreddit is <a href="https://web.archive.org/web/20220706193750/https://www.reddit.com/r/siacoin/comments/6ygt94/sia_usb_drive_with_unlimited_space/">a "meme" about a USB stick that uses Siacoin for umlimited storage</a>. The "meme" (in quotes because the only humor value is in how half-baked the ideas within are) claims it would require "no installing" and "no need to understand crypto". Only about one or two commenters stopped sucking the OP off for long enough to realize that such a device would require a persistent Internet connection and enough crypto knowledge to get a Sia wallet set up to actually buy whatever storage space ends up getting used and also for drivers to be preinstalled on every operating system in existence in order to require no installation of additional software and to appear just like any other flash drive.</p>
<p>The rest of the subreddit is just the standard crypto whining about Binance/Coinbase trading and praising the main devs for the "new Internet" they have supposedly created.</p>
@ -260,10 +291,10 @@ make build
</div>
<hr>
<div class="box">
<p align="center"><img src="http://yggdrasil.mayvaneday.org/img/NO_THIRD_PARTIES.jpg" alt="deep-fried meme of man screaming surrounded by various web3 company logos" alt="deep-fried meme of man screaming surrounded by various web3 company logos" /></p>
<p align="center"><img src="https://mayvaneday.org/img/NO_THIRD_PARTIES.jpg" alt="deep-fried meme of man screaming surrounded by various web3 company logos" alt="deep-fried meme of man screaming surrounded by various web3 company logos" /></p>
<p><strong>If the whole point of web3 is to decentralize everything, then I don't want to use third parties to host my website!</strong> I want to host my own stuff without needing a supercomputer or a persistent connection or static IP address!</p>
<p>As far as serverless hosting goes, we already have Freenet and the gazillion ZeroNet forks and whatever Beaker Browser is using nowadays and IPFS, the latter of which works just fine without the gazillion "blockchain domain" scams. In fact, since most of these web3 projects are built off IPFS anyway, why go through a middleman? Because these projects incentivize people to host your shit? If the content is popular enough, there doesn't need to be a profit motive for your content to stay alive and be well-propagated; it'll just happen naturally.</p>
<p>How are low-income and other disenfranchised people supposed to participate in web3 without just becoming sharecroppers all over again? With the profit motive, and since storage space is limited, nodes have an incentive to seed anything a wealthy person wants and give the leftover scraps of storage and bandwidth, if any are left, to the "free" users. If microtransactions are required to view anything, then how is a person with little to no "disposable" income supposed to discover new content they may like? (Of course, <a href="http://yggdrasil.mayvaneday.org/blog/2021/december/copywrong.html">a counter-economy of non-commercial content sans paywalls may very well rise up in response.</a>)</p>
<p>How are low-income and other disenfranchised people supposed to participate in web3 without just becoming sharecroppers all over again? With the profit motive, and since storage space is limited, nodes have an incentive to seed anything a wealthy person wants and give the leftover scraps of storage and bandwidth, if any are left, to the "free" users. If microtransactions are required to view anything, then how is a person with little to no "disposable" income supposed to discover new content they may like? (Of course, <a href="https://mayvaneday.org/blog/2021/december/copywrong.html">a counter-economy of non-commercial content sans paywalls may very well rise up in response.</a>)</p>
<blockquote><p>I say: let them. Let them lock down their works so tightly that they become utterly inaccessible. Let them miss out on the money they would have earned from now-disgruntled customers. Let the corporations destroy themselves in building a dam to maximize every dollar flowing to them only to find their river is drying up.</p>
</blockquote>
<p>I wish that web3 evangelists would realize that the average layperson doesn't give a shit about decentralization in the computing sense. They don't care about making their files as accessible as possible, just to themselves. To them, Google Drive or OneDrive or whatever other cloud storage services are in vogue are plenty good enough for them. They would rather see ads and sharecrop on centralized social media platforms than open their wallets to pay for an inferior service. And of those with the technological expertise to operate one of these nodes if we <em>really</em> wanted to, well... <em>I</em> know that <em>I</em> wouldn't want to live in a world where every interaction with my fellow (physically) human beings is monetized. And I doubt that many others would either. If improving the Internet is the goal, especially on this increasingly fragile planet, replacing the current system with something functionally worse but <a href="https://archive.ph/Xr2Y1">multitudes more energy-intensive</a> <!-- https://www.nytimes.com/interactive/2021/09/03/climate/bitcoin-carbon-footprint-electricity.html -->
@ -273,43 +304,4 @@ make build
</summary>
</entry>
<entry>
<title>I Love Deleting Things, Actually</title>
<link href="http://yggdrasil.mayvaneday.org/blog/2022/june/mistakes.html" />
<id>http://yggdrasil.mayvaneday.org/blog/2022/june/mistakes.html</id>
<published>2022-06-16</published>
<summary type="html"><![CDATA[<article>
<p>It's almost midnight, and I've forgotten to take my melatonin and other medication and go to sleep in time to prevent the "sillies" from arriving and giving me the urge to make several ill-informed self-deprecative blog posts. I'm staring at my reflection in my ThinkPad's powered-off screen, lid tilted slightly downward otherwise so that I don't get distracted with my face while writing, obsessively pulling my hair clips out and then sliding them back in to try to keep my fringe in a vaguely straight line. I keep turning the fan on my desk on and off, rapidly oscillating between "I'm too warm to focus" and "the breeze is too much sensory stimulation to focus". My phone sits beside my computer, spamming requests to the <a href="https://huggingface.co/spaces/dalle-mini/dalle-mini">DALL-E mini image generation tool</a> as fast as my fingers can get past the incessant "too much traffic, try again later" errors. My half-wife glances at the screen every now and then from my bed, arms crossed, making sure I don't try to generate another silly prompt of her as, say, a catgirl. Because, as funny as it is to me, for some reason it bothers her immensely, and so I do my best to refrain.</p>
<p>"What if I," I wonder aloud, "checked in on a certain trashfire? Purely for something to do while I wait?"</p>
<p>I pull my phone closer and put the browser into split-screen mode so that I don't lose my generation progress from Android's trash collector closing my browser and open Tor Browser in the second half of the screen. I swipe to the side to see the logs as I always do. 11%, bootstrapping. 14%, bootstrapping.</p>
<p>Tor Browser crashes. And again, when I try to open it again. And again, and again, and again-</p>
<p>Jett places a hand on my shoulder. The other browser flashes, fullscreen now that its companion is gone. "<a href="http://yggdrasil.mayvaneday.org/img/hidden/dalle_lysithea.png" title=">tfw Edelgard simp but all her classmates are annoying as hell">Lysithea with a frying pan</a>" is done cooking.</p>
<p>"I thought you said you weren't ever going to go back?"</p>
<p>I wince. "A cold war with a friend still feels like an open wound-"</p>
<p>"-and wounds generally don't heal if you keep picking at them, <em>right?</em>"</p>
<p>I eye the jagged rings around the base of her arms, imagine the soft faded curves under her nightshirt, the latter barely there anymore like a distant mostly-forgotten nightmare. "You're right. I'll find something else to distract myself."</p>
<p>So I pop "<a href="http://yggdrasil.mayvaneday.org/img/hidden/dalle_bisexual_pitb.png" title="Babe, wake up, new pride flags just dropped">my bisexual half-wife</a>" into DALL-E, ignoring Jett rolling her eyes in pretend aloofness, and open <a href="https://0net-preview.com">ZeroNet Preview</a> in a different browser that doesn't crash so much in the bottom half of my phone screen. Unsurprisingly, neither the Dashboard page nor any of the zites are designed for such a tiny square, even when I attempt to force them to zoom out all the way. A teeny tiny jolt runs through me when I see the thread about my disappearance is back at the top of the list yet again.</p>
<p>"I don't know what you expected," Jett whispers. "Well, go on. Face the fire. I know the curiosity will kill you otherwise."</p>
<p>And so I trudge on.</p>
<p>I do not know if it is a running gag where this friend I will not name is seemingly unable to see my site despite it being accessible to (nearly) everyone else, but since you the reader have found your way here, likely you have seen the takedown notice on the front page of the clearnet version of this site. It clearly states that the other darknet addresses for this site are on <a href="https://letsdecentralize.org">Let's Decentralize</a>. I know for a fact that the ones for the networks other than Tor are on there because I stumble over them every time I update the damn lists.</p>
<p>More importantly, someone was angry that I, upon realizing that not all of my deletion attempts for my zites had gone through, pulled out my old <code>users.json</code> and site update script from the "purgatory" folder on my sneakernet drive and forcibly committed one more deletion to finish the job that I <em>thought</em> had happened a month or so ago. That it was a failing of a "censorship-resistant" network that I was able to erase my content so completely off of it by my own will.</p>
<p>"So," Jett interrupts, "what are you going to do?"</p>
<p>"The same response I have to every other problem in my life," I answer, the sillies taking over. "Do nothing and wait for it to get worse!"</p>
<p>She grabs the nearest pillow, wads it up, and screams into its fleshy mass.</p>
<p>(insert feminine urge meme here)</p>
<p>The favorite button on my keyboard is the delete button, backspace being a close runner-up. It's my domain, after all, my namesake river, <em>forgetfulness</em>. My inheritance as a small child, elementary school version of the <a href="http://yggdrasil.mayvaneday.org/blog/2022/june/purity.html">Purity Spiral</a> deleting as many of the shitty games made in online slideshows as I could in a single night, play-pretending that all the characters within were refugees moving somewhere safer or merely packing up and disappearing to a "time machine" without a trace. Later I would trawl through the preinstalled games on my grandmother's and my father's desktop computers, never touched for fear of embedded viruses despite being planted there by the manufacturer, and look at how the binary files displayed in Notepad before compulsively deleting as much as I could and watching the uninstallers choke afterwards.</p>
<p>With one press of a button, I can wash away a typo, a mistake made, a thing I regret saying. A hard drive is just a memory, after all, just a record. And a record can be changed. A record can be altered. A record can be forgotten.</p>
<p>Unless you're using a blockchain, that is, where every block is dependent on the existence and immutability of the blocks that came before. Or some other "censorship-resistant" network where content can only be written to a ledger, never edited or deleted.</p>
<p>One would think this an ideal solution for a social media site. If nothing can ever be deleted, nobody can really be censored, right? Nobody can be banned and memoryholed without a trace, here today, gone tomorrow? Nobody can be compelled to delete something offensive to a dominant group in society because deletions simply would not be possible. To remove the content would mean removing the whole network, a task simply not technologically feasible.</p>
<p>Back when I was on Twitter forever ago, I used to make fun of people who used third-party services to delete their old tweets after a set period of time. What was the point of following people not my friends if the short little posts I enjoyed enough to retweet would be gone eventually? What would be the point of making something enjoyable if it would inevitably disappear?</p>
<p>But now, over six years since Eternal Current Year, I know. I understand now.</p>
<p>TikTok social contagions. "Carrd"-style single-page websites meant to serve as a hub for one's other presences on the Internet when "link in bio" isn't enough, filled with long lists of any given minor's triggers and fears and enough personal information for any old predator to track them down or manipulate them. Twitter users telling lesbians to kill themselves for the crime of not being attracted to males, trans-identified or not. Off-color jokes socially acceptable years ago but abhorrent now. Confessions of sexuality or political affiliation safe now but illegal and worthy of incarceration or death under a repressive government in the future.</p>
<p>Typos.</p>
<p><strong>Human beings change, and their opinions, their circumstances, their beliefs all change as well.</strong> What is safe today may be unsafe tomorrow, and not being able to delete something means forever having a target painted on one's back. What is funny today may be recognized as mean-spirited tomorrow, but without the ability to delete it, the wound remains forever open no matter how many apologies are issued.</p>
<p>I removed my zites from ZeroNet instead of just leaving them there when I decided to exit the network because I did not want to leave old data lying around. Since ZeroNet doesn't (currently) have document versions like Freenet does, I can be reasonably sure that my data has been removed from the nodes seeding my zites at the time that didn't have them "paused". Sure, it was all ever meant to be public anyway, and I can't do anything about people saving copies of my posts offline. But if I no longer believed in something and wanted it off public record, I didn't want an abandoned and out-of-date version of my site still declaring it for all perpetuity. (I also didn't want to leave future visitors hanging wondering why the zite seemed to be abandoned.)</p>
<p>Sure, if the Internet decides to remember something for all time, no amount of litigation in the world could remove it entirely. But the vast amount of "page not archived" errors I've ever gotten while searching for something in the Wayback Machine shows that "the internet never forgets" isn't necessarily true. Without the technological option of a delete button, embarrassing things like that old Twitter account of mine can't fade silently into the night, never to bother me again. Posts revealing intimate details of my life I no longer feel comfortable sharing would be available for any potential doxxer to exploit. They would stay around as long as the blockchain or website or whatever existed.</p>
<p>Maybe I, as an adult in a world where the delete key is still on my keyboard, can face the fire. But I watch the generations younger than me to whom "privacy" as a concept is nonexistent put their <em>entire</em> lives online with no filter or discretion, and I watch web3 and the blockchain-ization of everything demand a world where nothing can ever be taken back or rectified and all must be done in one's legal name, and I wonder if one day all that will be safe to do on the network is post recipes and pictures of flowers.</p>
</article>]]>
</summary>
</entry>
</feed>

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

@ -10,74 +10,70 @@
<meta name="description" content="Vane Vander's personal website">
</head>
<body class="index">
<script src="./checktor.js"></script>
<div width="100%" height="auto" style="border-bottom-style: solid; border-bottom-color:black; bottom-margin: 0px; border-width: 3px;">
<img src="./css/crow_banner.png" height="100%" width="100%" style="display: block;">
<!-- banner modified from "big crow sitting on tree branch" generated using Craiyon and licensed under the Free Commercial License (https://www.craiyon.com/terms) -->
</div>
<hr>
<div class="box center">
<h2>Welcome to MayVaneDay Studios</h2>
</div>
<hr>
<div class="box center">
<p>THE ORACLE SPEAKS:</p>
<p><a href="./poetry/f/firebrand.txt">[FIREBRAND]</a> <a href="./poetry/w/watershed.txt">[WATERSHED]</a> <a href="./poetry/e/earthbound.txt">[EARTHBOUND]</a> <a href="./poetry/a/airborne.txt"><b>[AIRBORNE]</b></a></p>
</div>
<hr>
<div class="box">
<h3>My books:</h3>
<h4>Poetry</h4>
<ul>
<li><a href="./books/tyia.epub">Three Years In Absentia</a></li>
<li><a href="./books/mm_tac.epub">Mori's Mirror and The Adoration Corporation</a></li>
<li><a href="./books/h.epub">Hydra</a></li>
<li><a href="./books/mm_tpf.epub">Mori's Mirror and The Poetry Factory</a></li>
</ul>
<h4>Fiction</h4>
<ul>
<li><a href="./books/is.epub">In Separation</a></li>
<li><a href="./books/tvsc.epub">The Viridian Shipping Company</a></li>
<li><a href="./books/tdom.epub">The Duality Of Mankind</a></li>
<li><a href="./books/lw.epub">Living Wasteland</a></li>
<li><a href="./books/mby.epub">Me Before You</a></li>
<li><a href="./books/twlf.epub">The White Line Fever</a></li>
<li><a href="./books/tsf.epub">The Samhain Files</a></li>
</ul>
</div>
<hr>
<div class="box">
<h3>Announcement Box</h3>
<ul>
<li>2022-08-07: <a href="https://deadendshrine.online/mods/sm4sh_reskin_guide_20220807.pdf">DO YOU</a> <a href="https://deadendshrine.online/mods/lucas_womenrespecter/index.html">RESPECT WOMEN?</a></li>
<li>2022-07-17: You told me to "respect his culture". You told me to respect someone who <a href="https://web.archive.org/web/20220718022420/http://loureads.com/2020/08/07/lou-reads-189-biblical-gender-roles-and-how-to-follow-them/">[fundamentally sees me as lesser]</a>. These people want me dead. I will not return the favor of respect.</li>
</ul>
</div>
<hr>
<div class="box">
<p class="center">
<a href="./blog/index.html">[Blog]</a>
<a href="./poetry/">[Poetry]</a>
<a href="./tutorials/index.html">[Tutorials]</a>
</p>
<p><a href="./cli.html">The Terminal Life</a></p>
<p><a href="./women.md">The big list of women who did things</a></p>
<p>Feeds: <a href="./feed.xml">[RSS]</a> <a href="./feed.ass">[ASS]</a></p>
<p><a href="./identity/index.html">Identity &amp; Contact</a></p>
<p><a href="./public.gpg">My GPG key</a></p>
<p><a href="https://letsdecentralize.org">Let's Decentralize</a></p>
<p><a href="https://deadendshrine.online">Dead End Shrine Online</a></p>
</div>
<hr>
<div class="box center">
<a href="http://127.0.0.1:8082/ipns/mayvaneday.org/">[IPFS]</a>
<a href="http://zli2qsg54w7y42vgw4xxlnj4nktcpg7xp33yjxkp33sjafvznbwa.b32.i2p">[I2P]</a>
<a href="http://yggdrasil.mayvaneday.art">[Yggdrasil]</a>
<a href="http://127.0.0.1:8888/USK@Up0ipQCQjyY2PaGofU-P63kJMb54E0~2xZiUnyxPypM,rGmJhPDVou6DwS6Eh23sZ93hVbDaA6v4D5l3vWsN-oY,AQACAAE/mayvaneday/-1/">[Freenet]</a>
<a href="http://meynethaffeecapsvfphrcnfrx44w2nskgls2juwitibvqctk2plvhqd.onion">[Tor]</a>
<a href="https://codeberg.org/lethe/mayvaneday">[Git]</a>
</div>
<img src="https://stats.letsdecentralize.org/count?p=/mayvaneday/index.html">
</noscript>
<script src="./checktor.js"></script>
<div id="index-header" class="box center">
<h2>Welcome to MayVaneDay Studios</h2>
</div>
<hr>
<div class="box center">
<p>THE ORACLE SPEAKS:</p>
<p><a href="./poetry/f/firebrand.txt">[FIREBRAND]</a> <a href="./poetry/w/watershed.txt">[WATERSHED]</a> <a href="./poetry/e/earthbound.txt">[EARTHBOUND]</a> <a href="./poetry/a/airborne.txt"><b>[AIRBORNE]</b></a></p>
</div>
<hr>
<div class="box">
<h3>My books:</h3>
<h4>Poetry</h4>
<ul>
<li><a href="./books/tyia.epub">Three Years In Absentia</a></li>
<li><a href="./books/mm_tac.epub">Mori's Mirror and The Adoration Corporation</a></li>
<li><a href="./books/h.epub">Hydra</a></li>
<li><a href="./books/mm_tpf.epub">Mori's Mirror and The Poetry Factory</a></li>
</ul>
<h4>Fiction</h4>
<ul>
<li><a href="./books/is.epub">In Separation</a></li>
<li><a href="./books/tvsc.epub">The Viridian Shipping Company</a></li>
<li><a href="./books/tdom.epub">The Duality Of Mankind</a></li>
<li><a href="./books/lw.epub">Living Wasteland</a></li>
<li><a href="./books/mby.epub">Me Before You</a></li>
<li><a href="./books/twlf.epub">The White Line Fever</a></li>
<li><a href="./books/tsf.epub">The Samhain Files</a></li>
</ul>
</div>
<hr>
<div class="box">
<h3>Announcement Box</h3>
<ul>
<li>2022-08-17: Life is meant to be shared... my website design isn't. Please make something yourself instead of scraping my site wholesale.</li>
<li>2022-08-07: <a href="https://deadendshrine.online/mods/sm4sh_reskin_guide_20220807.pdf">DO YOU</a> <a href="https://deadendshrine.online/mods/lucas_womenrespecter/index.html">RESPECT WOMEN?</a></li>
<li>2022-07-17: You told me to "respect his culture". You told me to respect someone who <a href="https://web.archive.org/web/20220718022420/http://loureads.com/2020/08/07/lou-reads-189-biblical-gender-roles-and-how-to-follow-them/">[fundamentally sees me as lesser]</a>. These people want me dead. I will not return the favor of respect.</li>
</ul>
</div>
<hr>
<div class="box">
<p class="center">
<a href="./blog/index.html">[Blog]</a>
<a href="./poetry/">[Poetry]</a>
<a href="./tutorials/index.html">[Tutorials]</a>
</p>
<p><a href="./cli.html">The Terminal Life</a></p>
<p><a href="./women.md">The big list of women who did things</a></p>
<p>Feeds: <a href="./feed.xml">[RSS]</a> <a href="./feed.ass">[ASS]</a></p>
<p><a href="./identity/index.html">Identity &amp; Contact</a></p>
<p><a href="./public.gpg">My GPG key</a></p>
<p><a href="https://letsdecentralize.org">Let's Decentralize</a></p>
<p><a href="https://deadendshrine.online">Dead End Shrine Online</a></p>
</div>
<hr>
<div class="box center">
<a href="http://127.0.0.1:8082/ipns/mayvaneday.org/">[IPFS]</a>
<a href="http://zli2qsg54w7y42vgw4xxlnj4nktcpg7xp33yjxkp33sjafvznbwa.b32.i2p">[I2P]</a>
<a href="http://yggdrasil.mayvaneday.art">[Yggdrasil]</a>
<a href="http://127.0.0.1:8888/USK@Up0ipQCQjyY2PaGofU-P63kJMb54E0~2xZiUnyxPypM,rGmJhPDVou6DwS6Eh23sZ93hVbDaA6v4D5l3vWsN-oY,AQACAAE/mayvaneday/-1/">[Freenet]</a>
<a href="http://meynethaffeecapsvfphrcnfrx44w2nskgls2juwitibvqctk2plvhqd.onion">[Tor]</a>
<a href="https://codeberg.org/lethe/mayvaneday">[Git]</a>
</div>
<img src="https://stats.letsdecentralize.org/count?p=/mayvaneday/index.html">
</noscript>
</body>
</html>

@ -1,9 +1,9 @@
<!--
/* "Crow" for Layout V4 */
/* "Feathers" for Layout V4 */
body {
background-color: #cecece;
background-color: #32838f;
font-family: monospace;
color: #FFFFFF;
max-width:900px;
@ -12,12 +12,18 @@ body {
margin-bottom: 10px;
}
#index-header {
background-image: url("img/feather_red.png"), url("img/feather_blue.png");
background-repeat: no-repeat, no-repeat;
background-position: left, right;
}
.center {
text-align: center;
}
.index {
max-width: 670px;
max-width: 551px;
}
a, a:visited {
@ -50,11 +56,15 @@ hr {
}
b, strong {
color: #80ff80;
color: #fff27b;
}
code {
color: #856b88;
}
i, em, code {
color: #ccffcc;
i, em {
color: #e29a87;
}
img.big {

Loading…
Cancel
Save