Skip to content

Instantly share code, notes, and snippets.

@jamster
jamster / to_csv.rb
Created January 7, 2011 16:07
simple way to create a csv (or tsv) of AR records
def to_csv(array_of_ar_objects, delim=",")
keys = array_of_ar_objects.first.attributes.keys
puts keys.join(delim)
array_of_ar_objects.map do |item|
keys.map{|key| item.send(key)}.join(delim)
end.join("\n")
end
@jamster
jamster / install_gems.rb
Created January 12, 2011 16:34
Script to install the gems that I have installed as of 1/12/11
gems = <<-GEMS
abstract (1.0.0)
actionmailer (3.0.3, 2.3.10)
actionpack (3.0.3, 2.3.10)
activemodel (3.0.3)
activerecord (3.0.3, 2.3.10)
activeresource (3.0.3, 2.3.10)
activesupport (3.0.3, 2.3.10)
addressable (2.2.2)
arel (2.0.6, 2.0.4)
@jamster
jamster / gist:833791
Created February 18, 2011 15:11
Change timezone on CentOS
mv /etc/localtime /etc/localtime.bak
cp /usr/share/zoneinfo/US/Eastern /etc/localtime
@jamster
jamster / gist:834455
Created February 18, 2011 21:35
IP Tables commands to allow web traffic, ssh traffic and port 4000 traffic
sudo iptables -A INPUT -i lo -j ACCEPT
sudo iptables -A INPUT -i ! lo -d 127.0.0.0/8 -j REJECT
sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
sudo iptables -A OUTPUT -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 4000 -j ACCEPT
sudo iptables -A INPUT -p tcp -m state --state NEW --dport 22 -j ACCEPT
sudo iptables -A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
sudo iptables -A INPUT -j REJECT
@jamster
jamster / rack-cloud-converter.rb
Created March 9, 2011 21:18
Rackspace Cloud Monthly Cost Calculator
header = "RAM Disk Price/Hour Price/Month"
x = DATA.read.split("\n").map do |x|
arr = x.split("\t")
monthly = arr.last[1..-1].to_f * 24 * 30
arr << "$#{monthly}"
arr.join("\t")
end.join("\n")
puts header
@jamster
jamster / git_commit_parser.rb
Created March 22, 2011 17:32
quick script to parse git logs and turn them to a data structure
# Usage:
# git log | ruby git_commit_parser.rb
# https://gist.github.com/881641
# By: Jason Amster
# jayamster@gmail.com
require 'rubygems'
require 'pp'
logs = STDIN.read
logs = logs.split("commit ")
@jamster
jamster / github_hire_scraper.rb
Created April 1, 2011 18:54
How many fucking people have gitub hired?
require 'rubygems'
require 'activesupport'
require 'bad_ass_extensions'
require 'nokogiri'
require 'open-uri'
class GitHubber
attr_accessor :header, :name, :date, :date_string, :links, :post
def initialize(hash, post)
@jamster
jamster / github_hire_scraper_censored_for_sensitivity.rb
Created April 4, 2011 20:21
How many fucking people have gitub hired?
require 'rubygems'
require 'activesupport'
require 'bad_ass_extensions'
require 'nokogiri'
require 'open-uri'
class GitHubber
attr_accessor :header, :name, :date, :date_string, :links, :post
def initialize(hash, post)
require File.dirname(__FILE__) + '/config/environment'
run ActionController::Dispatcher.new
require 'rubygems'
require 'base64'
require 'open-uri'
string = "hardware_version=google&app_version=1.0.0&api_key=asdf1234&device_id=1234&os_version=2.0&user_code=988748513"
encoded = Base64.encode64(string).gsub(/\n/,'')
puts encoded
puts Base64.decode64(encoded)
puts Base64.decode64("aGFyZHdhcmVfdmVyc2lvbj1nb29nbGUmYXBwX3ZlcnNpb249MS4wLjAmYXBpX2tleT1hc2RmMTIzNCZkZXZpY2VfaWQ9MTIzNCZvc192ZXJzaW9uPTIuMCZ1c2VyX2NvZGU9OTg4NzQ4NTEz")