Skip to content

Instantly share code, notes, and snippets.

@huydx
huydx / online_user_count.rb
Last active December 29, 2015 10:29
online_user_count.rb
class ApplicationController < ActionController:Base
before_action :update_online_status
def update_online_status
now = DateTime.now
expire_time = now + 5.minutes
current_time_key = "online_users:#{now.minute}"
$redis.sadd(current_time_key, current_user.id)
$redis.expireat(current_time_key, expire_time)
@huydx
huydx / tmux.conf
Created September 26, 2013 15:51
tmux.conf
# Make it use C-a, similar to screen..
unbind C-b
unbind l
set -g prefix C-a
bind-key C-a last-window
# Reload key
bind r source-file ~/.tmux.conf
set -g default-terminal "screen-256color"
class PdfMerger
def merge(pdf_paths, destination)
first_pdf_path = pdf_paths.delete_at(0)
Prawn::Document.generate(destination, :template => first_pdf_path) do |pdf|
pdf_paths.each do |pdf_path|
pdf.go_to_page(pdf.page_count)
require 'spec_helper'
describe Users::OauthCallbacksController, "handle facebook authentication callback" do
describe "#annonymous user" do
context "when facebook email doesn't exist in the system" do
before(:each) do
stub_env_for_omniauth
get :facebook
@huydx
huydx / check_close.js
Created July 30, 2013 07:04
check pop-up window is closed or not
var win = window.open('foo.html', 'windowName',"width=200,height=200,scrollbars=no");
var timer = setInterval(function() {
if(win.closed) {
clearInterval(timer);
alert('closed');
}
}, 1000);
@huydx
huydx / spepia.js
Created July 12, 2013 06:00
sepia effect
finalRed= (red * 0.393) + (green * 0.769) + (blue * 0.189);
finalGreen = (red * 0.349) + (green * 0.686) + (blue * 0.168);
finalBlue= (red * 0.272) + (green * 0.534) + (blue * 0.131);
@huydx
huydx / file0.txt
Created July 9, 2013 14:40
rubyでランダム文字列を生成 ref: http://qiita.com/huydx@github/items/1834326738c1e96393aa
rand(36**length).to_s(36)
source 'https://rubygems.org'
gem 'active_model_serializers', git: 'git://github.com/rails-api/active_model_serializers.git'
gem 'ember-rails', git: 'git://github.com/emberjs/ember-rails.git' # so we get the pre version
gem 'rack-mini-profiler', git: 'git://github.com/SamSaffron/MiniProfiler'
gem 'vestal_versions', git: 'git://github.com/zhangyuan/vestal_versions'
gem 'message_bus', path: 'vendor/gems/message_bus'
gem 'rails_multisite', path: 'vendor/gems/rails_multisite'
gem 'simple_handlebars_rails', path: 'vendor/gems/simple_handlebars_rails'
@huydx
huydx / get_linefunc.py
Created June 23, 2013 06:20
get_linefunc.py
def get_linefunc(self, start_p, end_p): #just for 2nd euclidian space
x1, y1 = start_p[0], start_p[1]
x2, y2 = end_p[0], end_p[1]
a = 0 if ((x2-x1) == 0) else (y2-y1)/(x2-x1)
b = -1
c = x1*a - y1
return {'a':a, 'b':b, 'c':c}
@huydx
huydx / init.rb
Created June 13, 2013 14:31
init.rb
def initialize(options={})
options.each do |key, value|
key = key.to_s
FriendRecommenderDB.class_eval do
attr_accessor key
end
send("#{key}=", value)
end
end