Skip to content

Instantly share code, notes, and snippets.

@pajp
pajp / simpletrasher.c
Created Jan 28, 2013
simple OS X command-line utility to trash files
View simpletrasher.c
#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 / gist:4526199
Last active Dec 11, 2015
convert last.fm "recent tracks" XML into CSV format
View gist:4526199
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 / script.sh
Created Aug 26, 2012
print out oauth tokens from a process using dtrace
View script.sh
#!/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 / index.html
Created May 3, 2012 — forked from mbostock/.block
Mobile Patent Suits
View index.html
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8">
<title>Mobile Patent Suits</title>
<script type="text/javascript" src="http://mbostock.github.com/d3/d3.js?1.29.1"></script>
<script type="text/javascript" src="http://mbostock.github.com/d3/d3.geom.js?1.29.1"></script>
<script type="text/javascript" src="http://mbostock.github.com/d3/d3.layout.js?1.29.1"></script>
<style type="text/css">
@pajp
pajp / README
Created Nov 20, 2011
Encode mkv files to Apple TV format and add them to iTunes
View README
# Moved here: https://github.com/pajp/add-to-itunes
@pajp
pajp / smartbudget.pl
Created Jul 5, 2011
nordea.fi -> smartbudget.se
View smartbudget.pl
#!/usr/bin/perl
#
# Script som omvandlar finska Nordeas transaktionslogg till ett format som
# är kompatibelt med bankimporten på smartbudget.se
# Använd med pbcopy för att placera resultatet i clipboard.
# (exportera transaktionerna under fliken "Transaktionsförteckning" i
# kontovyn på Nordeas nätbank)
#
# exempel:
#
@pajp
pajp / cryptsync.sh
Created Jun 24, 2011
cryptsync - rsync a folder to an encrypted disk image
View cryptsync.sh
#!/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/
#
@pajp
pajp / enable-oas.sh
Created Jun 12, 2011
Re-enable real-time scanning on F-Secure Anti-Virus for Mac
View enable-oas.sh
#!/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 Jun 12, 2011
Disable real-time scanning on F-Secure Anti-Virus for Mac
View disable-oas.sh
#!/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.
@pajp
pajp / getimg.py
Created Feb 27, 2011 — forked from stchris/getimg.py
Gets the current image of the day from NASA and sets it as the background. The summary / description text is written to the image.
View getimg.py
#!/usr/bin/env python
"""
getimg.py
Gets the current image of the day from NASA and sets it as the
background. The summary / description text is written
to the image.
Requires:
PIL (apt-get install python-imaging or pip install PIL)
You can’t perform that action at this time.