Monday, September 16, 2013

A Course in Machine Learning

http://blog.pengyifan.com/recommend-a-course-in-machine-learning/

Saturday, September 7, 2013

Friday, September 6, 2013

函数式编程的另类指南(3)

http://blog.pengyifan.com/%e5%87%bd%e6%95%b0%e5%bc%8f%e7%bc%96%e7%a8%8b%e7%9a%84%e5%8f%a6%e7%b1%bb%e6%8c%87%e5%8d%973/

Thanksgiving day

函数式编程的另类指南(2)

http://blog.pengyifan.com/%e5%87%bd%e6%95%b0%e5%bc%8f%e7%bc%96%e7%a8%8b%e7%9a%84%e5%8f%a6%e7%b1%bb%e6%8c%87%e5%8d%972/

Wednesday, September 4, 2013

MathJax with Blogger

MathJax in blogger.com is useful when I need to input equation in my blog. This is a instruction and test of using MathJax in blogger.com.
  1. set blogger.com template to "Simple". "Dynamic Views" seems not working.
  2. edit HTML by adding the following code between <head> and </head>.
    <script src='http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML' type='text/javascript'/>
    
  3. type math equation in the blog.
Note that, enclosing math in single $'s does not work. Instead, I use "\(" and "\)" for inline math and "\[" and "\]" for displayed math. For example:
\(\frac{2}{3}\)
will show an inline math "\(\frac{2}{3}\)", and
\\[z=\sqrt{x^2+y^2}\\]
will show a displayed math \[z=\sqrt{x^2+y^2}\]

Sunday, August 25, 2013

Markdown Editors

http://blog.pengyifan.com/best-markdown-editors-for-windows-linux-and-the-web/

Friday, June 21, 2013

Install texlive 2012 on Ubuntu 12.04


sudo add-apt-repository ppa:texlive-backports/ppa
sudo apt-get update
sudo apt-get upgrade

Friday, May 10, 2013

How to change the title of an xterm

  • ESC]0;stringBEL – Set icon name and window title to string
  • ESC]1;stringBEL – Set icon name to string
  • ESC]2;stringBEL – Set window title to string
An xterm title of username@hostname: directory:
    echo -n "\033]0;${USER}@${HOST}\007"

For bash
    case $TERM in
        xterm*)
            PS1="\[\033]0;\u@\h: \w\007\]bash\\$ "
            ;;
        *)
            PS1="bash\\$ "
            ;;
    esac

For zsh
    case $TERM in
        xterm*)
            precmd () {print -Pn "\e]0;%n@%m: %~\a"}
            ;;
    esac

Sunday, April 21, 2013

Install Oracle Java 7 on Ubuntu

1. install java
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update 
sudo apt-get install oracle-java7-installer

2. switch java
sudo update-java-alternatives -l
sudo update-alternatives --config java
sudo update-alternatives --config javac

4. for Eclipse, in eclipse.ini
/usr/lib/jvm/jdk1.7.0/bin/java

Ignoring DTD in XMLUnit


@BeforeClass
public static void onlyOnce() {

 XMLUnit.setIgnoreWhitespace(true);
 XMLUnit.setIgnoreComments(true);
 XMLUnit.setIgnoreAttributeOrder(true);

 // don't validate dtd
 DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
 dbf.setValidating(false);
 try {
   dbf.setFeature("http://xml.org/sax/features/namespaces", false);
   dbf.setFeature("http://xml.org/sax/features/validation", false);
   dbf.setFeature(
       "http://apache.org/xml/features/nonvalidating/load-dtd-grammar",
       false);
   dbf.setFeature(
       "http://apache.org/xml/features/nonvalidating/load-external-dtd",
       false);
 } catch (ParserConfigurationException e) {
   e.printStackTrace();
 }

 XMLUnit.setTestDocumentBuilderFactory(dbf);
 XMLUnit.setControlDocumentBuilderFactory(dbf);
}

Saturday, April 13, 2013

[转载]美国仙南渡国家公园 (Shenandoah National Park) 游记






春 夏秋冬四季,每个人的感受是不一样的。比如说秋季于我来说,确实给我以金色的感受,它代表一种收获、成熟和风韵。在老家时爬过好多次岳麓山,在北京五年半 近六年,风光优美的香山也游过两次,那时只知疯玩,不辨菽麦和枫叶红叶,往往是身在其中但是不觉其美;然而一旦这些离我远去,脑海之中剩下的,就只有一片 猩红,似觉不再可及企,无奈只好尘封在记忆深处。然而这尘封了的一片猩红,在我沉醉于 Shenandoah 的秋色后,又被重新唤醒,从我记忆深处走了出来。

