喜欢文化杉

June 15, 2010
Tags: ,



现在非常喜欢文化杉,去年搞个两个 python 的文化杉(因为我喜欢 python ,平常也经常使用它),今天又买了两个 DA CODE 文化杉,是 apple4.us 那帮人搞出来的。第一眼看到这系列文化杉就特别喜欢,很喜欢这种风格,也觉得很有内涵。zeuux-babe-python-chumo-cool

我是一个还比较喜欢有内涵的衣服,但又不喜欢去挑衣服的人。所以当看到我非常喜欢的文化杉时都想要一件。

发现中文 wikipedia 上没有关于“文化杉”的词条,在百度百科上查到了文化杉的历史。

美国士兵在第一次世界大战期间,注意到欧洲士兵使用的棉质内衣轻巧舒适,而自己的士兵则穿着羊毛(绵)制服,大汗淋漓。这种棉质汗衫在美国士兵之间马上成为抢手货,并其形状而称之为T恤。第二次世界大战期间,T恤成为了美国陆军及海军的标准内衣。
二战后T恤开始以外衣形式出现。约翰·韦恩、马龙·白兰度、詹姆士·狄恩都曾在全国电视如此穿着过。公众当初对此大为惊讶,但到了1955年社会开始接受这种服装。詹姆士·狄恩在电影《无因的反抗》(Rebel Without A Cause)中的穿着,让T恤成为时尚的服装。
1960年代,T恤成为了西方潮流中年轻人和摇滚音乐爱好者的基本装束。人们也开始以扎染和丝网印刷等方式改装T恤,女装吊带背心、香港俗称“鸡翼袖”的背心、紧身T恤、V领等也逐渐开始流行。
自此,T恤成为了自我表达甚至宣传的媒介,展示的图案包罗万有,可以是文字、图画甚至是照片,因此也被称作“文化衫”。
它不仅仅是一件好看的衣服,更是穿着者对个人生活喜好与信仰的一种自由表达。

说到穿文化杉更是对个人生活喜好与信仰的一种自由表达,我现在所拥有的文化杉全是关于我自己的爱好(python, mac 等),却没有一件是关于基督信仰的,在长春房角石书店的确有一些关于基督的文化杉,但是质量却不怎么好。嗯,希望下次和他们提一下这个问题,如果能有质量和设计更好一点的文化杉,我会很乐意买的。

或许我可以帮忙设计一件,话说我还是很喜欢这种设计的,虽然我不太懂~ -_-!

17

突破学校的路由器封禁

May 23, 2010
Tags: , , ,

最近学校网络中心疯狂查封小路由器,我们实验室不幸被查封。看来以后用路由上网是不太可能了。解决方法可以用 iptables 做个路由器,然后根据学校查路由的方法写防查规则,但是查路由的方法有很多种,也不知道学校是如何查的,于是这种方法就放弃了。用 squid 搭代理服务器也是很有可能被查出来的,目前比较方便的解决方法就是用 ssh 隧道方式作代理了,这种发法应该室查不出来的。

不过对于 ssh -D 所得到的 socks5 代理肯定是没有路由上网方便。毕竟不是全局代理,有些软件是用不了代理的,这就需要把 socks5 代理转换成全局的代理。对于 windows 来说很简单,装上 Proxifier 就可以了。

对于 Linux 则麻烦一些,需要 redsocks 这个程序。安装后,在 redsocks 目录下,建立 redsocks.conf 文件:

base {
	log_debug = on;
	log_info = on;
	 //日志文件,调试时可指定为标准错误"stderr"
	log = "file:/home/hedaors/redsocks/socks.log";

	// 是否以后台模式运行
	daemon = on
	redirector = iptables;
}

redsocks {
         //local_ip设置为0.0.0.0则可共享,设备为127.0.0.1则只能在本机使用
	local_ip = 0.0.0.0
	local_port = 12345;

	// 本来有的代理的IP和端口,可能是由ssh -D指定的
	ip = 127.0.0.1;
	port = 1080;

	// known types: socks4, socks5, http-connect, http-relay
	type = socks5;
}


建立个 iptables 规则脚本, tpsocks.sh

#!/bin/sh

# iptables路径
IPTABLES="/usr/sbin/iptables"

# redsocks路径
REDSOCKS_DIR="/home/hedaors/redsocks"
REDSOCKS="$REDSOCKS_DIR/redsocks"

