- Sign in to Twitter
- Go to your Profile
- Open DevTools and go to the 'Console' tab
- Copy and paste the following script
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| import { | |
| inject, | |
| provide, | |
| type InjectionKey, | |
| type SlotsType, | |
| type ComputedRef, | |
| computed, | |
| toRef, | |
| defineComponent, | |
| } from 'vue'; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| const cacheControlDirective = new GraphQLDirective({ | |
| name: 'cacheControl', | |
| locations: [ | |
| DirectiveLocation.FIELD_DEFINITION, | |
| DirectiveLocation.OBJECT, | |
| DirectiveLocation.INTERFACE, | |
| DirectiveLocation.UNION, | |
| ], | |
| args: { | |
| maxAge: { |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| $$('ytd-playlist-video-renderer .style-scope ytd-thumbnail-overlay-time-status-renderer') | |
| .map(e => e.textContent.trim().split(':').reverse()) | |
| .map(([s = '0', m = '0', h = '0']) => ({ s: parseInt(s), m: parseInt(m), h: parseInt(h) })) | |
| .map(({ s, m, h }) => s + m * 60 + h * 3600) | |
| .reduce((a, b) => a + b) / 3600 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| $$('.runtimeLabel') | |
| .map(e => e.textContent.trim().replace('Length: ','')) | |
| .map(text => { | |
| const hasHours = text.includes('and') | |
| const [hText, mText] = hasHours | |
| ? text.split(' and ') | |
| : ['0 hrs', text] | |
| const h = Number.parseInt(hText) | |
| const m = Number.parseInt(mText) | |
| return h * 60 + m |
Download ringtones
https://github.com/yt-dlp/yt-dlp
yt-dlp -x --audio-format m4a --audio-quality 0 ...
# Ringtones should be no more then 35 seconds
mv *.m4a *.m4rGoogle Spreadsheet function that shows rates from curs.md
Script was made for learning purposes
Please read terms curs.md: https://www.curs.md/ro/terms
How to add the function: https://developers.google.com/apps-script/guides/sheets
Rates are taken from: https://www.curs.md/ro/json_convertor_provider/default
Create alias manually in ~/.gitconfig file (recommened):
[alias]
gone = "!f() { git fetch --all --prune; git branch -vv | awk '/: gone]/{print $1}' | xargs git branch -D; }; f"
Create alias (problematic):