Skip to content

Instantly share code, notes, and snippets.

@dmcclory
dmcclory / ruby_hoist.rb
Created July 3, 2014 21:01
Ruby Hoists Variables!
class Foo
def awesome(x)
y = 50
x + y
end
end
set_trace_func proc { |event, file, line, id, binding, classname|
# output the binding at the start of any call to Foo#awesome

Keybase proof

I hereby claim:

  • I am dmcclory on github.
  • I am dan_promptworks (https://keybase.io/dan_promptworks) on keybase.
  • I have a public key whose fingerprint is E3A6 C750 8DCC 2234 D142 ACAE 93EF 1804 FFEF 69AD

To claim this, I am signing this object:

# some real quick code for running requests in parallel
# usage:
# $ ruby parallel_req.rb http://url_place/ post 5 data.json
# doesn't work with get requests (yet)!
require 'http'
url = ARGV[0]
method = ARGV[1]
thread_count = ARGV[2].to_i
@dmcclory
dmcclory / podcast_spike.html
Created September 15, 2015 20:09
Javascript control of audio elements
<html>
<head>
<script src="http://code.jquery.com/jquery-1.11.3.min.js"></script>
</head>
<body>
<h1>Yo a Podcast episode!</h1>
<audio controls src="http://traffic.libsyn.com/ucblongform/Karin_Louise_Hammerberg.mp3" type="audio/mpe
g">
Your browser does not support the <code>audio</code> element.
</audio>
@dmcclory
dmcclory / ActiveRecordRelation#or.rb
Last active June 26, 2017 01:54 — forked from dicemanx/ActiveRecordRelation#or.rb
Reproduction of a possible bug in ActiveRecord_AssociationRelation#or
begin
require "bundler/inline"
rescue LoadError => e
$stderr.puts "Bundler version 1.10 or later is required. Please update your Bundler"
raise e
end
gemfile(true) do
source "https://rubygems.org"
# Activate the gem you are reporting the issue against.
@dmcclory
dmcclory / requester.rb
Created February 22, 2019 16:44
Septa Demo with Elm + Sinatra
# myapp.rb
require 'sucker_punch'
require 'sinatra/base'
require 'http'
require 'json'
class SimpleCache
attr_reader :data
@dmcclory
dmcclory / gist:e005ccae58fd3ce9bc72743d9542c644
Created September 8, 2025 12:41
toy bank model based ideas from on David Nolan's The Power of Toys
;; tring out some ideas from David Nolan's talk [The Power of Toys](https://www.youtube.com/watch?v=fgRt0ecWfEE)
;; 1) a toy language, eg: `{:action :deposit :acc-id "acc-2" :amount 600}`
;; 2) a model where every function takes in the state of the world & returns an updated state of the world
;; (the talk is also about using simple property-based testing to generate programs written in the toy language, I haven't tried that)
;; src/bank-model/core.clj
(ns bank-model.core)
(defn increment-time [world]
(let [updated (+ 1 (get-in world [:time] 0))]