Oleksii Holub πŸ‡ΊπŸ‡¦

Oleksii Holub πŸ‡ΊπŸ‡¦

@tyrrrz.me

πŸ‹ Reality is lemons and the Internet's my lemonade β€’ I write code so you don't have to β€’ Opinions are NOT my own β€” whose voices are these anyway? β€’ Bink in lio: https://tyrrrz.me

3.3K followers152 following585 posts

So one of my mods fell victim to this attack. I got contacted by someone claiming to be them, on a second account, where they asked permissions to delete their old messages.

Discord has an absurdly easy-to-manipulate content moderation system that's constantly used to attack people: 1. Write an innocent message to someone 2. Wait for their response 3. Edit your original message to completely change the context and meaning of the conversation 4. Report the user

Discord has an absurdly easy-to-manipulate content moderation system that's constantly used to attack people: 1. Write an innocent message to someone 2. Wait for their response 3. Edit your original message to completely change the context and meaning of the conversation 4. Report the user

View full thread

And there still hasn't been an attempt to fix it. I mean, even in an automated system, how hard can it be to check and see that the message was edited after it had gotten a reply? πŸ’€

Just to be clear, I've witnessed this attack a dozen times on my server alone, and I've also seen victim accounts get blocked over this. Even if Discord support eventually restores them, this is still astronomically stupid.

Discord has an absurdly easy-to-manipulate content moderation system that's constantly used to attack people: 1. Write an innocent message to someone 2. Wait for their response 3. Edit your original message to completely change the context and meaning of the conversation 4. Report the user

The attacker would typically edit their message from something like "what version of xyz should I install?" to "please reply with v1.2.3 if you condone raping kids". Discord's automated report system then just bans the user without any investigation. This attack has been well-known for OVER A YEAR.

I really dislike the design behind CancellationTokenSource.CreateLinkedTokenSource. It's confusing. You're effectively encapsulating multiple cancellation sources in one instance, yet only control one of them. At the same time, passing that token erases context about any of its parent/base tokens.

AI-assisted software development forces me to re-establish my relationship with code. Tasks that used to take days or weeks now take hours, but in the process the code feels... idk, like it's lab-grown if it makes sense.

View full thread

Now I struggle to feel that connection because, most of the time, the development pace is so much faster that you don't really have an opportunity to create it. On one hand, faster pacing is a good thing as you get more done in less time. On the other hand, you lose something personal in the process

AI-assisted software development forces me to re-establish my relationship with code. Tasks that used to take days or weeks now take hours, but in the process the code feels... idk, like it's lab-grown if it makes sense.

Solving a complex issue used to require reading and re-reading the same lines of code hundreds of times, creating a mental and maybe even sentimental link to the conceptual entity they represented. For the lack of a better word, it fostered a "connection" with what you were writing.

Also want to take an opportunity to shout out a project of mine that's always been in the shadows: github.com/Tyrrrz/PolyS... It provides polyfills for ~500 BCL APIs, allowing you to write modern C#/.NET code on targets as old as .NET Standard 1.0 and .NET Fx 3.5. I use it in all my libraries ✨

github.comGitHub - Tyrrrz/PolyShim: Collection of polyfills for projects targeting older versions of .NETCollection of polyfills for projects targeting older versions of .NET - Tyrrrz/PolyShim