2006年12月27日星期三

claws-mail vs thunderbird(3): 快捷键设置

claws-mail/sylpheed-claws利用了gtk提供的一个很好的特性: 将焦点移动到一个菜单项上,按下一个键,这个键就成了这个菜单项的快捷键(accelerator)。按Del键就可以删除这个快捷键

gtk程序可以设置~/.gtkrc-2.0文件获得这个功能:
gtk-can-change-accels = 1

GNOME程序可在gconf-editor中钩选如下选项
/desktop/gnome/interface/can-change-accels

但有些应用程序(比如claws-mail)不想依赖这些设置,自己打开了这个功能:
   gtk_settings_set_long_property(gtk_settings_get_default(),
"gtk-can-change-accels",
(glong)TRUE, "XProperty");

可惜thunderbird/icedove没有这个功能,也没有其它的设置快捷键的功能:-(

thunderbird vs claws-mail(2): 删除重复邮件

我将三个gmail邮箱的邮件都设置了前转(forward)到公司的邮箱,这几个邮箱对少数几个邮件列表有重复订阅现象,所以删除重复邮件就是一个必须的功能。

claws-mail/sylpheed-claws自带这个功能,但thunderbird没有。不过搜到一个Remove Duplicate Messages插件,虽然很不习惯它的"selected"表示方法,但总算可以解决问题了。

2006年12月25日星期一

升级到gaim-2.0beta,又降下来了

Debian testing中的gaim早升到了2.0beta版,但我一直没有升级,主要是原来在Windows下试用过,gaim-2.0中好像不能单独设置某个协议的状态,我没法单独将QQ或者MSN隐身。

这两天没啥事情,Torchwood也因为没有找到字幕没法看,干脆就来升级这个玩儿 :-)

先做了个备份

$ dpkg-repack gaim
$ dpkg-repack gaim-data
$ dpkg-repack openq

升级:

$ apt-get install gaim

没想到升级后gaim很不稳定,老崩溃。一小时后只能重新安装1.5了:

$ apt-get remove gaim
$ dpkg -i gaim_1.5*.deb openq*.deb

BTW: Debian简直太方便了 :-)

2006年12月22日星期五

Thunderbird: 如何调整附件栏的大小

新年新气象,除了打算将blog搬个地方之外,邮件客户端也打算切换到Mozilla Thunderbird了(在Debian上已经是icedove了)。不过这个东东除了thread分组这一条让我很不爽之外,还有一个地方: 附件栏会根据附件多寡自动调整大小,如果按每日文摘(daily digest)的方式收一些邮件列表的话,这个附件栏就会变得很大。

本想凭着这些日子对mozilla/xul的学习,自己来解决这个问题。地方是找到了,在chrome/messenger.jar#content/messenger/msgHdrViewOverlay.xul (还是用Total Commander搜索attachment搜到的,它可以搜索压缩包中的文件内容,并且在wine上面运行得很好)。可怎么改都不对。

没办法,还是google吧。没想到一搜"thunderbird attachementView"(后者是在xul文件里面看见的附件栏的id)就找到了: MozillaZine Knowledge Base - Attachment Pane Height

又试用了一下Thunderbird

我在公司一直是用sylpheed-claws(前不久为了撇清跟sylpheed的关系改名为claws-mail)来收发邮件的(在家里有gmail就够了 :-)),但现在不怎么“玩”cygwin了,觉得每次都要拉起一个X server来跑sylpheed-claws有点烦,于是又来试用Mozilla Thunderbird。

其实几年前在家里用过一年Thunderbird,现在也忘了为什么后来没有用它了。

但Thunderbird 对于thread的支持让我决定还是用claws-mail: Thunderbird将排序和分组这搅和在一起,只有选择按thread(中文翻译为话题)排序才能再选择按排序分组,也就是说我没有办法按照常见的按 thread分组再按时间排序。"

2006年12月18日星期一

codegear.com网站终于建立起来了

不知道是否会出现当初Borland改名为Inprise时那样的情况: 用户们找不到原来的Borland,以为它已经不再存在了。

2006年12月17日星期日

我们终于有了gnome-cn planet

http://planet.gnome-cn.org/

鄙人的GNOME部分也有幸忝列其中,很高兴有一个跟大家交流的地方。

现在GNOME用起来越来越顺手,这段时间都没有碰到多少要解决的问题,所以这方面的日志写得少了。看来以后得多写几篇 :-)

因为工作关系,我没有太多时间去逛BBS和论坛,倒是很喜欢去Planet这类日志网站。我常去以下几个网站:

P.S 该网站的Logo颜色搭配得太差了,呼吁jcome给重新设计一个吧:-)

XUL学习杂感

  • 目前搞到三份教程: Rapid Application Development with Mozilla, Create Application with Mozilla, XUL Tutorial. 正在看的是中间一份;
  • XPFEGRE, XRE, XPToolkit和XULRunner是什么关系?
  • 初学XUL时还是用mozilla做试验比较好,如果你写的XUL里面有错误,似乎Firefox会啥反应也没有, XULRunner亦然,但mozilla会帮你指出来。应该是某个选项控制这个;
  • Mozilla是如何解决XUL里控件文本的本地化问题的?它直接使用了XML技术里面的DTD/entity,这很有些匪夷所思啊
  • menupopup, popup, popupset有什么差别?
  • Firefox里面的toolbar为什么没有grippy(就是原来netscape里面工具条左边的折叠条)?

2006年12月15日星期五

Firefox扩展: CHM Reader

http://addons.mozilla.org/firefox/3235/

An extension make firefox support Compiled HTML(.chm) file reading.

Works with Firefox 1.5-2.0. 但好像不能在Linux版本的firefox上工作。

为国人Ling Li所作。

2006年12月10日星期日

Mozilla/XUL平台在哪些方面吸引我

前几天说,我想学习一下XUL了。为什么呢?

我赖以混饭吃的项目组的项目的业务层越来越复杂,用户们也不满于我们接纳和实现功能需求的速度,期望能够自己搞二次开发。为此我们在前一个版本中 全面加强了脚本扩展,以便能够方便外围业务的开发。但这只是解决了逻辑方面的问题,但缺少界面扩展能力,那怕只是提供几个选项的简单的对话框。

通过Firefox的使用,我看到了Mozilla作为一个开发平台的能力,而ThunderBird, Komodo等也说明了Mozilla不仅仅是个浏览器。所以我想学习一下XUL,如果明年能够推动迁移到这个上面来就比较有意思了,即使这个目标达不到我也期望能够从中学到很多思想。

那么,Mozilla/XUL具体在哪些方面吸引我?

  • 脚本与系统完全融为一体,可以响应界面,可以创建XPCOM对象(有点遗憾的是,Python脚本支持的进展有点慢);
  • 界面的快速开发功能(XUL),界面元素也相当丰富(对于我们的应用,目前还欠缺一个datagrid, 或者说可编辑的treelist),我对于还要考虑对话框怎么调整大小、分隔条的行为这些问题感到厌烦;
  • 可通过XPCOM扩展系统;
  • overlay机制,可以通过扩展修改核心系统的行为(也包括界面,比如在一个已有窗口中插入一些元素);
  • 本身支持HTML的显示,这会给内容的展现带来很大的方便;
  • 包,各个包之前是相互独立的,各有自己的名称空间,而overlay机制又允许包之间可以打交道;
  • 完整而简单的多语言解决方案。多语言这个问题初看起来简单,但自己实现起来就觉得需要考虑好多东西,比如字符集问题,语言包的更新问题(程序修改过之后,如何识别哪些语句需要更新),界面的翻译问题等等;
  • 跨平台

不过目前也觉得有些不太好的地方:

  • 体系有点太复杂了,掌握XML, XUL, JavaScript和CSS似乎是最基本的,还有XPCOM, XBL, RDF, DOM...,还有一些工具的用法,初学者太难于上手了;
  • 界面缺少工具WYSWYG工具,别说Delphi那样的完整的RAD系统了,连glade, wxglade那样的工具都没有见到;
  • 中文资料比较少,也就在limodou的学习笔记上看见过一些XUL Tutorial的翻译和学习心得;
  • 似乎内存占用有点大(其实我倒觉得挺正常,但我们的用户太挑剔了 :-()

2006年12月7日星期四

Debian Weekly News #41

Debian Weekly News #41

以下只是我感兴趣的一些东西

  • Etch只能采用GNOME 2.14了,想要2.16就只能等backport了
  • Debian Installer出了第一个RC
  • 新的签名密钥,这篇Secure APT讲得比较详细
  • IceWeasel出现在unstable了
  • 新的软件包
    • bashdb ― BASH debugger.
    • bmpx ― Beep Media Player eXperimental.
    • bouml ― UML2 tool box to specify and generate code.
    • dissy ― Graphical frontend for objdump.
    • gcin ― GTK+ based input method platform for Chinese users.
    • iceweasel ― Lightweight web browser based on Mozilla.
    • toilet ― Display large colourful characters in text mode.
    • xmlindent ― XML stream reformatter.

2006年12月4日星期一

用proxy插件解决一些网站无法访问的问题

以前一直是用tor来解决一些网站无法访问的问题,但它的效果一直不太好,很多网页依旧访问不了。这两天在家里连sf.net都无法访问了,只得尝试其它方法。

Firefox的插件网站上搜了一下与proxy有关的插件,发现了一下几个插件:

  • gladder: Get over Great Firewall with Great Ladder! 这个名字取得有意思:-)。不过它只是对它列出的网址使用proxy

  • HttProxy: Access any page via configured web based proxy. 基于Web服务器中转,不过网址不加密

  • PhProxy: Open block pages automatically using web Proxy (PhProxy). 这个插件不错,也是web-based proxy,还可以加密网址

推荐使用PhProxy。

2006年11月30日星期四

开始学习XUL

这两个月工作开始有些闲暇了,于是一直想早点东西学学,这两日终于确定下来主题了: 开始玩XUL

2006年11月22日星期三

雾零:十个空虚的承诺

VaporWare这个名词我是在上期三联杂志上看见的。"Vapor往往被直译为水蒸气,同时它也有自夸的意思,恰恰与很多频繁跳票的产品如出一辙”,于是vaporware就成了哪些老跳票的东西的总称。至于"雾零"这个翻译,也不知道是谁想出来的,感觉不那么靠谱:-)。

