Skip to content

Instantly share code, notes, and snippets.

@xjia1
xjia1 / gist:4413725
Last active September 2, 2022 20:09
Interesting CS Courses
@xjia1
xjia1 / book.tex
Created February 8, 2014 09:26
LaTeX中文书模板
\documentclass{book}
\usepackage{amsmath}
\usepackage{fontspec}
\usepackage{xunicode}
\usepackage{indentfirst}
%% XeTeX adds code when switching latin (0) or boundary (255) to CJK (1, 2, 3)
\XeTeXinterchartokenstate = 1
%% Fonts for Latin and CJK
# Authenticate users against a htpasswd file.
#
# This source file should be put under the app/models/ directory.
#
# Add
# gem 'htauth'
# to the Gemfile.local file and run
# bundle install --without development test
# again.
#
@xjia1
xjia1 / google_scholar.py
Created January 21, 2014 01:07
Search Authors on Google Scholar
import re
import urllib2
def get(url):
return urllib2.urlopen(url).read()
def search_author(name):
name = re.sub(r'\s+', '+', name)
page = get('http://scholar.google.com/citations?view_op=search_authors&mauthors=' + name)
m = re.search(r'(?<=/citations\?user=)\w+', page)
$ erlc zt.erl
$ erlc -pa . z.erl
z.erl:none: internal error in lint_module;
crash reason: {badarg,[{erl_scan,set_attr,
                                 [line,function,#Fun<erl_lint.9.103090672>],
                                 [{file,"erl_scan.erl"},{line,418}]},
                       {erl_lint,modify_line1,2,
                                 [{file,"erl_lint.erl"},{line,3352}]},
                       {erl_lint,eval_file_attr,2,
@xjia1
xjia1 / BinaryExprOfSize.java
Last active December 20, 2015 20:58
yield in Java
import java.util.Iterator;
import com.google.common.collect.AbstractIterator;
/*
i = 1;
j = n - 2;
while (i <= j) {
e1 = Main.exprOfSize(i);
while (e1.hasNext()) {
@xjia1
xjia1 / int-sqrt.rb
Last active December 20, 2015 18:18
Computing the integer square root of n
k = 0
j = 1
m = 1
while m <= n
k = k + 1
j = j + 2
m = m + j
end
# the answer is in k
@xjia1
xjia1 / sigtest.sml
Created May 30, 2013 11:38
Standard ML Signature Usage
$ sml
Standard ML of New Jersey v110.67 [built: Wed Apr 10 22:39:58 2013]
- use "sigtest.sml";
[opening sigtest.sml]
[autoloading]
[library $SMLNJ-BASIS/basis.cm is stable]
[autoloading done]
signature MYLIST =
sig
type 'a T
@xjia1
xjia1 / tcbenchnb.erl
Last active December 10, 2015 22:08
The idea is to create M x N threads, and measure the time cost for every N threads created. After a thread is created, it sends a message to let the main process continue, and finishes execution.
-module(tcbenchnb).
-export([start/2, init/2, thread/1]).
start(Total_Rounds, Step) ->
spawn(?MODULE, init, [Total_Rounds, Step]).
init(Total_Rounds, Step) ->
Start_Time = os:timestamp(),
create_threads(0, 0, Total_Rounds, Step, Start_Time).
@xjia1
xjia1 / tcbench.hs
Created January 9, 2013 13:27
Thread creation benchmark in Haskell
import Control.Concurrent
import Control.Concurrent.Chan
import System.Environment
import System.Exit
import System.Time
main = getArgs >>= start
start [s1,s2] = do
stopCh <- newChan