Skip to content

Instantly share code, notes, and snippets.

@l04m33
l04m33 / load_jquery.js
Created March 28, 2012 00:47
Bookmark link for loading the latest jquery on any page
javascript:void(function(){var%20s=document.createElement('script');s.src='http://code.jquery.com/jquery.js';document.getElementsByTagName('head')[0].appendChild(s);}())
@l04m33
l04m33 / img_flow.js
Created March 28, 2012 00:51
Funny script to make the 'img' tags flow
(function() {
var body = document.getElementsByTagName("body")[0];
var target_x = 10;
var target_y = 10;
var img_list = Array.prototype.slice.call(document.getElementsByTagName("img"), 0, 9);
function img_iter(f) {
for (var i in img_list) {
if (img_list[i].style) {
@l04m33
l04m33 / .vimrc
Last active October 3, 2015 08:28
My .vimrc
" Setting up Vundle
set nocp
filetype off
set rtp+=~/.vim/bundle/vundle/
call vundle#rc()
" Let Vundle manage Vundle
" Required by Vundle doc.
Bundle "gmarik/vundle"
@l04m33
l04m33 / gen_callback_server.erl
Created April 27, 2012 09:41
a callback server
-module(gen_callback_server).
-behaviour(gen_server).
-include("gen_callback_server.hrl").
-export([behaviour_info/1]).
-export([
start_link/4,
@l04m33
l04m33 / gen_callback_server.hrl
Created April 27, 2012 09:42
a callback server - header file
-ifndef(__GEN_CALLBACK_SERVER_HRL__).
-define(__GEN_CALLBACK_SERVER_HRL__, 1).
-type process_ref() :: pid() | {atom(), node()}.
-type server_ref() :: pid() | {{local, atom()} | {global, term()} | {via, module(), term()}, node()}.
-define(RECEIVE_CB, (fun gen_callback_server:receive_cb/2)).
-define(REPLY_CB, (fun gen_callback_server:reply_cb/1)).
-define(CLIENT_REPLY_CB, (fun gen_callback_server:client_reply_cb/1)).
-define(MIXED_REPLY_CB, (fun gen_callback_server:mixed_reply_cb/1)).
@l04m33
l04m33 / lib_nkeys.erl
Created July 20, 2012 09:48
An N-Way Ordered Dictionary
%%
%% 一个支持多键值记录的库
%%
%% 底层其实是1个gb_tree() + N个dict(),N是键值的数量。
%% 由于最初做世界聊天记录的时候要求按时间排序,所以用了gb_tree(),
%% 所以插入和删除会慢一点(大概几十微秒),但是查找会比较快(几微秒)
%%
%% 如果不在意顺序,完全可以把gb_tree()和dict()换成ets,插入/删除应该能快很~多倍
%%
%% 用法:
@l04m33
l04m33 / gist:3605849
Created September 3, 2012 00:21
my .tmux.conf
# $Id: vim-keys.conf,v 1.2 2010-09-18 09:36:15 nicm Exp $
#
# vim-keys.conf, v1.2 2010/09/12
#
# By Daniel Thau. Public domain.
#
# This configuration file binds many vi- and vim-like bindings to the
# appropriate tmux key bindings. Note that for many key bindings there is no
# tmux analogue. This is intended for tmux 1.3, which handles pane selection
# differently from the previous versions
#!/bin/bash
# get_src_url([url])
get_src_url()
{
local url=$1
if [ "$url" == "" ]; then
local merged_path=`svn propget svn:mergeinfo | head -n 1 | cut -d':' -f1`
local root=`svn info | sed -n '/^Repository Root: / { s/Repository Root: //g; p; }'`
@l04m33
l04m33 / .stumpwmrc
Last active December 27, 2015 01:19
My .stumpwmrc
(in-package :stumpwm)
(define-key *root-map* (kbd "C-c") "exec gnome-terminal")
(define-key *root-map* (kbd "c") "exec gnome-terminal")
(define-key *root-map* (kbd "C-e") "exec gvim")
(define-key *root-map* (kbd "C-h") "move-focus left")
(define-key *root-map* (kbd "C-j") "move-focus down")
(define-key *root-map* (kbd "C-k") "move-focus up")
(define-key *root-map* (kbd "C-l") "move-focus right")
@l04m33
l04m33 / grunt_layout.sh
Created November 19, 2013 15:01
Automatic Grunt layout
#!/bin/sh
function eject() {
local msg=$1
echo "$msg" 1>&2
exit 1
}
npm init || eject "'npm init' failed"