Friday, December 23, 2011
三分鐘熱度?
Friday, December 9, 2011
Applescript to export your iPhoto albums according to the hierachy
Monday, November 7, 2011
蛋疼了,剛發現 GFW 還是雙向的
Friday, October 14, 2011
最近的一些事
Thursday, September 22, 2011
"哥哥,我想你了"
Friday, September 9, 2011
Survey on Network Reliability Problem
Wednesday, August 31, 2011
Suffix tree: an illustration of the algorithm
Other useful resource include this tutorial and online suffix tree computation form. Here's an excellent java applet that can generate the suffix tree on the fly. Finally, another detailed tutorial is given by Prof Sartaj Sahni, but I found the presentation introduced lots of symbols and quite hard to follow. A lecture note from Prof. Shaojie Zhang is written clearly, though not many details given.
The concept was first introduced as a position tree by Weiner in 1973, which Donald Knuth subsequently characterized as "Algorithm of the Year 1973". The construction was greatly simplified by McCreight in 1976, and also by Ukkonen in 1995. Ukkonen provided the first online-construction of suffix trees, now known as Ukkonen's algorithm, with running time that matched the then fastest algorithms.
Tuesday, July 26, 2011
[Update] 关于 Mac OS X 的 filesystem encoding
The problem is that MacOS X's default filesystem changes all filenames you give it to an unusual normalization form which does not use precomposed characters.
The Unicode standard defines various normalization forms of a Unicode string, based on the definition of canonical equivalence and compatibility equivalence. In Unicode, several characters can be expressed in various way. For example, the character U+00C7 (LATIN CAPITAL LETTER C WITH CEDILLA) can also be expressed as the sequence U+0327 (COMBINING CEDILLA) U+0043 (LATIN CAPITAL LETTER C).
Monday, July 25, 2011
Sunday, July 24, 2011
Update: 关于迅雷离线下载 以及 Windows 的 zip 在 Linux 下乱码
关于在 linux 下,用 chrome 下载迅雷离线文件乱码的问题
> [ĸÇ×].Mother.mkv
>
如果在 python 里面 print 出来则是这么一段:
> '[xc3x84xc2xb8xc3x87xc3x97].Mother.mkv'
(原串是 '[母亲].Mother.mkv')。我的用户编码设置是 en_US.UTF-8,如果我设置为 zh_CN.GB18030,则能正确识别出该字串,但是不能保存该文件到硬盘,因为我的 hdd 都是用 UTF-8 编码的。所以猜测是,在 UTF-8 环境下,浏览器读入了 GBK 编码的字串,但是直接理解为了 unicode 的字串,并且直接把它们编码成了 UTF-8。
以'母'字为例,下面这幅图解释了问题所在:
http://iveney.files.wordpress.com/2011/07/image.png&h=297
所以,上面字串中,'xc3x84xc2xb8'对应了'母'字,而 'xc3x87xc3x97' 对应了'亲'字。
解决的方法就是把这个过程逆转过来做一次。我用 python 稍微写了一下,稍微有点繁琐,不知道能不能简化。
大致的思路就是,先把非ascii的字符匹配出来,然后每4个作为一个组(代表了一个 GBK 的字符),
然后decode 为 unicode code point。这时的 code point 的 *value* 实质上是 GBK 的字符编码,但因为它是一个 unicode object,因此必须把它转换为一个普通的 str。转换完后,就可以从 GBK decode 为 unicode 了。当然输出时,我们要再 encode 它为 UTF-8。
示例代码在这里 (https://gist.github.com/1101679) 。
Wednesday, July 20, 2011
klayout
#!/bin/shKLAYOUT_APP_DIR=/Applicationsbinary="$KLAYOUT_APP_DIR/klayout.app/Contents/MacOS/klayout"exec "$binary" ${1:+"$@"}
CS study
Eva补完计划
人类补完计划, 补, 补充, 完, 完成. 在TV版里, 可以简单理解为人类心灵的补完.
当然其内涵远远不止这么简单. 而我,要发动一个Eva补完计划.
最近逐渐开始收集购买Eva的各种模型.
亦可谓对童年愿望的一种"补完".
补完童年的缺憾.
重温当年的感动.
小时候囊中羞涩, 没有办法购买一些相关的物品,来保存那份时光.
一个模型要价200多人民币, 放在高中,也已经接近一个月的伙食费.
更无论到了初中还没见过这么大数量金额的自己.
时至今日, 终于有能力并下定决心一一补完.
永远不要忘记当年心底那一丝美好的愿望.
小孩子渴望玩具的心情, 自己长大后弥补.
Wednesday, June 29, 2011
Embedding Lua for scripting
Tuesday, June 28, 2011
用DNS隧道实现免费上网
Sent to you by Ivan Z. Siu via Google Reader:
来自: Creke Blog - FeedzShare
发布时间:2011年06月20日, 已有 5 人推荐
大多数机场、酒店之类场所,当你输入一个网址比如www.google.com时,会弹出一个页面要你输入帐号密码才能上网。这个时候DNS能正确解析,但是上网要付费认证。
可以通过DNS隧道来实现免费上网。具体做法是:
(1)找一个支持DNS解析的域名,现在这类免费域名很多,比如tk的、co.cc的。假设该域名是
abc123.tk
(2)在tk的注册机构里,设置abc123.tk的NS服务器为你自己的主机(最好是Linux VPS),例如:
abc123.tk. IN NS ns.abc123.tk.
ns.abc123.tk. IN A 74.81.81.81
(3)在74.81.81.81上,以root身份运行一个Perl脚本(这个脚本来自Dan Kaminsky的OzymanDNS包):
./nomde.pl -i 0.0.0.0 abc123.tk
上述脚本会侦听在UDP 53端口,接受DNS请求,并且只解析abc123.tk域。
(4)在客户机上(要求有ssh,最好是Linux系统),运行如下命令:
ssh -ND 7070 -o ProxyCommand="./droute.pl sshdns.abc123.tk" user@localhost
上述ssh命令,-ND 7070表示在本机打开7070的socks 5代理端口。droute.pl是DNS隧道的客户端工具,同样来自于OzymanDNS包。sshdns是固定的主机名,加在域名abc123.tk前面。user是你在74.81.81.81上的登录名字,@localhost是固定的,不需要改(因为隧道过去后,就是74.81.81.81本机)。
运行上述ssh命令后,会提示输入密码。输入正确密码后,就和远程主机建立了ssh连接,获取到一个SSH终端。并且,在本机打开了7070的socks 5代理端口。配置浏览器使用这个代理端口,开始享受免费冲浪吧!
Things you can do from here:
- Subscribe to FeedzShare 1天最热 using Google Reader
- Get started using Google Reader to easily keep up with all your favorite sites
Wednesday, June 22, 2011
关于 Mac 自带的 Cairo, libpng
sudo rm -rf /opt/X11* /Library/Launch*/org.macosforge.xquartz.* /Applications/Utilities/XQuartz.app /etc/*paths.d/*XQuartzsudo pkgutil --forget org.macosforge.xquartz.pkg
Tuesday, May 24, 2011
[FOSS] get-shit-done
Thursday, May 5, 2011
[繼續貢獻]我是一名吉他手,昨天晚上去相親,感覺現在的女生..
先問了一個"大三和絃與小三和絃有什麼區別?",她楞在那裏半天,既不回答,也不說說自己的觀點。
看她對和絃理論沒什麼研究,就問一點實際一點的問題吧"怎麼在雙搖琴上實現Joe式的尖叫人工泛音",她說話了"雙搖琴?人工泛音?"
崩潰了,萬般無奈之中,記得女孩子普遍對感情敏感,"爲什麼英格威使用的和聲小調音階會給人帶來一種古典音樂的感覺?"她終於活躍了:"英格威是誰?...和聲小調音階?..."
[貢獻一個爛gag]我是一名理論計算機研究僧,昨天晚上去相親,感覺現在的女生⋯⋯
先問了一個"確定性圖靈機與非確定性圖靈機有什麼區別?",她楞在那裏半天,既不回答,也不說說自己的觀點。
看她對複雜性理論沒什麼研究,就問一點簡單的證明問題吧"怎樣證明一般圖上的旅行推銷員問題是無法近似的",她說話了"旅行推銷員問題?無法近似?"
崩潰了,萬般無奈之中,記得女孩子普遍對時間敏感,"怎麼實現背包問題的僞多項式時間的動態規劃?"她終於活躍了:"僞多項式時間?...動態規劃?..."
給 blogspot 裝了一個插件,可以顯示 TeX 公式了
Friday, March 11, 2011
顺应潮流,咆哮一下:在美国读PhD的男纸乃们伤不起啊伤不起!!!!!!!!!!!!!!!!!!
在美国读PhD的男纸乃们伤不起啊伤不起!!!!!!!!!!!!!!!!!!
老子半年前开始读PhD!!!!!于是尼玛踏上了不归路啊!!!!!!!
现在搞得老子天天睡不着觉啊!!!!!!各种内分泌失调啊!!!!!!!!!!!!!!!!
别人都用PhD猥琐男来称呼我啊!!!!!!!!!!!谁TM想做wsn啊!!!!!!!
读PhD的男纸很辛苦啊!!!!!!!!
每天上课有没有有有没有!!!!!!!!!!
每天做作业有没有有有没有!!!!!!!!!
每天写report有没有有有没有!!!!!!!!!有没有有有没有!!!!!!!!!
每天搞project有没有有有没有!!!!!!!!!有没有有有没有!!!!!!!!!
每天写代码有没有有有没有!!!!!!!!!有没有有有没有!!!!!!!!!
尼玛很累的啊!!!!
别人晚上都在抱妹子啪啪啪神马的啊!!!!!!!!!!!!!
哥还必须在实验室呆到3点然后坐半小时公车回家啊!!!!!!!!!!!!!!
每天睡眠不足5个小时啊!!!!!!!!!!!!!
一到due day就各种通宵啊!!!!!!!!!!!!!!!!!!!!!!!!
上班时间不固定啊!!!!!!!!!!!!!!!!有尼玛自由啊!!!!!!!!!!!!!
有没有周末都一个鸟样啊!!!!!!!!!
在美国读PhD的男纸更是伤不起中的战斗机啊!!!!!!!!!!
都说美国是什么好地方啊!!!!!!!!!!!!!!!!!!!!
破农村走5分钟路碰到一个人就算多的啦!!!!!!!!!!!!!!!!!
都说韩国菜墨西哥菜西餐好吃啊!!!!!!!!!!
尼玛好吃条毛啊!!!!!!!!!!!!!!!!!!!!!!
中餐馆10块美金一碟青菜啊!!!!!!!!!!!!!!!!
尼玛敢再贵一点吗!!!!!!!!!!!!!!!!!!
每个月房租电话费伙食费油费加起来上千美金啊!!!!!!!!!!!!!!!
以上省略三万字,有没有!!!!!!!!!!!!!!!!!!!!!!!
总之读PhD的上辈子都是折翼的天屎啊!!!!!!!!!!
在美国读PhD的上辈子都是折了翼又折小鸡鸡的天屎啊!!!!!!!!!!!
Tuesday, February 15, 2011
Short notes about LaTeX2e fonts
- 每种font有五个attributes:
- encoding, 如OT1, T1 等。
- family, 如cmr (=Computer Modern Roman), ptm (=Adobe Times)等. 值得注意的是,family 又分为三种:
- roman (serif),即衬线字体
- sans serif,即无衬线字体
- typewriter (monospace),即等款字体
- series, 如m for medium, b for bold
- shape, 如n for normal, it for italic, sl for slanted, sc for caps and small caps.
- size, 如1.5in, 3mm
- 所以,OT1 cmr m n 10 就是指 Computer Modern Roman 10 point, TeX 里面的font name就是cmr10
- 所以,平时见的\textxx command就是用来设置这写attr的。如\textrm{..} 用来更改 family, \textbf{..} 更改 series, \footnotesize 更改size 为 8pt
- 用于底层的font selection command为\font... 系列。如\fontfamily 用来选择family
- 使用author commands来直接选择字体。上面所说的如\textrm会选择一种现在选定的roman字体(\rmdefault)。因此要更改这个设置,则可以更新\rmdefault:
- \renewcommand{\rmdefault}{ptm}
- 数学字体与文本字体不同,并且更复杂。比如上面的命令只改变了文本字体,而没有改变数学字体。所以一般是用package来封装、完成上面所说的这些命令。
- 比如要把文本和数学字体都改为Times, 则执行 \usepackage{mathptmx}
- LaTeX包含有可用的minimum font sets ``PSNFSS collection'',除了默认的Knuth大爷的Computer Modern,还有Times, Helvetica, Palatino, Chater等,强烈建议参考 [2].
- 注:在 PSNFSS 里有一个pifont,包含了一些有趣的符号。如扑克牌……
- 执行 pdftex testfont 可以测试LaTeX能用的字体。执行后,输入字体名字(如cmr10),然后 \sample, \bye。TeX会生成对应的一个示例。font-change [6] 给出了一份不错的参考。
- 通过\mathbf 等命令来使用某种特别的数学字体。型如 \mathbf 的字体称为 math alphabets。它们只能在数学模式内使用。
- 数学字体与文本字体一样具有五个attribute。然而,它们并不能被单独设置,而只能通过设置 "math version" 来设置。predefined的math version有normal和bold。它们只能在数学模式外调用。如 \mathversion{bold} 选择使用了 \boldmath 这个math version。
- 综上所述,要选择特定的数学字体,必须使用如下的步骤:
- 定义一个新的mathversion:如 \DeclareMathVersion{normal}
- 定义相应的mathalphabet,如\SetMathAlphabet{\baz}{normal}{OT1}{cmss}{m}{n}, 它设置 \baz 为 normal 这个 math mode 的一个math alphabet,其中的OT1, cmss m, n参数意义如文本字体
- 定义数学符号字体以及数学符号。以上只是设置了math alphabet的字体,还必须为符号再定义一套字体。参考 [1]。
- 定义数学字体大小。有四种大小:\textstyle, \displaystyle, \scriptstyle 与 \scriptscriptstyle,使用\DeclareMathSizes设置。
- 最后,使用 \mathversion 来选用这个 math version.
Tuesday, February 1, 2011
用 ruby 做url decode
%C0%EE%BD%A1.(%B8%BD%D4%F9MV).%B7%E7%B4%B5%C2%F3%C0%CB
#!/usr/bin/env ruby
# -*- coding: utf-8 -*-
require 'uri'
require 'iconv'
if ARGV.size <= 0
puts "Usage: ./urldecode url ..."
exit
end
ARGV.each do |a|
str=URI.decode("#{a}")
puts Iconv.conv("utf-8", "gbk",str)
end
李健.(附赠MV).风吹麦浪