Skip to content

Instantly share code, notes, and snippets.

View dbrady's full-sized avatar

David Brady dbrady

View GitHub Profile
View be_matcher.rb
# What is existence?
class Be
def initialize
def matches?(actual)
defined? actual
View bash_session.txt
dbrady@robomonkey:~/lmp/market (sprint)$ ruby -e 'require "rubygems"; require "trollop"; puts Trollop.class'
dbrady@robomonkey:~/lmp/market (sprint)$ ruby -e 'require "rubygems"; require "nokogiri"; puts Nokogiri.class'
dbrady@robomonkey:~/lmp/market (sprint)$ cd
dbrady@robomonkey:~ $ ruby -e 'require "rubygems"; require "trollop"; puts Trollop.class'
dbrady@robomonkey:~ $ ruby -e 'require "rubygems"; require "nokogiri"; puts Nokogiri.class'
./nokogiri.rb:4: uninitialized constant Nokogiri (NameError)
from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
View nokotest.rb
require 'rubygems'
require 'nokogiri'
doc = Nokogiri::HTML.parse(<<-eohtml)
View gist:64170
>> class String
>> alias :/ :split
>> end
=> nil
>> "foo"///
=> ["f", "o", "o"]
View gist:181256
$ cat bin/localhost
open http://localhost/$*
dbrady / gist:673524
Created November 12, 2010 00:41
Interleaved Unpacking...
View gist:673524
# This takes about 2s for a 53Mb file.
bytes = audio_file.read_into(audio_buffer)
# This takes less than a second, BUT the data is interleaved
# (left, right, left, right, left, right, etc)
self.audio_data = audio_buffer.unpack('s*')
# Less than a second.
self.left_channel = NArray.float(2, audio_data.size)
self.right_channel = NArray.float(2, audio_data.size)
View gist:783742
describe "Server" do
describe "methods" do
let(:put) { "put foobar beans 5\nhowdy" }
it "should be valid for a valid put method" do
# before all
@pid = spawn("bin/server")
# before each
@sock = "", 3000
View gist:786710
# One pattern I use so much I need to make an editor macro for it:
class Foo
attr_accessor :x, :y, :z, :w
# --> macro on above line should produce:
def initialize(x, y, z, w)
@x, @y, @z, @w = x, y, z, w
# --> end macro
dbrady / hanging_if_expression.rb
Created February 26, 2011 04:48
Semantically identical code, three idiomatic ways of expressing it
View hanging_if_expression.rb
# Coders from from C often like this style:
log status == OK ? "OK" : "PROBLEM"
log "All done."
# But since if returns a value in ruby, you can spell it out:
log if status == OK
dbrady / change_case.el
Created February 28, 2011 01:02
emacs lisp defuns to change the case (camelCase <-> snake_case) of the word under cursor, or an entire region if selected. NOTE: the snake-case defuns do not work, they just camelCase. Ooops.
View change_case.el
;; Grateful thanks are given to Brian Marick (@marick) for helping me
;; write these. I got the original idea while reading through
;;, but couldn't work out
;; the elisp regexes. Brian Marick (@marick) stepped in and helped. He
;; took my tortured and broken camelcase-region and turned it into
;; something that actually worked. I then created
;; camelcase-word-or-region. I then wrote the snakecase versions but I
;; see now that all I did was copy the camelcase defuns over and,
;; meaning to go back and finish them Real Soon Now, forgot all about
;; them. I've had a quick look (2011-02-27) but elisp regexes are