Skip to content

Instantly share code, notes, and snippets.

View nathany's full-sized avatar
🙃

Nathan Youngman nathany

🙃
View GitHub Profile
@nathany
nathany / LICENSE
Created January 21, 2012 07:19
Pruning remote branches that are already in master
Copyright (C) 2012 Nathan Youngman
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
of the Software, and to permit persons to whom the Software is furnished to do
so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
@nathany
nathany / scope.go
Created July 27, 2012 19:17
Fiddling with scoping in Go
package main
import (
"fmt"
"log"
)
// Many functions in Go return an error as the last argument, nil for no error
func f() (int, error) {
return 42, nil
@nathany
nathany / checkers.go
Created December 8, 2012 03:04
Within Delta Custom Checker for gocheck
type withinChecker struct {
*CheckerInfo
}
var Within Checker = &withinChecker{
&CheckerInfo{Name: "Within", Params: []string{"obtained", "delta", "expected"}},
}
func (c *withinChecker) Check(params []interface{}, names []string) (result bool, error string) {
obtained, ok := params[0].(float64)
@nathany
nathany / Default (OSX).sublime-keymap
Last active February 12, 2016 03:55
My keymap for GoSublime
[
/* GoSublime */
{
"keys": ["super+s"],
"command": "gs_fmt_save",
"context": [{ "key": "selector", "operator": "equal", "operand": "source.go" }]
},
{
"keys": ["super+shift+s"],
"command": "gs_fmt_prompt_save_as",
@nathany
nathany / CVE-2013-0156.rb
Created January 15, 2013 05:26
Applying the CVE-2013-0156 security fix to Rails 3.2.10 by hand, create this initializer.
# There are multiple weaknesses in the parameter parsing code for Ruby on Rails
# which allows attackers to bypass authentication systems, inject arbitrary SQL,
# inject and execute arbitrary code, or perform a DoS attack on a Rails application.
# This vulnerability has been assigned the CVE identifier CVE-2013-0156.
#
# https://groups.google.com/forum/?fromgroups=#!topic/rubyonrails-security/61bkgvnSGTQ
ActiveSupport::XmlMini::PARSING.delete("symbol")
ActiveSupport::XmlMini::PARSING.delete("yaml")
@nathany
nathany / app.rb
Created February 17, 2013 18:57
Configuring Nesta CMS to use Redcarpet and Pygments.rb.
require 'redcarpet'
require 'pygments'
class Syntactical < Redcarpet::Render::HTML
include Redcarpet::Render::SmartyPants
def block_code(code, language)
Pygments.highlight(code, lexer: language)
end
end
@nathany
nathany / config.ru
Last active May 3, 2019 17:10
Magical Unicorn Configuration for Heroku
# add something like this to config.ru
# see https://github.com/kzk/unicorn-worker-killer
if Integer(ENV['UNICORN_KILLER'] || 0) != 0
require 'unicorn/worker_killer'
# Max memory size (RSS) per worker
use Unicorn::WorkerKiller::Oom, (350*(1024**2)), (400*(1024**2)), 30, true
end
@nathany
nathany / gist:5145088
Created March 12, 2013 17:36
Checking sass syntax in a Rails app
sass -c -I app/assets/stylesheets/ app/assets/stylesheets/**/*.scss
@nathany
nathany / ruby2.md
Last active December 20, 2015 00:59
Ruby 2.0 backwards incompatible changes

Ruby 2.0 backwards incompatible changes

From Peter Cooper's Walkthrough:

  • lines, bytes, chars, codepoints returned an Enumerator in 1.9 -> use each_lines, each_bytes, each_chars, each_codepoints instead for an Enumerator
  • # encoding: utf-8 is the default (which impacts regular expressions that expect it to be us-ascii, eg. vpim)
  • respond_to? on a protected method returns false (was true)
  • inspect doesn't use the redefined to_s
  • Array#values_at returns nil for each number outside of the array
  • CSV.dump & CSV.load are gone (object serialization)
@nathany
nathany / Gemfile
Last active December 21, 2015 04:09
Just another rescue project.
source 'https://rubygems.org'
ruby '1.8.7'
# server
gem 'rails', '2.3.18'
gem 'thin'
group :production do
gem 'rack-ssl' # included in Rails 3 (config.force_ssl = true)