dunktags
v0.1.1
Published
Generate hashtags from bad tweet IDs for dunking on them without boosting engagement
Downloads
2
Maintainers
Readme
Dunktags
Generate hashtags from the URLs of bad tweets, to coordinate dunks on the original tweet without boosting said tweet's status in the Twitter Algorithm.
The Problem
Every once in a while, some jerk tweets something extremely stupid, immoral, incorrect, or otherwise tempting to dunk on.
For example:
Whenever something like this happens, a lot of people give into the temptation to dunk on these clowns.
Unfortunately, this means that the bad tweet gets a lot of Replies and Quote Tweets. This amplifies their bad opinion to a wider audience and tells the Twitter Algorithm that this tweet is hotcakes, and that they should show it to more unrelated people in order to further "the conversation".
Naturally, shitty people are clued into this fact, and will act accordingly.
Why do well-meaning people keep falling for this?
How Dunktags Help
Rather than totally refrain from dunking on someone for being bigoted or stupid, let's just be smarter about how we dunk.
Here's what you do:
- Take a screenshot of the offending tweet. (See examples above.)
- Archive the original tweet.
- This is important, because screenshots can be faked, and you want to keep receipts if possible.
- Some archive services you can use:
- Use this library to generate a dunktag from the original tweet URL.
- When you choose to dunk on this clown, instead of replying or quote-tweeting them,
simply post your screenshot (and archive URLs) with the hashtag generated by the
dunktag()
function.
Now you can dunk away without accidentally amplifying hate speech.
Technical Documentation
Installing this Library
From npm:
npm install dunktags
If you want to use dunktags globally, make sure you pass the -g
flag.
npm install -g dunktags
Using this Library after Installing
Command Line
First, make sure you run tsc
to compile from TypeScript to JavaScript.
Next, launch Node.js like so:
node
Next, you should have a >
prompt. Type the following then press enter:
const { dunktag } = require('dunktags');
Now you can use the dunktag()
function at your leisure.
> dunktag('https://twitter.com/SoatokDhole/status/1103407038468681741');
'#dunk_6ea7143150'
>
TypeScript Applications
import { dunktag } from "dunktags";
console.log(dunktag('https://twitter.com/SoatokDhole/status/1481105268138258437'));
// Outputs #dunk_3e45fd4499
JavaScript Applications
const { dunktag } = require('dunktags');
console.log(dunktag('https://twitter.com/SoatokDhole/status/1481105268138258437'));
// Outputs #dunk_3e45fd4499
Algorithm Description
Dunktags use BLAKE2b under the hood, with an output length of 5 bytes (10 hex characters),
and a constant BLAKE2b key of 0x572a7ff65e3969e1d1f43911cc07ff82463e5ae113f248dc9035d5e21aabad85
(for domain separation). The key is the BLAKE2b hash of the string,
Soatok Dreamseeker's dunktag function
.
First, the Twitter user's tweet ID is extracted from the tweet. (Function: getTweetId()
)
Next, the BLAKE2b hash of this tweet ID is calculated, using the above parameters.
This hex-encoded hash is returned with a constant prefix (#dunk_
).