Mercurial Hosting > disearch
view src/tools/why.html @ 19:b386303be994
minor
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Thu, 02 Nov 2023 21:00:37 -0600 |
parents | 398c823aebe2 |
children | 914a37651a38 |
line wrap: on
line source
<!doctype html> <html> <head> <meta name="viewport" content="width=device-width, initial-scale=1"> <style> @import "tools.css"; </style> </head> <body> <h1>Disearch</h1> <h3>A <a href="https://disboard.org/">Disboard</a> alternative</h3> <p><a href="links.html">Disearch links</a></p> <h2>Why I started this</h2> <p>I first thought about writing this after I submitted my Discord server to Disboard and it wasn't accepted for months. I looked at the Disboard support server and many people were complaining. Disboard implemented a completely pointless review process that causes random delays for approval. Of course there is nothing surprising here, this is just what modern scum (members of depraved modern culture) do. It is their nature to impose senseless policies that make people's lives miserable. In my experience, the only solution to modern scum ruining things that I need is for me to implement a sane alternative. Hence Disearch.</p> <p>There is a slight chance that Disearch might actually make money. It would have to become popular which would require marketing and luck. The users of Disboard or Disearch are modern scum themselves, so it doesn't bother them that Disboard has insane policies. Yes some of the server owners who aren't getting listed may get mad and switch, but server owners already listed in Disboard and regular users who just surf Discord would have no reason to switch. So money is not a big motivation for this project.</p> <p>In the end, my biggest reason for starting this project is to provide a good open-source example of <a href="http://www.reactionary.software/">reactionary software</a> written in <a href="http://www.luan.software/">Luan</a>. I wrote Luan and other reactionary software for my own use. My view is that it is unlikely that almost any of the 8 billion pieces of human garbage that infest my world would have any interest in good software. But others have pointed out that I should at least provide an example of what my software can do. So here you go.</p> <p>Since this last reason is my real reason for starting Disearch, I have no reason to finish it and make it a polished website. And in fact I have done zero work on aesthetics. I also only implemented the very core functionality in order to demonstrate the Luan features that would be needed to implement the remaining functionality. So in effect, Disearch is both example code and a programming exercise left to anyone who wants to learn reactionary programming.</p> <h2>Why you should program this</h2> <p>Actually not everyone should program this. If you are modern scum, then this project isn't for you. How would you know if you are modern scum? Take a look at my <a href="http://www.reactionary.software/">Reactionary Software</a> website and see if you relate. Don't worry about the technical details. Do you have the reactionary values of simplicity, reliability, and usability? Do you reject the modern values of pointless complexity, bloat, incomprehensibility, and following fashionable ideology? If yes, then you aren't modern scum and this project is for you.</p> <p>The benefit of working on this project is that you will learn reactionary programming. You will learn all the principles of web programming in the simplest possible way. If you are clearly interested in working on this, I will do everything I can to support you. I will answer questions on <a href="https://discord.gg/tCwTJDSatu">Discord</a> and I will improve Luan documentation. You will learn everything you need to program almost any kind of website.</p> <p>It is true that you cannot get a job doing reactionary programming. Your employer would undoubtedly be modern scum, so they would want you to program in the most overcomplicated and inefficient way possible. But if this is what you want to do, you can do this fairly easily after learning reactionary programming. Modern programming does use the same concepts, it just pointlessly overcomplicates everything. Of course the other option is that you could use reactionary programming to try to start your own online business. Doing this with reactionary programming is much easier than doing this with modern programming.</p> <h2>The Discord bot API</h2> <p>Of course Discord was written by modern scum. This should be obvious from using the Discord app itself which is quite poorly designed. Their API is also a horror. I will focus on their bot API to illustrate how horrible modern programming is.</p> <p>The Discord documentation starts with a <a href="https://discord.com/developers/docs/getting-started">Getting Started</a> section. Click on "Resources used in this guide" which lists GitHub, a "discord-interactions" library, a JavaScript framework called "Express", and some tool called "Glitch". Modern scum programmers love to use innumerable layers of shit to do anything. A simple example shouldn't require any extra tools to implement.</p> <p>The Discord <a href="https://discord.com/developers/docs/interactions/application-commands">reference documentation</a> does show how to implement bots directly. There are 2 ways to get info back from bots. One is <a href="https://discord.com/developers/docs/topics/gateway">Gateway Events</a> which is based on WebSockets. WebSockets is a disgusting modern API which should be avoided at all costs. The other way is using a webhook. A webhook is a reasonable approach, but modern scum must ruin everything, and Discord does this with their <a href="https://discord.com/developers/docs/interactions/receiving-and-responding#security-and-authorization">Security and Authorization</a> requirements.</p> <p>The <a href="https://discord.com/developers/docs/interactions/receiving-and-responding#security-and-authorization">Security and Authorization</a> requires Ed25519 validation. They even go through the trouble of checking this and disqualifying webhooks that fail. So the question is, why are they doing this? This security is on the client side, not the Discord side, so why should Discord care at all? They do this because modern scum are self-righteous assholes who hate freedom and insist on imposing their depravity on the whole world. Even if this security did make sense, it is none of Discord's business to impose this on others. But does it make sense?</p> <p>The point of using a signature is to ensure that the message being received is legitimate. But all that is needed to prove that the source is legitimate is a shared secret. In effect the Discord bot_token is an example of this. If anyone gets your Discord bot_token, they can already cause all kinds of trouble. I could build a secret right into my webhook URL like this: https://mydomain/webhook?secret=whatever . Because this is HTTPS, no one can get the secret. And HTTP guarantees the integrity of the message. So there is absolutely no need for any extra validation. So Discord is imposing completely pointless security on its users. This is extremely common for modern scum programmers to do.</p> <p>Because I don't want to deal with this bullshit, I implemented the <b>bump</b> command in the website instead of using a bot. Java 8, which Luan uses, doesn't support Ed25519. If you want to add bot support, then give me a clean Java implementation of Ed25519 and I will add it to Luan, and then you can implements bots.</p> <h2>My Expectations</h2> <p>I believe that humanity has almost entirely turned to shit. So I believe that there is a very low probability that anyone will actually take me up on this offer. If someone does, great. And if no one does, then at least I will have proved my point that humanity is almost pure shit and deserves extermination.</p> <br> </body> </html>