2007-09-11

在 Openoffice.org 中插入矢量图

Openoffice.org 支持的矢量图格式有 EPS, EMF, WMF, SVM 等,但最容易获得的 EPS 的支持效果非常差。其他容易获得的矢量图格式 PS, PDF, SVG 都不支持。所以我需要将 EPS 转换为 EMF 格式。

你需要如下的工具:
1. pstoedit: http://www.pstoedit.net/pstoedit
2. transfig: http://www-epb.lbl.gov/xfig/
我的 Ubuntu 系统自带这两种工具

步骤:
1. pstoedit -f fig a.eps a.fig
pstoedit 还支持从 ps 和 pdf 格式转换
2. fig2dev -L emf a.fig a.emf

附:
1. pstoedit 的 man 中提到可以直接转换为 emf, wmf 格式,但我的 Ubuntu 自带的版本不支持。
2. pstoedit 支持转换到 svm 格式,但图片失真严重。






2007-08-17

Emacs


在 en_US.UTF-8 环境下使用emacs

  1. 建议在 LC_CTYPE=zh_CN.UTF-8 环境下运行 emacs, 否则emacs无法正确判定应当使用何种字体来显示中文字符(他会优先使用日语、繁体中文字体来显示简体中文),细节可以参看 mule-cmds.el
  2. 在 $HOME/.emacs 中加如下两句
    (setq current-language-environment "Chinese-GB")
    (prefer-coding-system 'utf-8)
    这时你用"C-h v coding-category-list"可以看到coding-category-list等于
    (coding-category-utf-8 coding-category-iso-8-2 coding-category-big5 coding-category-iso-7-else coding-category-iso-8-1 coding-category-utf-16-be coding-category-utf-16-le coding-category-iso-7-tight coding-category-iso-7 coding-category-iso-8-else coding-category-emacs-mule coding-category-raw-text coding-category-sjis coding-category-ccl coding-category-binary)
    其中coding-category-iso-8-2就是chinese-iso-8bit,也就是gb2312

2007-07-12

前不久有人抱怨说Linux下使用虚拟机vmware运行windows无法使用招商银行信用卡。

今天拿 qemu+win2k+ie6 试了一下,网络管理和支付都成功了

可能是
1. 招商银行不检测虚拟机了
2. 招商银行只检测vmware,不检测qemu
3. win2k 下面检测功能失效

从 sunny 的反馈来看,他的 vmware+win2k 没有成功,那么成功的原因很可能是2

以前用过vmware,似乎记得他的虚拟硬件都带有 vmware 的标记,也许是招行的控件根据这个来判定这个是否是虚拟机。qemu似乎没有这个问题。

P.S. 以前某个版本的超星阅读器可以防止打印到 PDF,后来发现把 PDF 打印机改个名就可以继续打印了,不知道 把vmware 的显卡之类的硬件改个名是否能避开招行的检测。不过招行仍然可以检测硬件驱动、硬件ID等,也许仍然不管用。

2007-05-31

我已经成为 TP Translator

Hello,

我已经成为 TP Translator.

我愿意帮大家把翻译提交到 TP, 但是有几点

1. 由于team leader(lark)失去联系并且没有选出新的team
leader,所以无法改变项目的翻译人。所以只能提交页面[1]上下面的表格中第3,4两列为空的项目(或者我维护的项目)

2. 翻译好的po文件建议发到论坛上讨论[2]一周再提交(除非是极为简单的修改)

3. 我需要把Last translator更改为我才能提交,不过你的名字会出现在文件头部的注释里边。(我也需要把我加进去才能提交,尽管可能我一句都没翻译 :)

4. 通过我提交的话,版权已转让给FSF,我默认你已经清楚这点。

5. 需要帮忙的话,请在[2]上发言。


[1] http://www.iro.umontreal.ca/translation/registry.cgi?team=zh_CN
[2] http://groups.google.com/group/i18n-zh


--
LI Daobing

2007-05-30

Linux 下的 2D 分子作图软件

1. bkchem
基于Python+Tk, 现在的版本是 ?
  • 整体不错,用SVG+CDML储存, 不过canvas没有AA
  • 还未加入debian

2. gchempaint
基于GNOME, 现在的版本是 0.6.6
  • 分子的自带标签系统自由度极小,不过有独立的标签系统补充
  • 标签周围的空白区域过大
  • Ctrl-C, Ctrl-V 不能工作 (或者不是你想象的那样工作)
  • 带AA的Canvas,非常漂亮

3. chemtool
基于GTK+, 现在的版本是1.6.10
  • 标签与键会重叠
  • 不支持从命令行将文件转化为图片
  • 文件不基于XML

4. xdrawchem
基于 QT, 现在的版本是 1.9.9,主要问题是
  • bug1: 保存后重新打开时部分文字移位
  • bug2: 编辑过程中文字消失
  • bug3: 保存后重新打开时部分双键变形,本来是等长的双键,会变得一长一短。
  • 不支持从命令行打开文件, "xdrawchem foo.xdc" 会报错。
  • 不支持从命令行将文件转化为图片(只支持PNG格式)

5. easychem
基于GTK+, 现在的版本是 0.6
  • 不支持标签,这是一个画线条的系统


2007-05-05

下面这段python代码会吃掉你的所有内存,是时候抛弃python-numeric了


import Numeric
import numpy
a = Numeric.zeros([1, 1])
while True:
a[0, 0] = numpy.int32(0)

2007-03-18

最佳签名档

(很多人都在用,就不标出处了,就当Public domain好了)

A. Because it makes the logic of the discussion difficult to follow.
Q. Why shoudn't I top post?
A. No.
Q Should I top post?

A: Because it destroys the flow of the conversation
Q: Why is it bad?
A: No, it's bad.
Q: Should I top post in replies to mailing lists?

KDE/QT 程序的中文字体配置

目的: 让大部分KDE/QT程序无须配置即可显示中文,并且优先使用bitstream之类的字体来显示英文,再用宋体来显示中文。

1. 安装qt3-qtconfig
2. 运行LC_ALL=C qtconfig-qt3
2.1 打开fonts tab
2.2 在"Fonts Substitution"下面的下拉框里选择"Serif"
2.3 在最下面的"Select substitution Family"右边的下拉框选择"Bitstream Vera Serif", 点击右边的"Add"按钮
2.4 重复2.3步,把"DejaVu Serif", "FreeSerif", "AR PL ShanHeiSun Uni"加入列表
2.5 重复2.2-2.4步,设置"Sans Serif", "Monospace"的替换字体,注意选择对应的字体
2.6 保存
3. 运行LC_ALL=zh_CN.utf8 qtconfig-qt3,重复2的步骤,把"文鼎PL细上海宋Uni"加入替换列表
4. 运行qtconfig-qt4,重复2-3的步骤
5. 备份 $HOME/.qt/qtrc, $HOME/.config/Trolltech.conf

注意,最后的两个配置文件的位置可能在不同的发行版之间略有不同,建议用strace -o ~/qtconfig.log qt3-qtconfig来追踪位置。

2007-02-27

Show Us the Code: An Open Letter to Steve Ballmer

We're requesting anyone involved in the Linux communities & companies to stand up & demand that Ballmer show the world where Linux violates MS's IP. This is a challenge & when answered, Linux devs will be able to modify the code so it remains "free" software. If such code doesn't exist, the bluff will be called & many companies can rest soundly.



read more | digg story
From: http://linux.solidot.org/article.pl?sid=07/02/25/0218236&from=rss
这是一次真正的挑战,Showusthecode.com,正如名字所言,在一封公开信中,它请求Linux世界中的每一位技术领袖,对Linux进行投资的众多公司,一起来反抗和要求Steve Ballme拿出证据,向世界展示Linux在哪些地方侵犯了微软的知识产权。自从Novell-Microsoft进行合作以来,他数次声称Linux侵犯了微软的知识产权。如果微软回复了这次挑战——截至日期5月1日——拿出了证据,那么Linux开发者们将修改这些代码以便使其仍然成为一款自由(free)软件。如果代码根本就不存在,我们会告你诽谤,微软是个骗子。如果这次挑战吸引了很多人的注意,但鲍尔默先生却始终保持沉默,那么Linux开源社区和开发公司会认为是默认了,微软确实是个骗子。


参见: http://showusthecode.com/

2007-02-17

看过好几个版本的come sweet death的MTV,包括原版和粉丝制作的,还是觉得这个版本最好,比较嚣张的字幕应用,片尾那堆追加的杂音似乎更嚣张,不过很符合EVA以及这首歌的感觉。

值此新春佳节,把这首歌献给大家。

http://www.youtube.com/watch?v=9IHkhEIFGCk





2007-02-11

a trap I met today

the following code:


vector<int> a;
// init a
for(int i = 0; i < a.size()-1; i+=2) {
// do something;
}


will crash if a is empty, because a.size() return a size_t, which is unsigned, then a.size()-1 is a very large unsigned value. it should be changed to:


vector<int> a;
// init a
for(int i = 0; i+1 < a.size(); i+=2) {
// do something;
}


P.S. I does not consider a.size() > 2G, at least it will not happen in this program.

2007-02-09

topcoder yellow!

第15轮,终于变黄了,不容易啊。

http://www.topcoder.com/tc?module=MemberProfile&cr=20557476
if you want to rediscover the web, please install following extensions:

现在的维基百科访问方法

1. 英文直接访问,不过由于无法下载CSS,所以界面有点丑陋,不过可用
2. 中文
2a. 用tor访问,速度相当慢,不稳定
2b. 手机版的维基百科 http://zh.wikipedia.7val.com/ ,可以用,不过界面太窄了,而且无法编辑 (应该是一个编码的bug)
2c. 申请港澳通行证,去香港上网

相关网页:
[1] http://www.douban.com/group/zhwikipedia/
[2] http://groups.google.com/group/zh_wikipedia

我的网络:
SZUC-CN (应该是教育网和电信的混合线路)