Skip to content

Instantly share code, notes, and snippets.

View swilliams's full-sized avatar
stuff

Scott Williams swilliams

stuff
View GitHub Profile

Keybase proof

I hereby claim:

  • I am swilliams on github.
  • I am swilliams (https://keybase.io/swilliams) on keybase.
  • I have a public key whose fingerprint is 9A61 2380 B522 6B56 5BC8 938B 6B8A 69FD D619 766D

To claim this, I am signing this object:

@swilliams
swilliams / projblame
Created April 30, 2014 20:47
Run git blame on a repository and group results by committer
#!/bin/sh
# Requires gnu sed to work.
git ls-tree -r HEAD|sed -re 's/^.{53}//'|while read filename; do file "$filename"; done|grep -E ': .*text'|sed -r -e 's/: .*//'|while read filename; do git blame -w "$filename"; done|sed -r -e 's/.*\((.*)[0-9]{4}-[0-9]{2}-[0-9]{2} .*/\1/' -e 's/ +$//'|sort|uniq -c
@swilliams
swilliams / gist:e16fc29d8942de489daf
Last active August 29, 2015 14:13
Get Markdown Link from Safari
tell application "Safari"
set theURL to URL of current tab of window 1
set theTitle to name of current tab of window 1
set the clipboard to "[" & theTitle & "](" & theURL & ")"
end tell
@swilliams
swilliams / gist:dddc46e5998bcc4d78dc
Created March 13, 2015 15:07
Xcode 6.2 Crash log
Process: Xcode [1419]
Path: /Applications/Xcode.app/Contents/MacOS/Xcode
Identifier: com.apple.dt.Xcode
Version: 6.2 (6776)
Build Info: IDEFrameworks-6776000000000000~11
App Item ID: 497799835
App External ID: 811890240
Code Type: X86-64 (Native)
Parent Process: ??? [1]
Responsible: Xcode [1419]
do shell script "/Applications/Google\\ Chrome.app/Contents/MacOS/Google\\ Chrome --allow-ssl-mitm-proxies"
-- This is to disable the feature in Chrome 6 that causes the "Error 128 (net::ERR_SSL_UNSAFE_NEGOTIATION)"
-- when behind an Internet filter that modifies the request to an https Url.
-- Copy it to AppleScript and save it as an application to easily run.
-- Make sure that there are no other Chrome windows open when you run this.
@swilliams
swilliams / XmlFormatter
Created December 22, 2010 16:22
Formats XML to be prettily indented. Useful for dealing with XML saved from the Internet.
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Xml;
// Compile and run via the command line:
// > XmlFormatter.exe < BadXml.xml > GoodXml.xml
// If GoodXml is ignored, it will print to stdout.
@swilliams
swilliams / Print Folder.scpt
Created May 20, 2011 02:46
Watch a folder and print files that are added to it
-- Appropriated from: http://hints.macworld.com/article.php?story=20041104011839378
on adding folder items to this_folder after receiving these_items
try
tell application "Finder"
repeat with i from 1 to number of items in these_items
try
set this_item to item i of these_items
set the path_string to this_item as string
set the final_path to POSIX path of the path_string
do shell script "/usr/bin/lp '" & final_path & "'"
@swilliams
swilliams / StudioTether.scpt
Created August 18, 2011 17:43
Calling the StudioTether Trigger
tell application "System Events"
tell process "StudioTether"
click button 2 of window "D300"
end tell
end tell
@swilliams
swilliams / gist:5528743
Created May 6, 2013 22:25
Currying FTW
var tag = 'div',
attrs = { className: 'foo', id: 'bar' },
slice = Array.prototype.slice;
isContent = function(c) {
var un = "undefined";
return c !== null && typeof c !== un &&
(typeof c.nodeType !== un ||
typeof c === "string");
}