10、玛琳?黛德丽的自传
9、只见游戏不见打仗的AH66科曼奇
8、汤姆?福特的电影
7、WiMax的等明天
6、20年拍不完一部圣斗士
5、王朔:留给女儿的俩长篇
4、《印第安那?琼斯 4》
3、SP3难产:为了Vista的敛财
2、只见照片不见能穿的耐克“蓝喷”
1、永远推迟的《永远的毁灭公爵》

记得几个月前写了一篇“那些让我们等了又等的...”, 里面提到Duke Nukem Forever, Total Commander 7等等,如今TC7除了beta版本了,公爵还要我们forever地等待。

2006年11月21日星期二

关于红旗Linux

写前面那片关于Vaporware的文章时用google搜"bamanzi 那些让我们等了又等的"想找出那篇文章来,不料却收出了前年在Linux伊甸园的红旗Linux论坛上回的几个帖子,再看一遍,觉得很有意思。

我一向不太爱跟人争辩的,虽然对于很多事情我都有看法,但那时实在有些”怒其不争“,一口气回了四贴。

两年过去了,也不想再多说,只说两点:

1. 红旗Linux算不得"自主知识产权“的操作系统,所以那个帖子所倡议的是个伪命题。

2. 红旗网站上假模三道地提供了源代码盘下载,但都是死链接(我很期望是我这里网络的问题)。

2006年11月17日星期五

写了个小脚本下载cygwin ports

为了给朋友提供一份cygwin,我从下面这个地方下载了一份ISO(自己用cygwin的安装工具下载实在是很受不了的):

http://inst.eecs.berkeley.edu/~instcd/iso/

然后就想着再把cygwin ports也下载一份,但其服务器慢得要命,而且常常断链,镜像网站也没有。最后只好祭出wget大法,用了个小脚本来搞。

(外一则)今天Nick Hodges的blog说到:

You know what I hate? I hate it when Windows tells me that it has installed new updates, and then it keeps insisting I have to reboot. If I say reboot later, it gives me like a five minute grace period and 'reminds' me again. I should be able to reboot when I want to reboot, not when Windows insists that I reboot. Very irritating.

有人在留言中说:

What I hate - you leave a long download going overnigt, and you get up the next morning and your computer has been rebooted by Windows Update.

嘿,跟我在下载cygwin ports中碰到的问题一样: 开始Windows Update每隔5分钟问我一次要不要重启,烦死我了;后来配好了下载脚本,本来放心地去睡了,第二天早上一看,就下载了3%, 机器被Windows Update自作聪明地重启了 :-(。只是没想到这些高手也会被这个问题所困扰。


首先:

  wget ftp://sunsite.dk/projects/cygwinports/setup.bz2

bunzip2 -dc setup.bz2 > setup.ini

然后就可以不断使用这个脚本了:

#!/bin/sh

OFFICIAL_DIR="../official"
# find packages not downloaded
echo "analysing setup.ini and finding packages not downloaded..."
awk 'BEGIN{current=0;}
/^@/ { current=1; }
/^[prev/ {current=0; }
/^[test/ {current-0; }
/^install:/ { if (1==current) print $2,$3; }' setup.ini | while read file size; do
[ ! -f "$file" ] && echo "$file $size"
done > .missing.tmp

# download them, from the smallest one to bigger ones
#sort -n -k2 .missing.tmp | while read file size; do
cat .missing.tmp | while read file size; do
d=`dirname $file`
# if "../$d" exists, official port already exists
# thus this package is an update, ignore it
if [ ! -f "$file" -a ! -d "${OFFICIAL_DIR}/$d" ]; then
[ ! -d $d ] && mkdir -p $d

d=`dirname $file`
[ ! -d $d ] && mkdir -p $d
wget --timestamping --no-host-directories --force-directories
--cut-dirs=2 "ftp://sunsite.dk/projects/cygwinports/$file"
# wget --timestamping --no-host-directories --force-directories
# --cut-dirs=2 "ftp://sunsite.dk/projects/cygwinports/$d/setup.hint"
sleep 10
fi
done

User Comments
关不掉windows update的重启提示 [Reply]
bamanzi | 17 十一月, 2006 21:40
在网上收了一阵,说是运行gpedit.msc,然后设置某个选项即可关掉。但我这里没有gpedit.msc,说是XP Home版本没有这个东西。唉!
(no subject) [Reply]
netawater | 18 十一月, 2006 13:48
请问cygwin ports和以前的cygwin.com有什么关系?
Re: [Reply]
bamanzi | 19 十一月, 2006 11:29
cygwin ports提供一些额外的包,是 cygwin官方包的补充,甚至KDE,GNOME和mono都有
(no subject) [Reply]
netawater | 19 十一月, 2006 22:23
哦,谢谢!
(no subject) [Reply]
anony | 21 十一月, 2006 15:51
我用的cygwin是这个版本:cygwin-cd-release-20060906.iso.全部安装,在下载好cygwin ports,全部安装.安装的时候看到cygwin自动把旧的gnome/xorg什么的卸载掉了,装好后,运行gnome/kde都不成功 (startgnome,startkde),老是提示: _X11TransOpen: transport open failed for local _X11TransOpen: transport open failed for tcp ,并且xterm都不能打开,can't open display 127.0.0.1:0,但是明明X是起来的,telnet能直接联上127.0.0.1:6000.是因为cygwin版本太低了么?
(no subject) [Reply]
anony | 22 十一月, 2006 16:33
又使用了最新的cygwin(20061108).还是不行,估计是cygwin ports的问题.唉

Joel: UNIX与Windows二元文化

买了一本《Joel谈软件》在看,里面有一篇《二元文化》讲到了Windows与UNIX在文化上的差别。

搜了一下,找到了原文Biculturalism 和繁体翻译《双元文化主义》。

这是篇老文章了,说UNIX倡导的是对其他程序员有用的输出,而Windows倡导的是让你的姨妈能够用软件做点事情。倒无所谓谁对谁好,只是出发点不一样。有一腚道理哈。

2006年11月8日星期三

2006年11月6日星期一

没想到Doctor Who又衍生出一部Torchwood

刚才在verycd.com上搜Doctor Who第二部的介绍,没想到搜到一个Torchwood(wiki):

10月22日,BBC开播一部新科幻电视剧《Torchwood》,这是英国长寿科幻电视剧大王《Doctor Who》(神秘博士/异世奇人)的衍生剧集。Torchwood这个名词其实是Doctor Who由颠倒字母顺序而构成的字。Torchwood在《Doctor Who 2005》里出现过好几次,例如《Doctor Who 2005》2x02里提到了1879年的维多利亚女王遇到了博士和Rose,也见识到了外星生物的存在, 最后她流放了博士和Rose的同时决定开始建立一个像"黑衣人"一样的专门研究并对付外星人的组织-火炬木研究院(the Torchwood Institute);而2x00里最后摧毁外星人飞船的武器就是火炬木研究院的研究成果之一;2x12则介绍了现代的火炬木研究院。。。

这让我想起了当初看The X Files的衍生剧The Lone Gunmen,有意思。

BTW: 前几天看solidot,上面一则说到: 我们的政府官员在联合国会议上就互联网管理宣称中国绝对不存在任何网络审查,说是完全可以访问BBC的网站。于是我就再试了一下Doctor Who的官方网站,还真可以了。

2006年11月2日星期四

Total Commander 7.0 beta现身

Finally Total Commander 7 public beta is available!
Please report bugs here in the beta bugs forum, ONE BUG PER MESSAGE!
There is also a general discussions forum.

我比较喜欢的几个功能:

Compare by content now allows to edit files, and to re-synchronize manually.
本来一般都用Beyond Compare或者WinMerge,但同步目录的时候会自动使用这个内置的比较器,所以能编辑真是太好了,不过作者说过TC7允许使用第三方工具的,不 知道实现了没有。
Separate tree panel: Either one for both file panels, or one for each.
总算有个独立的树了。
Exclude directories in "Show"-"Custom...", e.g. with *.* | .cvs.
这个功能俺想了很久了,尤其是在wine里面用的时候,HOME目录下一堆的.*文件很是扎眼(为什么wine不将它们解释成隐藏文件?)
Alias commands for the command line for internal commands or external programs.
快捷键定义多了也记不住(而且大部分Ctrl+?快捷键已经用光了),所以在命令行上敲一个"//syncchangedir"或者 "//toggletree"也不错,呵呵
Internal command selection dialog.
这条没有在帮助文件的What's New总列出,但这个版本对于TC的内部命令增强了不少,除了在配置工具条或者快捷键时按分类和关键字查找(比原来那个长长的下拉框强几百倍啊),还可在 命令行上直接使用cm_mkdir, cm_switchhidsys这些内部命令(如果怕记不住,也可以用cm_CommandBrowser打开上面说的这个对话框去找:-)
total commander 7.0 beta

2006年10月29日星期日

IE7不咋样啊

也下载了一份IE7,主要是以为它在安全性上有所改进,而且到处都在吹它的新界面。但用了几天,觉得不咋样:

  • 安装狂慢,折腾了10来分钟,不知道在忙些什么;
  • 对弹出窗口的拦截功能似乎没有起到作用,不管是否打开了拦截功能都一样;
  • 新建Tab页的按钮的位置俺很不习惯,又不让改;
  • IE现在总算对于CSS指定大小的字体也可以缩放了,同时在右下角仿照Opera提供了一个缩放框,挺方便的。不过放大了之后有很多显示出现布局混乱的问题,而且文字选择功能也会糊掉;
  • 查找功能没有“全部高亮”的功能;
  • 开同样的几个网页,内存占用明显比Firefox多;
  • 选项配置界面还是非常混乱,你看看Internet Options里面有多少个Tab页,每个页又有多少个按钮打开二级对话框?另外新增的弹出窗口、反钓鱼等功能的设置还不在选项框里面,我常常为了一个设置找啊找啊找啊......

Firefox 2.0也下载了,虽然表面上没有什么变化,但实际上有很多贴心的改进,比如会话管理、重新打开刚才不小心关闭的Tab(不过这几项功能通过Tab Mix Plus扩展也可以做到)、能自动导入IE的扩展菜单、网页搜索可自动完成、搜索引擎可删除、SVG的显示等。

2006年10月22日星期日

技术上的斯德哥尔摩综合症

我在半年前介绍过”斯德哥尔摩综合症“这个专业术语。主要是说在劫持人质的事件中,被劫持者会慢慢地同劫持者产生依赖关系。比如如果劫持者有些迫不得已的理由他们会逐渐相信,比如开始同情劫持者,而劫持者一旦承诺”只要你们乖乖的,保证你们没事“那他们就可能阻止或者检举有所行动的人,甚至劫持者作出一点略微改善他们处境的事情他们甚至会感恩。

刚才无意看见这位”IT自由评论人“的一篇《升级IE7.0的唯一理由》,上面说:

  • 微软的IE除了支持W3C标准外,也支持很多不标准、甚至不规范的格式。这虽然是微软被人诟病的地方,但确实对于知识相对贫乏的使用者、设计者们的“容错”吸引到更多的人来使用;
  • Opera、Firefox不支持Microsoft对于网页及CSS的扩展将很难在Windows平台上有更进一步增涨“;
  • 写到这儿我才发现,升级IE7的唯一理由是因为我们用的是Windows,在这个平台上谁能做得比微软更加好呢,又怎样能抗拒好多年未有重大升级的IE的最新版本呢?

具体我就不反驳了。反正我的第一感觉就是: ”斯德哥尔摩综合症“这个词完全可以在技术方面用起来 :-)

死亡蓝屏? 虚惊一场

早上将Linux系统从休眠中恢复,结果出现了类似这样的一个画面:



难道恢复时又出错了?上次内核升级后已经很少出现从休眠中恢复时崩溃的问题了。没办法,关机重来吧。

于是下意识地敲了两下回车,没想到出来XScreenSaver的输入密码对话框。难道刚才看见的是一个屏幕保护程序?输入密码,哈,真是。

打开GNOME设置的“屏幕保护程序”一项,焦点自动定位在刚才适用的屏保程序上,名字就叫BSOD,说是可以模拟20多个操作系统的一些系统崩溃画面。

挺逼真的,它会在模拟的同时采用当前的机器名、时间等。

不过,为啥要叫BSOD(Blue screen of death) :-)

2006年10月19日星期四

wine上跑Delphi 7

某天在Delphi盒子上看见一个mini版本的Delphi7,只有5M大小,解压后简单设置一下就可以跑起来。现在常常很不愿意跑个笨重的BDS 2006做简单的试验或者制作界面原型。这个东西正合适。

回家又想,能不能在wine上面跑起来?于是动手来折腾,过程中碰到一些问题,不过到现在终于比较满意了。



1.基本安装

1.1 该安装程序实际是一个RAR的自解压包,随便解压(安装)到人和位置都可以(以下假设为C:Delphi7)。

1.2 解压后完成后会自动调用regd7.exe,这实际上也是一个自解压包,里面包含了调试器代理bordbk70.dll, 注册表数据delphi7.reg和注册信息REGISTRY.SLM。它的解压位置为%USERPROFILE%\.borland,但wine上面 USERPROFILE这个环境变量不一定能正确翻译出来(在Windows上是X:\Documents and Settings),会解压到Program Files里面去。

1.2.1将bordbk70.dll拷贝到C:\Delphi7, 运行regsvr32.exe bordbk70.dll;

1.2.2 然后运行regedit导入delphi32.reg;如果搞不定(没有regedit或者导入不成功),可以直接编辑~/.wine/user.reg,把内容拷贝过去,不过要注意删除HKEY_CURRENT_USER这几个字。

1.2.3 最后建立目录X:\Windows\.borland,将注册信息REGISTRY.SLM拷贝到这个目录下。另外要导入如下内容到HKEY_CURRENT_MACHINE:

 [SoftwareBorlandDelphi7.0] 1160143880

"App"="C:\Delphi7\bin\Delphi32.exe"

"LMKEY"="QX8-EEC"

"LMLIC"="6AKD-PD29Q9-RDF?JQ-X65Z"

"LocalSharedRoot"="C:\Delphi7\Shared"

"RootDir"="C:\Delphi7"

"UseSharedFiles"="TRUE"

"Version"="PRO"

然后就可以运行了: wine c:\delphi7\bin\delphi32.exe

(如果调试时设置了断点但不能停下来,请检查bordbk70.dll是否正确注册; 如果报告delphi没有注册或者没有找到d7reg.exe,请检查上面第1.2.3步)

注意那个mini包带的都是原来delphi7的,没有打过补丁,建议用补丁后的版本(如果你手头没有,可以下载这个所谓的delphi 7 second edition (delphibox下载, delphifans下载))。

2. 加装一些东西

这个mini版本是够精简的,东西很少,连Code Explorer和To-Do List也没有,如果你有Delphi 7 Professional,可以从拷贝vclie70.bpl, vclhie70.bpl, proide70.bpl和delphipro70.bpl这几个文件过来,在Component->Install Packages...中加载delphipro70.bpl即可。

另外也可以安装GExpertsCnWizards,这两个专家包都是针对Personal版本测试过的,尽量减少了对Professional或者Enterprise版本采用的特性的依赖。不过对于Castalia就没有那么好运了。

3.其它

也许你会很愿意让X的窗口管理器来管理Delphi7的窗口,因为它不管是主窗口还是工具窗口都显示成一样,CnWizards的一些扩展按钮也看不着,更重要的是,窗口一拖动就糊成一团,工具窗口的docking也不起作用。

那就改为非managed模式吧: 运行regedit,建立如下内容

 [HKEY_CURRENT_USER\Software\Wine\AppDefaults\delphi32.exe\X11 Driver]

"Managed"="N"
注意改成这样delphi在任务条上是看不见的了,最下化后请去桌面左下角找图标 :-)