# 配置文件中指定的端口
REDSOCKS_PORT="12345"

# socks代理IP和端口
SOCKS_HOST="127.0.0.1"
SOCKS_PORT="1080"

# 运行redsocks
if [ "$USER" != "root" ]; then
	echo -n 'Restarting redsocks... '
	pkill -U $USER redsocks 2>/dev/null
	sleep 1
	cd $REDSOCKS_DIR && $REDSOCKS
	if [ $? -eq 0 ]; then
		echo Done
	else
		echo Error
	fi
	exit 0;
elif [ "$1" != "iptables" ]; then
	exit 0
fi

$IPTABLES -t nat -D PREROUTING -p tcp -j REDSOCKS_FILTER 2>/dev/null
$IPTABLES -t nat -D OUTPUT     -p tcp -j REDSOCKS_FILTER 2>/dev/null
$IPTABLES -t nat -F REDSOCKS_FILTER 2>/dev/null
$IPTABLES -t nat -X REDSOCKS_FILTER 2>/dev/null
$IPTABLES -t nat -F REDSOCKS 2>/dev/null
$IPTABLES -t nat -X REDSOCKS 2>/dev/null

# Create our own chain
$IPTABLES -t nat -N REDSOCKS
$IPTABLES -t nat -N REDSOCKS_FILTER

# Do not try to redirect local traffic
$IPTABLES -t nat -I REDSOCKS_FILTER -o lo -j RETURN

### 以下是iptables策略配置,包括白名单和黑名单,默认开启白名单
### 你应该至少修改一行配置,也很简单

## Do not redirect LAN traffic and some other reserved addresses. (blacklist option)
# 黑名单选项:指定的分组通过默认路由转发,其它的都转向SOCKS代理
$IPTABLES -t nat -A REDSOCKS_FILTER -d 0.0.0.0/8 -j RETURN
$IPTABLES -t nat -A REDSOCKS_FILTER -d 127.0.0.0/8 -j RETURN
$IPTABLES -t nat -A REDSOCKS_FILTER -d 169.254.0.0/16 -j RETURN
$IPTABLES -t nat -A REDSOCKS_FILTER -d 172.16.0.0/12 -j RETURN
$IPTABLES -t nat -A REDSOCKS_FILTER -d 192.168.0.0/16 -j RETURN
$IPTABLES -t nat -A REDSOCKS_FILTER -j REDSOCKS

# Redirect all traffic that gets to the end of our chain
# 将未指定的转发到SOCKS代理,实际上不会用到
$IPTABLES -t nat -A REDSOCKS   -p tcp -j REDIRECT --to-port $REDSOCKS_PORT

## Filter all traffic from the own host
# 将分组转到REDSOCKS_FILTER,以保证对分组的区分处理,作用于本机
## BE CAREFULL HERE IF THE SOCKS-SERVER RUNS ON THIS MACHINE
$IPTABLES -t nat -A OUTPUT     -p tcp -j REDSOCKS_FILTER

# Filter all traffic that is routed over this host
# 将分组转到REDSOCKS_FILTER,以保证对分组的区分处理,作用于子网
$IPTABLES -t nat -A PREROUTING -p tcp -j REDSOCKS_FILTER

echo IPtables reconfigured.


打开redsocks

./tp-socks.sh

加载iptables策略

sudo ./tpsocks.sh iptables

好了,现在就可以傲视学校的网络中心了。

PS: 因为redsocks 不能把 dns 在远端解析,所以还要在 主机上做个 dns 转发,要安装 bind9 软件包。在 /etc/bind/named.conf 里的 options 字段里加入:

forwarders { 8.8.8.8;  }

forward only;

重启 named 服务就行了。
3

玻璃窗的瞬间

October 7, 2009
Tags:

玻璃窗被钉住的瞬间
当锤击已经停止
当小艺离去
当长春已经在忘却

那无形地坐在
角落里的四个学者
起身

--------------------------------------------

哈哈,这是一首用程序自动生成的诗,来自 http://www.dopoem.com/

2

Phonopy 计算声子谱

October 7, 2009
Tags: ,

1. Phonopy 简介

Phonopy 是一个由 python 实现的的晶体声子分析程序。它是目前提供了 VASP 的 Wien2k 的接口用来计算原子受力。它的主要功能有:

计算声子色散谱;
计算声子态密度,包括分立态密度;
声子热力学性质,包括自由能,热容量,焓;

