2010年10月9日星期六

Howto use G_F_W list in Proxy Switchy

There is a very useful addon for firefox called Autoproxy for bypassing G_F_W. It can use an online rule list to automatically enable proxy for blocked sites while disable proxy for speed for unblocked sites, which is quite handy. Unfortunately, there isn't a port for google chrome. As chrome in certain aspects has some advantages over firefox, and I occationally use it, it would be very nice to have something for chrome equivalent to Autoproxy for firefox.

Fortunately, chrome also has an extension called Proxy Switchy. Better, Switchy can use Autoproxy's rule list, which means it can also automatically enable proxy for blocked sites.

However, Switchy doesn't support window managers apart from Gnome/KDE. To workaround this, one must start chrome with the following environment variable set:

GNOME_DESKTOP_SESSION_ID=Default google-chrome

The URL of the rule list is : http://autoproxy-gfwlist.googlecode.com/svn/trunk/gfwlist.txt

Have fun!


2010年3月16日星期二

OMG, 我又回到了我的博客!

感谢西厢计划,终于又可以使用我的 Blogspot 博客了!



咋快乐来得快,去得也快呢,这才用了几天,就不行了!

2009年3月6日星期五

Debian Unstable 中 xscreensaver-demo 启动速度慢的问题

Debian unstable 中,启动 xscreenaver-demo 程序过程中间有一段时间窗口会失去响应,大概有 3 秒左右,让人很是苦恼。

首先想到的方法是用 strace 跟踪,找找看是哪个系统调用引起的。经 strace 发现是在启动一个子进程(fork)之后等待子进程结束。最开始想通过分析源代码找到问题出现的位置,找了一会儿之后发现其实想从源代码中找到具体位置还是挺困难的。

经过一段时间的摸索之后,突然来了一个灵感,通过 ps 查看等待过程之中和之后的进程列表。一试,果然有效!发现 xscreensaver-demo 是在等待 dcop 这个进程的返回。看来问题肯定跟这个 dcop 有关!手工启动 dcop,发现 dcop 在等待某些响应,一直没有等到,然后超时了。由于 xscreensaver-demo 是同步调用的 dcop,所以就导致了 xscreensaver-demo 失去响应。dcop 在等待什么呢,很有可能是在等待 kde 的基础组件中的某个程序的响应。由于我一般都不用 KDE,所以也不启动 kdeinit 程序,这应该就是最终的原因了。

找到原因之后,在系统启动脚本中加入了 kdeinit 的调用,xscreensaver-demo 再也不假死了。

2009年2月21日星期六

需要下载的 HPCA 2009 论文

Papers and Slides:
-------------------------
Characterization of Direct Cache Access on Multi-core Systems and 10GbE

Criticality-Based Optimizations for Efficient Load Processing

需要下载的 PPoPP 2009 论文

Papers and Slides:
----------------------------
Effective Performance Measurement and Analysis of Multithreaded Applications
Compiler-Assisted Dynamic Scheduling for Effective Parallelization of Loop Nests on Multicore Processors

Idempotent Work Stealing
Backtracking-based Load Balancing



Keynotes:
-------------------
Parallel Thinking
Multi-core Demands Multi-Interfaces链接Industrial Perspectives Panel
How to Build Programmable Multi-Core Chips

2008年11月6日星期四

如何进行交叉编译?

首先澄清一下交叉编译过程中所涉及到的几个基本概念,然后就具体的交叉编译步骤略作讨论。

什么是交叉编译?

基本的交叉编译方法

使用 GNU Autotools 进行交叉编译

交叉编译过程中涉及到的三个平台
1) build system;
2) host system;
3) target system;

2008年10月26日星期日

蓝牙 SDP 协议简介

基本概念
- Server
- Service
- Client

重要数据结构:
- Service Record
Service record 用于记录 SDP server 中关于一个服务的所有信息。这个 Service record 由一系列的 Service attributes 组成。SDP server 使用 Service record handle 来唯一的标识一个 Service,注意它是 specific to SDP server 的。然而 0x00000000 这个 Service record handle 比较特殊,它在所有的 SDP server 中都表示 SDP server 自身这个服务。

