Skip to content

Instantly share code, notes, and snippets.

View vijaydev's full-sized avatar

Vijay Dev vijaydev

  • India
  • 13:24 (UTC +05:30)
View GitHub Profile
@sanand0
sanand0 / viz.py
Created May 3, 2011 17:10
Utility functions for visualisations
'''
Usage: viz.py INPUT.csv [template.html] > OUTPUT.xhtml
'''
import re
import math
import logging
import datetime
import operator
from tornado import template
@vijaydev
vijaydev / Vim Tricks
Created April 27, 2011 12:51
Vim Tricks
.s@\(\d\+\)@\=(submatch(1) + 17)@
Search for numbers and replace them with results of expressions involving them. submatch(1) is \1 (groups in regexes)
require 'net/http'
require 'json'
###
# Stupid simple class for uploading to imgur.
#
# client = Imgur2.new 'my imgur key'
# p File.open(ARGV[0], 'rb') { |f|
# client.upload f
# }
@ches
ches / rvm-prompt.sh
Created February 20, 2011 16:02
An example of a bash prompt showing RVM Ruby version and active gemset
RED="\[\033[01;31m\]"
GREEN="\[\033[01;32m\]"
COLOR_NONE="\[\033[0m\]"
function ruby_version {
if [[ -f ~/.rvm/bin/rvm-prompt ]]; then
local system=$(~/.rvm/bin/rvm-prompt s)
local interp=$(~/.rvm/bin/rvm-prompt i)
if [[ ! -n $system ]]; then
# Don't show interpreter if it's just MRI
rvm use ree-1.8.7-2010.02@global
rvm gemset create rails2310
gem install rails -v=2.3.10
@igrigorik
igrigorik / ruby-1.9-tips.rb
Created February 3, 2011 17:19
Ruby 1.9 features, tips & tricks you may not know about...
def tip(msg); puts; puts msg; puts "-"*100; end
#
# 30 Ruby 1.9 Tips, Tricks & Features:
# http://www.igvita.com/2011/02/03/new-ruby-19-features-tips-tricks/
#
tip "Upgrading to Ruby 1.9 is simple: rvm install 1.9.2 && rvm --default 1.9.2"
tip "Ruby 1.9 supports named captures in regular expressions!"
yours: current_user.projects.inject(0){|sum,p| sum+= (p.users.count-1); sum}
mine: current_user.projects.to_a.sum { |p| p.users.count -1 }
git remote prune origin - to remove a deleted remote branch.
git rebase -i - interactive rebase with options to pick, squash, discard and reorder commits.
git update-index --assume-unchanged
Undoing a merge:
$ git pull $REMOTE $BRANCH
# uh oh, that wasn't right
$ git reset --hard ORIG_HEAD
# all is right with the world
@vijaydev
vijaydev / gist:713678
Created November 24, 2010 13:53
Unix/Linux
Use ssh-copy-id to install your public key in a remote machine's authorized_keys. Also takes care of the permissions of the remote user's .ssh and .ssh/authorized_keys.
ssh -t reachable_host ssh unreachable_host. Enables to connect to a host unreachable from current network but reachable from reachable_host's network.
To navigate to a directory, run a command and get back: (cd /to/dir && cmd_to_run)
To rip audio out of a video file: mplayer -ao pcm -vo null -vc dummy -dumpaudio -dumpfile <out_file> <in_file>
Rsync: rsync --recursive -avz -e "ssh -p 2020" user@machine:/path dest
@vijaydev
vijaydev / Rails
Created November 21, 2010 18:41
Rails
Rails 3 no longer auto loads the lib folder. We can make it auto load the lib folder by putting it in config/application.rb like thus: config.autoload_paths += %W(#{config.root}/lib)
All strings are HTML escaped by default in Rails 3. Need to call html_safe on strings which we know are sure to be safe to display the HTML properly.
Reserved words: "config", "process"
Specifying RailsEnv in Apache configuration (vhost/httpd.conf etc) for Passenger 3.0.0 does not work in Rails 3. Changing that to RakeEnv does the trick. This was fixed in Passenger 3.0.1.
To add the default integer primary key to a table which was created with :id => false setting, we can do add_column :table_name, :id, :primary_key