Phonopy 通过力常数的方法计算声子谱。力常数由计算原子在超晶胞中被移动后的受力得到(Parlinsk-Li-Kawasoe 方法)。

同样类型的程序还有 phon, fropho, phonon. 其中 phonon 是商业软件,卖的很贵,fropho 和 phonopy 的代码其实都是来自于 phon, fropho 是为了代替 phon 而开发的,目的是为了使用 phon 更方便,phon 和 fropho 主要都是由 fortran 开发的,而现在 fropho 已经停止开发,由 python 开发的 phonopy 代替了 fropho, phonopy 在使用上更为方便,在计算量上更为减少。因为 phon, fropho 和 phonon 在移动原子位置时都是一次只移动一个原子的一个方向,而 phonopy 则可以一次移动一个原子的多个方向,所以和其它程序相比, phonopy 最多可以减少 2/3 的计算量。

2. Phonopy 的安装

phonopy 主要由 python 开发,其中的找晶体空间群功能是由 C 语言(spglib)实现。在安装 phonopy 时需要安装以下它所依赖的软件包:

Python 的开发包
numpy , numpy-dev
matplotlib
python-lxml
python-yaml

如果是使用的 Ubuntu/Debian 系统只需:
sudo aptitude install python-dev python-numpy \
python-matplotlib python-tk python-lxml python-yaml

如果是 OpenSUSE 则可以去 http://software.opensuse.org/search 搜索下载安装相关软件包。

去 https://sourceforge.net/projects/phonopy/ 下载 phonopy 的最新软件包.

解压后进入 软件包的 c 目录,

su
python setup.py install

编译安装所需要的 python 模块。

将 PATH/phonopy-0.6.1 $PATH 里:
比如: export PATH=~/opt/phonopy-0.6.1:$PATH

3. Phonopy 的简单使用

下面我以 BC5 为例说明如何和 VASP 做接口计算声子谱:

a, 建立超胞

准备 POSCAR 文件
单胞和原胞都可以

准备 INPHON 文件

ATOM_NAME = B C
NDIM = 2 2 1
LSUPER = .TRUE.

简单说明:
第一行为原子符号名 B C ,注意要和 POSCAR 中的顺序相同。
第二行为要建的超胞的维数。
第三行是指要建立移动原子的 POSCAR.

然后输入命令:
phonopy.py

就会输出 DISP, POSCAR-* (001, 002, 003, …)
在本例出会输出 12 个 POSCAR-*, 依次为 POSCAR-001,…POSCAR-012

b, 计算力常数

将这些 POSCAR-* 做 SCF, 将输出文件 vasprun.xml 保存下来。
我的计算脚本为:

#!/bin/sh

for a in 01 02 03 04 05 06 07 08 09 10 11 12
do
cp POSCAR-0$a POSCAR
/opt/intel/impi/3.1/bin64/mpiexec -n 8 /share/apps/vasp/bin/vaspmpi_mkl10_O1 >>out.vasp 2>>err.vasp &
wait
cp vasprun.xml vasprun.xml-0$a
done

我的 INCAR 为:

SYSTEM = BC5
PREC = Accurate
ENCUT = 520
EDIFF = 1e-5
NSW = 0
ISMEAR = 0
SIGMA = 0.05
LCHARG = FALSE
LWAVE = FALSE

这样计算结束后会得到 vasprun.xml-001, …, vasprun.xml-012

然后,执行命令:
phonopy.py -f vasprun.xml-*

就会得到文件 FORCES

c, 得到声子谱

有了文件 FORCES 后就可以计算声子谱了,这时将 INPHON 改为以下内容:

ATOM_NAME = B C
NDIM = 2 2 1
ND = 7
NPOINTS = 51
QI = 0.0 0.0 0.5 0.0 0.5 0.5 0.0 0.5 0.0 0.0 0.0 0.0 0.5 0.5 0.0 0.5 0.0 0.0 0.5 0.0 0.5
QF = 0.0 0.5 0.5 0.0 0.5 0.0 0.0 0.0 0.0 0.5 0.5 0.0 0.5 0.0 0.0 0.5 0.0 0.5 0.5 0.5 0.5

简单说明:
ND 是指有几条路径;
NPOINTS 是指在每两个高对称性点间插入多少个点,包括边界;
QI 和 QF 给出路径的起始和结束点。