- Service Class
一个 Service class 定义了同一类服务类型,指定了这些服务必须包含什么属性,每个属性的 ID 是什么,Value 是什么意义的。Service class 可以继承,派生 class 的属性规格必须和基类相同。Service record 的所有属性是按照 Attribute ID + Attribute value 的形式组织的,每个 Attribute ID 标识什么属性是由该 Record 所属的 Service class 指定的。

搜索 SDP 服务的过程。
SDP 协议规定了 SDP client 只能够通过指定属性值来搜索服务,搜索到的是具有指定属性值所有 Service record。用于搜索的 Service attributes 必须是 UUID 形式的。搜索的时候,Client 给出一个它感兴趣的 UUID 列表,如果这个列表中的所有 UUID 都包含在某个 Service record 的 UUID 集合中,则该 Service record 匹配此搜索。

为了支持对 SDP server 中注册的服务进行浏览,所有的 Service class 都包含了一个公共的属性,即 BrowseGroupList,标识一个 Service record 的浏览域。这样 Client 就可以指定一个 BrowseGroup 类别来浏览该类别的所有服务记录。

2008年10月16日星期四

女人的话是不可信的

今天带老婆去看房子,先前说的很好,今天一看觉得非常不满意。看来女人只相信自己的感觉,如果没有看到的话,那么她说的话就是没有任何意义的,以后要吸取这个教训。

其实我发现自己干很多事的时候都太被动了,不愿意作主,不愿意去用自己的想法去说服别人,有点害怕承担责任。勇敢起来,男子汉!

一句很精辟的话

一个人的行为是由心理决定的,一群人的行为是由规律决定的。

2008年10月15日星期三

[转贴]管理愤怒

一对夫妻结婚已经超过60年了。他们分享一切事物,他们之间无话不谈。他们相互之间没有秘密,除了妻子的一个放在她的壁橱顶端的鞋盒外。妻子曾告诫她的丈夫不要打开看,也不要问她相关的事情。

这么多年过来,丈夫从未想过这个盒子,但是有一天妻子得了非常严重的病,医生说她不行了。

丈夫开始准备处理后事,这个老人把鞋盒从壁橱里拿下来,走到妻子的旁边。

妻子觉得是时候让丈夫知道鞋盒的秘密了。丈夫打开鞋盒,里面有两个针织玩偶和总数95000美元的钞票。

丈夫问妻子这代表什么,妻子说:“当我们就要结婚时,我的祖母告诉我从不争吵的美满婚姻的秘密。她说那就是每当你对你丈夫感到愤怒时,你就要保持安静并且去织一个玩偶。”

丈夫听了非常的感动,他强忍住自己的眼泪。这个盒子里只有区区两个玩偶,在一起生活这么多年,她只生了我两次气,我是多么幸福呀。

“宝贝,”丈夫说,“你说了玩偶的秘密,但是这些钱是怎么回事?它们从哪里来?”

“哦,”妻子说,“这些钱是我卖那些玩偶挣来的。”

祈祷文:

万能的主啊,我祈求给我智慧以理解他;

让我爱他以原谅他;给我耐心以宽容他;

因为我的主啊,如果我祈求给我力量,

我会打他致死,因为我不会织玩偶

货币的本质

货币是什么,归根结底,是一种信用,是一种由货币的发行者提供的担保信用,即任何时候可以在货币的发行者那里将货币兑换成等量的其它财富。国家发行的货币就是由全国人民的税收提供担保的,具有很高的信用等级;而个人或某个公司发行的货币则只有这个人或公司总财富量的信用等级。根据这种说法,信用等级较低的实体所发行的货币其流通性就会有很多限制。

赊帐相当于是一种个人发行的货币,我的签名就是货币。其实赊账是一种理想的商品交换方式,不需要任何中介物,只需要商家之间的信任。然而各个商家之间并不会完全信任对方,所以商品交换会受到信任不足的限制。货币即是将商品交换中各个商家之间的信任需求转嫁到一个具有较高信用等级的第三者(国家)上,从而推动商品流通性。

