Skip to content

Instantly share code, notes, and snippets.

View owhs's full-sized avatar
🏃‍♂️
chasing unattainable targets

owhs

🏃‍♂️
chasing unattainable targets
View GitHub Profile
// run on:
// https://www.wsop.com/players/profile/?playerid=*
// for further info on net profit and the averages (buy in, earnings, net & place)
function cleanUp(t){
return +t.split(" ")[0].slice(1).replace(/,/g,"")
}
var head = document.querySelector("#dtPlayers_wrapper thead>tr"),
select = document.querySelector("select[name='dtPlayers_length']");
@echo off
:start
set /p folder="Enter folder name: "
set /p url="Enter URL: "
mkdir "%folder%" 2>nul
cd "%folder%" || exit /b
yt-dlp --skip-download --sub-langs "en" --write-auto-subs --match-filter "title ~= (?i)pok[eé]mon" "%url%"
@owhs
owhs / test.js
Last active June 24, 2024 01:14
Regex replace vs Split & Join
const randomTxt = "by the terms of use available in full at https://www.nominet.uk/whoisterms,, which includes restrictions on: (A) use of the data for advertising, or its, repackaging, recompilation, redistribution or reuse (B) obscuring, removing, or hiding any or all of this notice and (C) exceeding query rate or volume, limits. The data is provided on an 'as-is' basis and may lag behind the, register. Access may be withdrawn or restricted at any time.",
runTimes = 1000000,
test = fn=>{
var ts = Date.now();
for (var i=0;i<runTimes;i++){
fn(randomTxt)
}
var tt = (Date.now() - ts);
return {timetaken:tt+"ms",ops:Math.floor((runTimes/(tt/1000)))+"ops/sec"}
};
@owhs
owhs / tabOnly.v2.js
Created November 19, 2023 15:28
with button on panel list
const POLL_RATE = 10;
// get current state
let tabOnly;
chrome.storage.local.get("tabOnly").then((value) => {
tabOnly = value.tabOnly || value.tabOnly == undefined;
});
// loop
let until = setInterval(() => {
@owhs
owhs / tabOnly.js
Last active November 19, 2023 14:10
Vivaldi browser "Tab Only" view; toggled by double clicking a tab, the address ui pops-up when hovering over a tab - in tab only mode
// https://forum.vivaldi.net/topic/92477/some-javascript-to-automatically-hide-tab-bar-and-address-bar-and-show-them-by-hovering
// https://github.com/mannyzhuo/vivaldi_modification/blob/main/firefox_style_fullscreen.js
// https://forum.vivaldi.net/topic/92477/some-javascript-to-automatically-hide-tab-bar-and-address-bar-and-show-them-by-hovering/3
const POLL_RATE = 10;
// get current state
let tabOnly;
chrome.storage.local.get("tabOnly").then((value) => {
tabOnly = value.tabOnly || value.tabOnly == undefined;
@owhs
owhs / dom-select.js
Last active November 19, 2023 02:33
// select("div").where("class", "has", "d-flex").result()
// select("div").where("class", "has", "d-flex").result("innerHTML")
// select("form#list input").where("type", "is", "checkbox").result("value")
function select(selector){
function filter(arr,attr,operator,value) {
operator = operator.toLowerCase();
var invOp = operator.slice(0,3)==="not";
if (invOp) operator = operator.slice(3).trim();
@owhs
owhs / yt-studio-page-stats.js
Last active September 27, 2023 21:12
yt studio channel current page stats
//put video ids in blacklist
var blacklist="".split(","),
filtered=[...document.querySelectorAll("ytcp-video-row a#video-title")].filter(x=>!blacklist.includes(x.href.split("/").slice(-2)[0]));
console.log("views comments likes\n",
filtered.map(x=>+x.closest("ytcp-video-row").querySelector(".tablecell-views").innerText.replace(/,/g,"")).reduce((a,b)=>a+b,0),
filtered.map(x=>+x.closest("ytcp-video-row").querySelector(".comments-link").innerText.replace(/,/g,"")).reduce((a,b)=>a+b,0),
filtered.map(x=>+((x.closest("ytcp-video-row").querySelector(".likes-container").innerText.split("\n")[1])||"0").split(" ")[0]).reduce((a,b)=>a+b,0));

Keybase proof

I hereby claim:

  • I am owhs on github.
  • I am owhs (https://keybase.io/owhs) on keybase.
  • I have a public key whose fingerprint is 6221 F0DF E14C C927 D7BE 4043 49F1 4CDF 7B90 8963

To claim this, I am signing this object:

// Doesn't work if the value starts with a listing in the autosuggest
document.querySelectorAll("input").forEach(x=>{
x.addEventListener("mousedown",function(x){
if (x.target.value===""){x.target.value=x.target.placeholder||"ooo";window.requestAnimationFrame(()=>x.target.value="",1)}
});
});
@owhs
owhs / Cryptojacker Blocklist
Created June 22, 2019 11:59
Sinkhole list of CryptoJackers that have been (commonly) found in the wild (3574 domains)
# Sinkhole list of CryptoJackers that have been (commonly) found in the wild (3574 domains)
# Merge of lists by @SamvelG and @greatis
# https://gist.github.com/SamvelG/2263910f01aa3dfe0fb3a600e56a37cd
# https://github.com/greatis/Anti-WebMiner/blob/master/hosts
#
# For the real paranoid - use @codingo's list -- some 14k+ domains
# https://github.com/codingo/Minesweeper/blob/master/lib/sources.txt
0.0.0.0 0aqpqdju.me