Skip to content

Instantly share code, notes, and snippets.

@mihailik
mihailik / YTMLikesToPlaylist.md
Last active December 15, 2024 07:35 — forked from BrianLincoln/YTMLikesToPlaylist.md
YouTube Music Likes to Playlist

Copy Likes to a playlist in YouTube Music

This is a very hacky solution updated from earlier hacky solution to copy Liked songs to a playlist since YTM still doesn't have the functionality. The changes are meant to provide clearer indications of failure, so it can be updated when YouTube Music tweaks the rendering again.

Steps to use:

  1. Create a new playlist
  2. Go to your Likes page (in chrome, on a desktop or laptop).
  3. Open Chrome's dev tools (F12 on windows), go to the console
  4. Paste the script below. Edit the first line, replace "YOUR_PLAYLIST_NAME" with your playlist's name
  5. Press enter
@mihailik
mihailik / index.html
Created September 4, 2023 12:01
Atlas 3D
<html><title> Atlas 3D </title></html>
@mihailik
mihailik / massBlock.js
Last active April 13, 2023 11:20
Block everyone who liked this tweet, except people you follow
//@ts-check
async function massBlock() {
const dummy = {};
const progressPopup = await showProgressPopup();
const thumbsUp = '\uD83D\uDC4D';
async function showProgressPopup() {
const animationTimeMsec = 200;
@mihailik
mihailik / build.js
Last active June 1, 2020 13:08
TypeScript custom transformers with ts.createSolutionBuilderWithWatch
// @ts-check
/// <reference types="node" />
var ts = require('typescript'); // little change
var tsconfig_json = JSON.stringify({
compilerOptions: {
outFile: __filename + '.out.js',
allowJs: true,
checkJs: true,
@mihailik
mihailik / index.html
Last active June 12, 2019 19:19
TypeScript play
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>TypeScript Play</title>
<link rel="stylesheet" href="https://unpkg.com/codemirror/lib/codemirror.css">
<style>
html {
@mihailik
mihailik / index.html
Last active December 2, 2015 10:10
disabling keyboard editing via keydown.preventDefault()
<html>
<head><title>disabling keyboard editing via keydown.preventDefault()</title></head>
<body>
<h2>disabling keyboard editing via keydown.preventDefault()</h2>
<textarea id=txt></textarea>
<script>
window.onload = function() {
var txt = document.getElementById('txt');
<!doctype html>
<title>CodeMirror</title>
<meta charset="utf-8"/>
<link rel=stylesheet href="https://codemirror.net/lib/codemirror.css">
<script src="https://raw.githack.com/mihailik/CodeMirror/patch-7/lib/codemirror.js"></script>
<script src="https://codemirror.net/mode/xml/xml.js"></script>
<script src="https://codemirror.net/mode/javascript/javascript.js"></script>
<script src="https://codemirror.net/mode/css/css.js"></script>
<script src="https://codemirror.net/mode/htmlmixed/htmlmixed.js"></script>
<body>
<h2>test</h2>
<pre id=result></pre>
<script>
var result = document.getElementById('result')
try {
var text = (function() { return /\/\*\s*([\s\S]*\S)\s*\*\//.exec(arguments.callee.toString()||[])[1]; /*
{"accountIds":[2340561],"dealIds":["101590127"],"targetWeight":1.0,"standardWeightMultiper":1.0,"weightScalingFactor":0.0,"rebalanceOption":"StandardWeightMuliple","accountRebalance":true}
*/ })();
@mihailik
mihailik / index.html
Last active November 10, 2018 22:06
<html>
<head><title>Folding freeze demo</title>
<link rel=stylesheet href='//cdn.rawgit.com/codemirror/CodeMirror/07779394f3d5b756abc2f54e15999134627436a7/lib/codemirror.css'>
<script src='//cdn.rawgit.com/codemirror/CodeMirror/07779394f3d5b756abc2f54e15999134627436a7/lib/codemirror.js'></script>
<link rel=stylesheet href='//cdn.rawgit.com/codemirror/CodeMirror/07779394f3d5b756abc2f54e15999134627436a7/addon/fold/foldgutter.css'>
<script src='//cdn.rawgit.com/codemirror/CodeMirror/07779394f3d5b756abc2f54e15999134627436a7/addon/fold/foldcode.js'></script>
<script src='//cdn.rawgit.com/codemirror/CodeMirror/07779394f3d5b756abc2f54e15999134627436a7/addon/fold/foldgutter.js'></script>
<script src='//cdn.rawgit.com/codemirror/CodeMirror/07779394f3d5b756abc2f54e15999134627436a7/addon/fold/brace-fold.js'></script>
<html>
<title>Demo Knockout</title>
<script src="http://knockoutjs.com/downloads/knockout-3.3.0.debug.js"></script>
<h2 data-bind="style: {opacity: Math.random() > 0.5 ? 0.5 : 0.2 }" style="font-size: 120%;">
OK something here
</h2>
<script>
ko.applyBindings({});
</script>