资本的特性

资本最重要的特性就是自增值,这是一个普遍的规律还是目前社会形态的一个非普遍的特性?

货币为什么会贬值,肯定有一个最本质的原因,可能是由资本的自增值特性引起的。

黑社会模式

第一步,纠结一些人做打手;
第二步,搜刮钱财;
第三步,利用搜刮来的钱财招募更多的打手;

这样就形成了了一个正反馈,就其本质来说,是团结了的人和没有团结起来的人之间的力量对比,所以团结起来的人力量是很惊人的,尤其是有组织的团结起来的人。

另一方面,团结起来的人要能够指挥的动,这就需要有一个共同的信念作为支撑,有一个严密的组织来进行管理,所以有共同信念的组织严密的组织是很惊人的。

国家肯定会对这类组织进行严密的关切。

去除重复行的工具 —— uniq

uniq 可以去除文件中的重复行,但是它只会去除连续的重复行,如果重复的行不在一起,那么 uniq 不会把它们去除,所以必须先用 sort 命令对文件进行排序,然后再调用 uniq。

跳过 3 个字段,然后按照接下来的 8 个字符排序
sort -f 3 -w 8 test.txt

其实 sort 本身也有去除重复的作用,也可以不用 uniq:
sort -u -f 3 -w 8 test.txt

2008年10月1日星期三

Motif 的中文支持问题

现在还没有搞定,原因似乎出在 FontList/FontSet 没有设置好上。现象是所有的 Motif 程序都无法显式中文,比如 nedit,xpdf 的对话框/书签...

Motif 程序是否必须在 Application 中显式的设置字体才能支持中文?还是象 Gtk+ 那样在 Toolkit 一级就自动设置好了中文字体支持?

不光没法显示中文,输入中文似乎也不行。可能 Motif 在 Toolkit 级别就没有规定输入法框架,程序必须在 Application 级别直接使用 XIM 协议来支持输入法。

[转载] 分手的理由

某天

女孩终于鼓起勇气对男孩说:「我们分手吧」

男孩问:「为什么?」

女孩说:「倦了,就不需要理由了」

一个晚上

男孩只抽烟不说话

女孩的心也越来越凉

『连挽留都不会表达的情人

能给我什么样的快乐?』

过了许久

男孩终忍不住说:「怎么做你才能留下来?」

女孩慢慢地说:

「回答一个问题,如果你能答到我心里就答案,我就留下来。」

「比如我非常喜欢悬崖上的一朵花,而你去摘的结果是百分之百的死亡,你会不会摘给我?」

男孩想了想说:「明天早晨告诉你答案好吗?」

女孩的心顿时灰了下来

早晨醒来,男孩已经不在

只有一张写满字的纸压在温热的牛奶杯下

第一行,就让女孩的心凉透了

「亲爱的,我不会去摘

但请容许我陈述不去摘的理由

你只会用电脑打字

却总把程序弄得一塌糊涂

然后对着键盘哭

我要留着手指给你整理程序

你出门总是忘记带钥匙

我要留着双脚跑回来给你开门

酷爱旅游的你

在自己的城市里都常常迷路

我要留着眼睛给你带路

每月(好朋友)光临时

你总是全身冰凉,还肚子疼

我要留着掌心温暖你的小腹

你不爱出门

我担心你会患上自闭症

我要留着嘴巴躯赶你的寂寞

你总是盯者电脑

眼睛给糟蹋得已不是太好了

我要好好活着

等你老了

给你修剪指甲

帮你拔掉让你懊恼的白发

拉着你的手

在海边享受美好的阳光和柔软的沙滩

告诉你一朵朵花的颜色

像你青春的脸…

所以

在我不能确定有人比我更爱你以前

我不想去摘那朵花…」

(女孩泪滴在纸上

形成晶莹的花朵)

抹净眼泪,女孩继续往下看:

「亲爱的

如果你已经看完了

答案还让你满意的话

