View DeviseJsonAdapter.rb
# JSON-encoded error and redirect results for Devise controllers. | |
# This overrides an internal method of Devise, so be careful when updating Devise! | |
# | |
# Usage: | |
# | |
# class Users::RegistrationsController < Devise::RegistrationsController | |
# include DeviseJsonAdapter | |
# end | |
# | |
# devise_for :users, :controllers => { :registrations => "users/registrations" } |
View keyrepeat.shell
# Mac OS X Lion introduced a new, iOS-like context menu when you press and hold a key | |
# that enables you to choose a character from a menu of options. If you are on Lion | |
# try it by pressing and holding down 'e' in any app that uses the default NSTextField | |
# for input. | |
# | |
# It's a nice feature and continues the blending of Mac OS X and iOS features. However, | |
# it's a nightmare to deal with in Sublime Text if you're running Vintage (Vim) mode, | |
# as it means you cannot press and hold h/j/k/l to move through your file. You have | |
# to repeatedly press the keys to navigate. |
View text_extents.js
;(function($){ | |
$.fn.textExtents = function(options){ | |
var spans = $('span:visible', this); | |
var heightMax = parseInt($(this).css('max-height')); | |
var widthMax = parseInt($(this).css('max-width')); | |
var fontSize = parseInt($(this).css('font-size')); /* max font size */ | |
do{ | |
var textHeight = 0; | |
var textWidth = 0; | |
$(spans).each(function(){ |
View langoliers.rb
require "rubygems" | |
require "twitter" | |
require "json" | |
# things you must configure | |
TWITTER_USER = "your_username" | |
MAX_AGE_IN_DAYS = 1 # anything older than this is deleted | |
# get these from dev.twitter.com | |
CONSUMER_KEY = "your_consumer_key" |
View jquery-ui-tabs-1.9.2-patch.js
//this is to patch a bug with the jquery.ui.tabs API | |
// http://bugs.jqueryui.com/ticket/4941 | |
// http://bugs.jqueryui.com/ticket/8637 | |
// it has to do with the <base href> tag in <head> and jquery.ui.tabs | |
// being smart about figuring out weather to AJAX a tab or not | |
;(function() { | |
var tabsInitialised = false; | |
var _tabs = $.fn.tabs; | |
var updateBaseHrefs = function() { |
View usage.coffee
videos = document.getElementsByTagName('video') | |
new VideoSync(videos[0], videos[1]) |
View gist:5223561
#!/usr/bin/env ruby | |
require 'em-proxy' | |
TARGET = ARGV[0] ? ARGV[0].to_sym : :mysql | |
puts "Starting proxy on port 4000." | |
puts "Passing requests port 4100 (mysql) and port 4200 (postgres). Responses are returned from #{TARGET}." | |
Proxy.start(:host => "0.0.0.0", :port => 4000, :debug => true) do |conn| | |
@start = Time.now | |
@data = Hash.new("") |
View font-resize.js
// an element with class 'font_resize' with css properties: | |
// * max-height | |
// * max-width | |
// * font-size | |
// the element has children span elements, the font size inside these spans will re resized. | |
;(function($){ | |
$.fn.fontResize = function(options){ | |
var spans = $('span:visible', this); | |
var heightMax = parseInt($(this).css('max-height'), 10), |
View super.rb
# 2.0.0dev :175 > @three = Three.new | |
# => #<Three:0x007fad66054540> | |
# 2.0.0dev :176 > @three.my_method | |
# im in class three | |
# im in the module | |
# im in class two | |
# im in class one | |
# @three.my_method_2 | |
# <Three:0x108ca55e0> |
View css3-mixins.css.scss
// Border Radius | |
@mixin round($radius: 4px) { | |
-moz-border-radius: $radius; | |
-webkit-border-radius: $radius; | |
border-radius: $radius; | |
} | |
// Box Shadow | |
@mixin shadow($shadow1: 0 0 4px #0A0A0A, $shadow2:false, $shadow3:false, $shadow4:false, $shadow5:false) { | |
$params: $shadow1; | |
@if $shadow2 |
OlderNewer