其中我用的 Q 点顺序为:
0.0 0.0 0.5 Z
0.0 0.5 0.5 T
0.0 0.5 0.0 Y
0.0 0.0 0.0 G
0.5 0.5 0.0 S
0.5 0.0 0.0 X
0.5 0.0 0.5 U
0.5 0.5 0.5 R

执行 命令
phonopy.py -p

即可画出声子谱, 如果执行 phonopy.py -p -s 即可将声子谱曲线保存为 PDF 文件。
其中 声子谱的数据是以 yaml 格式保存在 band.yaml 里的。

如果你想用 Origin, Qtiplot, Xmgrace 等工具画图的话,可以用我写的 python 脚本,readband.py (http://www.zhuli.name/file/readband.py) 将 band.yaml 转换一下,输出文件有两个 band.dat, qpoint.dat.
其中 band.dat 是声子谱数据, qpoint.dat 是高对称性点的数据。

以上只是 phonopy 的其本用法,如果要计算声子态度度和热力学性质的话可以参考
http://phonopy.sourceforge.net 上的文档,还是比较简单的。

我的计算结果:

screenshot_001

2

解决 flash 输入框不能输中文

September 30, 2009
Tags: , ,

在英文 Linux 下的浏览器里的 flash 输入框输入中文时会出现乱码,但是把中文复制过去却没有问题。这个问题在 亦歌,gtalkd gadget 等程序里都会出现。
但在中中文 Linux 下就没有这个问题 。

如果不想把 linux 的默认语言换为中文的话,可以通过一个有点点 dirty 的方式解决。

我平时该要用 firefox ,由是我在 /usr/bin/firefox 里的开头加上了一行 LANG=zh_CN.UTF-8 , 即为

#!/bin/sh
LANG=zh_CN.UTF-8

即将 firefox 在临时的中文环境下启动,这样 flash 里输入中文就不会出乱码了。

0

[转]展現公民力量的時刻!

August 5, 2009

下文转载自:奇異的樂園 - 每人只要20元,71000人就能展现公民社会的力量!

2006年8月,施明德在台湾振臂高呼,发起百万人民倒扁运动,号召百万台湾人民每人捐100元新台币,不到十天时间即筹集到1亿元新台币。台湾成熟的公民社会力量,让全体华人引以为傲。

2009年8月,twitter上的大陆网友口耳相传,自发为公盟筹集共达142万元人民币的罚款,以免除公盟发起人许志永最高可能长达7年之久的牢狱之灾。时隔整整三年,大陆推友接过台湾人民手中的接力棒,通过社交网络首次展现令人感动的公民社会力量。

如果这股“捐款\借款运动”延烧到twitter之外的华人网络媒体,只要汇集7万多网民,每人捐款/借款20元,就足够公盟交付罚金。以台湾2700万比100万的比例,要在大陆3亿网民中找到7万多人,相信并非难事。

红杉军当时的1亿新台币没能把阿扁拉下台,但换来了台湾公民社会力量的凝聚。

大陆71000网民的142万元不一定能够拯救公盟,却有机会找回中国大陆消逝已久公民社会力量,足矣。

每人“借给”公盟20元,让许志永早点回家吃饭吧。

附一:公盟关于同意接受社会捐款的公告

附二:公盟官方twiter:@GongmengOCI

0

创建自己的免费 ssh -D 服务器

July 29, 2009

由于某些原因,之前使用的国外 sshd 服务器不能再用了,如果还想像以前那样使用 ssh -D 翻墙的话,估计是要掏腰包啦。当然还有另外一种免费翻墙的办法,就是 vpn ,  比较常用的也就是 ultravpn , 这种方式的缺点就是,它是全局代理,访问国内站点时有点慢(当然可以用路由表解决,不过有点麻烦,关键是我不会 :-))。下面就介绍一种方法利用 ultravpn 创建自己的免费 ssh -D 服务器。

我们要用的工具是 VMware (或者是 Virtualbox) ,   windows xp安装盘(或映像文件),一个 vpn 账号, cygwin。

关于如何安装一个虚拟 windows 和如何申请一个 vpn 账号 ,在这里我就不说了,网上教程很多。(当然你也可以虚拟一个 linux , 考虑到有很多网友对 linux 不是很熟悉,而且在 windows 下连接 vpn 服务器更方便一些,我这里就只介绍如何在  windows 下创建 ssh -D 服务器 )

现在假定你已经有了一个虚拟的 windows (最好把 windows 防火墙关掉) 和一个 vpn 账号。为了方便我们在虚拟的 windows 下创建另一个管理员账号,并且设上密码 。