2006年10月17日星期二

为什么不升级到BDS2006

Borland的DTG(Developer Tool Group)的掌门人Nick Hodges发出了一个邮件Why aren't you upgrading?,并在Blog上给出一堆应该升级的理由

不料这下可炸开锅了。Blog上的回帖有几十条,话语都很尖锐; 而新闻组borland.public.delphi.non-technical上对这个邮件的直接回信更是长达1100多条。


2006年10月5日星期四

给Dictionary Tooltip添加了stardict.org的支持

前不久StarDict推出了在线词典,所有StarDict中可以用的词典都可以在线查(不过得经过简单注册才行,而且同时最多只能查5个词典)。

于是改了一下Dictionary Tooltip,使其支持StarDict.org了,补丁还没有提交给upstream,诸位可以从这里下载到(需要下载到本地再用Firefox打开进行安装)。



支持两种模式,"simple"只显示最后一个词典的解释(没有在StarDict上注册并自定义词典时,最后一个词典是“简明汉英词典”或者“简明英汉词典”),"all"是显示所有词典的解释。

另外,这次将代码基线升级到了upstream的最新免费版本0.9.2.

2006年10月1日星期日

C++类继承中的几个小问题

是的,我一直是个Delphi的粉丝。虽然现在工作上用的是C++(而且是在用VC/MFC),但一直都没有认真去学习它。前两天听俺们项目组的C ++高手讲解了一些“基本知识”,我还是觉得这个语言太复杂了,陷阱也太多。以下有几个例子(鄙人C++确很粗浅,如有不对的地方,敬请指正)。

[@more@]

第一个例子:

class Base
{
public:
virtual void MethodFoo(std::string s);
}
class Child: public Base
{
public:
virtual void MethodFoo(std::string s);
}
Base *b = new Child;
std::string s("something");
b.MethodFoo(str);

我 们会利用多态性来调用不同的MethodFoo实现,但突然有一天你觉得MethodFoo中间s是不应该发生变化的,于是加了一个const。问题来 了,很多编译器不会告诉你任何告警,但b.MethodFoo再也调用不到派生类的MethodFoo了,除非你把它们一个个都改过来。

第二个例子:

class Base
{
public:
virtual void MethodFoo(std::string s);
}

class Child: public Base
{
public:
virtual void MethodFoo(std::string s);
{
DoSometingMyself();
Base::MethodFoo(s);
}
}

突然有一天,你觉得这个设计不太合理,需要在Base和Child之间再插入一层(class Middle),这就意味着你得修改Child所有函数中类似上面黑体的部分,把它们改成Middle::MethodFoo什么的。

第三个例子:

我 们知道C++中支持多继承,但它对于多个基类中有同名同类型函数的问题没有提供解决方法(也许你会说,我们不应该写这样的代码,但仔细想想X, Y都是接口(C++用纯虚类来做)的情况下,难免会有重名的)。对于X, Y均派生自B,而C又牌证自X+Y这种”恐怖的菱形,它有一个"workaround"是用虚基类,但这要求更改X, Y的代码,使得它们虚拟继承自B。

-----------

是的,这三个问题在Delphi中均可以避免:

1. 要重新实现虚方法必须用override关键字;而带有override声明的方法如果参数不一致,编译器会报错;如果基类中不存在叫这个名字的方法,也会报错。而你确实要用同样的函数名做别的事情,得用reintroduce或者overload关键字。

2. Child::MethodFoo中调用其父类的MethodFoo时不用写Base::MethodFoo,直接写inherited MethodFoo就行了。

3. 采用方法分辨子句即可:

TChild = class(TParent, Interface1, Interface2)
procedure Interface1.MethodFoo = MethodFoo1;
procedure Interface2.MethodFoo = MethodFoo2;
procedure MethodFoo1(s: String);
procedure MethodFoo2(s: String);
end;

2006年9月24日星期日

被google玩了一回

