帖子

目前显示的是 五月, 2008的博文

archlinux 下复原 firefox 和 thunderbird 的图标

mozilla 对于 firefox/thunderbird 等等一系列旗下产品的商标策略导致了绝大多数发行版里面都去掉了官方的 logo/brand。只是去掉之后又不能没有,而勉强凑合上来的基本都很难看。比如 archlinux 使用的 big echo(替换 firefox)、mail/news client(替换 thunderbird),实在是难看的可以。

好在有很多办法能把原来的 logo 换回来。其实也不难,怎么换出去的怎么换回来就是。ubuntu 论坛上就贴过类似的脚本。可惜 ubuntu 下面命名都是 mozilla-firefox,mozilla-thunderbird 等等,脚本没有通用性。

archlinux 上已经有了一段脚本,但是只恢复 firefox。于是照猫画虎写了一段用于恢复 thunderbird 的,喜欢的朋友尽管拿去用好了。

寻回街机厅里的感动——推荐 GGPO

图片
GGPO 何方神圣?简单的说,这就是一个街机模拟器。但是,在前有 NeoRageX、WinKawaks、Nebulas 等逐鹿中原,后有 MAME 一统江湖的模拟器界中能够脱颖而出,GGPO 绝非浪得虚名。

如果说老牌模拟器让你终于能够无限投币而圆了儿时梦想的话,那么 GGPO 则通过网络,将你重新带回了那个充满喧嚣、热闹非凡的街机厅(如果你恰巧是个好学生,没怎么参与过早期开发智力运动,那么可以回忆一下曾经几个大男生在不足 10 平米的宿舍里汗流浃背地挤在一个键盘上切磋 KOF 的日子)。没错!有了 GGPO,你将不再是一个人在战斗!

GGPO 的网络对站功能做得相当精彩。KOF 98 虽然还是 experimental 性质的支持,但是对战起来感觉和本地几乎没有区别。更妙的是,即使不参加对战,也可以以观察者的身份随意加入正在进行的对战之中。当年我囊中羞涩,虽然也是街机厅的常客,但看得多玩得少。没想到网络时代仍旧能够不出力看大戏,GGPO 设计的还真够体贴。

GGPO 使用起来也很简单。先从官网下载最新版本,安装。如果你的机器上没有 .Net Framework 的话到这里找大门叔叔要。

既然是网络对战,那就意味着运行 GGPO 是要登录的。运行 GGPO 之后只要点 Create Account 按部就班即可。


和其他所有模拟器一样,GGPO 是不提供任何 Rom。下一步就是拷贝 Rom 文件到 GGPO 的指定目录了。没有意外的话,应该是这里
C:\Program Files\GGPO Client\roms

以目前 GGPO 上最为火爆的 KOF 98 为例,需要 kof98.zipneogeo.zip 两个文件。

登录进入 GGPO 之后,在 Game Room 选择游戏,右键点击右侧的在线玩家可以选择观战或者挑战。如果有人挑战你的话,会有这样的提示。这里是真正的街机厅,这里有大把不停大叫 98 的饥渴各地玩家,也偶有义正辞严声明台湾永远是中国领土不可分割的一部分的爱国小将。不要以为不会有人挑战你,只想观战的同学记得在左下角把状态设置为 AFK(贴心提示:AFK = Away From Keyboard )。


开战之后会有真正的模拟器窗口(FB Alpha)弹出。Game -> Map game inputs 改键盘设置。游戏中按 T 键聊天(注意左下角)。


目前…

linux 下搞定蓝牙耳机

其实今天在 linux 下面搞定蓝牙耳机并不是很难的事情。只不过因为这个问题在历史上曾经比较棘手,网上充斥了大量相对陈旧的、复杂的安装指南,导致人们一直感觉这样时尚的东西,可能 linux 支持起来很复杂。而实际上可能并不是这样。

linux 上的蓝牙部分,是 bluez 的项目来实现的。因此,只要紧盯 bluez 的官方网站,就可以获得最新、最权威的指导。比如搞定蓝牙耳机,基本上就只要参考官方 wiki 的这篇文章就可以搞定。如果更偷懒一些,这篇 blog 里的脚本也是 “拆箱即用”,方便的很。

