Skip to content

Instantly share code, notes, and snippets.

@hukl
hukl / varnish.vcl
Created July 15, 2011 15:27
Varnish Conf for local / subnet cache of ruby gems index
backend default {
.host = "production.s3.rubygems.org";
.port = "80";
}
sub vcl_recv {
set req.http.Host = "production.s3.rubygems.org";
return(lookup);
}
@hukl
hukl / last_changed.sh
Created August 26, 2011 14:57
Get revision when a given file was last modified
git log --pretty=format:%H file | head -n1
@hukl
hukl / Time.rb
Created September 13, 2011 15:08
Got to love ruby
Timecop.travel( 10.minutes.ago ) do
# do some stuff in the past
end
# Return back to normal
@hukl
hukl / has_many.rb
Created October 23, 2011 19:58
Rails has_many :through regression
class Order
has_many :order_tickets
has_many :tickets, :through => :order_tickets
end
class Ticket
has_many :order_tickets
has_many :orders, :through => :order_tickets
end
@hukl
hukl / has_many_through_boom.rb
Created October 24, 2011 18:49
has_many :through regression. behaves as if :uniq => true was set
require 'active_record'
# Print out what version we're running
puts "Active Record #{ActiveRecord::VERSION::STRING}"
# Connect to an in-memory sqlite3 database (more on this in a moment)
ActiveRecord::Base.establish_connection(
:adapter => 'sqlite3',
:database => ':memory:'
@hukl
hukl / gist:1364952
Created November 14, 2011 19:54
Ruby vs Erlang building URL query params for a GET request
-module(myjoin).
-export([join/1, join/2, start/0]).
start() ->
join( [{foo,"bar"},{baz,"bang"}] ).
join([H|T]) ->
{K,V} = H,
Acc = atom_to_list(K) ++ "=" ++ V,
@hukl
hukl / gist:1401981
Created November 28, 2011 20:49
Erlang Shell History Errors
[hukl@nine ~/Desktop/erlang:master]$ erl
Erlang R14B04 (erts-5.8.5) [source] [64-bit] [smp:8:8] [rq:8] [async-threads:0] [hipe] [kernel-poll:false]
*** ERROR: Shell process terminated! ***
{error_logger,{{2011,11,28},{21,45,14}},"~s~n",["Error in process <0.23.0> with exit value: {{case_clause,{error,{{bad_object,eval_work_list},\"/Users/hukl/.erlang-hist.nonode@nohost\"}}},[{group_history,load,2},{group_history,load,2},{group,server,3}]}\n"]}
{error_logger,{{2011,11,28},{21,45,14}},"~s~n",["Error in process <0.24.0> with exit value: {{case_clause,{error,{{bad_object,eval_work_list},\"/Users/hukl/.erlang-hist.nonode@nohost\"}}},[{group_history,load,2},{group_history,load,2},{group,server,3}]}\n"]}
{error_logger,{{2011,11,28},{21,45,14}},supervisor_report,[{supervisor,{<0.21.0>,user_sup}},{errorContext,child_terminated},{reason,{{case_clause,{error,{{bad_object,eval_work_list},"/Users/hukl/.erlang-hist.nonode@nohost"}}},[{group_history,load,2},{group_history,load,2},{group,server,3}]}},{offender,[{pid,<0.23.0
@hukl
hukl / gist:1919227
Created February 26, 2012 22:00
Scale Suffixes for rrdtool / munin
1024 E 24 yotta Y
1021 E 21 zetta Z
1018 E 18 exa E
1015 E 15 peta P
1012 E 12 tera T
109 E 9 giga G
106 E 6 mega M
103 E 3 kilo k
102 E 2 hecto h
101 E 1 deca da
@hukl
hukl / gist:2148571
Created March 21, 2012 15:35
Format / Tidy a big junk of json
With Python
cat big.json | python -mjson.tool > ~/Desktop/big_tidy.json
With Ruby (Keeps the order of the keys in ruby 1.9.x)
cat big.json | ruby -e 'require "json"; puts JSON.pretty_generate(JSON.parse(STDIN.read)) ' > big_tidy.json
@hukl
hukl / LSCOLORS
Created June 3, 2012 13:58
LS Colors for Smyck Color scheme
LSCOLORS="exfxcxdxbxegedabagacad"
LS_COLORS="di=34;40:ln=35;40:so=32;40:pi=33;40:ex=31;40:bd=34;46:cd=34;43:su=0;41:sg=0;46:tw=0;42:ow=0;43:"