Skip to content

Instantly share code, notes, and snippets.

View scotttam's full-sized avatar

Scott Tamosunas scotttam

View GitHub Profile
@scotttam
scotttam / app_duration_mixpanel.rb
Created January 26, 2011 20:53
Putting app running time metrics into mixpanel
#If you see 1 on the terminal, that's success. 0 is bad.
require 'rubygems'
require 'base64'
require 'json'
event_hash = {}
event_hash['event'] = "app_time"
event_hash['properties'] = {:token => "4130e0e1bf5ade215e80ebc0b7765b6f", :publisher_id => "1234", :app_id => "5678", :time => Time.now.to_i, :duration => rand(10000)}
@scotttam
scotttam / app_start_time_mixpanel.rb
Created January 26, 2011 20:56
Recording app start times with mixpanel.rb
#If you see 1 on the terminal, that's success. 0 is bad.
require 'rubygems'
require 'base64'
require 'json'
event_hash = {}
event_hash['event'] = "app_start"
event_hash['properties'] = {:token => "4130e0e1bf5ade215e80ebc0b7765b6f", :time => Time.now.to_i, :publisher_id => "1234", :app_id => "5678", :start_time => Time.now.to_i}
@scotttam
scotttam / watch_unicorn.sh
Created April 13, 2011 12:56
script to watch the unicorns
#!/bin/sh
loop_count=10000
while [ $loop_count -gt 0 ]; do
clear
ls -l /data/server/current
uptime
ps wax --forest | grep [u]nicorn
sleep 1
echo "Refreshing..."
@scotttam
scotttam / tracker.rb
Created May 26, 2011 17:24
Pull down the tracker stories
begin
require 'pivotal_tracker'
rescue LoadError
puts "This script requires the pivotal-tracker gem: gem install pivotal-tracker"
exit(1)
end
CLIENT_TOKEN = 'GET YER OWN'
PROJECT_ID = 12345
MILESTONE_LABELS = ['m1', 'm2', 'm3', 'm4']
parse_git_branch() {
git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/(git::\1)/'
}
export PS1="\[\033[00m\]\u@\h\[\033[01;34m\] \w \[\033[31m\]\$(parse_git_branch)\[\033[00m\]$\[\033[00m\] "
alias ss='script/rails server'
alias c='script/rails console'
alias start_resque='rake VVERBOSE=1 QUEUE=* environment resque:work --trace'
alias start_ios='cd ~/workspace/katama_server; ruby script/ios_resque_endpoint.rb'
@scotttam
scotttam / gist:1683489
Created January 26, 2012 16:02
failed iOS compilation
cd /var/folders/9n/980qyb090qj5xnbvct2z45rm0000gp/T/4f2176bcb2c2097f8b0001e2/1327593542/IOS
setenv LANG en_US.US-ASCII
setenv PATH "/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Developer/usr/bin:/Users/scotttam/.rvm/gems/ruby-1.9.2-p180@katama_server_push/bin:/Users/scotttam/.rvm/gems/ruby-1.9.2-p180@global/bin:/Users/scotttam/.rvm/rubies/ruby-1.9.2-p180/bin:/Users/scotttam/.rvm/bin:/opt/local/bin:/opt/local/sbin:/Xcode4/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/usr/local/mysql/bin:/Users/scotttam/workspace/users/brightcove/bin:/Applications:/Users/scotttam/ec2/bin"
/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/llvm-gcc-4.2 -x objective-c -arch armv7 -fmessage-length=0 -pipe -std=c99 -Wno-trigraphs -fpascal-strings -Os -Wreturn-type -Wunused-variable -isysroot /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk -gdwarf-2 -fvisibility=hidden -mthumb -miphoneos-version-min=4.0 -iquote /var/folders/9n/980qyb090qj5xnbvct2z45rm0000gp/T/4f2176bcb
@scotttam
scotttam / apns_test.rb
Created January 28, 2012 20:19
apns test
require "base64"
require "openssl"
require "socket"
require "yajl" #gem install yajl-ruby
IDENTIFIER = 0
EXPIRY = 0
ENHANCED_COMMAND = 1
DEVICE_TOKEN_SIZE = 32
# DEVICE_TOKEN = Base64.decode64("4DJXVKUhziWwNihDfraFXXZ4RIJK+dCHoiS3awnh0w0=")
@scotttam
scotttam / rev_split_num.rb
Created February 10, 2012 02:03
Reverse split a big number
def log(what, str, offset=0)
len = str.length
puts sprintf("| %-25s | %30s | (%-2s) |", what, str << " "*offset, len)
puts "_____________________________________________________________________"
end
def doit(match, buffer_size)
sl = match.slice(-14, 14)
log "14 of first 16", sl, buffer_size
@scotttam
scotttam / runtime.rb
Created February 17, 2012 12:01
Instrument bundler for gem load performance
def require(*groups)
gem_load_times = {}
groups.map! { |g| g.to_sym }
groups = [:default] if groups.empty?
@definition.dependencies.each do |dep|
# Skip the dependency if it is not in any of the requested
# groups
next unless ((dep.groups & groups).any? && dep.current_platform?)
#!/usr/bin/env node
var crypto = require('crypto');
function encode(cryptkey, iv, cleardata) {
var encipher = crypto.createCipheriv('aes-256-cbc', cryptkey, iv),
encoded = encipher.update(cleardata);
encoded = Buffer.concat([encoded, encipher.final()]);
return encoded;