博文

目前显示的是 十月, 2010的博文

Fedora 14快要发了

Fedora 14快要发了,大概是后天,或者大后天。
于是我就可以用Qt 4.7了。

qt4.7自带的twitter demo

图片
纯粹用QML写的。

ibus-pinyin在n900上的安装指南

图片
提交bug来这里:http://code.google.com/p/ibus/issues/list 用中文写bug描述就行介绍:起因是我很无聊,无聊所以我玩twitter,然后发现 Khweeteur的图标很漂亮就装了。然后在twitter上遇到了 Khweeteur的作者khertan 。我说"khweeteur is very good,but I cannot type chinese ",然后khertan来问我是怎么回事,是Khweeteur的问题还是中文不在utf-8范围内还是说maemo下qt程序都不能输入中文。然后我告 诉他,maemo下qt程序都不能输入中文。于是他就只能很无奈的表示这事他解决不了。于是我决定把ibus搞搞。这件事情拖了很久了。之所以最近有时间了,是因为我把工作辞了,年前也没有心思去找下份工作。所以今晚一口气给n900更新了好几个软件。飞信,keepassx,最后一个,就是ibus-pinyin。我认为,linux下中文输入法可以分为这么三代: 第一代是fcitx,俗称小企鹅,有点像智能ABC。第二代是scim,提供了微软风格的整句输入功能,作者是Su Zhe,在smth上经常能看到他。前一阵他在google工作,现在不知道还在不在,不过他貌似不过问scim的事情了。第三代就是ibus,一套新的 引擎。maemo平台下,ibus的日文输入法已经有了,但是中文的一直没有。大家都知道nokia在主推QT,但是n900上却一直不能在QT程序中输入中文。ibus-pinyin弥补了此遗憾。安装步骤首先强调下,这个软件的界面本身就是汉化好了的。但是我机器的语言是English,所以界面才是英文的。1、因为mscim和ibus有冲突,所以如果你现在装的有mscim(基本上必然),请一定打开xterm运行apt-get purge mscim然后关机重启,然后再装ibus-pinyin。2、你的源是否包含extras-devel?如果不包含,找论坛其它的文档,加进去deb http://repository.maemo.org/extras/ fremantle-1.3 free non-freedeb http://repository.maemo.org/extras-devel/ fremantle fr…

正在向maemo repos提交ibus-pinyin

今天更新了下maemo sdk,然后把ibus-pinyin_1.3.11代码下载下来。今天编译比较顺利。可能是因为python版本的问题,生android.db总是不成功。我只好跳过去,而用fedora提供的。不知道这个数据库和cpu架构相关吗,放到arm上能不能用。总之我在模拟器里面测试是可以用的。
我之前测试ibus pinyin 一直没有成功的原因是我启动Xephyr的时候没有加-kb,所以键盘就不能用。唉……
网速很慢……很慢……

keepassx 0.4.3 提交到maemo5 repos中

