2008年12月28日星期日

Tiny Tiny Rss - 可惜不合我口味


rss reader - Tiny Tiny RSS

open source php翻出来的,是一个web方式的RSS阅读器,可以架在自己的服务器上,把RSS下载下来慢慢看。

Tiny Tiny RSS的界面很精美,并且是全Ajax的界面,初看让我很兴奋,但仔细试用下来,还是不合我口味啊。

首先,当你把本页的内容都读完之后,比如设置显示了20项,它就自作主张的又给你下载了20项,依此类推,没完没了。或许很多人喜欢这种功能,但我习惯设置成显示全文(如果只显示标题的话,还要多点20下鼠标,更累),并且我知道浏览器如果一页显示内容过多的话(尤其是ajax这种js较多的页面),速度会很慢,所以习惯看完20项,再点一下某个位置,再调出20项来,操作也不麻烦,浏览速度也能有所保证。

第二,如何设置已读?如果你把RSS纯当做新闻看的话无所谓,但我是用它来收集我喜欢和感兴趣的内容的,不希望漏掉任何一篇,也不想某篇文章总是阴魂不散的显示在unread中。好了,Tiny Tiny RSS也支持两种设置已读的方式:自动和手动。先说手动,就是逐项选中,然后上面Ajax的菜单中有设置选中或所有的项为已读,但是,逐项选的话太累,全部设为已读呢。。。下面新出来的20条我还没读呢;再说自动,本来是很好的功能,但web和浏览器的效率绝对比不上单机软件,很难准确和完整的捕捉、处理鼠标的动作,所以有时候扫一眼就可以的文章,总是不能自动被设为已读,在网络情况不好的情况下显得更糟糕。还有,由此衍生的副产品────apache的log却在疯涨,就我单机试用基本上就攒下了1M的log,多半是这样的内容:

127.0.0.1 - - [01/Sep/2008:10:37:10 +0800] "POST /sys/ttrss/backend.php?op=rpc&subop=catchupSelected&ids=1495&cmode=0 HTTP/1.1" 200 278 "https://office.fwolf.com:82/sys/ttrss/tt-rss.php" "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008072820 Firefox/3.0.1" 127.0.0.1 - - [01/Sep/2008:10:37:14 +0800] "POST /sys/ttrss/backend.php?op=rpc&subop=catchupSelected&ids=1498&cmode=0 HTTP/1.1" 200 68 "https://office.fwolf.com:82/sys/ttrss/tt-rss.php" "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008072820 Firefox/3.0.1" 127.0.0.1 - - [01/Sep/2008:10:37:22 +0800] "POST /sys/ttrss/backend.php?op=rpc&subop=catchupSelected&ids=477&cmode=0 HTTP/1.1" 200 297 "https://office.fwolf.com:82/sys/ttrss/tt-rss.php" "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008072820 Firefox/3.0.1" 

很多小的请求,数据包甚至还没产生的log字节数多呢,也难怪,滚动页面、点击页面都要处理是否要再拉些文章出来、是否设置已读、已读文章数是否要更改这些操作,服务器的负担应该是很重的。或许这是Ajax滥用的弱点吧,我的网络情况不太好,以前也差不多是由于这个原因弃用了google reader。这一点我觉得gregraius适合我,一点Mark These Items as Read,这20项铁定会设为已读,一个不会多一个不会少。

最后,还有一些细节上的瑕疵,比如哪儿也找不到看所有未读文章的地方,上面的Update有时候是变换显示的文章内容,有时候又成了更新feed,那个慢啊,我命名是后台在cron里更新的嘛;能自动分析出feed中原作者加的tag本是好事,不过这样一来tag太乱了,点一篇文章我自己改下tag吧,已保存就──biu──的一下没了;Select: All None等设置完全是仿gmail或google reader,但是rss reader毕竟和mail不一样啊,我个人更倾向于利用rss来作资料收集和管理,而不是看完就仍的报纸,毕竟互联网上不稳定因素太多了,好东西能在自己这里存个备份还是有用的。

话说回来,Tiny Tiny RSS还是很不错的,只是和我那蹩脚的习惯不搭配罢了,和Gregraius相比精细了很多,feed解析和格式处理也好很多,其他的管理方面,除了不支持plugin外都很好,还多了一个Gregraius缺少的重量级功能:多用户模式。不过,Gregraius已经被我调教得很好用了,还是暂时先不换吧,Tiny Tiny RSS毕竟也是刚刚开始,期待将来会发展得更好。