去 年刚来这里时还是人生地不熟的,自然错过了赏秋的最佳时节,这份遗憾一直让我耿耿于怀。今年秋季一到,我就时班不时留意附近树叶颜色的变化,绿色的、红色 的、黄色的,总是蠢蠢地担心叶子一晚上会全部枯萎、飘去,化为尘泥。据别人介绍,又上网查询了一些资料,知道 Shenandoah 国家公园 (Shenandoah NP) 是看红叶的最佳地点之一,也是离东部各大城市最近的一个国家公园。看红叶的最佳时节是在十月的中下旬,尽管学业紧张,但还是决定忙里偷闲,释放一下久被压 抑的郁闷心情,于是选择十月下旬的一个周末和几个朋友一起去 Shenandoah NP。



Shenandoah NP 位于阿巴拉契亚山脉东支的顶端,起伏于崇山峻岭之间。阿巴拉契亚山脉是美国东部最主要的山脉,长约一千多公里,宽度一百到两百多公里,在大部分地段是几条 平行的山脉的统称。阿巴拉契亚山脉上开辟有两个国家公园: 大雾山 (Great Misty) 和 Shenandoah 国家公园,这也是美国东部各州中仅有的六个国家公园之中的两个。Shenandoah国家公园位于弗吉尼亚州,和西弗吉尼亚州交接的边界线不远,这一带阿 巴拉契亚山脉最东的一支被称为蓝岭山脉(Blue Ridge Mountains),再往西就是 Shenandoah 山脉,两者相距几十公里,中间有两条很弯曲的小河,各自蜿蜒在蓝岭山脉的东侧和 Shenandoah 山脉的西侧,都称为 Shenandoah 河,向北注入 波多马克河 (Potomac River),经华盛顿市区注入马里兰州的大西洋海湾。已故的著名乡村歌手约翰*丹佛 (John Denver) 的名曲“乡村之路,带我回家” (Country Road, Take me Home) 里这样唱道:

Almost Heaven, West Virginia,
Blue Ridge Mountain, Shenandoah River.
Life is old there, older than the trees,
Younger than the mountains, blowing like a breeze... 



就 是描述的这一带。不过 Shenandoah NP 不是按照其名位于 Shenandoah 山脉上,而是在蓝岭山脉上。公园狭长,南北约105英里 (约170公里),东西宽只有数公里不等。有一条约八十年前开辟的公路,纵横南北,称为 Skyline 公路 (意为天际线),海拔大约在900-1200米之间,在山顶曲折蜿蜒。天际线公路沿线有一百多个大小不一的风景观赏点 (称为Lookout),一般都建在欣赏角度比较开阔的山角拐弯处,每个风景观赏点都有十来个或者更多的泊车位置,可以停下来鸟瞰山下的枫叶、红叶、池 塘、小河,以及农牧场和大小城镇;也可以下车去徒步爬山,露营或者野炊,观赏奇山异石和山泉流水小瀑布,或者野生动植物,以及早期印第安人的生活遗迹和独 立战争等时期留下的历史遗迹。据旅游小册子上的介绍,这里有一些名贵的动植物。动物以品种不一的小鹿最常见,温驯可人,其中以弗吉尼亚白尾鹿最常见;其它 较珍贵的动物还包括黑熊、红色背脊的火蜥蜴、公主蝴蝶、盒状乌龟等。共约有四百多种稀有植物,其中以断蕨、货架状蘑菇、甜桦树、毒藤、蝴蝶奶草、血根花、 飞毒草、珍珠花等最有名。蓝岭山脉是世界上最古老的山脉之一,一度甚至高过落基山脉,不过由于地壳相对平静,禁不住雨打风吹,最高处海拔也只有四千多英尺 了。沿着天际线公路由北到南共有七十多座山峰,在“旧抹布山峰” (Old Rag Mountain),有些花岗岩已经存在了十多亿年之久,它们是已经发现的最古老的花岗石之一。正是:

露瑞有奇洞,不分夏与冬。神龙谷底绕,寒水浸石林。
蓝岭生雾气,迢遥似流云。宜诗又宜画,鬼斧无落痕。

