Skip to content

Instantly share code, notes, and snippets.

Gordon Diggs gdiggs

Block or report user

Report or block gdiggs

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
gdiggs / current_track.scpt
Created Jul 28, 2011
Get current track and link in Spotify
View current_track.scpt
tell application "Spotify"
set track_name to name of current track
set track_artist to artist of current track
set track_album to album of current track
set track_id to id of current track
end tell
set AppleScript's text item delimiters to ":"
set track_id to third text item of track_id
set AppleScript's text item delimiters to {""}
gdiggs /
Created Jul 30, 2011
Ecco the dolphin!
if [ -z "$1" ]
message="eeee eeee!"
View gist:1243043
Name Artist Album Track Number
Downstairs Religious Knives The Door 1
Basement Watch Religious Knives The Door 2
On a Drive Religious Knives The Door 3
The Storm Religious Knives The Door 4
Major Score Religious Knives The Door 5
Decisions Are Made Religious Knives The Door 6
Cirrus Minor Pink Floyd More 1
The Nile Song Pink Floyd More 2
Crying Song Pink Floyd More 3
gdiggs / array_move.rb
Created Jan 6, 2012
Adding/moving item to the front of an array
View array_move.rb
x = 1
a = [2, 1, 4, 3]
[x] + (a - [x]) #=> [1, 2, 4, 3]
gdiggs /
Created Apr 3, 2012
DataMapper lazy-loading examples

So, in the app, I do something like this:

  Item.all(:order => sort).select { |item| item.to_s.downcase.include? search.to_s.downcase }

Where sort is an array of fields to order by. By default (with lazy-loading enabled), the query output from DataMapper looks like the following (on a table of 8601 rows):

   ~ (0.142849) SELECT "id", "created_at", "updated_at" FROM "items" ORDER BY "artist", "title", "year", "label", "format"
gdiggs /
Created Apr 17, 2012
Proof of @mrb's music tastes

It is given that @mrb prefers the inverse of c && s && n && !y. To calculate his musical preference regarding combinations of the set g = {c, s, n, y}, we apply DeMorgan's law to c && s && n && !y, producing: !c || !s || !n || y. This implies that @mrb will be happy given the presence of y in any combination, but if y is not present, neither can c, s, or n.

gdiggs / timelapse.rb
Created Jul 1, 2012
ruby timelapse script
View timelapse.rb
#!/usr/bin/env ruby
# Before running this, do `brew install imagesnap`
# Takes a photo every 30 seconds and saves it. Good for doing timelapses!
while true do
file = "~/snaps/#{}.jpg"
puts "Taking photo at #{}"
system "imagesnap -q -w 3 #{file}"
puts "waiting 30 seconds..."

Bacon Toffee

From Tasty Kitchen


  • 1 pound Thick Sliced Bacon
  • 1 cup Almonds, Roughly Chopped
  • 1 cup Butter
  • 1 cup Granulated Sugar
View stylesheets.js
// based on
var styleSheets = document.styleSheets,
totalStyleSheets = styleSheets.length,
maxIESelectors = 4095;
for (var j = 0; j < totalStyleSheets; j++){
var styleSheet = styleSheets[j],
rules = styleSheet.cssRules,
totalRulesInStylesheet = rules.length,
gdiggs / gist:5518491
Created May 4, 2013
Monte Carlo Tests to Calculate Pi in Go
View gist:5518491
package main
import (
You can’t perform that action at this time.