Skip to content

Instantly share code, notes, and snippets.

@pajp
pajp / script.sh
Created August 26, 2012 13:18
print out oauth tokens from a process using dtrace
#!/bin/sh
/Applications/Twitter.app/Contents/MacOS/Twitter &
sudo dtrace -q -p $! -n 'pid$target::free:entry /arg0 != 0/ { printf("%s\n", copyinstr(arg0)) }' 2> /dev/null | grep oauth
@pajp
pajp / README
Created November 20, 2011 18:44
Encode mkv files to Apple TV format and add them to iTunes
# Moved here: https://github.com/pajp/add-to-itunes
@pajp
pajp / gist:4526199
Last active December 11, 2015 01:49
convert last.fm "recent tracks" XML into CSV format
NUMPAGES=800
USERNAME=pajp
APIKEY=DEADBEEF
# may need to run this several times because last.fm sometimes returns 403
page=1; while [ $page -le $NUMPAGES ] ; do if [ -s page.$page ] ; then echo "Skipping page $page" ; page=$(($page + 1)); continue ; fi ; echo "Doing page $page"; curl -f "http://ws.audioscrobbler.com/2.0/?method=user.getrecenttracks&user=${USER}&api_key=$APIKEY&page=$page" > page.$page && echo "Page $page OK"; page=$(($page + 1)); done
# convert the downloaded XML to CSV using xmlstarlet. Assumes a certain order of the XML elements to may break at any time.
for page in `seq 1 $NUMPAGES`; do count=0; xml sel -t -v '//track/name | //track/album | //track/artist | //track/date' < page.$page|while read line; do case $(( $count % 4 )) in 0) artist="$line" ;; 1) track="$line" ;; 2) album="$line";; 3) ts="$line"; echo \"$track\"\;\"$album\"\;\"$artist\"\;\"$ts\" ;; esac ; count=$(($count + 1));done;done > tracks.csv
@pajp
pajp / simpletrasher.c
Created January 28, 2013 10:40
simple OS X command-line utility to trash files
#include <CoreServices/CoreServices.h>
/*
* compile with:
* cc -o simpletrasher -framework CoreServices simpletrasher.c
*/
int main(int argc, const char** argv) {
for (int i=1; i < argc; i++) {
char *trash_path = NULL;
@pajp
pajp / urlwatch
Created December 2, 2013 13:26
(OS X) Watch a URL and display a Notification Center notification when the URL has changed
#!/bin/bash
if [ -z "$1" ] ; then
echo "Supply a URL to watch."
exit 1
fi
tempfile1=`mktemp -t urlwatch`
tempfile2=`mktemp -t urlwatch`
@pajp
pajp / vpn-report.sh
Created January 10, 2014 15:20
Generate a report of all VPN connects, system sleeps, and "location-awareness" messages for the last seven days. "location-awareness" log messages are generated by ControlPlane actions that are triggered based on my geographical location (home or work).
#!/bin/sh
reportfile=/vpn-reports/`date +%Y-%m-%d`.txt
echo "**** VPN report generated @ `date` ****" > $reportfile
syslog -k Sender pppd \
-k Message "L2TP connection established." \
-o -k Message "L2TP disconnected" \
-o -k Sender location-awareness \
-k Time ge -7d \
@pajp
pajp / enable-oas.sh
Created June 12, 2011 16:04
Re-enable real-time scanning on F-Secure Anti-Virus for Mac
#!/bin/sh -e
#
# Run this to restore on-access scanning after you have run the script at
# https://gist.github.com/1021702
sudo cp ~/Documents/com.f-secure.fsavd.plist /Library/LaunchDaemons
sudo launchctl unload /Library/LaunchDaemons/com.f-secure.fsavd.plist
sudo launchctl load /Library/LaunchDaemons/com.f-secure.fsavd.plist
@pajp
pajp / disable-oas.sh
Created June 12, 2011 16:02
Disable real-time scanning on F-Secure Anti-Virus for Mac
#!/bin/sh -e
# Running this script will disable the on-access (real-time) scanner in F-Secure Anti-Virus for Mac
# while preserving the ability to use the on-demand (manual) scanner.
#
# Note that this *will* make the UI persistently tell you that there is a problem with real-time
# scanning. Which is true, because you disabled it. :-)
#
# NOTE THAT THIS WILL MAKE YOUR COMPUTER UNPROTECTED. DO THIS AT YOUR OWN RISK!
# NOTE THAT THIS WILL MAKE A BACKUP COPY IN YOUR "Documents" FOLDER. KEEP IT.
# NOTE THAT THIS IS AN UNSUPPORTED HACK. IT MAY STOP WORKING AT ANY TIME.
#!/bin/bash
# Script to migrate a Mastodon-exported following list to micro.blog
# Generate an API key here: https://micro.blog/account/apps
mbapikey=D43950049A7ECDED91E8
# Then go to your Mastodon instances data export, e.g. https://mastodon.social/settings/export
# where you can download your following list in CSV format
# Or use Fedifinder to generate a CSV of people you follow on Twitter with Mastodon/ActivityPub accounts:
# https://fedifinder.glitch.me/
@pajp
pajp / cryptsync.sh
Created June 24, 2011 13:25
cryptsync - rsync a folder to an encrypted disk image
#!/bin/bash
# cryptsync.sh - a simple script for keeping an encrypted backup of a folder
#
# Author: Rasmus Sten <cryptsync@dll.nu>
#
# For example, to make an encrypted backup of my ~/Documents folder to Dropbox:
#
# ./cryptsync.sh --init ~/Documents/ ~/Dropbox/
#