我 们计划了两天的行程,早好多天就在位于公园中北部山脚的露瑞 (Luray) 小镇预定了旅馆。阿巴拉契亚山脉虽然不高,远不如西部的落基山脉和喀斯喀特山脉,但是很古老,大多形成于十二亿年或者更早的年代,但是不乏陡峭险峻之地, 这一带也因此有许多著名的溶洞,其中以位于肯塔基州的 Mammoth 溶洞国家公园最为著名。在 Shenandoah NP 的山脚也有两个著名的溶洞,其一位于露瑞,另一位于公园北入口的 Front Royal,两者之间只相距二十多公里,各具特色,门票价格也差不多,约十四美元。 露瑞是个小镇,在两座山脉之间的峡谷处,几十条小马路,估计只有两千人口,是随着露瑞溶洞而发展起来的小城市,也是附近农牧产品的集散地。不过两个溶洞都 没有划入 Shenandoah 国家公园系统。露瑞溶洞实际上是私人拥有,它以钟乳石乐器 (Stalacpipe Organ) 这个景点最为著名,这也是世界上最大的天然乐器。Stalacpipe Organ 是1954年由 Sprinkle 所领导的小组历时三年开发而成的,Sprinkle 本人是在五角大楼国防部工作的数学家和电子学专家。他测量了周围许多钟乳石柱的音阶、音质和音量等,安置了许多琴弦、电缆和包扎有橡皮的鼓槌等,音乐由鼓 槌击打钟乳石发出。当然,由于面积很大,几乎有四英亩,这一切必须由电子设备控制,但是原理和钢琴类似,而且操作演示平台就是一架钢琴的式样。

游 览溶洞也列在我们这次旅行计划之中,但是由于时间紧迫,连同旅途我们也只有两天的时间,所以我们只能择一而游,这次就是冲着这个天然乐器而舍弃了 Front Royal 溶洞。不过除了奇石外,露瑞溶洞也给我些许失望,主要原因是其人工色彩过于浓厚,而我喜欢原汁原味的大自然,偏爱那种静谧流韵之美,不喜欢过多的人工痕 迹。由于溶洞属于私人拥有,商业化了的铜臭就成了其主调,一如现在的冷水江波月洞和湘西的张家界,给装扮得光怪陆离,原先的雅静清幽不见了,首先映入匆忙 的游人眼帘的是一派灯红酒绿。被利益所世俗化了的不只是我等集市上喧嚣的人群,连同这等山清水秀之地也一同俗气化,空负洞里那些山水砌成的邀云乘鹤一般的 仙人。我们草草游了露瑞溶洞包括钟乳石乐器在内的几个景点,然后在镇上草草吃了一顿麦当劳快餐,就沿着 211号公路向东约十公里,缴纳十五美元的门票 (每辆车15美元,有效期一周),进入 Shenandoah NP。露瑞在公园的中北部,离北入口约四分之一的里程,由于时值下午,于是我们计划将车向北开,先游玩以北的一小段,然后转回露瑞小镇的旅馆,第二天再游 览南部的一段,如果时间允许,还计划下车去登山,欣赏更好的流水和岩石。



汽 车在海拔900-1200米左右的蓝岭山脉顶端的天际线公路蜿蜒而行。天际线公路是单行道马路,限速每小时35英里 (约56公里),加上天公作美,上午虽然阴雨绵绵,下午却是阳光明媚,和风习习;打开窗户,习习秋风吹在脸上,竟然毫无萧萧瑟瑟之感,反而给人一种欢畅的 惬意。道路两旁有很多高耸入云的原始乔木,主要为冷杉和北美冷杉,它们又直又高,柔韧异常,树冠直伸到离地一百多英尺的高空中,傲立寒风而无悔无惧,特别 是那些长于荒石之中的,依着峭壁而耸天而立,悠悠千百年,让人直叹生命的顽强和不屈不挠,应和着峭壁的鬼斧神工,让心灵以无以复加的震撼,顿觉自己的渺小 和苍白。此外还有生长茂密的松柏树、红木树和数量很多的冬树,以及品种不一的红叶树、紫叶树和枫树。道路在浓密的森林里沿着山势曲折前行,大部分的地方都 尽力保持自然生态,并没有多少人工痕迹,如披着纱巾的少女,羞答答地,安然恬静,远离尘嚣,与世无争。站在沿途的 Lookout 朝前方俯瞰,远处是一道隐隐青山 (阿巴拉契亚山脉西支),山脚是雾气缭绕着的农庄牧场,偶有成群的牛羊,以及蓝色如同流淌着的梦幻一般的 Shenandoah 小河,山腰处则是一望无际的秋叶风光图画。夕阳晚照下,只见媚绿、金黄、醉紫、丹红,各种各样的颜色尽染层林,任凭雾气缭绕,秋枫流丹。忽然想起了杜牧老 爷子的诗歌:“远上寒山石径斜,白云生处有人家。停车坐爱枫林晚,霜叶红于二月花。”诗意不分古今中外,杜老爷子这首诗也正是 Shenandoah NP 秋色的最好写照。