去 这里 下载 cygwin 安装文件,安装时直接下一步就可以了,在其中选择镜像时推荐使用德国的一个镜像(ftp.gwdg.de),如下图

cygwin1

然后在选择软件包里,注意一定要选择 在 net 分类下的 openssh 包,如下图:

cygwin2

cygwin3

然后直接一路下一步完成就可以了。

配置 sshd 服务

接着双击桌面上的 cygwin 快捷方式,在 cygwin 里输入如下命令:

chmod +r /etc/passwd

chmod +r /etc/group

chmod -R 777 /var

ssh-host-config

在提示 yes/no 时,都输入 yes, 如下:

*** Info: Generating /etc/ssh_host_key

*** Info: Generating /etc/ssh_host_rsa_key

*** Info: Generating /etc/ssh_host_dsa_key

*** Info: Creating default /etc/ssh_config file

*** Info: Creating default /etc/sshd_config file

*** Info: Privilege separation is set to yes by default since OpenSSH 3.3.

*** Info: However, this requires a non-privileged account called 'sshd'.

*** Info: For more info on privilege separation read /usr/share/doc/openssh/READ

ME.privsep.

*** Query: Should privilege separation be used? (yes/no) yes

*** Info: Note that creating a new user requires that the current account have

*** Info: Administrator privileges.  Should this script attempt to create a

*** Query: new local account ’sshd’? (yes/no) yes

*** Info: Updating /etc/sshd_config file

*** Info: Added ssh to C:\WINDOWS\system32\driversc\services

*** Warning: The following functions require administrator privileges!

*** Query: Do you want to install sshd as a service?

*** Query: (Say “no” if it is already installed as a service) (yes/no) yes

*** Info: Note that the CYGWIN variable must contain at least “ntsec”

*** Info: for sshd to be able to change user context without password.

*** Query: Enter the value of CYGWIN for the daemon: [ntsec] 这里直接回车

*** Info: The sshd service has been installed under the LocalSystem

*** Info: account (also known as SYSTEM). To start the service now, call

*** Info: `net start sshd’ or `cygrunsrv -S sshd’.  Otherwise, it

*** Info: will start automatically after the next reboot.

*** Info: Host configuration finished. Have fun!

然后启动 sshd 服务器:

cygrunsrv -S sshd

连接 vpn 服务器,具接步骤就不再说明了。

在虚拟 windows 下找到其 ip 地址,如下图

ip

然后在你自己的真实系统里,启动 myentunnel , 在地址栏填上虑拟机的 ip , 用户名和密码分别用虚拟 windows 的用户名和密码。

myent

然后,你可以参考 这篇 文章,配置代理使连接被墙网站时使用代理了。

9

使用 expect 防止 sshgfw 代理断线

July 15, 2009
Tags: ,

自从用了 ssh -D 代理后(可参考本 blog 右边的链接),便再也不用为点击某个链接被重置的情况烦恼啦。我在 Linux 使用 ssh -D 连接代理服务器时过一段时间总会断线,于是我就用 expect 写了一个脚本,不担可以防上 ssh 断线,还可以自动输入密码 :-)

关于 expect 我摘录一段在 中文维基 上的介绍:

ExpectUnix系统中用来进行自动化控制和测试的软件工具,由Don Libes制作,作为Tcl脚本语言的一个扩展,应用在交互式软件中如telnetftpPasswdfsckrlogintipssh等等。该工具利用Unix伪终端包装其子进程,允许任意程序通过终端接入进行自动化控制

有些 linux 系统里可能没有 expect , 你可以自己安装

在 debian/ubuntu 里 : apt-get install expect
在 opensuse 里:zypper in expect
在 fedora 里: yum install expect
当然还有一些其它发行版都有自己的安装方式。

你可以新建一个文件,比如 sshgfw , 将如下代码复制进去。
#!/usr/bin/expect
set timeout 60

spawn /usr/bin/ssh -D 7070 -g user@yourserver.com
# 这里的 user 为你自己的用户名,yourserver.com  为你自己的服务器域名或 ip
expect {
"password:" {
send "password\r"
#这里的 password 改为你自己的密码
}
}
interact {
timeout 60 { send " "}
}

加上可执行权限 chmod a+x sshgfw, 然后你就可以在它所在的目录 ./sshgfw 执行就行了。当然你也可以把它复制到 /usr/local/bin 或 /usr/bin 等目录下,以方便本机所有用户都可以快捷的使用。

