Skip to content

Instantly share code, notes, and snippets.

#!/usr/bin/env python3
import argparse
import datetime
import json
import logging
import os
import re
import requests
import sys
@lamchau
lamchau / prune-stale-branches.sh
Created June 23, 2021 07:08
Prune remote stale and merged branches that are >= 1 year old
#!/usr/bin/env bash
# used to execute branch deletes in parallel, shows progress bar
if ! [ -x "$(command -v parallel)" ]; then
echo "ERROR: Missing command 'parallel'"
exit 1
fi
if ! [ -x "$(command -v git)" ]; then
echo "ERROR: Missing command 'git'"
@lamchau
lamchau / mark-private.js
Created June 9, 2021 07:20
https://replit.it - mark all public REPLs as private
Array.from(document.querySelectorAll('svg.globe-svg-icon'))
.map(x => x.parentNode.click());
const triggerMouseEvent = (node, eventType) => {
const clickEvent = document.createEvent('MouseEvents');
clickEvent.initEvent(eventType, true, true);
node.dispatchEvent(clickEvent);
};
const clapButton = document.querySelector('[aria-label="clap"]').parentNode;
const click = button => {
triggerMouseEvent(button, 'mousedown');
triggerMouseEvent(button, 'mouseup');
};
@lamchau
lamchau / uptime.fish
Created April 30, 2021 08:16
human readable uptime (osx)
#!/usr/bin/env fish
set -l boottime_in_seconds (sysctl -n kern.boottime | rg '(?:\bsec\s+=\s+)(\d+)' --replace '$1' --only-matching)
set -l now_in_seconds (date +%s)
set -l seconds_elapsed (math $now_in_seconds - $boottime_in_seconds)
set -l uptime (awk -v seconds_elapsed=$seconds_elapsed '
BEGIN {
ONE_HOUR_IN_SECONDS = int(60 * 60);
ONE_DAY_IN_SECONDS = int(24 * ONE_HOUR_IN_SECONDS);
ONE_WEEK_IN_SECONDS = int(7 * ONE_DAY_IN_SECONDS);
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@lamchau
lamchau / README.rst
Last active March 26, 2024 05:35
[Chrome/Tampermonkey] Extract *.user.js scripts from LevelDB backup

Restoring Tampermonkey scripts

Chrome stores .user.js scripts in a .ldb, which isn't in a user accessible format to recovery. On some versions of macOS the provided python script can't compile the leveldb package. As a workaround, we can use the node level package to recover our userscripts.

Prerequisite

#!/usr/bin/env python3
import argparse
import requests
import sys
TYPES = {
'bytes': {
'param': 'bytes',
#!/usr/bin/env python3
import sys
from itertools import cycle
import time
# https://github.com/yarnpkg/berry/blob/e6e035c901ce921af890be9401076f0123e5393d/packages/yarnpkg-core/sources/StreamReport.ts
PROGRESS_FRAMES = cycle(['⠋', '⠙', '⠹', '⠸', '⠼', '⠴', '⠦', '⠧', '⠇', '⠏'])
for i in range(60):

Homebrew is pretty frustrating for downgrading, here are the steps (last known version to work with fishis v2.10)

Steps for people in the future that need to do this:

# remove current version
brew uninstall navi

# find formula/bottle
# launches url
brew info --github navi