考古发现这里九千年前就有人类活动的踪迹,虽然不能肯定是印第安人留下的。不过对现在公园景观影响比较大的,还是 早年当地的印第安人和大约250年前在这里定居的欧洲殖民者,以及随后发生的一些战争,其中包括一次涉及数万军队的惨烈战斗。印第安人和欧洲殖民者曾经一 度大规模地伐木用于建房、取暖、造纸,山林地貌遭到很大程度的破坏。联邦政府在上世纪三十年代立法在蓝岭山脉设立 Shenandoah 国家公园时,这一带的森林覆盖率不足 80%。弗吉尼亚州政府历时十年,从当地居民那里征购土地,安置需要迁徙的农牧民,才初步建立起了公园,然后捐赠给联邦政府,给罗斯福政府奉献了一份厚 礼。蓝岭山脉这一带的风光并不是美国最好的,但是它离首都很近,是故还是有很特别的意义。当时世界处于经济大萧条时代,富兰克林*罗斯福总统为了提高民族 的自信心和凝聚力,亲自去 Shenandoah 山谷和天际线公路 (Skyline Drive) 视察露营,极大地鼓舞了当时国民那种萧瑟瑟的情绪。著名的CCC组织 (Civilian Conservation Corps) 在军队和当地居民的协助下先后义务设立了许多营地,为天际线公路的顺利开通奉献了自己辛勤的汗水。现在,即使公园在2000年惨遭一场历时近两周的大火的 屠戮,Shenandoah NP 的森林覆盖率仍然超过了 95%。

第 二天一大早我们就从旅馆出发,不一会儿就来到了 Skyland,这里也是天际线最高点,附近的 Stony Man 山峰也是整个蓝岭山脉的最高点,也以山泉和瀑布著称。就秋色来说,整个公园由北到南其实都差不多,考虑到天色尚早,我们并且决定下车,到附近登山探险。天 际线附近就是著名的阿巴拉契亚探险道,长达一千多公里。踩着林中厚厚的一层落叶和腐殖质,许多老树横倒在林中,上面结满了青苔、墨耳和蘑菇。林下偶能见些 兀自泛绿的本草类植物,山水间原始乔木林梢偶尔传来一两声不知名的鸟鸣,应和着自山峰而下的山泉瀑布声,更增立体感,更显得清脆悦耳,回肠荡气,婉转悠 扬。深秋的飞鸟几声随意鸣唱,竟然源自这山峰最高处,那个我无法及企的高度。在十九世纪八十年代早期,一个十六岁的少年郎,名叫乔治*弗里曼*帕罗克 (George Freeman Pollock),为了采集地质标本而在这一带扎营。后来,经过许多失败和努力,这个少年成功地将这里辟为了一个暑期度假胜地,在1895年时这里已经建 设得远近知名了。他将这个营地命名为“石人之营”(Stony Man Camp),后来石人之营更名为 Skyland (亦即天际之地)。他并没有去效仿当时流行的休闲胜地的经营模式,例如那些位于纽波特的休闲别墅和缅因州的贵族营地,帕罗克将基调定为田园牧歌式,并且开 设了许多营地节目,例如中世纪的马术比赛、篝火晚会、印第安人民族舞蹈等,此举获得空前成功,吸引了大批来自费城、华盛顿、巴尔的摩等地的职业人士和中上 层社会精英来这里消闲度假。帕罗克的 Skyland 历史变迁也记载了美国社会历史的变迁,时尚、口味、道德伦理、女性的社会地位等。美国历史短暂,不足以和博大精深、源远流长的中华历史相提并论,但是它就 发生在眼前,就发生在昨天,细密无间,品味起来自有一份详实和亲切感。

石 人之营 (亦即 Skyland) 附近除了山石和营地外,以六个首尾相顾的山泉瀑布最为著名。六个瀑布起起落落,第一个和最后一个相距有好几公里。择一而赏,向上放眼望去,只见从略显陡峭 的乱石头壁崖之上倾泄下几股清泉,规模不大,或稀疏或浓密,击石之声似声乐,自是泠泠自成天韵,润物细无声。仿佛这诺大的公园之所以山灵水秀,都仗这这些 天泉昼夜不息的陶冶和洗涤。而那些任凭流水洗涤的残石,或圆滑温润、雅韵灵性自如如,或险峻如刀削,纵横纹路,满是绿藓苍苔,沉默寡言,似乎千百年来不曾 移动过身子,生生世世呵护着山泉,生怕失去了她,让她蒙受惊吓。不知这清清的山泉瀑布,几生几世能流进山下蓝蓝的 Shenandoah 河水?山泉之韵于我而言,仿佛一首不绝的少女之歌,情窦初开的那种,悠然我心,不问山外花开花谢,唱得青山千年后悄然老去,唱得日子一天一天地飘去,年复 一年,唱得我的短暂青春也终将逝去,而她却依然不知不觉,悠悠绿水永长流。