注:ssh 加上 -g (即在代码中的 ssh -D  7070  -g ) 可使局域网内其它机器使用我的机器做代理. 以我的情况为例:我在一个局域网内的 ip 为 192.168.1.16 , 当我联上服务器之后,我就可以使用 localhost:7070 做代理,同时我的局域网内的其它 ip 为 192.168.1.* 的机器,就可以用代理 192.168.1.16:7070 来穿墙啦。

当然如果你还有什么不了解,欢迎给我留言。我会尽量帮忙。 :-)

14

Google 终于推出了自己的操作系统了

July 8, 2009

早在 2006 年就看到网上就沸沸扬扬的讨论着各种关于 goobuntu 的消息。大家都在等待着 google 发布出另外一种操作系统来对抗微软,因为据说 google 内部基于 ubuntu 开发了自己的操作第统作为桌面。广大 linux fans 对此显然异常兴奋,但是不久 google 就宣布不会发布 goobuntu 系统。同时,也有很多人站出来分析说 google 没必要也不会开发自己的操作系统和微软竞争。

但是时隔三年,google 终于宣布他会发布自己的操作系统 Google Chrome OS, 是基于 linux 的上网本操作系统。看名字就知道 Google Chrome OS 的重点在于 Web 应用,看来 Google 发布 Chrome 浏览器目的不在于和 IE, Firefox, Opera 等浏览器竟争,而是为自己的 Web 操作系统开路。

看来以后 Web 应用程序是趋势(当然是网络足够好的情况),以后纯桌面程序会越来越少,网络程序会越来越多。当看电影,听歌,处理文档,作图都可以在浏览器里完成的时候,就是微软帝国不在称雄的时候了。按照目前的趋势,Google 应该会代替微软成为下一个帝国,那么 Google 之后是什么呢?

嗯,按装 Google Chrome OS 年上网本会在 2010 年下半年上市,时候争取搞一个来用用。

2

使用免费/开源软件做科研

April 23, 2009

其实对于做科研的人来说,用盗版软件是一个很不好的事情,因为自己本来就是在一个创造知识的过程,对各种学术欺诈、盗用是很痛恨地。但是自己却在用盗版软件,这本身就是一件很矛盾的事情。其实大部分商业软件是有很多开源/免费软件替代品的。

列举一下我平时常用到免费科研软件吧(我现在主要在做第一性原理计算,所软件都是围绕第一性原理相关计算和数据处理的)。

计算方面:

商业软件: VASP, CASTEP 等

免费软件:

espresso: http://www.quantum-espresso.org/

abinit: http://www.abinit.org/

sistea: http://www.icmab.es/siesta/

数据处理:

这个主要是画图,很多人都是使用盗版的 origin 等。其实我认为免费的 qtiplot  (http://soft.proindependent.com/qtiplot.html) 更好用。

晶体建模:

这个很多人用的也是盗版的 Materials Stuido 和 CrystalMaker .

开源/免费软件也有不少,但是好用的不是很多。这里我推荐两个比较好用的, XCrysden(http://www.xcrysden.org/) 和 VESTA(http://www.geocities.jp/kmo_mma/crystal/en/vesta.html)。

XCryden 和 pwscf , win2k 结合起来很好用,但是建模功能一般。如果要想代替 MS 的建模功能的话非 VESTA 莫属了,它基本上就是 Materials Stuido 和 CrystalMaker 的克隆,几乎所有功能都有,但是有一个缺点,就是没有 MS 的找晶体空间群的功能。不过这个也有解决方案,就是  isotropy (http://stokes.byu.edu/isotropy.html).

把 VESTA 和 isotropy 结合起来用就已经很完美了,虽然不如 MS 方便,但是现在可以和盗版软件说再见啦。:-)

文献管理:

其实我发有很多人很用人肉文献管理软件 ;-) , 嗯,有一个好用的文献管理软件还是很方便滴!但是有很多人使用盗版的 EndNote, 这是从来不用这个,其实有更好的免费的,开源的,跨平台的 Zotero ,为什么不用呢?

关于 Zotero(http://www.zotero.org/)的用法我就不多说了,上官方网站上去看一看就知道了,有一个入门的视频。我实在是喜欢它的文献全文索引功能,而且也可以方便的和 Word , OpenOffice, TeX等结合。:-D

0