请你开门吧

我正站在门外

手里提着你最喜欢吃的鲜奶面包…」

女孩拉开门

看见他的脸

紧张得像个孩子

只会把拧着面包的手在她眼前晃

我想这就是爱情或者生活

被幸福平静的包围时

一些平凡的爱意

总被渴望激情和浪漫的心忽略

爱!在双方引起的许多个微不足道的动作里,

从来就没有固定的模式

只有爱

可以是任何一中平淡无奇的形式

花朵、浪漫

不过是浮在生活表面的浅浅点缀

在它们的下面才是我们真真的生活。

2008年9月25日星期四

What is sun4u and sun4v?

They are both variants of the so called sun-4 platform, launched by Sun from 1987. The u(ultra) variant dervied from the used Ultra-series CPU, and the v(virtual) variant derived from the Virtualization enabled CPU. See http://en.wikipedia.org/wiki/Sun-4 for more detail.

2007年5月14日星期一

桌上足球比赛闯入四强

今天中午连赛两场,第一场由于对方防守队员比较弱,被我狂轰乱炸一通,最终进了16个球(8分钟)。其实还是蛮惊险的,上半场一路领先,结束时我方以 10:4 领先。下半场对方发起了猛烈的进攻,比分竟然被追为 10 平。我方又发扬愈战愈勇的精神,连续进了六个球,直接打击了对方的嚣张气焰,最终将比分锁定为 16:11。呵呵,这场打的确实爽啊,看得观众们惊呼不断。

第二场迎战夺冠热门队,对方的实力确实很强。进攻球员非常的沉着冷静,我方后卫很难招架;而对方防守队员也不弱。上半场结束时落后一分,本想在下半场追回,不想下半场对方的后卫加强了防守,竟然没有什么机会破门,相比之下,我方又被连进 N 球,最终败北。

在前两场连败的情况下,我队以三负一胜的战绩排名第四(有一队全败),顺利晋级四强。接下来就是淘汰赛了,各个对手都非常的强悍。如何确定一个有效的战术,还真是一个问题。如果防守队员稍加训练,就能有效的阻止前锋的进攻,所以后防线确实是一个非常重要的事情啊。

酒精是脑细胞杀手

前两天有个兄弟举办婚宴,喝了一点白酒,直接导致我当天下午兼晚上头晕,脑袋象生锈了一般,无法思考。睡了一觉起来,仍觉得晕晕糊糊,看来酒精的确是脑细胞杀手。以后发誓不饮白酒,身体先天不适合喝酒。

给 TeX 增加一个中文字体

今天在网上看到方正发布了一款徐静蕾的手写字体,看上去蛮清秀的,于是乎就下载了一个(莫 BS 我),准备在自己的 TeX 系统中使用。记得以前写过一个在 TeX 下增加中文字体的脚本,现在找不到了,不过好在 dvipdfmx 的字体还是很容易配置的。简单介绍一下,添加字体的过程分为三步:

第一步:为 TeX 增加字体配置
(1) 在 tex/latex/CJK/UTF8/ 下增加一个 c70jinglei.fd,内容按照 c70song.fd 替换 song 为 jinglei 即可;
(2) 生成 tfm/enc 文件,具体命令为:
ttf2tfm jinglei.ttf -q -w unijinglei@your_path/Unicode.sfd@
move *.tfm ../tfm/unicode/unijinglei;
move *.enc ../enc/pdftex/unicode/unijinglei;
(3) 运行 texhash;

第二步:为 dvipdfmx 增加字体配置
(1) 修改 tex/fonts/map/dvipfdm/cid-x.map,在其中增加一行即可;

第三步:为 ttf2pk 增加字体配置
(1) 修改 tex/fonts/ttf2pk/ttfonts.map,增加一行即可;

第四步:为 dvips 增加字体配置
(1) 这个需要生成 Type1 字体,比较麻烦,暂且不做了,dvipdfmx 挺好用的

If you can't read Chinese, it is ok for you to ignore this article. It is about adding a Chinese font in TeX system.