Skip to content

Instantly share code, notes, and snippets.

View Gipetto's full-sized avatar
💩
Doing the day-to-day.

Shawn Parker Gipetto

💩
Doing the day-to-day.
View GitHub Profile
@Gipetto
Gipetto / chromeapp.sh
Last active December 17, 2015 09:09
Launch a new, clean and distinct instance of Google Chrome that cannot sync and does not do the first-run dance.
#! /bin/bash
set -e
[ -z $1 ] && dir='/tmp/foo' || dir=$1
chromedev="/Applications/Google Chrome Dev.app"
runChromeDev() {
(
@Gipetto
Gipetto / purchased-tracks-with-purchaser.py
Created October 31, 2017 03:06
Get a list of purchased tracks from your iTunes library that includes the purchaser. Not accurate for newer iTunes files (I couldn't find the purchaser with mutagen code)
#!/usr/bin/env python3
from plistlib import *
import mutagen as m
import urllib.parse
import pprint
import sys
import csv
import os
@Gipetto
Gipetto / fax-to-email.js
Last active June 17, 2020 14:57
Single function Twilio Fax handling
/**
* !! Requires a SendGrid account & API Key.
* Sign up for the FREE account and create an API key.
* If you're receiving more than 100 faxes a day you
* shouldn't be entertaining the idea of a script like this...
*
* In the Function Instance view:
* - Paste this entire script
* - Set the url path for your Function to: /fax-to-email
*
@Gipetto
Gipetto / gist:348c46500ff4e4c4ea51892b3d0e5839
Created December 12, 2018 01:54
Pihole Firewall black holes that should be part of Pihole itself...
iptables -A INPUT -p tcp --destination-port 443 -j REJECT --reject-with tcp-reset
iptables -A INPUT -p udp --destination-port 80 -j REJECT --reject-with icmp-port-unreachable
iptables -A INPUT -p udp --destination-port 443 -j REJECT --reject-with icmp-port-unreachable
ip6tables -A INPUT -p tcp --destination-port 443 -j REJECT --reject-with tcp-reset
ip6tables -A INPUT -p udp --destination-port 80 -j REJECT --reject-with icmp6-port-unreachable
ip6tables -A INPUT -p udp --destination-port 443 -j REJECT --reject-with icmp6-port-unreachable
iptables-save > /etc/iptables/rules.v4
ip6tables-save > /etc/iptables/rules.v6
@Gipetto
Gipetto / generatePassword.ts
Created September 24, 2025 21:12
Random password generation in js/ts
const arrayShuffle = (input: string[]): string[] => {
let i = input.length;
const arr: string[] = [...input];
while (i != 0) {
const ri = Math.floor(Math.random() * i);
i--;
[arr[i], arr[ri]] = [arr[ri], arr[i]];
}
@Gipetto
Gipetto / focusStealingMonitor.py
Last active September 24, 2025 22:00
Monitor MacOS for focus state changes.
#!/usr/bin/env python3
# Detect when window focus changes
#
# Tested with MacOS Sequoia 15.7
#
# Install requirements:
# pip3 install pyobjc-core pyobjc-framework-Cocoa
from AppKit import NSWorkspace