昨天看见Google的个性化主页(http://www.google.com/ig)上出现了一个标签页,我正说在个性化主页上放的东西太多了,有待办事宜、一些RSS新闻链接、日历、小游戏、Gmail等等,正好可以用这个将它们分分类。

Google homepage with tabs

谁知道今天再打开Google,这个东西就没有了,所有小组件都堆在一起。

2006年9月20日星期三

忙啊

这个星期的事情安排不过来了

  • 上海出差的报告
  • 针对S产品线某部门的“中级”培训(周三晚,两小时)
  • 针对W产品线的新版本推广交流(周五,9:00~18:00)
  • 下一版本的设计规格更新
  • 下一版本的UCD低保真模型(也应该上周完成的:-()
  • PMP培训(周一~周四,9:00~18:00)
  • PMP复习和作业(周一~周四,每天一小时)
  • PMP案例写作(本来应该上周交的,因出差没有完成。周四上午之前完成)
还有其它一些事情
  • Sylpheed-Claws 2.5.0的中文翻译(周日之前)
  • Delphi/C++两种语言的面向对象支持对比(计划了好久了,估计要3-4个小时)
  • Vista的出现对桌面应用程序的影响分析(不知道要花多久都)
  • 越狱Season I的最后三集(实在不愿意等到下个星期去看 :-)

2006年9月13日星期三

几个Eye Candy (Windows)

  • Blueberry 3D-Desktop 这个Windows外壳可比较另类,找个控制面板就得跟玩DOOM一样找上半天。

2006年9月8日星期五

Borland发布Turbo系列

9月刚来,Borland就如期推出了早先宣布的Turbo系列。可以从下面网址找到下载地址,其中Turbo Explorer系列是免费的,只是不能加装第三方控件和其它扩展。
http://www.turboexplorer.com/

该网站上有几个广告视频链接,挺有意思,看样子应该是90年代初的风格。

2006年9月4日星期一

第四(五?)次去大甲岛

距离上次去有三年了吧? 感觉不错,水相当清澈,比上个月去的桔钓沙强多了。躺在游泳区的救生木台上,随着波浪起伏;或者靠在防鲨网边,看五彩斑斓的小鱼游来游去,那叫一个舒服。

200609大甲岛
Sep 2, 2006 - 13 Photos

2006年9月2日星期六

GUI系统发展史

Graphical User Interface Timeline

里面介绍BeOS时 说: One of the most noted features of BeOS is its use of tabs instead of typical title bars. This perhaps saves a little bit of screen space and definitely gives the windowing system a unique appearance. 这正是我最近用xfwm4的beos风格替代metacity的原因 :-)

罗梅洛说: “我们的计划就是,让全世界游戏制作者都用上NeXTSTEP,让所有人都连到因特网上,让每个人都拥有一辆法拉利。” 到底NeXTSTEP是个怎样的东西,居然有这么大魅力? 这里也有NeXTSTEP的后继OPENSTEP的介绍(这种风格跟我们现在常见的风格差别太大了,都有点边缘化了,搞得GNUstep现在有点冷清)。

P.S: NeXTSTEP和OPENSTEP居然也是Apple弄出来的。

Links 2006-09-01

2006年8月25日星期五

再次偷装Ubuntu的内核

为了获得休眠(suspend to disk)功能,俺把ubuntu的内核包安装到了俺的Debian上 :-)

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

大约三周以前某天,用totem打开一集Doctor Who时黑屏了,重启后俺的GNOME里喇叭上就多了小红叉,怎么都没有声音。上次误打误撞的解决方法也被证明无效。

几乎打算重装了,但两年多的东西要备份下来还是挺麻烦。于是又没头苍蝇似地升级了udev和kernel, 嘿嘿,好了。

不过来了一个新问题,俺习惯性地敲echo 4 > /proc/acpi/sleep试图让系统休眠,但不起作用,系统报告/proc/acpi/sleep不存在。

apt-cache search hibernate告诉我有个hibernate包, 可以smartly puts your computer to sleep (suspend to RAM or disk),满怀希望地装上,结果告诉我:

Your kernel does not appear to have Software Suspend 2 support compiled in.
Please follow the HOWTO linked from http://www.suspend2.net/ for instructions
on how to compile Software Suspend into your kernel.

不能休眠可不爽,比没有声音还难忍受。俺又是个懒人,懒得自己去编译内核,于是从ubuntu网站上下载了linux-image-2.6.17-686,装上,嘿嘿,可以了。

(ubuntu 的linux-image-2.6.17-686包需要module-init-tools版本在3.2.2-3ubuntu2,而debianl里面还 是3.2.2-2版本,于是俺很邪恶地修改了/var/lib/dpkg/status,将其要求的版本号改掉,dpkg --configure就不报错了。)

2006年8月24日星期四

GNOME 2.16 Preview

GNOME 2.16 preview

有点失望,没什么让人高兴的东西

  1. Icon theme:解决了缺图标的问题
  2. Evolution 俺不用这个庞然大物,懒得看有什么新功能
  3. Metacity 俺现在用xfwm4的仿BeOS风格,鸡肋般的metacity已经被抛弃了
  4. libwnck: 可以将窗口拖到另外一个工作台面了(不过好像xfce4.4也实现了?)
  5. tomboy 为了一个桌面贴装mono和gtk#是否有点不值?
  6. Bug Buddy 没用它反馈过问题:-)
  7. Yelp: 改进了搜索功能,这个程序也很少用,因为那些文档都写得不怎么样(大家都喜欢写程序,不喜欢写文档)。
  8. Deskbar Applet这个好像还有点用
  9. Totem: 这个东西俺还比较关心,看碟子少不了它
  10. Pot Pourri: 屏保可以全屏预览了(俺不感兴趣)
  11. file-roller对于密码保护的文件有了特殊的图标
  12. gnome-terminal可以"真"透明了(不知道啥叫real transparency)
  13. nautilus可以感知SELinux对文件权限的设置

2006年8月21日星期一

呵呵,买了两个魔方(图?)

四阶魔方
四阶魔方。这可是Rubik的,150门一个。本来还有5阶的,等4阶玩会了再说吧:-)
国产五魔方
这是个12面的,比较吓人吧。可惜质量不太好,转起来很涩。

2006年8月18日星期五

吕秀才智擒姬无命

《武林外传》第二十九集,绝顶高手姬无命欲杀死秀才,结果被秀才说死……

跟诸葛亮阵前骂死王朗有得一拼啊。



姬无命(以下简称姬):想怎么死,我成全你。
  秀才:慢着,杀我可以,不过得先说明了,我到底死在谁的手里?
  姬:废话,我呀。
  秀才:我……是……谁……
  姬:我怎么知道你是谁啊?
  秀才(笑):问题来了吧。
  姬(一头雾水):什么意思啊?
  秀才:这得从人和宇宙的关系开始讲起了,在你身上一直以来就有一个问题缠绕着你。
  姬:什么意思啊?
  秀才:我,是谁?
  姬:这,我已经知道了。
  秀才:不,你不知道。你知道吗,你是谁?姬无命吗?不,这只是个名字,一个代号。你可以叫姬无命,我也可以叫姬无命,他们都可以。把代号拿掉之后呢,你又是谁?
  姬:我不知道,我也不用知道。
  秀才:好,好,那你再回答我另一个问题:我是谁?
  姬:这个问题已经问过了。
  秀才:不,我刚才问的是本我,现在问的是自我。
  姬:这有什么区别吗?
  秀才:举个例子,当我用我这个代号来进行对话的同时,你的代号也是我,这意味着什么呢?这是否意味着你就是我,而我也就是你……
  姬:这个问题没什么意义。
  秀才:那就问几个有意义的。我生从何来,死往何处?我为何要出现在这个世界上?我的出现对这个世界意味着什么?是世界选择了我,还是我选择了世界?
  姬:够了……!
  秀才:我和宇宙之间有必然的联系吗?宇宙是否有尽头?时间是否有长短?过去的时间在哪里消失?未来的时间又在何处停止?我在这一刻提出的问题还是你刚才提到的问题吗?
  姬(头都大了):我杀了你!
  秀才高喊:是谁杀了我,而我又杀了谁?
  姬(愣了):是我杀了我?
  秀才:回答正确!动手吧!
  于是,一代绝顶高手姬无命就这样丧命了。

2006年8月13日星期日

更新了一下dictionary tooltip插件的“爱词霸”补丁

先前我对dictionary tooltip插件提供了一个使其支持"金山爱词霸"网站的补丁。这两天发现"爱词霸"的网页有了点细节调整,于是更新了一下,并添加了一个选项:显示所有词典解释还是只显示一个。

为了方便,直接提供了xpi安装包: Dictionary-Tooltip_v0.9.1+iciba.xpi

2006年8月8日星期二

Borland新瓶装老酒,重新推出Turbo系列

Borland今日用"Turbo"这个名称重新推出了当前的几个开发工具:

? Turbo Delphi for Windows
? Turbo C++ for Windows
? Turbo Delphi for .NET
? Turbo C# for .NET

现在分成了Turbo Explorer和Turbo Enterprise两个系列。前者是免费的,带不能安装第三方控件和其它扩展;后者价格也有了较大优惠,现在是在$500以内(具体还没定),对于学生则是$100以内(以前是$1000 - $3500)。

免费的Turbo Delphi和Turbo C++带有目前已有全部200多个控件,提供数据库、Web应用、网络应用的解决方案,比起以前的student版本是强了不少。

但新闻中没有提到任何关于DevCo的信息,也不知道这次“更名”是否与前几天所说的即将到来的出售有关。

BTW: 俺总觉得不应该再用Turbo C++这个名字 :-)

2006年8月6日星期日

Inno setup, 不错

俺现在用Delphi的时候少了,业余也不怎么玩它了,有时候有点手痒。

俺在公司赖以混饭吃的那个产品原来是用 InstallShield做安装程序的,一直用的是个老版本6.22,都好几年了,有很多功能做起来相当麻烦,很多新特性也不支持;加上IS公司又查的 紧,搞得想升级到新版本又被公司卡得紧;俺又不喜欢它一个工程要一大堆目录的风格(而且还不能随便挪目录)。于是就琢磨着换个免费的工具。

NSISInno Setup之间比较了半天之后,选择了Inno Setup,最开始的原因很简单: Inno是用Delphi写的,而且居然支持用Pascal写安装脚本(好像用的是RemObjects Pascal Script引擎)。

用 了一阵下来,感觉不错:

  • 用InstallShield没法自行调用函数注册COM组件(只好调用外部regsvr32:-(),这个问题在InnoSetup根本就不存在;
  • 用TStrings类可 以很容易地操作非ini类的文本文件,这样原来很多配置文件里面的选项都可以用安装程序来调整了;
  • 同样可以用CreateOLEObject来创建COM对象,并直接调用,俺们的XML配置文件就可以很好解决了;
  • 整个工程设置都在一个文件里面,用版本配置工具管理起来 也方便
  • ......

最重要的是,用Pascal写起代码来让我感觉得心应手,干嘛还要另外学习一个语法古怪的语言:-).

2006年7月19日星期三

Links 20060719

今天打算换个写法:-)
  • tar新增的--wildcards等选项,默认行为发生变化,可能导致以前的一些脚本出现问题
    • (前两天还在哪里看到说tar现在在解压文件可以自己识别文件是用bzip2, gzip还是compress压缩的,不用自己添加jzZ等选项了)
  • last-exit被Debian收录了,这是个last.fm的播放器*
  • Joe Barr 在newsforge上说: Linux和开源软件在游戏方面(尤其是FPS游戏, 就是DOOM, Quake, Unreal,Half-Life那一类的)总是在数量和质量上要落后一点, 而Tremulous似乎是个例外。 Tremulous基于id software去年开放的Quake3引擎,而且有点即时战略的味道,玩的是人类和外星种族的对抗。目前有Linux版和Windows版。

