Skip to content

Instantly share code, notes, and snippets.

@huydx
huydx / oshi.rb
Created February 5, 2013 16:03 — forked from anonymous/oshi.rb
require 'rubygems'
require 'eventmachine'
require 'em-websocket'
require 'json'
class Connection
attr_accessor :socket, :user_id
def initialize(socket, user_id)
@socket = socket
@huydx
huydx / gist:4707955
Created February 4, 2013 16:57
load lib into auto load path
config.autoload_paths += %W(#{config.root}/lib)
@huydx
huydx / gist:4707648
Created February 4, 2013 16:00
count line rb
find . -name "*.rb" | grep -v test | xargs wc -l
@huydx
huydx / gist:4634123
Created January 25, 2013 12:35
kill sh
kill $(ps aux | grep 'proc_name' | awk '{print $2}')
@huydx
huydx / gist:4583944
Created January 21, 2013 06:06
grep color
grep -Ri --color=always --include="*.rb" execute .
@huydx
huydx / https.rb
Last active December 11, 2015 09:59
https get with parameters in Ruby
def get_currentuser_info cookies=nil
uri_domain = "https://www.googleapis.com"
uri_path = "/oauth2/v1/userinfo"
params = {alt: "json", access_token: cookies[:access_token]}
uri_string = uri_domain + uri_path + "?" +
params.map{|k,v| "#{k}=#{CGI::escape(v.to_s)}"}.join('&')
uri = URI(uri_string)
response_hash = nil
Net::HTTP.start(uri.host,
uri.port,
@huydx
huydx / hiragana regex
Created January 6, 2013 14:13
hiragana regex
/^(?:\xE3\x81[\x81-\xBF]|\xE3\x82[\x80-\x93])+$/
@huydx
huydx / constructor.js
Created December 10, 2012 16:53
tweek object constructor js
function Library(a,b,c) {
if (window == this) {
return new Library(a, b, c);
}
}
@huydx
huydx / matrix.py
Created December 7, 2012 07:32
multidimensional matrix python
matrix = [[0 for col in range(size)] for row in range(size)]
@huydx
huydx / valid.js
Created November 29, 2012 17:54
javascript url validation regex
/^(https?|ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|