[2010-10-29 14:50:02] Processing package keepassx 0.4.3-1. Uploader: snnn, builder: builder2
[2010-10-29 14:50:04] Building keepassx 0.4.3-1 for target 'maemo-fremantle-armel-extras-devel'
[2010-10-29 14:52:29] OK
[2010-10-29 14:52:34] Building keepassx 0.4.3-1 for target 'maemo-fremantle-i386-extras-devel'
[2010-10-29 14:54:31] Signing build results
[2010-10-29 14:54:32] keepassx 0.4.3-1 has been queued for loading into fremantle extras-devel repository
[2010-10-29 14:54:32] You can find more info about this build here: https://garage.maemo.org/builder/fremantle/keepassx_0.4.3-1/从0.4.3升级到0.4.1。只是小版本号升级-------------------
0.4.3 (2010-03-07)
-------------------Fixed crash when editing groups (regression introduced in 0.4.2) (Bug #2964295)-------------------
0.4.2 (2010-03-03)
-------------------Re-added "Close to Tray" optionUse icon of parent group when creating a new entry (Bug #2494084)Make database file saving transactional to avoid data lossFixed build errors with …

openfetion 2.0提交到maemo repos中

http://maemo.org/packages/view/openfetion/
这大概是我最后一次更新吧。我也不清楚2.0到底增加了什么功能,但是Build-Depends我必须增加libxss-dev, libsqlite3-dev, libnotify-dev才能编译过去。可惜我刚对debian的打包系统熟悉了,结果,meego非要用rpm。唉……学吧学吧
p.s. maemo怎么不提供一个下载统计的功能呢

meego 1.1 发了

嗯,太晚了,等我有时间了刷吧

awstats的纯真IP插件

首先用CPAN安装这个包 http://search.cpan.org/~sunnavy/IP-QQWry/lib/IP/QQWry.pm 即运行cpan,然后输入install IP::QQWry然后在这里下载 qqhostinfo.pm,然后放到awstats/wwwroot/cgi-bin/plugins目录下。这个文件是我在网上搜来的,然后改了一小点东西。如果你打算拿来用,这里面有一行这个,$qqwry = IP::QQWry->new('/export/QQWry.Dat'); 需要改成你机器上的QQWry.Dat的地址,然后在 awstats的配置文件里写上LoadPlugin="qqhostinfo"。这个需要写在LoadPlugin="hostinfo"后面。 缺点是不支持ipv6。p.s.数据库的下载地址是 http://update.cz88.net/soft/qqwry.rar,只要那个QQWry.Dat即可。数据库的格式在这里 http://lumaqq.linuxsir.org/article/qqwry_format_detail.html

maemo pr 1.3 发了

我out了。 刚刚在twitter上看见 晚上刷吧。现在不想开电脑。 唉,没有支持qt的中文输入法,就是半个残废

给路由器刷了DD-wrt

http://dd-wrt.com/site/support/router-database,搜索DIR-615,下载dir615c1-factory-to-ddwrt-firmware.bin。下载的dir615c1-factory-to-ddwrt-firmware.bin文件可能不能直接用。这是个二进制文件,文件末尾的那一段字符串是hardware id,必须要与现有的firmware匹配才行。我的firmware在dlink.com.cn上找不到,大概是因为型号太老了。然后根据提示,去http://tsd.dlink.com.tw/ 找到DIR-615,然后找到现在所使用的firmware,用二进制编辑器打开,找到最末尾的hardware id,然后替换掉dir615c1-factory-to-ddwrt-firmware.bin末尾的hardware id。其实区别就是最前面多了一个01。就目前搜集到的信息来看,C1/C2的hardware id要么是AP81-AR9130-RT-070614-02,要么是00AP81-AR9130-RT-070614-02或者01AP81-AR9130-RT-070614-02。刷的方法就是用内置的页面刷:打开http://192.168.0.1 ,然后在“工具”-〉“固件”里面。上传,刷新即可。这个页面一再强调,不要用wifi刷。我家拨号用的是PPPoE,刷之前,把配置备份一份,下载下来,文件名虽然是config.bin,但是其实是个二进制文件。很容易找到用户名和密码。不晓得dd-wrt里面那个SuperChannel 是什么。并且我刷的这个版本不支持ipv6。并且不支持openvpn,唉…… 我最想要的两个功能啊。目前没发现dd-wrt有什么优点

启用ipv6

我的网络知识比较陈旧,面对着ipv6无奈的抓耳挠腮。首先,我新买的vps支持ipv6,但是默认它没有帮我配置。
一边查文档一边写我知道的ipv4的长度是32位,ipv6的长度是128位
ipv4的header size是192位,ipv6是320位(但是支持压缩)
IPSec其实是为ipv6设计的
特殊的移动(mobile ipv6)以及自动配置支持
支持flows
头部可以压缩,也可以扩展关于地址:
ipv6的地址可以分为这么三类:provider based、provider independent或for local use。
provider based Global Unicast Address都是以001开始,也就是说,第一个数字要么是2(0010)要么是3(0011)。最前面48位是provider id,中间16位是子网ID(Subnet ID,or Site ID),最后64是主机ID(Host ID)。
Private ULA Unicast Address是FC00开始。
Link-Local Unicast Address是FE80开始。
在使用IPv4的时候,大多数情况下,一个网卡只用一个IP。但是ipv6的时候,可能会同时配置三种IP,global、 link local和 site local每样一个。以我的个人服务器的网卡为例:
# ifconfig -a
eth0 Link encap:Ethernet HWaddr aa:00:00:f5:49:b6
inet addr:173.245.73.182 Bcast:173.245.73.255 Mask:255.255.255.0
inet6 addr: fe80::a800:ff:fef5:49b6/64 Scope:Link
inet6 addr: 2001:470:21:31::adf5:49b6/64 Scope:Global
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
它配置了两个IPv6,fe80::a800:ff:fef5:49b6,2001:470:21:31::adf5:49b6,后面的/64和ipv4的时候含义类似(类似于192.168.0.1…

让apache2通过mysql做http digest认证

mysql里面要准备一张表CREATETABLE`users` ( `userid`varchar(30) NOTNULL, `passwd`varchar(80) NOTNULL, `realm`varchar(80) NOTNULL ) ENGINE=MyISAM DEFAULTCHARSET=utf8这里面的passwd其实是用MD5('userid:realm:明文密码')的方式算出来的。例如insert into users values ('snnn',MD5('snnn:host1:12345'),'host1');然后在.htaccess或者httpd.conf中针对对应目录这样配置:<Directory "/var/www/mtrg/"> AuthType Digest AuthName "scm" AuthDigestDomain /mtrg AuthDigestProvider dbd Require valid-user AuthDBDUserRealmQuery \ "SELECT passwd FROM users WHERE userid = %s and realm=%s" </Directory>这里的AuthName就对应着数据库里面的realm。参考文档:
http://httpd.apache.org/docs/current/mod/mod_dbd.html
http://httpd.apache.org/docs/current/mod/mod_auth_digest.html
http://httpd.apache.org/docs/current/mod/mod_authn_dbd.html

突然又发现一个免费的ssh代理

是这样的,某,开源软件社区,是采用scp的方式提交源代码包的。尽管它不让用ssh直接获取shell以防止你在他们的服务器上干更多的事情。但是在用ssh -D连接的时候,如果加了-NT,那么就不会请求shell。就可以了。
也说不清楚这是喜剧还是悲剧。因为如果大家都知道了,那么接着,这个玩意儿就要被防火墙挡在国外了。更多的人会郁闷。
哎……

iptables的一个很人性的设计

连delphij都说过,远程配置防火墙是一件很危险的事请。(恕我找不到出处)
至少,这是一件必须非常谨慎的事情。如果写错了,导致ssh断掉。那就只能求机房的哥们儿帮忙了。不过现在的机器如果带的有IPMI的话,也比较好办。
回正题,iptables-apply命令真的很人性化
#iptables-apply /etc/iptables.rules
Applying new ruleset... done.
Can you establish NEW connections to the machine? (y/N) y
... then my job is done. See you next time.

Xerces-C++的注释很超前

Xerces-C++ 3.1的DOMLSParser类的 virtual DOMDocument* parseURI(const XMLCh* const uri) 的注释里面有这么一段:@exception DOMLSException PARSE_ERR: Starting from Xerces-C++ 4.0.0 this exception is raised if the \DOMLSParser\ was unable to load the XML document. DOM applications should attach a \DOMErrorHandler\ using the parameter "error-handler" if they wish to get details on the error.这帮写代码的人真有前瞻性。连下个版本的代码抛什么异常都想好了。

2010-10-11

我在担心live writer这个项目会不会被砍掉?毕竟live space都不做了。昨天去参加了OpenSourceCamp & CommunityOne Beijing 2010,来的有开发者、产品开发经理、产品推广经理还有VC。很多talk都是英文的,而且语速非常快,深感学习英语重要啊。末尾,我给了一个大概3分钟的即兴的light talk,介绍了下freebsd社区。本来想好了要炫耀下dtrace和zfs,结果一上台就忘了。尽管技术性不强,但总体来说这是个非常好的机会。我昨天先是见到了以前的同事Bill Xu,然后又和intel的meego项目的经理以及apache harmony的开发人员聊了很久。顺便了解了一下postgresql的一套分布式Transaction方案,5台机器总计每秒能执行6000个存储过程,虽然这个描述很粗糙,但是听起来很诱人。能满足我的应用要求了。最后感叹一句,meego这个项目,真是非常微妙啊!

maemo flasher可以在64位win7下用了

我刚更新了libusb。然后maemo flasher可以在64位win7下用了。然后拿它把meego引起来,正在用zypper更新中。

收到msn space搬迁的信了

正文如下:
"亲爱的用户,您好,欢迎使用Windows Live系列产品。
尊敬的Windows Live Spaces(共享空间)用户: 为了提供更加完善的博客服务,微软将在全球大部分地区与WordPress.com进行合作。 而在中国大陆地区,Windows Live 中国团队考虑到用户的实际需求,正在寻求可能的本地解决方案,希望能为中国用户提供更完善、更实用的本地化博客服务。
进一步的相关信息,我们会及时发送邮件通知您,并在帮助中心上更新,欢迎您随时关注,网址:http://help.msn.cn/spaces.html 。
在正式迁移通知发布之前,您仍然可以通过 http://spaces.live.com 正常使用Windows Live Spaces(共享空间)服务。
感谢您陪伴Windows Live Spaces走过的6年,我们永远是您忠实的朋友!欢迎继续使用微软Windows Live的其他产品。 谢谢! Windows Live 中国团队 敬上"

新工具:ODB

刚在TAO的maillist中看到一个广告,http://www.codesynthesis.com/products/odb/一套C++的ORM框架,看起来不错。我刚知道,GPL的东西,如果不对外分发,而只是用在自己内部的服务器上,是不受其开源限制的。“if you only use your application within your organization, such as running it on your company's servers, then you do not need to make your source code public”