相比之下,archlinux wiki 上的文章就相对陈旧。这里不得不佩服 gentoo,文档方面真是一流,从过去到现在,虽然写在一起有点杂乱,但是信息量很足。

最后奉上一点拙作,这是和之前那篇 blog 功能一样的一段脚本,不过不依赖 python,只要有 bash 就行(blogspot 的引用段落会打乱排版,如果自己加了 <pre> 标签,又有可能造成某些长行看不见,所以暂时就贴成这样了,还请见谅)。

#!/bin/bash

if [ $1 ]; then
ACTION=$1
else
ACTION="off"
fi

MAC="00:11:22:33:44:55" # your bluetooth device's mac

if [ "$ACTION" == "music" ]; then

echo Connect bluetooth headset in stereo mode

# active service
TMP=`dbus-send --system --print-reply --dest=org.bluez /org/bluez org.bluez.Manager.ActivateService string:audio`
DEST=`expr match "$TMP" '.*\(\".*\"\)'`
DEST=${DEST#\"}
DEST=${DEST%\"}

# create device
TMP=`dbus-send --sys…

沟通问题

关于人与人之间的沟通问题,最近想的比较多。于是总是想起这一些老话。

“子非鱼,安知鱼之乐?”出自《庄子》。当然,这话不是庄子说的,而是惠子问庄子的话。庄子的回答是“子非我,安知我不知鱼之乐?”沟通之难,不要说人与鱼,即使是人与人,说同种语言的人与人,说同种语言且年龄相仿的人与人之间,很多时候都是难以逾越的鸿沟。庄子是个聪明人,知道跨越鸿沟之难,于是又划了一道鸿沟作为回答,讨巧却不那么厚道。俗语“家家有本难念的经”,“等你 xxx(可替换长大了、成家了、当爹了等等)才会知道”等等,莫不是同意的表达。

相比之下,孔老先生就厚道一些,儒家是入世的学问,自然提出了具体的做法。“子曰:‘不在其位,不谋其政’。”出自《论语·泰伯》。表达的就是沟通之难,不如噤声。不在其位,难以形成对称的信息。信息不对称,讨论就难有基础。鸡同鸭讲,对牛弹琴,倒算安全,倘若大家都年轻气盛,一言不合,拍案而起,立时就成了不和谐因素。老子讲“不尚贤,使民不争”,就是针砭此弊。所谓“贤”,俨然就是论坛里的某些“牛人”,深于资历(姑且),精于逻辑(一定),巧言如簧(通常),煽风点火(有意),挖了一个又一个大大的水坑。

说到了老子,他的办法也是让大家不尚不争。仔细想想,这其实很难。祸从口出,水民没有相当的素质,绝难看严自己的嘴。老子其实是以提升水民素质作为出发点的。但很奇怪的是,老子的话通常都被理解成相反的意思。比如“是以圣人之治,虚其心,实其腹,弱其志,强其骨。常使民无知无欲。使夫智者不敢为也。”这句常被人用来指摘老子提倡愚民,而“虚其心,实其腹,弱其志,强其骨”这四点,稍历风雨的人都知道还真不是一般战士所能企及。老子写了“大直若屈,大巧若拙,大辨若讷”,又写了“大音希声,大象无形”,就差很直白的写一句“大智若愚”,于是就被愚民指摘愚民了千年。一部千字《道德经》,白纸黑字且长流于误读,何况其它。所以上世纪 80 年代末,“理解万岁”风行一时(此语出处未作详考,可以参考这里)。确实,如果有办法促进理解而减少不和谐因素,实在是值得喊万岁的事。

孔、老提倡的做法,古今中外,一直适用。比如“搁置争议,共同开发”,比如“shut up and move on xxx (可以替换 f**king、coding、working 等等)”,都是换了个说法而已。只是今天的人们似乎都比古人要笨。古人之间,只要提醒不争就行了。今天的人…