1
0
Fork 0

New article & journal + updated uses

- Added a new system for updating my pronounds in all both places it's used
- New journal entry
- New article on the evils of discord
- Added entries to /about/uses/ for my 3D printer and network switch
This commit is contained in:
will 2023-06-28 01:17:09 -06:00
parent f8958081ad
commit e1ad83a863
10 changed files with 368 additions and 82 deletions

1
.gitignore vendored
View file

@ -17,3 +17,4 @@
/downloads/**
*.ico
stats/packages.txt
pronouns.txt

View file

@ -11,7 +11,7 @@
<?php include($_SERVER['DOCUMENT_ROOT'] . '/nav.php'); ?>
<h1>about me</h1>
<h2 id="caption">hi</h2>
<p><span title="General Kenobi!">Hello there!</span> They call me Will (any pronouns), but I tend to go by deep twisty (more on that later) or some variation of "isopod" or "bathynomus" on the internet. I like to make stuff on the computer, like <a href="https://deeptwisty.bandcamp.com/">music</a>, or <a href="https://deeptwisty.com/art">art</a>, or this website. I've heard rumors calling me such things as "canadian", "autistic", and "incalculably talented". I cannot confirm or deny any of these allegations.</p>
<p><span title="General Kenobi!">Hello there!</span> They call me Will (<?php echo file_get_contents($_SERVER['DOCUMENT_ROOT'] . '/pronouns.txt'); ?>), but I tend to go by deep twisty (more on that later) or some variation of "isopod" or "bathynomus" on the internet. I like to make stuff on the computer, like <a href="https://deeptwisty.bandcamp.com/">music</a>, or <a href="https://deeptwisty.com/art">art</a>, or this website. I've heard rumors calling me such things as "canadian", "autistic", and "incalculably talented". I cannot confirm or deny any of these allegations.</p>
<h2>What's a "deep twisty"?</h2>
<p>"deep twisty" is a pseudonym I came up with to release music under, because everyone is doing it. It comes from some tweets from an <a href="https://web.archive.org/web/20221214182955/https://twitter.com/SubnauticaSCM/status/1095774020446744576">official Subnautica twitter account</a> where they referred to the then-work-in-progress Deep Twisty Bridges biome as just "deep twisty". I thought it sounded funny. Funny enough to brand myself on, apparently.</p>
<!--p>As for "niceopod", "nice" was the best word I could think of that rhymes with the first syllable of "isopod". I feel like it sounds like I'm trying to say I'm nice. <span title="I'm slowly deprecating this username for this reason. You'll typically find it replaced with &quot;isopod&quot; or &quot;bathynomus&quot; or some other isopod-related thing, depending on availability.">I'm not</span>, it's just that the alternatives were "iceopod" and "sliceopod". Isopods are nice though.</p-->

View file

@ -216,6 +216,13 @@
much on headphones that are worse in every way.</p>
</details>
</li>
<li>I have a <b>Prusa MINI+</b> 3D printer. It's very nice.
<details>
<summary>More details</summary>
<p>I went with a Prusa because they had a reputation for quality, and this thing did not disappoint. The assembly instructions were good and the user experience is very smooth. It does a lot of things for you that I suspect would have been pain points for me had I bought a cheaper printer. I'm a huge fan of the ability to send it gcode files remotely using the built-in webserver. Also, PrusaSlicer is quite good.</p>
</details>
</li>
<li>I have a <b>Netgear GS305</b> unmanaged network switch for connecting all the devices in my room to ethernet. It works, no complaints.</li>
</ul>
<h2>Software</h2>
<ul>

View file

@ -9,6 +9,15 @@
<uri>https://isopod.cool/</uri>
</author>
<generator>ME</generator>
<entry>
<title>Discord - So Your Favourite Chat App Sucks Now</title>
<id>discord</id>
<link rel="alternate" href="https://isopod.cool/blog/posts/discord/" type="html" title="Discord - So Your Favourite Chat App Sucks Now"></link>
<published>2023-06-28T00:00:00+00:00</published>
<updated>2023-06-28T00:00:00+00:00</updated>
<summary>Why Discord sucks, and how to find something that doesn't.</summary>
<category term="discord"/>
</entry>
<entry>
<title>Guide - How to Automount Drives On Boot in Linux</title>
<id>guide_how_to_automount_drives_on_boot_in_linux</id>

View file

@ -105,6 +105,17 @@
}
echo "</ul>";
?>
<article id="2023-06-28">
<h2>2023-06-28</h2>
<p>June's been pretty good. My manager is finally scheduling me better, for one thing. I also bought a network switch for my room to hook my 3D printer up to the LAN, and I'm a huge fan of its network functionality thus far. No more futzing around with the included flash drive for me!</p>
<p>I don't know why I didn't mention this sooner, but I set up a Calckey instance a couple months ago. It's my new main Fediverse account. I quite like the user experience, but the moderation tools leave a bit to be desired coming from Akkoma with its Message Rewrite Facility. Not like I need to do much moderating, though.</p>
<p>I also set up a Radicale server. I set my family up with accounts on it so we can all enter relevant events into a shared calendar. If you're a Radicale admin and you're wondering how to do that, basically each user gets their own folder in Radicale's directory, and you just need to make a calendar and symlink it into the folder for everyone you want to share it with. Also, did you know iOS has native support for CalDAV integration? Rare W for Apple there.</p>
<p>I'm glad I didn't make that Invidious instance I mentioned back in January. Apparently Youtube went and broke the method Invidious uses to grab Youtube videos. Or they just blocked Invidious specifically, somehow. Either way, Piped still works. lol. Anyway, fuck Youtube. Anyone know any good Peertube instances?</p>
<p>I've been working on some music recently, a little. Here's a preview of the song I'm working on:</p>
<audio controls=""><source src="media/2023-06-28_lead_wip.mp3" type="audio/mp3"></audio>
<p>I actually got that guitar-sounding noise by looping a short drum sample really fast and putting it through Paranoia Mangler, a bitcrusher plugin that comes standard with Reaper. I've gotta use this technique more often. It produces some of my favourite sounds.</p>
<p>Gender update: slowly sliding more and more into "girl" territory. I don't want to say anything for certain yet, but I may be transgender. It feels weird up and stating that, but I think about it and those terms about line up with how I feel. I have removed "he/him" from my preferred pronouns. I simply don't prefer it. Anything else is cool though.</p>
</article>
<article id="2023-05-31">
<h2>2023-05-31</h2>
<p>Let's get the bitching about work out of the way up front: my boss has been scheduling me full time for the past four weeks now despite knowing full well I'm supposed to be working part time, and furthermore he had me working six consecutive days just now. Any more of this shit and I will straight up quit. Fuck you bro</p>

View file

@ -0,0 +1,332 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>So Your Favourite Chat App Sucks Now</title>
<link href="../../../style.css" rel="stylesheet" type="text/css" media="all">
<style>
h1 {
background-image: url('discord.png');
}
</style>
</head>
<body>
<h1>discord</h1>
<h2 id="caption">So Your Favourite Chat App Sucks Now</h2>
<nav>
<a href="/">home</a>
<a href="/blog">blog</a>
</nav>
<p>Just once I'd like to write about something other than fixing tech problems.</p>
<p>So Discord's been on their bullshit again (as if they were ever off of it). This time it's an overhaul to their username system, last time it was a change in their privacy policy allowing them to collect data from voice and video calls, and then there's the AI stuff. It's not like Discord acting shitty is anything new, but this post isn't about the company's transgressions. This article is about escaping your dependency on Discord, and more broadly escaping the vicious corporate cycle of which it's the latest iteration.</p>
<p>I was originally going to center this article around the pros and cons of different alternatives to Discord, and I do still want to touch on that, but I think it's important to express my reasoning in detail here; it will be easier to avoid another situation like the one we have now with Discord if we know what's actually wrong with it on a more fundamental level than which administrative decisions of theirs are bad. How do we ensure wherever we go next won't pull the exact same crap?</p>
<h2>So why is Discord bad?</h2>
<p>Let's be honest with ourselves up front: In many ways, Discord, as a service, fucking owns. It has a ton of fun features not found really anywhere else and the quality of its voice, video, and live streaming functions are tough to beat. However, these advantages come at the cost of Discord's most significant fundamental problem: It's a proprietary, centralized, VC-funded platform. It gets the funding it needs to be so awesome from investors who expect a return on their investments, and it is legally obligated to put creating that return above all other priorities.</p>
<h3>Enshittification - The Capitalism Problem</h3>
<p>It's possible, even probable, that Discord started out with the simple, noble goal of being the best Chat for Gamers&trade;, creating an alternative to the problems present with its predecessors Skype and Teamspeak, and whatever chat functionality your favourite games had. At this, it succeeded spectacularly, for a time. However, the entire model of the VC-funded startup is fundamentally unsustainable.</p>
<p>Discord was never actually profitable - it's been able to keep the lights on for this long using money from investors, but it needs to become profitable at some point in order to keep going long-term. If you're an avid Discord user, think of some of the blatant cash grabs they've pulled in the past at the expense of user experience, all the pointless features they've added behind the paywall of Nitro. I'd bet you can name at least half a dozen. And none of it worked. Now imagine what Discord would need to do, or would try, in order to become profitable. Personally, the imagine conjured in my mind by the idea of "Discord but profitable" is pretty grim.</p>
<p>This isn't a problem specific to Discord. A popular term for what's happening to it is "enshittification" - Cory Doctorow, the term's inventor, <a href="https://pluralistic.net/2023/01/21/potemkin-ai/#hey-guys">explains it well</a>:</p>
<blockquote>Here is how platforms die: first, they are good to their users; then they abuse their users to make things better for their business customers; finally, they abuse those business customers to claw back all the value for themselves. Then, they die.</blockquote>
<p>I won't restate his essay or the examples he lists here (though you should give it a read), but one obvious one his article didn't cover because it was written more than a week ago is what's happening with Reddit right now. Reddit has been enshittifying itself for years, but the current controversy is particularly bad and particularly representative of the problem. As of writing in mid-June of 2023, Reddit has just instituted a new policy requiring payment for use of its API, to the tune of $12,000 per 50 million API requests, which for certain popular third-party clients and moderation tools comes out to millions of dollars per year.</p>
<p>Reddit did not need to do this. Reddit was doing fine. This was purely a cash-grab, and it's blowing up in everyone's face right now, including theirs. Moderators of many popular subreddits are essentially going on strike over this, and if you think that's the only critical problem this decision is going to cause for users you know very little about Reddit. The developers of open-source clients and moderation tools used by massive portions of Reddit's userbase can't afford costs like this, and most of them will be forced to shut down if Reddit sticks to its guns.</p>
<p>I'm not saying they will, but Discord could absolutely do the same thing, and it wouldn't surprise me if it came to that. Imagine if Discord bot developers needed to pay API fees like that. There'd certainly be a lot fewer Discord bots, and probably a lot more paywalled ones among the remainder. Discord absolutely needs to become profitable in order to be sustainable, and it will do whatever it needs to to that end or die. Even then, it can't just break even; capitalism demands endless growth. Discord will keep getting worse as long as there's money in it. It's inevitable. It's required.</p>
<h3>Centralization</h3>
<p>Discord is a centralized platform and always will be, no matter how strong the reality distortion field it puts up by allowing the creation of isolated social spaces and calling them "servers". Every Discord "server" runs on Discord's servers, and they have total control over each one at the end of the day.</p>
<p>Now, centralization isn't inherently bad. Sometimes it is necessary. Imagine trying to construct a peer-to-peer MMORPG, for example. Discord, however, is not a videogame, and in its case centralization introduces some fundamental problems that a decentralized system could avoid without compromising core functionality.</p>
<p>The centralized nature of Discord, the platform, means that it, in its entirety, is inherently vulnerable to anything that happens with Discord, the company. Any change the company decides to make is universal. If the company shuts down, the platform goes with it. If the admins at Discord don't like what you're doing, they can unilaterally prevent you from using their platform at all.</p>
<p>This ties pretty closely into the whole VC-funded thing - Discord, the platform, is fundamentally subject to the whims of Discord, the company's investors. I guarantee you that's why they changed the username system: the corporate big wigs providing the funding got confused by Discord's unique (and very good) username system and decided it would be better if it was more like Twitter, so Discord made it more like Twitter.</p>
<p>That's really the core of the issue here: being centralized means that Discord can easily suffer the same fate as Twitter. Some incompetent nutcase with more money than the entire planet's collective pool of sense could buy it out and destroy it, or the current owners could just make some boneheaded decision and do the same. A decentralized platform, running on a common open protocol, is much less vulnerable to the antics of the Elon Musks and u/spez's of the world.</p>
<h3>The Privacy Problem</h3>
<p>This issue isn't really inherently connected to the others - a lack of good privacy doesn't fundamentally doom a platform like the other two points - but I'm treating it as a third major issue because I feel it's extremely important and warrants consideration.</p>
<p>If you value your privacy, Discord is an atrocious choice. Take it from <a href="https://tosdr.org/en/service/536">their own terms of service</a>. Anything you send on Discord, whether in a DM or a public guild (I'm not calling them "servers"), is <strong>not encrypted</strong>, meaning it can be accessed and read by Discord staff, as well as any hackers that manage to access their systems or any law enforcement entities that might demand it. Discord is not even trying to pretend to be private. I'm not convinced it's something they ever thought about.</p>
<p>And let's be clear here: You should value your privacy. You should value it a lot. The idea that if you have nothing to hide, you have nothing to fear is a complete scam. Even if you don't have anything to hide, yes you do. Take, for example, <a href="https://archive.ph/TYPd1">the time</a> Google flagged someone as a criminal and permanently closed their account for the crime of sending medical photos of their son to a doctor. Or maybe your government wants to arrest you for being gay, or having an abortion, or some other innocuous but potentially illegal thing. Or maybe they will in the future. Or maybe some stuff you've said is just kind of embarrassing.</p>
<p>If you still don't believe me, read through a couple months of your Discord message history and then contemplate printing it out and mailing it to the NSA. If the government asks, Discord will save you the trouble, and they won't ask your permission first. And with a recent change to their privacy policy, this theoretically applies to your voice chats too, though to be fair I expect that would be prohibitively costly in server space.</p>
<p>Discord fundamentally couldn't give a shit about your privacy, and doesn't even really care to pretend like it does. It has no incentive to. The investors probably wouldn't be comfortable with the risks associated with pulling a stunt like responding to a subpoena with "yeah here's their phone number. that's all we got" like certain other chat apps anyway, and then there's the potential to sell that all data on you to advertisers. I'm not aware that they currently do that, but it's certainly not off the table should they decide to go that route in order to turn a profit. At least, not under US law, anyway.</p>
<p>Actually, I just checked that ToS;DR link from earlier again, would you look at that:</p>
<blockquote>This service may keep personal data after a request for erasure for business interests or legal obligations</blockquote>
<blockquote>This service ignores the Do Not Track (DNT) header and tracks users anyway even if they set this header.</blockquote>
<blockquote>Your personal data may be used for marketing purposes</blockquote>
<blockquote>This service can license user content to third parties</blockquote>
<blockquote>The service can sell or otherwise transfer your personal data as part of a bankruptcy proceeding or other type of financial transaction.</blockquote>
<blockquote>The service may use tracking pixels, web beacons, browser fingerprinting, and/or device fingerprinting on users.</blockquote>
<blockquote>The service uses your personal data to employ targeted third-party advertising</blockquote>
<p>Juicy stuff. You should really give that a read - you might not like what you find.</p>
<p>Before we move on, I'll just drop this tasty little <a href="https://spyware.neocities.org/articles/discord">link</a> to further reading. It's a real page-turner.</p>
<h2>Cool, so how do we fix it?</h2>
<p>We don't. Discord was doomed from the outset in any attempts to be sustainable or trustworthy. We are going to need to find an alternative to Discord eventually. So what should that alternative look like? I'll discuss specifics later - I'd like to start by establishing the general principles I feel a messaging system should conform to in order to avoid Discord's major problems. The TL;DR is it needs to not be any of the things I've described thus far about Discord, but I'll go into more detail about what that actually looks like.</p>
<h3>Follow the money</h3>
<p>A sustainable chat system <em>absolutely cannot</em> be for-profit. If it is in any way driven by profit, the decay and eventual death of the service is inevitable. That doesn't mean it has to be entirely staffed by unpaid volunteers or anything, but it would need to be a non-profit foundation of some kind, just trying to break even with no incentive for infinite growth or any other corrupting financial influence. You'll notice this as a theme across most online services that don't already show signs of advanced corporate necrosis.</p>
<p>I'm not even saying it can't have some kind of Nitro-esque paid tier. I don't hold it against, say, Protonmail - in fact, I pay for that one - but the money can't be the end goal. A sustainable non-profit model might be largely donation-based like Wikipedia, or maybe it could have a totally free product for individual users and break even selling support to enterprise customers like some Linux distributions. It's not currently breaking even yet according to its Wikipedia article, but I'll be interested to see if and how Signal reaches a sustainable state. Maybe future players could take notes from them.</p>
<h3>Cut out the middle man</h3>
<p>Better yet, structure your system such that it doesn't even need a corporation at the center - in other words, a decentralized system. I'm not talking about the blockchain; we can do this the old-fashioned way, with tech that isn't ponzi-scheme-by-design. In fact, we're already doing this, and it already has more monthly active users than any messenger app ever created: email.</p>
<p>Email is the original decentralized, federated communications network. There's no Email LLC at the center of it all assigning everyone their email addresses and processing every message. Email isn't an app. It isn't a proprietary service. It's an open protocol that anyone can set up a server to provide access to. That's what Gmail is, that's what Outlook is, that's what your weird nerdy friend's weird nerdy friend who has a custom domain name on their email address and complains about Gmail marking their messages as spam is doing. They're all part of the bigger network.</p>
<p>I'll try to keep this little tangent short, but I feel it's important to establish a basic understanding of how these systems work. Email is a federated protocol, meaning it isn't tied to one backend running on one company's datacenter - instead, it's a network composed of any number of entirely independent servers running compatible software that communicate amongst themselves using the language of the email protocol. These servers are often called "nodes" or "instances", or sometimes "providers" in the case of email. A user of email has an account with one of these instances and can use it to send messages to people both on the same instance and on any other instance on the network.</p>
<p>This is why email addresses are like that - the part before the @ is your username, and the domain name after the @ points to the server your account is registered on. If usernames on other platforms were formatted like this you would see stuff like MrBeast@youtube.com for Youtube channels or dril@twitter.com for Twitter accounts, but those platforms aren't federated so they don't need to do that.</p>
<p>So when two people communicate via email, the sender sends the message to their instance, which sends it to the instance its recipient is using, which then relays it to the recipient.</p>
<p>And here's the obligatory visual aid - essentially, when you send an email, it takes the shortest path along a network that looks like this; every server is connected to every other, and every user is connected to one server:</p>
<svg
width="100%"
viewBox="0 0 200 200"
version="1.1"
id="svg5"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<g
id="layer1"
transform="translate(-8.3054578,-58.319434)">
<circle
style="opacity:1;fill:var(--fontcolor);fill-opacity:0;stroke:var(--fontcolor);stroke-width:1;stroke-dasharray:none;stroke-opacity:1"
id="path117"
cx="68.56881"
cy="127.54186"
r="18.769983" />
<circle
style="opacity:1;fill:var(--fontcolor);fill-opacity:0;stroke:var(--fontcolor);stroke-width:1;stroke-dasharray:none;stroke-opacity:1"
id="path3581"
cx="150.92085"
cy="148.26714"
r="19.678009" />
<circle
style="opacity:1;fill:var(--fontcolor);fill-opacity:0;stroke:var(--fontcolor);stroke-width:1;stroke-dasharray:none;stroke-opacity:1"
id="path3583"
cx="105.20529"
cy="202.05493"
r="19.081055" />
<circle
style="opacity:1;fill:var(--fontcolor);fill-opacity:0;stroke:var(--fontcolor);stroke-width:1;stroke-dasharray:none;stroke-opacity:1"
id="path3587"
cx="25.743092"
cy="101.9978"
r="5.2974296" />
<circle
style="opacity:1;fill:var(--fontcolor);fill-opacity:0;stroke:var(--fontcolor);stroke-width:1;stroke-dasharray:none;stroke-opacity:1"
id="path3589"
cx="60.956558"
cy="73.617287"
r="5.4940629" />
<circle
style="opacity:1;fill:var(--fontcolor);fill-opacity:0;stroke:var(--fontcolor);stroke-width:1;stroke-dasharray:none;stroke-opacity:1"
id="path3591"
cx="171.89577"
cy="106.49306"
r="5.1377053" />
<circle
style="opacity:1;fill:var(--fontcolor);fill-opacity:0;stroke:var(--fontcolor);stroke-width:1;stroke-dasharray:none;stroke-opacity:1"
id="path3593"
cx="196.94356"
cy="142.59959"
r="5.1728086" />
<circle
style="opacity:1;fill:var(--fontcolor);fill-opacity:0;stroke:var(--fontcolor);stroke-width:1;stroke-dasharray:none;stroke-opacity:1"
id="path3595"
cx="181.24704"
cy="189.34361"
r="5.6113472" />
<circle
style="opacity:1;fill:var(--fontcolor);fill-opacity:0;stroke:var(--fontcolor);stroke-width:1;stroke-dasharray:none;stroke-opacity:1"
id="path3597"
cx="84.654259"
cy="244.04385"
r="5.8057671" />
<path
style="opacity:1;fill:var(--fontcolor);fill-opacity:0;stroke:var(--fontcolor);stroke-width:1;stroke-dasharray:none;stroke-opacity:1"
d="M 30.209234,104.69878 52.15345,118.20831"
id="path3653" />
<path
style="opacity:1;fill:var(--fontcolor);fill-opacity:0;stroke:var(--fontcolor);stroke-width:1;stroke-dasharray:none;stroke-opacity:1"
d="m 61.513435,79.048001 4.222744,29.916259"
id="path3655" />
<path
style="opacity:1;fill:var(--fontcolor);fill-opacity:0;stroke:var(--fontcolor);stroke-width:1;stroke-dasharray:none;stroke-opacity:1"
d="m 169.64269,111.0195 -10.00525,19.52595"
id="path3657" />
<path
style="opacity:1;fill:var(--fontcolor);fill-opacity:0;stroke:var(--fontcolor);stroke-width:1;stroke-dasharray:none;stroke-opacity:1"
d="m 191.80959,143.94112 -21.1993,2.95336"
id="path3659" />
<path
style="opacity:1;fill:var(--fontcolor);fill-opacity:0;stroke:var(--fontcolor);stroke-width:1;stroke-dasharray:none;stroke-opacity:1"
d="M 177.3019,185.05552 161.979,164.75517"
id="path3661" />
<path
style="opacity:1;fill:var(--fontcolor);fill-opacity:0;stroke:var(--fontcolor);stroke-width:1;stroke-dasharray:none;stroke-opacity:1"
d="m 86.835859,238.77871 10.351513,-19.3635"
id="path3663" />
<path
style="opacity:1;fill:var(--fontcolor);fill-opacity:0;stroke:var(--fontcolor);stroke-width:1;stroke-dasharray:none;stroke-opacity:1"
d="m 75.79573,144.99496 20.995312,39.74555"
id="path3665" />
<path
style="opacity:1;fill:var(--fontcolor);fill-opacity:0;stroke:var(--fontcolor);stroke-width:1;stroke-dasharray:none;stroke-opacity:1"
d="m 85.88393,134.7388 45.55403,10.05641"
id="path3667" />
<path
style="opacity:1;fill:var(--fontcolor);fill-opacity:0;stroke:var(--fontcolor);stroke-width:1;stroke-dasharray:none;stroke-opacity:1"
d="m 140.88779,165.32071 -22.07436,23.38712"
id="path3669" />
<text
xml:space="preserve"
transform="matrix(0.26458333,0,0,0.26458333,141.58634,13.420722)"
id="text3723"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:monospace;-inkscape-font-specification:monospace;white-space:pre;opacity:1;fill:var(--fontcolor);fill-opacity:1;stroke:var(--fontcolor);stroke-width:0.377953;stroke-dasharray:none;stroke-opacity:1"><tspan
x="52.339844"
y="323.63335"
id="tspan6368">alice@gmail.com</tspan></text>
<text
xml:space="preserve"
transform="matrix(0.26458333,0,0,0.26458333,134.67403,76.767262)"
id="text3989"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:monospace;-inkscape-font-specification:monospace;white-space:pre;opacity:1;fill:var(--fontcolor);fill-opacity:1;stroke:var(--fontcolor);stroke-width:0.377953;stroke-dasharray:none;stroke-opacity:1"><tspan
x="177.52734"
y="219.63139"
id="tspan6370">bob@gmail.com</tspan></text>
<text
xml:space="preserve"
transform="matrix(0.26458333,0,0,0.26458333,-28.070788,46.354482)"
id="text4007"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:monospace;-inkscape-font-specification:monospace;white-space:pre;opacity:1;fill:var(--fontcolor);fill-opacity:1;stroke:var(--fontcolor);stroke-width:0.377953;stroke-dasharray:none;stroke-opacity:1"><tspan
x="775.53125"
y="510.74467"
id="tspan6376">john@gmail.com</tspan></text>
<text
xml:space="preserve"
transform="matrix(0.26458333,0,0,0.26458333,90.646791,27.832545)"
id="text3995"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:monospace;-inkscape-font-specification:monospace;white-space:pre;opacity:1;fill:var(--fontcolor);fill-opacity:1;stroke:var(--fontcolor);stroke-width:0.377953;stroke-dasharray:none;stroke-opacity:1"><tspan
x="195.94141"
y="457.4771"
id="tspan6372">gmail.com</tspan></text>
<text
xml:space="preserve"
transform="matrix(0.26458333,0,0,0.26458333,-107.28378,-25.337764)"
id="text4001"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:monospace;-inkscape-font-specification:monospace;white-space:pre;opacity:1;fill:var(--fontcolor);fill-opacity:1;stroke:var(--fontcolor);stroke-width:0.377953;stroke-dasharray:none;stroke-opacity:1"><tspan
x="583.625"
y="345.20952"
id="tspan6374">jim@outlook.com</tspan></text>
<text
xml:space="preserve"
transform="matrix(0.26458333,0,0,0.26458333,-162.33349,-82.690407)"
id="text4013"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:monospace;-inkscape-font-specification:monospace;white-space:pre;opacity:1;fill:var(--fontcolor);fill-opacity:1;stroke:var(--fontcolor);stroke-width:0.377953;stroke-dasharray:none;stroke-opacity:1"><tspan
x="656.86719"
y="670.07866"
id="tspan6378">pam@outlook.com</tspan></text>
<text
xml:space="preserve"
transform="matrix(0.26458333,0,0,0.26458333,-78.775668,-14.068118)"
id="text4019"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:monospace;-inkscape-font-specification:monospace;white-space:pre;opacity:1;fill:var(--fontcolor);fill-opacity:1;stroke:var(--fontcolor);stroke-width:0.377953;stroke-dasharray:none;stroke-opacity:1"><tspan
x="520.44336"
y="542.11967"
id="tspan6380">outlook.com</tspan></text>
<text
xml:space="preserve"
transform="matrix(0.26458333,0,0,0.26458333,-5.9405919,5.0439657)"
id="text4025"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:monospace;-inkscape-font-specification:monospace;white-space:pre;opacity:1;fill:var(--fontcolor);fill-opacity:1;stroke:var(--fontcolor);stroke-width:0.377953;stroke-dasharray:none;stroke-opacity:1"><tspan
x="278.56445"
y="939.12944"
id="tspan6382">dave@trapped.homes</tspan></text>
<text
xml:space="preserve"
transform="matrix(0.26458333,0,0,0.26458333,0.73621799,4.4527982)"
id="text5483"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:monospace;-inkscape-font-specification:monospace;white-space:pre;opacity:1;fill:var(--fontcolor);fill-opacity:1;stroke:var(--fontcolor);stroke-width:0.377953;stroke-dasharray:none;stroke-opacity:1"><tspan
x="349.59375"
y="749.94389"
id="tspan6384">trapped.homes</tspan></text>
</g>
</svg>
<p>Hopefully that helped. Back to the point, all federated services work pretty much exactly like this. If you've ever had someone try to explain the Fediverse (sometimes incorrectly called Mastodon) to you by comparing it to email, this is what they meant. But this isn't limited to email and microblogging; this type of system can theoretically apply to anything. Again, building an MMO this way would be challenging, but federated messaging protocols similar in concept to Discord do exist.</p>
<p>The benefit of this kind of system stems from the fact that it's not under the control of any central authority: Gmail, Outlook, and that weird nerd your friend knows are entirely independent of each other, they don't answer to any higher Email Authority (other than the body that defines the common standard) or each other. This means that there's nobody at the top to fuck the entire thing up for everyone or sell it off to someone who will; in fact, even if someone wanted to it would be tremendously difficult.</p>
<p>The network is inherently much more stable and resilient in general than a centralized service, as there's nobody who would take the entire network down with them if the company went under or got sued or had a bomb dropped on their datacenter. Sure, a huge number of people would lose their email accounts if Gmail disappeared tomorrow, but critically, not the entire network. Email wouldn't go away, and those displaced users could go to Outlook or Protonmail or set up their own instance and keep communicating over the same network. The same applies to any other federated protocol. Imagine if your Discord account and guilds weren't controlled by Discord, but instead ran on a machine you controlled and was in no way answerable to Discord Inc, but you could still talk to your buddies on Discord proper. It's like that.</p>
<h3>Incognito mode</h3>
<p>Contrary to the title of the previous section, a federated approach does technically add more middlemen. We've gone from one unaccountable central authority able to read everyone's messages to several unaccountable parties each able to read the messages of everyone they serve. Not much of an improvement, privacy-wise, unless you trust both your provider and the providers of everyone you're talking to implicitly. Actual privacy requires end-to-end encryption.</p>
<p>End-to-end encryption means the message is encrypted before leaving the sender's machine and can only be decrypted by the recipient once it arrives on theirs. This means that only the sender and recipient can read the message; even if it goes through some other party's server, they have no clue what the contents of the message are. Any messaging system that cares about privacy at all will implement this - ideally they'll build the entire protocol around it.</p>
<p>There are still problems here, for example end-to-end encrypted messaging still requires the server to know who you're talking to, but there are workarounds for these as well. However, E2EE should be the absolute bare minimum, in my opinion.</p>
<h2>So what are our options then?</h2>
<p>Here's the part where I discuss actual alternatives to Discord. I'll say now that this will not be a comprehensive overview of every possible option - recommending chat apps that don't meet these standards would kinda defeat the point, and I'm also not omniscient. There are going to be other options that I haven't covered here, and hopefully I've given you the tools to determine which ones are good.</p>
<p>Every program I list here will, at a minimum, support true end-to-end encryption in some capacity and not be run by a for-profit company. They're also all open-source.</p>
<h3><a href="https://xmpp.org/">XMPP</a></h3>
<p>XMPP is about as close as we've got to "email but for instant messaging". It's a federated, open protocol which, having been formally standardized in 1999, is truly ancient in internet years. My understanding is that it actually used to be more widely used, but Google effectively killed it off in popular usage by subsuming its userbase into Google Talk and then promptly turning off federation and killing Google Talk. That doesn't mean it's gone, though. People still use XMPP to talk to each other, running on servers hosted by themselves or their friends.</p>
<p>XMPP is, at its core, designed for simple text-based messaging and presence. While the protocol is highly extensible, many even relatively basic-seeming features, while common, aren't universally supported. If you want them, you'll have to find a provider that has them.</p>
<ul>
<li>Federated protocol.</li>
<li>Feature-bare; no gimmicks.</li>
<li>Generally supports file sharing.</li>
<li>Supports end-to-end encryption, but it's not the default and it's kinda janky.</li>
<li>While integration with WebRTC voice chat is supported, it's not universal, and some people prefer to use a separate voice chat system, such as Mumble, in conjunction with XMPP text chat.</li>
<li>You'll have to find a provider and choose a client program to connect with. Fortunately, there's plenty of options, and the official XMPP website lists some of each.</li>
</ul>
<h3><a href="https://matrix.org/">Matrix</a></h3>
<p>Matrix is the other major federated instant messaging protocol. It was standardized in 2014 and is built around making end-to-end encryption easy. On top of that, it has more features. File sharing is included by default and support for nice-to-have features like emoji reactions (and maybe custom emojis??) and Discord-style replies is widespread. There's also a large suite of bridges to other services, including Discord. Like with XMPP, voice chat integration is possible, but not universal, and some prefer to use Mumble or similar. This one's my personal favourite.</p>
<ul>
<li>Federated protocol.</li>
<li>More features than XMPP, similar situation with voice calls though.</li>
<li>Built around end-to-end encryption, though you can disable it, and you will need to for integrations like bots and bridges.</li>
<li>As with XMPP, you'll need to find a provider and a client program. The website lists quite a few clients, and you can find a list of servers <a href="https://joinmatrix.org/servers/">here</a>.</li>
</ul>
<h3><a href="https://www.mumble.info/">Mumble</a> and <a href="https://jitsi.org/">Jitsi</a></h3>
<p>Mumble and Jitsi are self-hostable voice chat and videoconferencing applications, respectively. They're not messaging systems, but I feel they bear mentioning here because they're both popular for use in conjunction with text chat systems, and since nothing else here currently supports screensharing.</p>
<h3><a href="https://revolt.chat">Revolt</a></h3>
<p>We've about run out of open protocols (which is probably a good thing), so now on to the centralized services, starting with Revolt. Revolt is basically trying to be open-source Discord. It's currently in alpha, but the user experience is very similar and it already has some of the fun stuff.</p>
<p>From what I could find Revolt isn't currently controlled by any kind of legal entity, so there's no guarantee it won't eventually incorporate into a for-profit company and pull a Reddit (by which I mean, Reddit used to be open-source, but hasn't been since 2017), but at least for now the project leaders express principles that make that seem unlikely.</p>
<ul>
<li>Centralized service.</li>
<li>Still early in development.</li>
<li>Very similar in UI/UX to Discord.</li>
<li>No paywalls.</li>
<li>Supports voice, but not currently video.</li>
<li>No encryption, but E2EE for DMs is being worked on.</li>
<li>Has features like custom emojis, replies, public guilds and a friends list.</li>
</ul>
<h3><a href="https://signal.org/">Signal</a></h3>
<p>I've now run out of Discord-likes - which is to say, programs that support the sort of multi-channel group chat thing Discord has going on. The remaining couple are more traditional Whatsapp-style messaging apps, though I feel these still bear mentioning in the event that's all you need.</p>
<p>Signal is kind of <em>the</em> private messaging app. It's fundamentally built around end-to-end encryption in a way that its biggest direct competitors simply aren't. It's been proven in court that Signal literally doesn't have the ability to incriminate you, since they can't access the contents of your messages. It does need your phone number, though. It also supports voice and video chat, and stickers, apparently.</p>
<ul>
<li>Centralized service.</li>
<li>Similar to Whatsapp in terms of UI/UX.</li>
<li>Emphasis on end-to-end encryption.</li>
<li>Supports voice and video calls.</li>
<li>Requires a phone number, but only a phone number.</li>
</ul>
<h3><a href="https://telegram.org/">Telegram</a></h3>
<p>You've probably heard of Telegram. It's very popular and has tons of fun, gimmicky features. It advertises itself as secure and private, and while it certainly clears the extremely low bar set by Discord, it's not actually end-to-end encrypted outside of the "secret chats" feature. It also claims to be good for community chats, but from what I can tell that just means enormous single-channel group chats.</p>
<ul>
<li>Centralized service.</li>
<li>Another Whatsapp clone.</li>
<li>Supports voice and video calls.</li>
<li>Supports end-to-end encryption, but only in calls and the special "secret chats" feature. Standard group chats are encrypted, but not end-to-end encrypted.</li>
<li>Requires a phone number.</li>
<li>Your account will be deleted after six months of activity.</li>
<li>Minor paywalls.</li>
<li>You can set a display name, but this will make you visible in public search.</li>
</ul>
<h3><a href="https://getsession.org/">Session</a></h3>
<p>I lied, Session isn't centralized. But it's not decentralized in the same way as the federated protocols up there, either. Session runs over an anonymizing onion routing network, Tor-style, meaning not only can your messages not be read by the server, those servers also don't know both the sender and the destination at the same time. Essentially, it's designed to maximize privacy and anonymity at all costs. But wouldn't you know it, that comes at a cost in terms of features and user experience.</p>
<p>Session does also use cryptocurrency. Setting a custom display name and running a node on its decentralized network both require participation in a blockchain, though your messages aren't sent via this blockchain.</p>
<ul>
<li>Decentralized, encrypted, and anonymous.</li>
<li>Supports voice and video calls, but currently only 1:1.</li>
<li>Requires no personal details to sign up.</li>
<li>No extra features.</li>
<li>Setting a display name requires a crypto transaction, but sending messages does not.</li>
</ul>
<h2>Conclusion</h2>
<p>That's about all I've got. I hope I've impressed upon you the importance of Discord's core problems, and introduced you to at least one alternative that works for you. My personal favourite here is Matrix, if that means anything to you, but I'm comfortable recommending all of these over Discord, otherwise I wouldn't have listed them.</p>
<p>If there's one thing I want you to take away from this article, it's this: Don't fall for the marketing and don't let yourself be wooed by extraneous gimmicks. Be discerning about which fancy-sounding features you actually need. If you want to have a chance of escaping the vicious corporate cycle of enshittification, both with chat platforms and with everything else, make sure the ones you use have a strong foundation of sustainability and trustworthiness, beyond whatever marketing drivel is on the front page of their website. Hopefully I've given you at least some tools to determine for yourself which ones do.</p>
<h2>Further Reading</h3>
<ul>
<li><a href="https://pluralistic.net/2023/01/21/potemkin-ai/#hey-guys">Enshittification</a></li>
<li><a href="https://tosdr.org/en/service/536">A simplified breakdown of Discord's TOS (ToS;DR)</a></li>
<li><a href="https://spyware.neocities.org/articles/discord">Spyware Watchdog - Discord</a></li>
<li><a href="https://moth.monster/blog/fediverse/">A different explanation of federation in the context of federated social media</a></li>
<li><a href="https://proton.me/blog/whatsapp-alternatives">A privacy-focused comparison of messenger apps</a></li>
</ul>
<div class="buttons" style="margin-bottom: 1rem;">
<img src="discord-no-way-2.gif" />
</div>
</body>
</html>

View file

@ -1,75 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>So You No Longer Trust Your Favorite Chat App</title>
<link href="../../../style.css" rel="stylesheet" type="text/css" media="all">
<style>
h1 {
background-image: url('discord.png');
}
.pro {
color: limegreen;
}
.con {
color: red;
}
.ehh {
color: goldenrod;
}
li.pro::marker, li.con::marker, li.ehh::marker {
color: var(--fontcolor);
}
</style>
</head>
<body>
<h1>blog</h1>
<h2 id="caption">So You No Longer Trust Your Favorite Chat App</h2>
<nav>
<a href="../../../">home</a>
<a href="../../">blog</a>
</nav>
<p>Just once I'd like to write about something other than fixing tech problems.</p>
<p>So, it seems we're having yet another wave of people expressing distrust in Discord over some recent feature or administrative action or policy change or other, only to, for the most part, not actually do jack shit about it. Did you people not learn from Twitter?</p>
<p>Anyway, apparently this time it's over Discord retracting promises in their privacy policy not to record your calls and then announcing a bunch of AI features. This and all the billion other reasons to never ever trust Discord are <a href="https://spyware.neocities.org/articles/discord">another article</a>, though. I've been less than enthused about using Discord for a while now, but this event in particular was enough to get some of my friends who use Discord talking about switching away, and you bet your ass I was eager to help them pick a replacement.</p>
<p>I wanted to present as many potential options as possible, because while I know where my preferences lie, I don't know what my friends want and what they're willing to tolerate in their software. In my opinion, just about anything would be a step up from Discord, so it's mostly a matter of finding something that the particular brand of non-techie I associate myself with will agree with me about in that regard.</p>
<p>To that end, I compiled and posted a list of every other chat app I'm aware of that I at least vaguely trust to be private, or at least transparent, with a list of pros, cons, features, privacy and security notes, and UX impressions for each in, ironically, a shared Discord <span title="I'm not fucking calling them servers.">guild</span>. That's not what I'm posting here, as it was very much a rough draft and full of conjecture as I hadn't actually used most of the options, but it was a start, and it did convince a couple of them to make accounts on an alternative.</p>
<p>With this article I've taken that original rough draft and thrown it out completely. By the time you read this I will have at least tested everything I'm going to recommend, and hopefully received testimony from some more seasoned users as well. The hope here is to create a resource for anyone looking to abandon Discord and, ideally, take their social circles with them. Hopefully I can make it just a bit easier for you and your friends to choose the alternative that's right for you and finally escape to something better, even if you're not a turbo-nerd like me.</p>
<p>So here's how this is gonna work. I'll start by listing each alternative with relevant links and a basic description of the platform and what makes it different from both Discord and the others, and then I'll lay out all the important points in a table for easy comparison, then conclude with some general advice for escaping Discord and, ideally, network effect platforms like it in general.</p>
<h2>Your Options</h2>
<h3>Discord</h3>
<p>The incumbent. I'm including it here to give context for what we're comparing against. You already know about Discord, but it can't hurt to reiterate.</p>
<p>Discord is a centralized, VC-funded, proprietary chat platform designed to appeal to large communities as well as small groups and marketed towards gamers. It's been compared to Slack and takes aesthetic cues from IRC, though provides a much better user experience. It boasts a huge feature set including extensive moderation tools, profile customization, integration with other platforms, custom emotes and stickers, reactions, something it calls "rich presence", and the best damn audio and video calling experience around. It also has literally no privacy features, opting instead for a nice long track record of violating user trust.</p>
<ul>
<li class="pro">Tons of features</li>
<li class="pro">Extremely popular</li>
<li class="pro">Unparalelled video calling experience and quality</li>
<li class="pro">Very polished UX</li>
<li class="ehh">Closed-source</li>
<li class="ehh">For-profit</li>
<li class="con">No encryption, even in DMs</li>
<li class="con">Atrocious terms of service and privacy policy</li>
<li class="con">Altering the default client or using a different one is a direct breach of TOS</li>
</ul>
<h3>Guilded</h3>
<p>ROFL. Just kidding. Guilded is owned by the Roblox corporation, and I hopefully don't need to <a href="https://redirect.invidious.io/watch?v=_gXlauRB1EQ">explain</a> why you <a href="https://redirect.invidious.io/watch?v=vTMF6xEiAaY">shouldn't</a> trust like that. I'm only mentioning Guilded at all to try to explicitly steer people away from it. Moving on.</p>
<h3>Revolt</h3>
<p><a href="https://revolt.chat/">revolt.chat</a><br><a href="https://trello.com/b/4e2O7tge/roadmap">Roadmap</a><br><a href="https://github.com/orgs/revoltchat/projects/3/views/1">Issue tracker</a></p>
<p>Revolt is a centralized, open-source chat platform that aims to be a drop-in replacement for Discord. It's immature and very much still in an alpha state, but I think it shows significant promise. It's missing some important stuff, such as video calls and native mobile apps, but all that stuff's on the roadmap. Also on the roadmap is end-to-end encryption. They plan to implement it for both one-on-one and group DMs, but not guilds.</p>
<ul>
<li class="pro">Similar to Discord</li>
<li class="pro">Plenty of customization features</li>
<li class="pro">Open-source</li>
<li class="ehh">Incomplete and under heavy development</li>
<li class="ehh">No end-to-end encryption, yet</li>
<li class="con">Poor call quality</li>
<li class="con">No video calling</li>
<li class="con">No native mobile apps</li>
<li class="con">End-to-end encryption is not present nor planned for guilds</li>
</ul>
<h3>Matrix</h3>
<p><a href="https://matrix.org">matrix.org</a><br><a href="https://element.io">element.io</a></p>
<p>Matrix is a decentralized, federated open chat protocol and my personal favorite as a replacement for Discord.</p>
</body>
</html>

View file

@ -220,6 +220,7 @@
'holy fucking bingle',
'AI generated',
'crubge',
'Only unpickle data you trust.',
'vewified',
'Verified',
'COUNTER',

View file

@ -67,7 +67,7 @@
</tr>
<tr>
<td>CDs owned</td>
<td>118</td>
<td>120</td>
</tr>
<tr>
<td>Consoles modded</td>
@ -83,11 +83,11 @@
</tr>
<tr>
<td>Websites</td>
<td>2</td>
<td title="This one, deeptwisty.com, and a secret companion website for my minecraft server">3</td>
</tr>
<tr>
<td>Web services</td>
<td title="Each website is one, plus Akkoma, Calckey, SearXNG, RSS-Bridge, Forgejo, Matrix, and Nextcloud.">9</td>
<td title="That's three websites, Akkoma, Calckey, SearXNG, RSS-Bridge, Forgejo, Matrix, Nextcloud, and Radicale.">11</td>
</tr>
<tr>
<td>Domains owned</td>
@ -107,7 +107,7 @@
</tr>
<tr>
<td>Pronouns</td>
<td>any</td>
<td><?php echo file_get_contents($_SERVER['DOCUMENT_ROOT'] . '/pronouns.txt'); ?></td>
</tr>
<tr>
<td>Gender</td>
@ -162,7 +162,7 @@
</tr>
<tr>
<td>Time playing Space Engineers</td>
<td>590 hours</td>
<td>610 hours</td>
</tr>
<tr>
<td title="Since this bit was added, anyway">Page views</td>

View file

@ -1 +1 @@
1424
1517