Texlive and CJK

  1. suppose texlive and CJK is installed correctly
  2. install fontforge
    sudo apt-get install fontforge
    
  3. download font.tar.bz2
  4. prepare font song.ttc, and generate font files
    fontforge -script subfonts.pe simsun.ttc song Unicode.sfd
    
  5. create bash script makemap.sh, run the script to generate map file
    if [ -f song.map ]; then
        rm song.map
    fi
    for i in *.tfm
    do
        echo "${i%.tfm} ${i%.tfm} <${i%.tfm}.pfb" >> song.map
    done
    
  6. create c70song.fd
    % This is c70song.fd for CJK package.
    % created by Edward G.J. Lee
    % modify by Yue Wang
    \ProvidesFile{c70song.fd}
    \DeclareFontFamily{C70}{song}{\hyphenchar \font\m@ne}
    \DeclareFontShape{C70}{song}{m}{n}{<-> CJK * song}{}
    \DeclareFontShape{C70}{song}{bx}{n}{<-> CJKb * song}{\CJKbold}
    \endinput
    
  7. check system conf file location
    kpsewhich texmf.cnf
    
  8. change TEXMFHOME to
    TEXMFHOME = $HOME/texmf
    
  9. change TEXMFDBS to
    TEXMFDBS = $TEXMFHOME;$TEXMFLOCAL;$TEXMFMAIN;$VARTEXFONTS;$TEXMFSYSVAR;$TEXMFDIST
    
  10. mimic texmf tree and copy fonts and configs. texmf should match those in TEXMFHOME
    mkdir -p ~/texmf/fonts/map/dvips/CJK
    mkdir -p ~/texmf/fonts/tfm/CJK/song
    mkdir -p ~/texmf/fonts/type1/CJK/song
    mkdir -p ~/texmf/tex/latex/CJK/UTF8
    
    cp song.map   ~/texmf/fonts/map/dvips/CJK
    cp *.tfm      ~/texmf/fonts/tfm/CJK/song
    cp *.pfb      ~/texmf/fonts/type1/CJK/song
    cp c70song.fd ~/texmf/tex/latex/CJK/UTF8
    
  11. update system conf
    sudo texhash
    updmap
    
  12. in $HOME/texmf/fonts/map/pdftex/updmap/pdftex.map, append content in song.map

Wednesday, April 10, 2013

Tuesday, April 9, 2013

Bash IO redirection

> filename
>> filename
1> filename
1>> filename
2> filename
2>> filename
&> filename
2>> &1

Monday, March 11, 2013

Cygwin SSH tip


if you use ssh-keygen to generate public key, use ssh-copy-id, and get the following msg while logging in remote device,
permission for id_rsa are too open
try
1. cd .ssh
2. chmod 600 id_rsa known_hosts

if you can not change the permission of id_rsa, try
1. chgrp -r Users id_rsa
2. chmod 600 id_rsa

if you define hostname aliases in SSH config, and get msg
Bad owner or permissions on /home/[username]/.ssh/config
try
1. chgrp -r Users config
2. chmod 600 config

Friday, February 22, 2013

Mount Nikon D5100 on Ubuntu 12.10


0. install gphoto2 

1. lsusb

Bus 001 Device 003: ID 046d:c31c Logitech, Inc. Keyboard K120 for Business
Bus 002 Device 007: ID 04b0:0429 Nikon Corp.
Bus 002 Device 003: ID 03f0:a407 Hewlett-Packard
Bus 002 Device 004: ID 03f0:0d17 Hewlett-Packard LaserJet 1012


2. gvfs-mount "gphoto2://[usb,002,007]", with quotes
    002 is the Bus number, 007 is the Device number

3. check /run/user/[username]/gvfs or ~/.gvfs

Monday, February 18, 2013

How to install Fcitx on Kubuntu

  1. sudo apt-get install fcitx kde-config-fcitx fcitx-ui-classic fcitx-googlepinyin
  2. im-switch -s fcitx -z default
  3. fcitx -r
  4. run qtconfig, in "Interface", choose "Default Input Method" to "fcitx"