Skip to content

Instantly share code, notes, and snippets.

View thegrubbsian's full-sized avatar

JC Grubbs thegrubbsian

View GitHub Profile
@thegrubbsian
thegrubbsian / console.output
Created August 4, 2014 01:23
Phoenix compile issue
tasks> mix compile
Unchecked dependencies for environment dev:
* cowboy (package)
the dependency cowboy in mix.exs is overriding a child dependency:
> In mix.exs:
{:cowboy, "~> 1.0.0", [hex_app: :cowboy]}
> In deps/phoenix/mix.exs:
{:cowboy, "~> 0.10.0", [git: "git://github.com/extend/cowboy.git", optional: true]}
@thegrubbsian
thegrubbsian / iex.ex
Last active August 29, 2015 13:57
Weird API behavior on Process.register
iex(10)> Process.alive? tile_pid
true
iex(11)> Process.register tile_pid, :foo
** (ArgumentError) argument error
:erlang.register(:foo, #PID<0.163.0>)
(elixir) lib/process.ex:333: Process.register/2
require File.expand_path(File.dirname(__FILE__) + '/neo')
# Greed is a dice game where you roll up to five dice to accumulate
# points. The following "score" function will be used to calculate the
# score of a single roll of the dice.
#
# A greed roll is scored as follows:
#
# * A set of three ones is 1000 points
#
@thegrubbsian
thegrubbsian / callbacks.rb
Created February 9, 2013 15:54
Code for the "Rails No Nos" blog post.
class Order < ActiveRecord::Base
has_many :line_items
before_save :update_total
def update_total
self.total = line_items.pluck(:price).inject(:+)
end
@thegrubbsian
thegrubbsian / pdf_layer_example.rb
Created January 14, 2013 01:29
Sample using iText via JRuby to render a PDF with layers.
require "java"
Dir["#{File.dirname(__FILE__)}/itext-5.3.5/\*.jar"].each { |jar| require jar }
import com.itextpdf.text.BaseColor
import com.itextpdf.text.Document
import com.itextpdf.text.Paragraph
import com.itextpdf.text.Element
import com.itextpdf.text.pdf.ColumnText
import com.itextpdf.text.pdf.PdfWriter
import com.itextpdf.text.pdf.PdfContentByte
@thegrubbsian
thegrubbsian / backbone_base.js
Last active December 10, 2015 15:18
Backbone Extensions Stuff
Backbone.Base = function() {
this.initialize.apply(this, arguments);
};
Backbone.Base.extend = Backbone.Model.extend;
_.extend(Backbone.Base.prototype, Backbone.Events, {
initialize: function() {}
});
// This is a combination of two modified files from jQuery Mobile,
// jquery.mobile.vmouse.js and jquery.mobile.event.js
// They were modified to only provide the touch event shortcuts, and
// avoid the rest of the jQuery Mobile framework.
// The normal jQuery Mobile license applies. http://jquery.org/license
//
// This plugin is an experiment for abstracting away the touch and mouse
// events so that developers don't have to worry about which method of input
// the device their document is loaded on supports.
//
@thegrubbsian
thegrubbsian / jst_filter.rb
Created December 14, 2012 20:13
Simple filter for Rake Pipeline that will compile ERB/JST style templates into a templates.js file.
require "ejs"
class JstFilter < Rake::Pipeline::Filter
def initialize(output_filename=nil, &block)
block = proc { output_filename }
super(&block)
end
def generate_output(inputs, output)
@thegrubbsian
thegrubbsian / Gemfile
Created November 28, 2012 17:56 — forked from daytonn/Gemfile
Automatic ejs template compilation
group :development do
gem 'ejs'
gem 'rb-fsevent' # optional
gem 'listen'
end
@thegrubbsian
thegrubbsian / current_timezone.js
Created September 30, 2012 21:45
Get the Current Timezone Offset in Hours in JavaScript, adjusting for Daylight Savings Time
function currentTimezoneOffset() {
var dstPeriod = {
2012: [new Date(2012, 2, 11), new Date(2012, 10, 4)],
2013: [new Date(2013, 2, 10), new Date(2013, 10, 3)],
2014: [new Date(2014, 2, 9), new Date(2014, 10, 2)],
2015: [new Date(2015, 2, 8), new Date(2015, 10, 1)],
2016: [new Date(2016, 2, 13), new Date(2016, 10, 6)],
2017: [new Date(2017, 2, 12), new Date(2017, 10, 5)],
2018: [new Date(2018, 2, 11), new Date(2018, 10, 4)],
2019: [new Date(2019, 2, 10), new Date(2019, 10, 3)],