如何设置lilina的rss全文输出

如何设置lilina的rss全文输出

去年心血来潮,申请了两个域名askdba.netdbatips.net,但是也没什么精力去搭建内容,于是就用d.c.b.a修改过的Lilina程序做了两个rss聚合网站,askdba主要面向中文blog,dbatips则是英文的,内容都是关于oracle/mysql以及一些运维相关的东西。如果你也在写这类型的blog,并且愿意加入聚合,可以留言告知。

前几天Lilina底层使用的Magpie碰到了一个很古老的bug导致askdba不可用,还有不少朋友来问起:

Fatal error: Only variables can be passed by reference
in .../inc/magpie/rss_parse.inc on line 352

Google了一下,发现N年前eyglechedong都遇到过这个问题,根据他们给出的信息很容易就修复了。想想既然这个网站还有朋友在关注,就花时间做了一些改进,主要是界面UI调整了一下,更便于阅读。

另外一个最重要的改进,当属rss输出从摘要输出改成了全文输出。从我自己订阅出来的效果来看,摘要输出不但内容太少,也没有格式化,所有的文字堆积在一起,每篇文章都需要回到网站去看,实在是不太爽。实际上,这个修改是非常简单的, 参照chedong的文章,找到根目录下的rss.php文件,在第88行:

$item_out->description = $item['summary'];

修改为以下内容即可:

$item_out->description = $item['atom_content'];

刚刚在Google Reader里看了下,效果不错,以后就只需要订阅这个地址就可以啦

http://feed.feedsky.com/AskDBA

如何监控MemCached的状态

使用MemCached以后,肯定希望知道cache的效果,对于MemCached的一些运行状态进行监控是必要的。MemCached也提供了stats接口输出一些信息,最简单的方式,就是telnet上去输入stats查看:

telnet 127.0.0.1 11211
Trying 127.0.0.1 ...
Connected to memcache_test_host (127.0.0.1 ).
Escape character is '^]'.
stats
STAT pid 7186
STAT uptime 1695
STAT time 1238401344
STAT version 1.2.6
STAT pointer_size 64
STAT rusage_user 0.003999
STAT rusage_system 0.002999
STAT curr_items 1
STAT total_items 54
STAT bytes 135
STAT curr_connections 2
STAT total_connections 111
STAT connection_structures 4
STAT cmd_get 3
STAT cmd_set 54
STAT get_hits 0
STAT get_misses 3
STAT evictions 0
STAT bytes_read 5957
STAT bytes_written 50914
STAT limit_maxbytes 2147483648
STAT threads 1
END

这种方式相当的不方便,所以网上就有各种不同客户端接口写的工具,比如用perl写的这个memcache-tool

./memcached_tool
Usage: memcached-tool  [mode]

       memcached-tool 10.0.0.5:11211 display    # shows slabs
       memcached-tool 10.0.0.5:11211            # same.  (default is display)
       memcached-tool 10.0.0.5:11211 stats      # shows general stats
       memcached-tool 10.0.0.5:11211 move 7 9   # takes 1MB slab from class #7
                                                # to class #9.

You can only move slabs around once memory is totally allocated, and only
once the target class is full.  (So you can't move from #6 to #9 and #7
to #9 at the same itme, since you'd have to wait for #9 to fill from
the first reassigned page)

$ ./memcached_tool 127.0.0.1:11211 stats
#127.0.0.1:11211 Field       Value
                   bytes         135
              bytes_read        5964
           bytes_written       51394
                 cmd_get           3
                 cmd_set          54
   connection_structures           4
        curr_connections           3
              curr_items           1
               evictions           0
                get_hits           0
              get_misses           3
          limit_maxbytes  2147483648
                     pid        7186
            pointer_size          64
           rusage_system    0.002999
             rusage_user    0.003999
                 threads           1
                    time  1238401521
       total_connections         112
             total_items          54
                  uptime        1872
                 version       1.2.6

命令行的方式,在批处理调用的时候比较方便。但是在展现方面还是web方式更加直观有效,所以就有了php写的memcache.php,是的,用一次就知道这是我想要的。

几个blog

highscalability.com看到一些blog的地址,值得分享一下。国外一些web2.0公司,相对来说都比较愿意分享一些架构和技术方面的信息,web网站由于要为众多的访问者提供服务,随着业务的发展,系统的可扩展性是非常重要的,这些blog也许可以提供一些非常有价值的东西,值得关注。

在FireFox3中使用不兼容的插件

FireFox3正式发布了,其实从beta4开始就从FireFox2换成3了。在内存使用和浏览速度方面,FireFox3确实改进不少。不过有些插件一直不更新,比如Gladder等,导致在FireFox3中由于不兼容而不能使用,有点烦人。不过这个兼容性检查,其实只是check了一下插件的兼容版本号,大部分旧版本的插件,其功能在FireFox3其实还是可以使用的。那么就有两个办法来绕过这个兼容性检查,一是修改插件的可以支持的版本号,二是设置FireFox3不执行插件兼容性检查。

一、修改插件
首先将插件下载到本地。FireFox的插件扩展名是xpi,其实是一个zip压缩打包文件,用winrar等可以打开。找到里面的install.rdf文件,可以找到如下内容:

<em:targetApplication>
<Description>
<em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id>
<em:minVersion>1.5</em:minVersion>
<em:maxVersion>3.0b3pre</em:maxVersion>
</Description>
</em:targetApplication>

发现了没(通过rss阅读的朋友可能看不到上面的代码,请移步到这里),minVersionmaxVersion就定义了该插件可以支持的FireFox版本,将3.0b3pre改成3.0,保存后重新安装插件即可。嗯,怎么修改?把install.rdf拖出来整完再拖回去;怎么重新安装?再把xpi拖进FireFox,搞定收工。

二、设置FireFox
在FireFox3地址栏输入about:config,出来一个警告页面,不理他,“我保证我会小心”。然后点右键,选择“新建”->“布尔”,创建一个布尔变量extensions.checkCompatibility,值为false,表示不检查扩展插件的兼容性。同样的步骤再创建一个布尔变量extensions.checkUpdateSecurity,值为false,不检查安全更新。重启,搞定。