Skip to content

Instantly share code, notes, and snippets.

@selvan
selvan / chrome-bookmarks
Created December 16, 2012 15:26
Chrome extension to export all bookmarks
//manifest.json
{
"name": "bookmark-search-export",
"version": "1.0",
"manifest_version": 2,
"description": "This extention will dump all bookmarks",
"browser_action": {
"default_icon": "icon.png"
},
"background": {
@selvan
selvan / oauth2-google-refresh-token
Created January 23, 2013 08:42
Geting new access token using refresh token - Google oauth2
### Method 1
gem install oauth2
require 'oauth2'
client = OAuth2::Client.new(GOOGLE_KEY, GOOGLE_SECRET, {:site => 'https://accounts.google.com', :authorize_url => "/o/oauth2/auth", :token_url => "/o/oauth2/token"})
response = OAuth2::AccessToken.from_hash(client, :refresh_token => REFRESH_TOKEN).refresh!
@selvan
selvan / gist:fdb1b349fbee034351d2
Created October 25, 2014 08:58
Website Mirror wget
wget --mirror -p --convert-links -P ./ <<site>>
@selvan
selvan / sequence_gen
Last active August 29, 2015 14:10
Rails DB Sequence Generation
class CreateMerchantUniqIdGens < ActiveRecord::Migration
def change
create_table :merchant_uniq_id_gens do |t|
t.integer :count, :null => false
end
# Set initial count to 100
single_row = MerchantUniqIdGen.new
single_row.count = 100
single_row.save!
@selvan
selvan / gist:599347dbe7b418b83f0b
Last active August 29, 2015 14:10
Session Encryption Rails
module MyAppEncryptor
app = Rails.application
config = app.config
# PBKDF2 with SHA-1
key_generator = ActiveSupport::KeyGenerator.new(app.secrets[:secret_key_base], iterations: 1000)
secret = key_generator.generate_key(config.action_dispatch.encrypted_cookie_salt)
sign_secret = key_generator.generate_key(config.action_dispatch.encrypted_signed_cookie_salt)
@selvan
selvan / gist:332548ea8c1389100bdf
Created November 21, 2014 11:32
Random Alpha Numeric String Generator
module RandomAlphaNumeric
@deck = [(0..9), ('a'..'z'), ('A'..'Z')].map { |i| i.to_a }.flatten
def self.generate(length)
@deck.shuffle[0, length].join
end
end
@selvan
selvan / Docker
Created March 26, 2015 10:16
Docker
##[https://github.com/docker/docker/issues/9697#issuecomment-67232206 Install specific version of docker (Ubuntu)]##
echo deb http://get.docker.com/ubuntu docker main > /etc/apt/sources.list.d/docker.list
apt-key adv --keyserver pgp.mit.edu --recv-keys 36A1D7869245C8950F966E92D8576A8BA88D21E9
apt-get update
apt-get install -y lxc-docker-1.3.3
@selvan
selvan / HelloWorld.java
Created December 17, 2016 08:13
Yoga Layout engine - HelloWorld
import com.facebook.yoga.*;
public class HelloWorld {
public static void main(String s[]) {
YogaNode root = new YogaNode();
root.setWidth(500);
root.setHeight(300);
root.setAlignItems(YogaAlign.CENTER);
root.setJustifyContent(YogaJustify.CENTER);
root.setPadding(YogaEdge.ALL, 20);
@selvan
selvan / BUCK
Created December 17, 2016 08:14
BUCK Build Script - HelloWorld - Yoga Layout Engine
java_binary(
name = 'hello',
main_class = 'HelloWorld',
deps = [':hello_lib'],
)
java_library(
name = 'hello_lib',
srcs = ['HelloWorld.java'],
resources = [],
import 'dart:async';
import 'dart:isolate';
var mainReceivePort = new ReceivePort();
main() async {
await Isolate.spawn(hello, null);
await for (var msg in mainReceivePort) {
print(msg);
return;