- Jim Weirich: The Building Blocks of Modularity – http://goo.gl/g4Nk
- Jim Weirich: SOLID Ruby – http://goo.gl/z3jd
- Sandi Metz: SOLID Object-Oriented Design – http://goo.gl/PDn6T
- Sandi Metz: Less – The Path to Better Design – http://goo.gl/VuTl4
- Demeter is for Encapsulation – http://is.gd/eeyLx
- Opinionated Modular Code – http://is.gd/eeyXm
- Scaling to Hundreds of Millions of Requests – http://vimeo.com/12814529
- Confident Code – http://goo.gl/VFLX
- Destroy All Software Screencasts – https://www.destroyallsoftware.com/screencasts
- Corey Haines: Fast Rails Tests – http://goo.gl/Va2gb
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
; vi: ft=clojure | |
; THIS IS A Fennel SOURCE FILE (.fnl) !NOT! clojure! | |
; you need to use luajit to run this, after using fennel --compile | |
; install lapis and turbo from luarocks | |
; When running with Fennel directly, you need to --globals all used HTML tags | |
(local turbo (require "turbo")) | |
(local render_html (. (assert (require "lapis.html")) :render_html)) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<script> | |
// Charles Lawrence - Feb 16, 2012. Free to use and modify. Please attribute back to @geuis if you find this useful | |
// Twitter Bootstrap Typeahead doesn't support remote data querying. This is an expected feature in the future. In the meantime, others have submitted patches to the core bootstrap component that allow it. | |
// The following will allow remote autocompletes *without* modifying any officially released core code. | |
// If others find ways to improve this, please share. | |
var autocomplete = $('#searchinput').typeahead() | |
.on('keyup', function(ev){ | |
ev.stopPropagation(); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class ConvertImagesToPaperclip < ActiveRecord::Migration | |
include PaperclipMigrations | |
def self.up | |
# Paperclip | |
add_column :images, :data_file_name, :string | |
add_column :images, :data_content_type, :string | |
add_column :images, :data_file_size, :integer | |
add_column :images, :data_updated_at, :datetime |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
;; org-gcal wrappers to only sync with a timeout | |
(defvar org-gcal-fetch-last-run (current-time) | |
"Timestamp of the last time org-gcal-fetch-store-time was run") | |
(defun org-gcal-fetch-with-timeout (timeout) | |
(interactive) | |
"Runs org-gcal-fetch only if the last time this function was called is > the timeout" | |
(let ((time-since-last-run | |
(float-time (time-subtract (current-time) org-gcal-fetch-last-run)))) | |
(when (> time-since-last-run timeout) ;; was the last run longer than our timeout | |
(org-gcal-fetch) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
describe "GET current" do | |
before do | |
@request.cookies['hidden_notices'] = "1,#{notices(:permanent).id}" | |
get :current, :format => 'js' | |
end | |
it { should respond_with(:success) } | |
it { should set_cookie(:hidden_notices).to("#{notices(:permanent).id}") } | |
it { should render_template('notices/current') } | |
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
set :branch do | |
branches=`git branch -r | sed "1 d"`.split | |
branches.map { | b | b.gsub!("origin/","") } | |
puts "What branch would you like to deploy from?" | |
branches.each_index do | i | | |
puts((i+1).to_s + ": " + branches[i]) | |
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
if defined?(RSpec) | |
namespace :rcov do | |
RSpec::Core::RakeTask.new(:rspec_aggregate) do |task| | |
task.pattern = 'spec/**/*_spec.rb' | |
task.rspec_opts = "--format progress" | |
task.rcov = true | |
task.rcov_opts = "--rails --exclude osx\/objc,spec,gems\/ " + | |
"--aggregate tmp/coverage.data" | |
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@Touch= | |
horizontal_sensitivity: 22 | |
vertical_sensitivity: 6 | |
touchDX: 0 | |
touchDY: 0 | |
touchStartX: 0 | |
touchStartY: 0 | |
bind: (elements...) -> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class PaymentsController < ActionController::Base | |
skip_before_filter :verify_authenticity_token, :only => :notification | |
before_filter :load_subscription | |
def checkout | |
redirect_to @subscription.paypal.checkout_url( | |
return_url: "http://www.example.com" + "/paypal/review/#{@subscription.id}", | |
cancel_url: "http://www.example.com" + "/paypal/cancel/#{@subscription.id}" |
NewerOlder