Skip to content

Instantly share code, notes, and snippets.

@varenc
varenc / varen_christmas_2024.py
Last active September 20, 2024 21:41
Varen siblings + partners gift exchange pairings for Christmas 2024
import random
import pandas as pd
from tabulate import tabulate
SIBLINGS = ["McKenzie", "Reagan", "Danni", "Alex", "Thomas", "Ben", "Shane", "Eric", "Chris"]
PARTNERS = ["Emilie", "Julia", "Courtney", "Kirstyn", "Stefanie", "Rilka"]
sibling_partner_mapping = {
"Alex": "Emilie",
"Thomas": "Julia",
# Workaround for https://github.com/tailscale/tailscale/issues/12244 on macOS
### Usage
# Just put this in a shell RC file (~/.zshrc) and run `tailscaleDNSHack`
# With no params it sets the tailscale DNS to what your `NET_SERVICE`'s DNS is.
# Or pass in an argument to set that as the DNS
function tailscaleDNSHack () {
local NET_SERVICE="Wi-Fi"
if [ -z $1 ]
@varenc
varenc / !README.md
Last active July 15, 2024 12:12
Install iCloud3 v3.0.5.2 quick fix for Home Assistant 2024.7.x

This script just automates the fix described in gcobb321/icloud3#356 by @gcobb321 for fixing iCloud v3.0.5.2 compatability with Home Assistant 2024.7.x

I took some attempts to be safe but use at your own risk!

To run it just ssh into your HA server, then fetch the file below and evaluate it with bash.

$ wget "https://gist.githubusercontent.com/varenc/243eeed5622f0e749367b2f9e9d73a38/raw/icloud3_quick_fix.sh"
$ bash icloud3_quick_fix.sh
@varenc
varenc / extract_firebase_access_token.sh
Last active March 24, 2024 20:27
on macOS extract a firebase user accessToken from your active Chrome session. Demoing with partiful.com
function partifulToken() {
# some overly terse JS that extracts the Firebase access token from indexedDB and assigns it to `window.__FB_KEY`
local SOME_JS="indexedDB.open('firebaseLocalStorageDb').onsuccess=event=>(((event.target.result.transaction('firebaseLocalStorage','readonly').objectStore('firebaseLocalStorage').getAll().onsuccess=e=>console.log('FIREBASE_TOKEN:',window.__FB_KEY=e.target.result[0].value.stsTokenManager.accessToken)),null))";
echo "Getting partiful firebase token..." >&2
# This requires that automation access is enabled on Chrome
# It first finds an active partiful.com tab and runs the JS there.
# NOTE: Right now this only checks that tabs in the FIRST window. Should be improved to check all windows/tabs.
@varenc
varenc / README.md
Last active November 14, 2024 03:21
Keep your Mac from waking by disabling the `InternalPreventSleep` assertion from `com.apple.powermanagement.acwakelinger`

Disable AC Wake lingering in macOS using undocumented pmset features

Every time your Mac wakes from sleep powerd creates an InternalPreventSleep assertion labeled com.apple.powermanagement.acwakelinger with a 45 second timeout. That assertion ensures that even if your Mac needs to wake for 2 seconds to recieve a push notification that it stays on for 45 seconds. Seemingly there's no way to control this. And recent versions of macOS love to wake quite frequently.

Forunately we can disable this. The built in pmset tool has many undocumented features but thankfully it's open source

Cruicially there's an undocumented pmset disabledassertion feature that just makes macOS ignore certain power assertions. To effectively disable acwakelinger we just run this:

$ sudo pmset disableassertion InternalPreventSleep
@varenc
varenc / 2048_masher.js
Last active March 21, 2024 00:38
2048 button masher to show how artless the game is
// This script just mashes Up and Left until its stuck, and then it presses Right. Plays decently, which is the sad part.
//
// tested on https://2048game.com/
// To use this just go to that page, open dev tools, and paste this JS in the console. Refresh the page to stop it.
const simulateKeyPress = (keyCode) => {
document.dispatchEvent(new KeyboardEvent('keydown', { keyCode, which: keyCode }));
};
const upArrowKeyCode = 38, leftArrowKeyCode = 37, rightArrowKeyCode = 39;
@varenc
varenc / make_usable.js
Created January 19, 2024 02:04
Force iccsafe.org code text to be selectable and copyable
function __unblockEvents(){for(var i=0;i<arguments.length;i++){document.addEventListener(arguments[i],function(e){e.stopPropagation();console.log("event received and unblocked:",e);},true);}};
__unblockEvents('keydown','keyup','keypress','copy','contextmenu','beforeprint','afterprint');
document.head.appendChild(Object.assign(document.createElement("style"), {textContent: "* { user-select: initial !important; }"}));
// TODO: disabling 'beforeprint' doesnt seem to work. Fix that so its printable. Use Chrome Dev tools to remove that event handler manually in the mean time.
@varenc
varenc / weather_app_open.sh
Created December 17, 2023 00:05
Automatically open the macOS Weather app from the the terminal/shell for a given GPS lat/long
open -a Weather "https://weather.apple.com/?city=Boston&lat=42.3226734&lng=-71.0924375"
# the 'city' arg can be any string, only the lat/lng is used to look up weather
# You can make the string somethng silly and it gets displayed in the app
open -a Weather "https://weather.apple.com/?city=Bawston&lat=42.3226734&lng=-71.0924375"
# Or if you exclude 'city' arg then Apple just looks up the name based on the lat/long
open -a Weather "https://weather.apple.com/?lat=42.3226734&lng=-71.0924375"
# Also all of these have `weather://` scheme equivalents, like this:
@varenc
varenc / product_descriptions.txt
Last active July 2, 2023 02:20
some random lab401 listings
======Roll Remote V2
Introduction
The Roll Remote is a powerful miniaturised RF & Remote Control duplication device. Supporting both fixed and rolling codes across multiple frequencies, the device can save and replay multiple signals up to 70m from the target.
The device also provides RF bruteforce functionality, and can also duplicate most 125KHz (low-frequency) RFID tags.
Functionality at a glance
The Roll Remote is purposed built to capture, clone and emulate RF / Remote Controls for residential access control, including alarms, gates, garage doors, etc.
It has an extensive database of over 100 compatible brands and models.
The device also has brute-force capability for some fixed code systems.
@varenc
varenc / get_gists.py
Last active June 14, 2023 20:29 — forked from selimslab/get_gists.py
Download all gists of a user
#!/usr/bin/env python3
import sys
from subprocess import call
import json
import os
import requests
import shutil
import colorama