2006年7月16日星期日

陡然间有粗体和斜体了,还不太习惯

Debian原来一直没有合入对CJK字体的粗体和斜体支持,俺也懒得去折腾。今日为了安装新版的libxau-dev,用了一下apt-get install,升级了好多个包。根据需要重启了一下X,陡然发现标题栏的中文有点扎眼,仔细一看原来是有粗体了,一时之间还有点不习惯,尤其是几个常去 的网站看起来都有点异样:-)。

P.S 最近觉得比较爽的几件事情:

  • Totem突然可以放rmvb了,原来不是只能放前面一点就是没有声音
  • 我在GNOME中用xfwm4替换metacity作为wm, 感觉很不错(请参见: UI杂谈: Tabbed Window Manager?)

2006年7月15日星期六

sylpheed-claws(gtk2)总算有了win32版

Here. (没错,目前还不是独立的,只是gpg4win的一部分)

自从切换到gtk2后,sylpheed-claws一直都没有纯win32版本,我本来好几次想来折腾,但既然cygwin版本用得挺好(除了必须得启个X server这点不爽之外)。

搞定xfce-4.4beta2的cygwin移植版本

Cygwin Port of XFCE 4

有4.4beta1在前,这个版本(4.4beta2,即4.3.90.2)搞起来就容易多了,回头整理一下patch,看看有哪些可以提交给upstream.

前 段时间有两个网友问那些free software是不是直接在cygwin下编译一下就可以用了,我说也可以说是,也不是。虽然cygwin对POSIX的模拟和众多cygwin包的贡 献使得移植工作已经相当容易了,还是有些细节(比如fork啊,named pipe啊,文件命名啊,文件权限啊,动态库符号解析啊)方面折腾起来比较麻烦。

其中一位想干脆在mingw下编译一下GNOME桌面然后 跑起来,但目前似乎只有GNOME的一些核心库(即platform部分)已经一直过来了,而bindings似乎只有跟gtk+相关的一部分,至于 desktop部分似乎一直过来也没有意义, admin部分就更不用提了。

Gimmie: 另一种桌面构想

FootNotes上看见Gimmie这 个东西,对桌面提出了一个新的构想,不再是Windows那样的以程序/窗口为导向(我得说,GNOME/KDE是在学Windows,从开始菜单到窗口 列表,从桌面图标到TrayIcon),而是以对象为导向: 有哪些文档,跟哪些人联系,有哪些电脑以及电脑上有哪些设备,能否根据某个标记(tag)找到某个对象(还有提议说跟beagle集成起来最好了)。

Gimmie目前只有一个雏形,还只是一个应用程序,还不能让众多程序告知它信息(比如直接从nautilus中打开的文档目前并不能被gimmie在Documents中列出)。目前它表现为一个面板(所以作者给了个副标题叫Panel Revisited),如下。

这里有个按这种方式组织桌面的一个mockup。

BTW: 那个Application栏的搜索功能我比较喜欢。你有没有在开始菜单中一个个查看以试图找到某个程序的痛苦经历,反正我有。

相关资料:

2006年7月4日星期二

Love it or leave it

今天7月4日,又是老美的国庆节了。这个日期老让我想起生逢七月四日(Born on the Fourth of July), 这算是Tom Cruise能展现演技的一部片子(这家伙太帅了,以至于一般很难让人注意到他的演技)。

他在里面有一句话常用: Love it or leave it。他的兄弟跟他吵,认为他去参加越战,为这个非正义的战争付出两条腿并不值得。但生于7月4日的他,自小就被国家荣誉感激励着,认为love it or leave it, 你要么爱这个国家,那么就应该为他付出; 要么就离开它,如果你不爱它的话。

俺也曾经挪用这句话来表达自己对一些事物的看法,比如工作最累最烦的时候,认为既然还没打算离开它,那就试图去love it.

但后来想起在片子后面,主角越来越发现自己的牺牲并不为世人所认可,陷入了价值观全面崩溃的深渊,自然也不会再提这句话了。

2006年6月29日星期四

UI杂谈: Tabbed Window Manager?

现在多标签(tab)似乎是越来越流行了,不知道是不是firefox惹的祸:-)。不过在GNOME里面基本上见不到 M$ Windows那种MDI,要支持同时编辑多个文件都是用tab了。

不过诸位可曾想过用tab来管理窗口?如果你使用的是一个比较小的屏幕,并且常常觉得标题栏比较浪费空间,那么就可以试试这种风格: ion() fluxbox()



其优点在于:
1. 标题栏改成了tab,不需要占用原来那么多了空间
2. tab之间可以切换,M$那单纯的taskbar(GNOME上叫window list)也就不需要了
3. tab可以自由分组(操作方式一般是将一个tab拖到另一个tab上就可以了),比taskbar上一个一个列出来要方便(M$那种按程序分组的方式我总觉得别扭,所以总是关掉的)

2006年6月28日星期三

Why is package X not in testing yet?

在debian-chinese邮件列表上看见这个链接,觉得很有用,我正奇怪testing里面的sylpheed-claws-gtk2怎么老不升级呢(答案)。

http://bjorn.haxx.se/debian/

2006年6月26日星期一

也玩玩Google maps

玩了一阵,觉得Google Maps做得还是很方便易用的。原来有时为了出游在网上查地图,就深感没有这样一个动态可放大、缩小、左右调节的地图(有些网站提供了一部分地区,但问题就在于只有"一部分"),基本上是我期望的方式――可惜这边的地方都无法看到,只有香港、澳门及其周边可以看到。

南山大部分都是黑的,所以我现在住的地方是看不到的。

但半年前的地方(梅林关)倒是可以看到:

深圳 梅林关

又在黑白临界的地方看到了一个朋友的家(龙华锦绣江南),从这个上面看出,这至少是一年多以前的照片,因为锦绣江南现在4期都卖完了,这里似乎二期都还没有盖(也因为这一点,我很久不能确认这里就是锦绣江南)。

深圳 龙华 锦绣江南

2006年6月25日星期日

网页里的中文输入法

在台湾网友jserv的网站上看到这个,强啊。才装系统又没有搞定输入法的朋友可以用这个来向别人求助了。

简体中文(拼音、英中)

繁体中文

2006年6月18日星期日

图片简易编辑软件: mtPaint

原来我说Linux下似乎没有一个简单的图片编辑软件,GIMP功能虽强但太bloated, 搞得我不得不翻出xv来用。xv其实功能不多,问题倒不少,而且界面操作起来怎么也不太方便。

昨天在gnomefiles上翻到一个mtPaint, 似乎正好可以填补这个空白。抓图、裁剪、缩放、旋转,以及胡乱画几笔,这些基本功能当然都有,锐化、柔化、模糊、浮雕这些简单的特效也有,而且居然支持层和动画!

P.S 在Windows上我用来做图片简单处理的软件是IrfanView,但它不能在上面画(比如画个红框,添点文字什么的),不过同时可以做图片浏览器。

stardict的Windows版已经很不错了

没想到stardict这样的GNOME程序也可以移植到Windows上,而且工作得很不错,抓词功能也重新实现了。

本来金山词霸也挺便宜的,但如果这三十来元你也不愿意花,那就试试stardict吧。

2006年6月16日星期五

巴士阿叔: 你有压力,我都有压力,做咩挑衅我啊

"巴士阿叔最 近引起港人的强烈反响。何锐熙在一辆68X公交巴士上,拍了拍前座一位正在打手机乘客的肩膀。请这位乘客小点声音,礼貌地称呼他“阿叔”。阿叔不仅没有放 低声音,还转过身来怒气冲冲地盯了他好几分钟,爆发出来:“我有压力,你有压力,做咩挑衅我?”另一位乘客用手机拍了大部分场面,传到了YouTube.com。这个短片的下载次数已经超过了500万。并被改成了不同版本,如用《星球大战》里Darth Vader的形象替换了阿叔的面孔等等。对很多人来说,巴士阿叔形象地展示了港人在巨大压力下的生活。 。"

──转自solidot.org

BTW: 也许你会喜欢用aMule/eMule来找这个短片,比youtube.com上看起来顺畅一点。

2006年6月15日星期四

总算解决了这几日GNOME没声音的问题

前几天说过,俺的Linux在一次apt-get upgrade之后没有声音了,GNOME小喇叭旁边有个小红叉,点击说是没有声音设备,请检查gstreamer云云。

废话少说,最后解决办法是: 杀死esd进程,然后就all things bright and beautiful.

-----------------------------------------------------------
当中好过一次,不记得具体是怎样的了,好像是跟/tmp/.esd-?????有关。

重启到很久不用的Mandrake下发现/tmp下有以alsa-dmix-开头的文件,依稀记得前几天Debian中无意中搞好时/tmp下也有这样的问题,但现在却没有。

上网搜alsa dmix,一堆配置文档的说明,看得我头晕,这方面俺是七窍通了六窍,懒得搞了。

回到Windows上玩了一晚。

也不记得怎样想到要去杀死esd进程,反正后来就好了。

2006年6月14日星期三

sourceforge下载文件更麻烦了

每次提到download manager, 总有热心的网友出来让我直接用wget,又稳定又强大。其实我也常用wget直接下载,只是有些时候将网址拷贝下来再贴到终端里面去总还是有点麻烦。

sourceforge 最近就开始在制造这种麻烦了:本来从sourceforge下载文件就得先选mirror, 够麻烦的了,这两天又习惯性的将链接拷贝下来,贴到terminal里,谁知道出现的是── javascript:document.dlform.submit()

实在搞不明白sf“点解要冈样做”。

过了一会儿,Firefox的下载文件对话框又出来了,要是没有安装一个flashgot,还得取消再来。

2006年6月12日星期一

那些让我们等了又等的...

total commander论坛上,老有人问TC7到底啥时候能出来。本来说是2005年出来的,但到现在还只看见一个内部alpha测试版。

icfu说, I am sure that Duke Nukem Forever will be released before TC 7.

我现在还常常想起7年前读大学的时候玩Duke Nukem 3D的快乐时光。不过Duke Nukem Forever跳票长达八年,也算是个记录了。本来你不做就不做了,但一直还说,我们还在,它很快就会发布......

下面的人跟贴说,还有Vista, IE7呢,于是大家纷纷开列: Hurd, Diablo III, 无冬之夜2, Starcraft 2......

2006年6月11日星期日

发现Downloader for X的机关(或者说bug)