rss reader - Gregraius

Update @ 2008-09-01

在导入feed的时候两者都支持html tag过滤,不过Tiny Tiny RSS只有一个开关选项,而Gregraius不仅能设置允许那些tag,还能设置仅允许这些tag拥有哪些attribute,比如只允许,默认是不带attribute的。

Tags: , , , ,

Related posts

Source: http://www.fwolf.com/blog/post/422

recently-used+libtrash狂吃硬盘空间

哈,这个问题早就发现了,不过一直以为是openoffice.org的临时文件,今天忍不住搜了一下,终于找到原因和解决办法了。

问题是这样的,由于启用了libtrash,所以正常删除的文件都会在$HOME/.Trash下面存一份,我的$HOME空间本来就十分紧张,经常发现磁盘满的情况(磁盘满了以后会有很多有意思/古怪的现象,有点意思),一看是有大量的.recently-used.xbel[?]文件在$HOME/.Trash下趴着,删除他们可以节省几百M到1G多的空间,并且丝毫不影响使用。

没有仔细观察的时候,还以为是openoffice.org开着的时候产生的临时文件,今天终于知道,用户$HOME下有两个文件:.recently-used.recently-used.xbel,这两个文件都是xml,格式不同,但都是保存了最近打开/访问的文件。可能是我没有直接使用Gnome桌面,从来没有清除过最近文件的缘故,这两个文件的尺寸已经分别达到了200k和2.5M,尤其是那个.xbel文件,2M多,每次更新都会由于libtrash的缘故在$HOME/.Trash下存一个备份,随着时间的推移,可不就很快把硬盘吃完了么。

参考的文章中,是通过修改文件权限的方式,让系统不再往这两个文件写入内容,应该也是可行的,但和libtrash结合恐怕还是会有空文件生成,好在libtrash有黑名单功能,在/etc/libtrash.conf或者$HOME/.libtrash中:

IGNORE_RE = \.recently-used\.xbel 

就行了。

关于这两个recently文件,还有两点,一是注意文件权限,可能存在泄漏用户隐私、操作习惯的问题;二是如果以前用过的文档找不到了,在这两个文件的内容中搜搜没准儿能找到。

参考

Tags: , , ,

Related posts

Source: http://www.fwolf.com/blog/post/421

用php_screw加密PHP代码

开始之前,首先要澄清两个问题:第一,支持开源,不等于反对代码加密;第二,如果把不属于自己的东西(比如公司的)拿去开源,就更加不应该了。

以前知道的,PHP代码的加密都是用Zend的encoder,这东西不但是商业软件,好像还暴出过能够被破解的问题,所以就找到了替代的方案────php_screw,一个日本人开发的东东。

php_screw非常小巧,没有仔细看过它的算法,但从说明文档中看,可以自行更改SEED,然后自行编译so和可执行档。如果够牛的话,甚至可以自己去更改算法。不管怎样,对于我们这些"普通人"来说,这种加密应该就够了吧,如果真想滴水不漏,那还是不要公开的好,虽然作者说的并不是很容易就破解,但指不定哪儿有牛群呢不是么?

安装的环境需要:PHP5.x,zlib开启,autoconf,automake已安装。

测试环境:Ubuntu 8.04 hardy, PHP 5.2.3。

1、 解压,更改my_screw.h,里面的几个数字就是SEED,相当于密码,可以随意更改、增加,并且数字的多少不影响解密的速度。

2、编译so文件:

$ phpize $ ./configure $ make 

如果出现这样的错误,那是因为autoconf没有安装:

$ make make: *** No targets specified and no makefile found.  Stop. 

3、安装so文件,编译好的文件在modules目录下,将其拷贝到php extension存放的位置,比如/usr/lib/php5/20060613+lfs下,然后在php.ini中增加:

extension = php_screw.so 

4、编译用来加密文件的可执行文件:

$ cd tools $ make 

tools目录下新生成的screw就是了,放到$PATH中就可以调用了,比如要加密一个文件:

$ screw a.php Success Crypting(a.php) 

加密后的a.php执行正常,同时screw还会把原来没有加密的文件改名为.screw文件作为备份。

Tags: , ,

Related posts

Source: http://www.fwolf.com/blog/post/420