Ubuntu9.10带来了“云计算”,还把SCIM和Pidgin都改成了非默认组件,使用还没怎么习惯,现在Ubuntu10.04又来了。10.04是一个LTS版本,支持从8.04或者9.10直接升级。
和9.10相比,新的10.04版拥有许多新特性,首先一个就是升级了Gnome,使用最新版Gnome的Ubuntu桌面体验有不少改进。当然相信这对显示计算能力的要求也会大大增加。Firefox的默认搜索引擎由Google改成了Yahoo,看来Firefox和Chrome的浏览器竞争开始全面展开了。曾经有人说Google助力Mozilla是为了让Web标准化,然后自己发展Chrome是为了应用网络化,并推广Google的WebApp,现在看来是很有道理的。UbuntuOne新增MusicStore,看来云计算赚钱的日子也快来了。还有一堆BugFix和驱动升级也是每次新版本必然带有的。
和一切.04版本一样,10.04将会在今年4月底发布正式版,拭目以待。
前段时间做的都是Rek.me网址缩短服务方面的工作,网络书签相关的功能至今没有做好,精力都花在了考虑是否应该进一步优化速度。方法自然是用C编写lighttpd插件。不过技术水平好像还不怎么成熟。
闲余的时间里架了个推特中文圈Twitese,还有一个网页版代理glype。Twitese是个基于PHP的Twitter工具,用它可以直接收发tweets,有完整的中文界面,并且还可以任意指定使用的API,让不翻墙而使用Twitter成为可能。其作者bang590是一个07级的本科生,代码写得很规范,结构性也很强,真是英雄出少年。glype是个网页版的代理访问工具,基于PHP的cURL函数库,能把指定网页完全抓下来,并实现链接、图片路径的完全替换,支持plugins,是代理访问的理想工具。
部署好之后的时间自然是努力整合这些东西的应用。已经把Twitese的网址缩短加入了Rek.me的服务,而twitpic.com的图片更是直接用glype打开。可惜后来发现功夫网还能根据关键字触发拦截,为了避免Rek.me被墙,只好先不推而广之。目前正苦苦思索解决之道,想来base64是最简便有效的方法,可是在客户端做base64_encode毕竟还是需要更复杂的脚本,所以也一直没动。另一个办法是利用SSL,不过这意味着我不得不再花几十美刀购买SSL证书。
今天看到Twitese项目上有带新浪微博同步的版本出现,于是下载下来试用,发现没能真正同步。于是用SVN对比了一下文件,发现居然只有设置页面多了新浪微博帐号密码设置的表单,没有实质的同步功能代码,看来八成还得自己写。
一直在想做点什么有意思的东西好,于是加入网址缩短服务的大潮,难得自己有个把够短的域名。现在基本服务已经完成,可惜还是基于MySQL的,等把TokyoCabinet研究清楚了,再升级好了。现在已经支持Ajax创建接口,不过还不支持历史追踪。
目前使用的算法能把网址缩短到域名后六个字节,核心部分使用到md5和base64技术。基本来说就是这样两句:
$key = substr(base64_encode(md5($url, true)), 0, 6);
$key = str_replace(array(‘+’,'/’,'=’), array(‘-’,'_’,』), $key);
第二句是为了把URL中需要被再次编码的+和/替换成-和_,而=一般只会出现在末尾,去掉它。
最后,配置好服务器的rewrite就OK了。
用http://rek.me/<YOUR URL>创建一个短网址,比如http://rek.me/http://guangxin.name,创建出来的shorten就像这样:
http://rek.me/PFqVsv
很多人喜欢百度搜索结果页上面那排导航链接,单击就可以用同一关键词搜索其他频道内容。但是百度之外就很难这么使用了。同事做了一个工具,把导航变成了百度、Google、维基都有的一排。发布在Rek.tw的首页上,大家可以试试看。

以前使用Dreamweaver的自动站点同步功能很舒服,但是Dreamweaver对PHP的支持太差,只能高亮,不能自动完成,括号匹配和语法分析也很次。换编辑工具么,从zend studio用到NetBeans,居然没有一个拥有Dreamweaver那样强大的FTP上传功能。于是自己写了一个PHP脚本,完成FTP同步上传操作。此脚本支持单个文件上传、增量站点上传和全站点同步上传,可以和Editplus、KomodoEdit或者EmEditor之类支持外部命令工具的编辑器结合起来使用。
将此脚本共享给大家,GPLv3发布,大家可以自由修改传播,但须保留GPLv3协议。
简单介绍一下命令的各个选项
命令格式:ftpsync [选项参数] [标记] [文件]
选项后面直接跟着该选项的参数,具体说明:
-u, --user 指定FTP登录用户名,如果没有指定,使用匿名帐号-h, --host 要连接的FTP主机名,如果没有指定,使用localhost-o, --port FTP端口号,默认为21-p, --pass FTP登录密码,如果没有指定,默认为abc@example.com-c, --chdir 远程初始目录,登陆后同步前转入的目录,默认为/-r, --root 本地初始目录,默认为当前工作目录-f, --sync-file 指定单个文件名称(可以包含路径)
标记不带参数,具体说明:
-t, --active 使用主动模式-i, --sync-incremental 增量同步模式(根据本地上传记录)-a, --sync-whole-site 全站点同步模式
使用举例:
php -f ftpsync.php — -u testuser -p mypass1 -h 192.168.0.2 -c /wwwroot -f ~/index.php
猛击这里下载此脚本