我原来一直报怨没有一个稳定、好用的下载管理工具,对于Downloader for X的具体问题除了不太稳定容易崩溃之外,还有一个问题就是它报告下载成功后我不知道它下载到哪里去了,根本找不到文件(当然,原来也是把这作为一个不稳定的表现)。

昨日无意当中发现下载目录里有一些隐藏文件(以点开头),貌似我以前用D4X下载的东东。难道的确有这样一个bug?

再试着用debian testing里最新的2.5.5下载了一个,发现还真是有这个问题:下载的文件前面多了一个点,变成了隐藏文件。

──多试了几下,新版本好像稳定了一些,有待进一步观察。

C/C++的字符串处理效率...咳咳

Shlemiel得到一??在路上?T油漆的工作,他要漆在路中殓的殓?喾指艟?。第一天他拿了一罐油漆去漆好了300瘁的路。「做得真好!」他的老??真「你手倪真快啊!」然後就斤他一??泾板。
第二天Shlemiel只漆了150瘁。「呃?影。??]有昨天好,不咿也??是很快。150瘁也很了不起。」也斤他一??泾板。
第三天Shlemiel只漆了30瘁。「只有30瘁而已!」老??就哇哇大叫了。「呃??在是?o法接受!第一天你漆了十倍的樘度耶!究竟怎?N回事啊?」
「我也?]揠法啊,」Shlemiel真「我每隔一天就滕油漆罐愈?碛?哞啊!」

这人很傻是吧?但C/C++里面字符串处理函数strlen, strcat是怎样实现的呢?

Joel说(英文原文),这就是为什么一些系统一个目录下有上千个文件时就效率急剧下降的原因,也是为什么Excel后来采用了Pascal的字符串处理方式效率就提高了很多的原因。

2006年6月10日星期六

返回GNOME

大概两个星期以前某一天,gnome panel突然呈现出空白,什么也出来不了。想起两天前安装某个东西时apt-get将一些gnome包升级到了2.14, 但gnome-panel还是2.12,以为是版本配套问题(好像以前也混用过啊?)

于是只能改用xfce4.

昨日等到了gnome-panel 2.14,赶紧apt-get install. 结果──问题依旧 :-)

用别的用户名登录, 又没有问题。

用strace也定位不出问题。

求助google, 无果。

然后用土办法,删除~/.gnome2, ~/.gconf等配置文件,还是没用。最后所有文件都移动到别的目录了,还是不行。

我要疯了。

在帮晶晶瞎编了几篇英文应用文的时候,突然想到很多问题都是/tmp目录下的东西导致的问题。于是跑去删除了跟问题用户貌似相关的目录和文件,好了。

似乎是/tmp/.gconfd-bamanzi或者/tmp/.xses-XXXXXX的影响。

2006年6月1日星期四

我是颗电池

每天晚上下班回家都觉得好累。

越来越觉得自己象颗电池,每晚被充饱,然后早上上膛,被使用一天之后,电量被耗个精光,剩下那点残余电量啥也做不了。

只是,电池逐渐老化,电容量越来越小了,不知道哪天就被榨干了。

而且,我丢失了我的充电器。


2006年5月28日星期日

Picasa for Linux有什么意义?

Google总算推出了PicasaLinux版本,但让众多Linux拥趸有点失望的是,它并不是native的,而是采用wine来实现的。这也导致了它不小的体积。

不过,有网友说,这至少说明了wine的成功:-) (当然,google也修正了wine当中的不少问题)

另外,据说f-spot完全可以作为Picasa的替代品(只是这个东西是用Mono写的,俺总觉得要加一个庞大的run-time还是有点不爽――也许以前对Java程序的印象很有些影响:-()。

debian-installer有望使用新的gtk+-directfb

在framebuffer上构建图形界面也是越来越红火了,基于svgalib的肯定是越来越少了。gtk+本来有x11和win32两种front-end,后来见到一个gtk+-directfb,但当时仅仅算是个hacking,倒是debian胆子大,拿来做debian-installer的图形界面,不过也被限定了只能用gtk-2.09版本。

这个directfb front-end已经在合入了gtk+的2.10版本。但gtk+-2.10目前还没有进入debian,于是又有人提供了一份backport,使得可以在gtk+-2.8上使用directfb。

不过debian是否会采用,还没有定论。

PS: Debian Installer图形界面展示(Hiweed定制版)

让firefox支持mht (以及我为什么喜欢Firefox)

是的,我喜欢Firefox。即使在Windows上,也喜欢用它。至于原因,首先是多标签、免除无用的ActiveX(音频、视频等)的骚扰、也不用担心流氓软件的骚扰,这些就不多说了。说点别的,不算插件带来的功能的话,主要原因是:

一是现在常常看电脑太多而眼累,所以需要放大字体,IE对于没有硬性指定字体大小的可以放大,但很多网页偏偏喜欢写死,而firefox总是可以很好地完成这个任务。

二是保存网页,IE的保存很慢,还有进度条显示正在从哪个网站读取哪个图片,真搞不懂,刚才浏览不是已经都取过来了么?而且还常常报告“无法保存此文档”!让你气得够呛。同样,firefox总是可以做的很好。

三是打印,IE的打印常常会不完整,右边的文字会被截掉,Firefox也没这个问题。

只是有一个地方不太爽,就是将一个网页保存下来发给朋友,用firefox保存后还得用tar大包,别人收到后也要先解压才能阅读。这时候我就会去用IE的mht格式(尽管如上所说,常常保存不下来),但要是在Linux上时就只有土办法了。

不过MAF(Mozilla Archive Format)这个插件可以解决这个问题。The Maf project is an archive extension that allows complete web pages to be saved in a single archive file. MAF stands for Mozilla Archive Format and the extension uses RDF to save page meta-data such as the original URL of the page and the date/time the page was put in the archive.

2006年5月26日星期五

Joel: UNIX与Windows二元文化

买了一本《Joel谈软件》在看,里面有一篇《二元文化》讲到了Windows与UNIX在文化上的差别。

搜了一下,找到了原文Biculturalism 和繁体翻译《双元文化主义》。

这是篇老文章了,说UNIX倡导的是对其他程序员有用的输出,而Windows倡导的是让你的姨妈能够用软件做点事情。倒无所谓谁对谁好,只是出发点不一样。有一腚道理哈。

2006年5月24日星期三

(转)三联: Linux使手机的草根成为可能

一年前,英国的通讯工程师苏吉-帕特尔(Surj Patel)就在 博客上写道:“我想要一个Linux手机,这样我就可以用我想要的任何语言来编程。我想进入呼叫控制,我想进入数据层。我不想为一个开发软件花上3000 美元,也不想接受遮遮掩掩的功能。我是个开发者,是个骇客,我想让我的电话做我想要的事,让我得到我想要的应用。”在这篇博客中,他发出了惊人却颇具叛逆 精神的口号:“如果你不能和他们一起干,就打倒他们。”

阅读全文(原载于本周《三联生活周刊》)

2006年5月21日星期日

图标的位置问题以及其它(即XDG规范)

在cygwin下编译xfce-4.4beta1时,俺按老习惯将prefix设置成了/opt/xfce4,方便以后删除。但这样就出现一个问 题, 很多程序的图标不能正常显示出来。

-------------------------
虽然xfce要求的hicolor-icon-theme包我也装了,但俺检查xfce安装图标时都是放到 /opt/xfce4/share/icons/hicolor下面去的(hicolor-icon-theme包是cygwin官方版,图标主题在 /usr/share/icons/hicolor下面)。

俺先用了一个土办法,把/opt/xfce4/share/icons/hicolor下的图标都拷到了/usr下面的去,结果当然好使。但这显然不是正确的解决方法,按照UNIX习惯,应该有两种方法解决这个问题:

1. 应用程序编译、安装时检测hicolor的安装目录,然后将图标安装到该位置。

2. 通过一个配置(很可能是环境变量)设置查找图标时要搜索的目录。

隐约记得XDG制定过这方面的规范,并且正在合入LSB。俺翻阅了一下,发现有两个规范跟这个问题相关,一个是基准目录规范,一个是图标主题规范

前者要求设置XDG_DATA_DIRS和XDG_CONFIG_DIRS环境变量(缺省为/usr/share: /usr/local/share),应用程序应该在这些查找菜单、图标等等数据;后一规范要求各个应用程序至少应该给hicolor这个主题提供图标 (至少要有一个48x48的),因为这个主题是图标查找的最后目录。

好了,回到俺的问题,设置XDG_DATA_DIRS环境变量为/usr/share:/usr/local/share:/opt/xfce4/share,搞定。

BTW: 虽然我喜欢用rox,但觉得为每个应用转换一个rox的launcher很是有点麻烦,前两天看见了一个提供XDG菜单的rox应用XDG-Menu。与launcher相比的一个缺点这种情况下不能拖文件启动程序了,不过很多应用程序不需要这样。想要了解X桌面环境的"start menu"上会出现哪些应用程序,可以阅读desktop entries files规范

2006年5月18日星期四

GIMPshop: 模仿Photoshop界面的GIMP

GIMP算是自由软件界的一个明星,它甚至导致了gtk+的诞生。如果说让Photoshop从Windows转移到Linux,估计很多人都会想到推荐GIMP。

但据年初Novell的一份调查 显示,最被用户期望移植到Linux桌面的应用程序还是Adobe Photoshop。GIMP并不被Photoshop的用户所接受,有不少人在讨论为什么会这样(Why Photoshop tops most-wanted Linux app list, GIMP Not Enough for Linux Users? )。

首先习惯是个很麻烦的问题: 有很多人很受不了GIMP的SDI界面,而且还想用他们在Photoshop里面用熟了的快捷键。

于是有了GIMPshop: GIMPshop is a hack of The GIMP to make it look more like Photoshop.

2006年5月14日星期日

书籍: The Art of UNIX Programming

五一前在书店看见了这本《UNIX编程艺术》(The Art of UNIX Programming), 早听说过这本书了,ESR也把它发布在了网上,但阅读大篇幅的英文的俺还是觉得费劲,而且也越来越不喜欢在电脑上看书了。

“此书主要介绍了Unix系统领域中的设计和开发哲学、思想文化体系、原则与经验,由公认的Unix编程大师、开源运动领袖人物之一Eric S. Raymond倾力多年写作而成。包括Unix设计者在内的多位领域专家也为此书贡献了宝贵的内容。此书内容涉及社群文化、软件开发设计与实现,覆盖面 广、内容深邃,完全展现了作者极其深厚的经验积累和领域智慧。”

用了三天把它囫囵吞枣地看完了,感觉还不错。通过这本书,不能具体地学习到某种技术,但可以更多地了解“UNIX为什么是这个样子,为什么要这样来 做某个功能”。过两天要给一帮新员工进行“UNIX基础”培训,我一直在为这个太泛的主题具体应该怎样讲有些发愁,这下有内容了。

不过作者似乎有点罗嗦。另外似乎总是对其他系统总是不屑一顾的样子,似乎连“尺有所短,寸有所长”都不肯承认。跟Joel On Software 对比着看你会发现相当有意思。

不过,还是需要仔细研读一番。

链接:

一篇评论

CHM版本(并非长期有效)

2006年5月7日星期日

用coLinux玩虚拟Linux

开始看见这个东西还是在kde-cygwin的新闻栏,该项目负责人在解释为什么停止kde-cygwin时提及了两个外部因素,一个是X.org的Windows版本Xming,另一个就是允许在Windows上运行Linux的coLinux

但因为原来比较熟悉VMWare,所以也没有去试这个coLinux。节前工作略有点闲,于是玩了一下这个Cooperative Linux




1. 安装

安装比较简单。安装程序一步步走下来,再安装说明文件配置一下就可以了。

coLinux的运行有两种方式,一种是普通程序方式,另一种是服务方式,建议先用普通方式,系统基本配置完成后再安装为服务。

2. Linux系统

coLinux预备了几个磁盘镜像可供下载,可免去自己配置cofs等设备驱动的麻烦。俺用了Debian 3.0r0的那个,解压后是1G。

另外需要自己做一个swap device,如果有cygwin就比较简单:

dd if=/dev/zero of=swap bs=1024k count=512

然后修改一下配置文件里面的设置就可以了。

coLinux目前带的Debian磁盘镜像是3.0r0的,俺开始就想用apt直接升级为testing,没想到因为包依赖关系会造成严重问题,只得重来。这次先升级到最新的stable(3.1r2),然后在升级到testing。

3. 网络

用coLinux比较复杂的一步是配置网络,同VMWare一样,它也提供了NAT和Bridged两种方式,只是配置起来比较麻烦,关键是要搞明白自己的网络环境适合用那种方式。所以一定要看wiki上的配置说明

我用的是NAT方式,采用TAP驱动(另一个选择是winpcap),倒也简单,在“网络邻居”里面将“真实”网络设备共享出来就可以了(在网络设置的“属性- 高级”里设置)。

4. 运行X程序

coLinux并没有象vmware那样也虚拟一个显卡设备出来,所以要运行X程序有两种方式,一种是其他地方的X server(比如cygwin的X或者Xming)来显示,另一种就是用vncserver。

考虑到虚拟世界还是有点慢,俺没有安装GNOME或KDE,只装了一个xfce4,浏览器用opera(还兼有邮件客户端)。

2006年4月30日星期日

xfce 4.4beta1 (图?)

XFCE 4.4beta1在几天前出来了,俺编译了一下,感觉还不错。

xfce 4.4beta1

4.4的新特性有:

  • 终于不能免俗,支持桌面图标了。不过支持"最小化到桌面",这点我喜欢
  • 文件管理器换成了新一代的Thunar,感觉还不错,不象xffm那么杂乱。不过我用rox已经习惯了
  • 将Terminal, mousepad正式收录了
  • xfcalendar改名为orage,并且可以计划日程
  • xftaskbar也变成了一个panel
  • iconbox变成了panel的一个插件,systray, showdesktop也收录了进来
BTW: 新的主题(包含gtk2主题和xfwm4主题)我觉得挺好看

2006年4月26日星期三

Linux发行版地图

This mind map does not go into the historical perspective of Linux, but tries to showcase the relationships between current Linux distributions. So historically relevent but redundant distributions like SLS have been left out.

斯德哥尔摩综合症

上期的《三联》有一篇文章在讲“斯德哥尔摩综合症”,记得这个名词俺当初还是在X档案中文网中看到的,后来在香港的《谈判专家》中也听见过。看来看看电视有时也可以学到一点东西。

斯德哥尔摩综合症是一种精神上的依赖,是劫持者和被劫持者之间产生的相互依赖关系。劫持者会逐步 “威胁你的生命,恐吓你,但是不会杀了你” (Symonds, 1980)。来自死亡的威胁会加剧被劫人质的感恩感和恐惧感。使被劫持的人质不愿意违背劫持者或是恐怖分子的意愿。


“受害人”想要活下去的意愿远远大于憎恨这些使他们陷入进退维谷处境的人。”(Strentz, 1980)受害人开始认为劫持他们的人是“好人”,甚至是救世主。这种情况...的发生于以下四种特殊情况:

1. 一个人威胁要杀害另一个人,而且看上去有能力做到。

2. 另一个人不能逃跑,他或是她的命运就掌握在提出威胁的人 手里。

3. 被威胁的人孤立无援,她唯一可以接触到的人就是这个威胁他 的人。

4. 威胁者会对被威胁的人不定的表现出仁慈。


//
受害人为了生还采取的观察策略

受 害人必须把所有的全副精力集中在生还上,这需要避免直接受到毁灭性的杀害。他们开始用尽一切方法协调劫持者的反应,包括好的反应和不好的反应。结果是,受 害人对于劫持者非常了解,而忽略了自己。受害人的心理特征会逐步变成:依赖性,被动,没有行动,决定,思考的能力等等。他们会设法讨好劫持者。所有反应的 形成都是为了活下去,其中包括否认自己处境,注意劫持者的喜好,对于劫持者的存在充满恐惧,他们害怕现在的情况会被警方打破,以及对劫持者看法的认同。人 质们会对恐怖分子充满感激之情,他们认为是恐怖分子给了他们生还的机会。他们把注意力全都集中在劫持者的仁慈上,忘了他的暴行。被殴打的女性甚至会认为施 暴者是个好人,她可以帮助他解决他暴行的根源问题。受害人不仅对劫持者感到害怕,同时还会爱上,或是同情对他们展现过仁慈的劫持者。 劫持者的任何一点仁慈的行为都会帮助被劫人质缓解巨大的精神压力。

事实上,被劫人质在被解救之后会去监狱探视劫持他们的人,他们会要求为被告人辩护,甚至提供辩护所需费用。这生动的表现了被解救出来的人质和生还者为了尽量减少已经造成的伤痛而拒绝合作告发劫持者。
对恐惧和愤怒的否认,以及认为劫持者是无所不能的使受害人在心理上依从着劫持者。高度焦虑使受害人无法看到其他的可能性。从而心理压力逐渐升级。

2006年4月9日星期日

喝高了

这一年工作忙得都很少跟老朋友碰头,昨晚约了俩,一起吃饭闲聊。还有两位美眉,没想到其中一位还是老乡。

蛮高兴的,跟阿宝咱们俩干了几瓶啤酒,忘了是四瓶还是六瓶了,反正俺是喝高了,怎么回的家都不记得。

转眼有好多原来部门的朋友都要调去南京了,会少了不少乐趣。我也不太喜欢深圳了,要不也想办法去南京吧,至少在那边还是买得起房子的。

Debian速查卡片

Debian GNU/Linux Reference Card(pdf)

它的样式让我想起了10年前第一次接触UNIX时实验室管理员给我们的那张速查卡。

当时用的系统是DEC公司的Ultrix,只让我们用哑终端(仅有两台可以显示和输入中文,后来主要被同学们用来打MUD了),工作站只有研究生才能使用。正是在这些哑终端上我学会了“极其难
用”的vi,学会了让我觉得相当有意思的shell。

BTW: The 101 most important things when using Debian GNU/Linux

2006年3月23日星期四

Pay it forward

这几日情绪不那么高,似乎自己现在过得有点浑浑噩噩,应该去做点什么更有意义的事。

想起了去年在电视上看的一部电影Pay it forward (是在香港的电视台上看的,翻译为“拉阔爱的人”,在网上查了一下,这边翻译为“爱心预支”或者“浮世因缘”,台湾翻译为“让爱传出去”)。

片子讲述一个小男孩,跟母亲一起住,日子有点艰难。他有个了想法:如果我帮助三个人,这三个人每人再去帮助三个人,以此类推,这个世界不就很美好了吗?后来这个孩子去做了,努力地为这个世界带来一点阳光。

后来Pay It Forward这个运动逐渐得到推广,记者寻访到他,他淡淡而又腼腆地讲述着这个理想。

然后下楼来,碰到两个小混混欺负他的同学,就去帮忙,小混混掏出刀子,捅死了他...

一直想不明白为什么片子后面会安排这样一个结局。

不管是先有鸡还是先有蛋,除了电影,现在也有Pay It Forward运动和Pay It Forward基金会

2006年3月22日星期三

YamiPod

是否碰到过这种情况: 想将iPod中的几首歌拷贝到某台机器上,但又不愿意或者不方便在该机器上安装一套iTunes或者gtkpod?

那就试试免费软件YamiPod吧,只有一个可执行文件(有Windows, Linux(gtk2)和MacOS版本),拷贝到你的iPod上就可以了。


2006年3月20日星期一

OpenQ的群补丁(附win32版本)

网友mars_engle再次给出了openq的补丁,修正了使用的问题。

俺马上编译了win32版本,可从这里下载: http://bamanzi.inlsd.org/win32/openq

似 乎目前还不能自动读取群列表,也不能新加入群。打开群的方法是: 工具->帐户操作->QQ->Qun:Search a permanent Qun,然后输入在打开“房间列表”窗口中选择QQ帐号,点击"获取列表",输入群号,获取成功的话则会添加一个图标到主界面。

2006年3月16日星期四

(转)你是否丢失了你的“灵魂”?

Delphi大富翁里面看见的一篇笔记,我挺喜欢里面那首诗歌.

我愿有一对雄鹰的翅膀
飞向那遥远的南方
看看我亲爱的故乡-------
奥赫里德. 斯特鲁加
那里阳光暖人心房
夕阳映红森林山冈
阳光下,清澈的湖水泛着银光
微风吹,湖水荡起蓝色的细浪
遥望那高山平原
处处景色如画,令人神往

[@more@]
作者 : 刘一飞
标题 : 你是否丢失了你的“灵魂”?
关键字: 灵魂
分类 : 个人专区
密级 : 公开

(评分: , 回复: 0, 阅读: 175)
在回去的车上,习惯的打开报纸浏览,以填缺那苍白的时间片段。看到以下的几行诗,我猛然才感觉到自己丢失了灵魂,丢失了好久,而不知道丢到了何 处。抬头看看车上那茫然接打手机的人,转头看看车下,那匆匆芒芒的人儿,我不由想起西方一位人说过”我们是迷惘的一代”。我就想:除了肉体机械运动而获取 的那些满足动物本能的需要的物质,我们还有什么?我们丢失了灵魂,丢失了思想。我们还有几个人知道我们自己的脚下一步将走向何方?

我愿有一对雄鹰的翅膀
飞向那遥远的南方
看看我亲爱的故乡-------
奥赫里德. 斯特鲁加
那里阳光暖人心房
夕阳映红森林山冈
阳光下,清澈的湖水泛着银光
微风吹,湖水荡起蓝色的细浪
遥望那高山平原
处处景色如画,令人神往

节选自 马其顿诗人米拉迪诺夫《故乡恋》

2006年3月15日星期三

鲨鱼和玻璃墙的故事

鲨鱼是海洋当中最凶猛、最勇敢的动物。

试验人员将一条鲨鱼放养在游 泳池当中,并在池子的中间用一层玻璃墙隔开。然后,在池子的另一侧放养一些美丽的热带鱼、和鲨鱼爱吃的鱼。当鲨鱼看到这些爱吃的鱼的时候,就会一下子冲过 去。当然,它被玻璃墙挡住了。由于食物的诱惑,鲨鱼不断地撞击玻璃墙,结果弄得自己伤痕累累、血迹斑斑,最后空手而归。每当玻璃墙被撞得快破碎的时候,管 理员们就又换上一块更厚、更结实的玻璃。

久而久之,鲨鱼不再撞击玻璃墙,对玻璃墙对面的“食物”也表现的没有多少兴趣。最后,管理人员将玻璃墙撤 掉,可是鲨鱼仍旧在自己原来的范围活动。对偶尔闯过来的小鱼,鲨鱼也会穷追不舍。但是,当“食物”游过原来玻璃墙的界限的时,鲨鱼就不再追赶了,停下来返 回自己的区域,对对面的“食物”熟视无睹。


失恋过的人都知道,那是因为它怕疼。

2006年3月14日星期二

dia总算出了一个新版本了

只看见了Windows版本,反倒是主页上没什么消息。不过反正也是Windows版本问题多一点,新版本稳定多了。(我倒多是在工作中才会要画些流程图, 所以用Windows版的, 在家里很少用这个.)

另外,Windows版本网站上也可以下载到源代码。

链接: 几个建模工具

2006年3月11日星期六

普通用户如何解开iso (图?)

普通用户如果没有loopback设备的访问权限,用不了mount -o loop,要怎样才能解开iso9660映象(image)呢?

可以用cdrtools包提供的isoinfo工具(Debian中该工具在mkisofs包):

Extract iso with isoinfo

2006年3月1日星期三

geany: 微型IDE

UNIX下编程的人,常常都是用vi, cc和make来折腾,但如果你vi用得不熟悉,又不愿意用anjuta这样的大东西,不妨geany试试这个小玩意。

Geany is a small editor using GTK2 with basic features of an integrated development environment.
Some features:
- syntax highlighting
- code completion
- call tips
- many supported filetypes like C, C++, Java, PHP, HTML, DocBook, Perl, LaTeX, Bash
- symbol lists

2006年2月27日星期一

又可以用OpenQ了(附win32版本)

网友poppyer针对OpenQ-0.3.2给出了补丁,解决了不让登录的问题(因为Tencent禁用了老登录接口),也解决了不能在Gaim-2.0上编译的问题。

这里应网友kexianbin的要求,编译了一个win32版本:

OpenQ-0.3.2 for Gaim-2.0.0beta2, win32版本

时间匆忙,目前只有DLL,放到plugins目录下即可。而笑脸等数据文件尚未打包进去(先可以从源代码自行提取,或者下载我以前提供的老版本)。

我以前在用gaim-1.5 + OpenQ-0.3.2,似乎要删除原来的帐号配置重新添加才行。

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

编译方法:

1. 先按gaim的win32编译说明编译gaim;

这里需要补充说明的是,并不需要安装cygwin,这里只是需要使用里面的一些常用命令,用tcl网站提供的msys + mingw包更方便。

另外要升级w32api,可以从mingw网站得到(www.mingw.org可能这边访问不了,但sf.net上的下载是可以的)。

2. 将OpenQ-0.3.2的代码解压,并用poppyer的补丁文件覆盖src目录下的文件; 在gaim-2.0的src/protocols下建立目录qq,将OpenQ的src下的文件移过去,然后将这个Makefile.mingw拷贝到该目录下

3. 编译

$ cd gaim-2.0.0beta2/src/protocols/qq

$ make -f Makefile.mingw

这样就可以得到libqq.dll,拷贝到gaim安装目录的plugins下即可;

4. 拷贝数据文件,拷贝pixmaps文件拷贝夹到gaim的安装目录就可以了。

也许你要问那个Makefile.mingw是怎样产生的,其实很简单,我把GG插件的Makefile.mingw拷贝了一份,然后将GG换成了QQ,再将源代码文件列表C_SRC改一下就行了。

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


User Comments
(no subject) [Reply]
bamanzi | 07 三月, 2006 16:14
这两天又看见了一个针对gaim-1.5的补丁,于是又做了一个gaim-1.5的版本,也放在上述位置
(no subject) [Reply]
kexianbin | 14 三月, 2006 01:23
prefs.xml内的pref name='ipfile' type='string' value=''/
(no subject) [Reply]
bamanzi | 14 三月, 2006 09:48
我后来比较过原来的prefs.xml和后来的prefs.xml,也发现只有ipfile不同。但认为这个东西应该没有影响,所以想不明白。另外gaim-2.0似乎没有让设置ipfile的地方了
(no subject) [Reply]
sha | 27 三月, 2006 17:48
我删除了perfs.xml中pref name='ipfile' type='string' value=''/ 加载openQ插件可以正常启动Gaim-2.0.
(no subject) [Reply]
aaron | 29 三月, 2006 09:28
hello ~~ 可以开发一下PSI的QQ插件吗?~win下的~~ http://psi-im.org/home
Re: aaron [Reply]
bamanzi | 29 三月, 2006 19:38
还是到某个论坛上去问问吧,在这里说肯定没有什么用
(no subject) [Reply]
aaron | 30 三月, 2006 16:55
还是到某个论坛上去问问吧,在这里说肯定没有什么用 某个论坛? 哪个论坛?~ 这个不是你开发的吗?~
Re: aaron [Reply]
bamanzi | 30 三月, 2006 22:16
兄台抬爱了,俺可没有那个本事。openq的主页是http://openq.linuxsir.org
(no subject) [Reply]
michael | 04 四月, 2006 12:41
老大gaim-1.5的版本在那里?
Re: michale [Reply]
bamanzi | 04 四月, 2006 21:43
这里: http://gaim.sourceforge.net/win32/
(no subject) [Reply]
everack | 01 八月, 2006 09:26
你好: 是不是这个补丁现在不可以用了啊? 我用gaim2.0b2加这个补丁不行啊.

2006年2月26日星期日

Cygwin port of Sylpheed-Claws 2.0.0

Finally the cygwin port of sylpheed-claws-2.0.0 is out. And I made a brief page to give some info about which packages you need to download and how to install it.


Sylpheed -Claws年前就出2.0了,但一直没有什么时间来编译cygwin版本(其实刚出来也试图马上更新cygwin版本的,但前面某位针对mingw做了改进,但对于PLATFORM_WIN32和OS_WIN区分不清楚,导致我原来针对cygwin的补丁几乎不能用了)。

今天终于有半天时间,把它搞定了。这次是想一劳永逸,直接修改了configure.ac和Makefile.am,将补丁发给了Paul. 我是不想以后每次有新版本都在Makefile上折腾半天了——也早该这样了,只是原来对于autoconf和automake的了解太少,而且要提交补丁给上游(upstream)还得考虑不能干扰其他平台。

2006年2月23日星期四

上海印象day9: 无趣的东航

回深圳搭的是东航的飞机,这一趟是最无趣的了。虽然我知道这么想有失偏颇,但我还是要固执地认为这体现了上海人的小气和无趣。
------------

打的去机场,没想到要坐那么久,早知道这样还不如坐磁悬浮了。转念想起公司安排的破公寓,又狠狠地想,多费点钱也好。

不知道是不是机票买得晚了,折扣很少。我过来是4.5折,这边提前两天买,怎么都只有8折。虽然是出差,可以报销,但我还是想给公司省点钱。

回 深圳搭的是东航的飞机,这一趟是最无趣的了。小屏幕就只来来回回放了20多分钟的安全启示,然后就啥也没有了,没有《猫和老鼠》,没有祖国风光,当然也没 有什么佳片欣赏,直接关闭。开始空姐还拿了一叠报纸逐个问,我去了一趟洗手间回来,就说没有了。飞过来只要1小时40分钟,这回深圳居然要2小时20分钟 了。这一趟把我憋的,早知道把魔方拿出来玩玩也不置于这么无聊。

航空餐也很让我失望:只有牛肉饭,另外有一个小餐包,一小碟子芹菜梗。没有别的了,没有一点水果。饭是“塌”的,牛肉也不怎样,那是相当地(拉长了念,宋丹丹状)难吃。咖啡也只给一半杯,不会来第二遍问你要不要加点。好在我还带了一瓶矿泉水(坐在里面,找他们加也麻烦)。

虽然我知道这么想有失偏颇,但我还是要固执地认为这一趟航班体现了上海人的小气和无趣。

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

深圳还是那么暖和,到处都是亲切的普通话,当然在机场大巴上还是有标语和屏幕提醒你注意看好自己的包裹物品。

总的而言,我觉得上海好的地方是:
- 治安不错,没人特意提醒我要注意安全什么的;
- 城市建设挺不错的,大气,规划也不错。深圳这么年轻的城市,却有城中村、农民房这些包袱。上海的建设在外阔,但似乎哪个地方建起来都挺好看的(当然我基本只看到了浦东一带);
- 上海人似乎活得悠闲一些,不象深圳人那么累;深圳没有多少老人、小孩,基本都是年轻人,都能搏。


User Comments

(no subject)
路过 | 18 三月, 2006 16:24
上海人一般不坐东航。。。除非是旅行社。。。东航差是出了名的。。。

老兄是HW的吧?
seagle | 18 十月, 2006 02:22
老兄是HW的吧?