2005年11月14日星期一

2005年BLOG程序评点

  目前网上的博客程序非常多,今年我也用过了不少,这里我将我用过的BLOG程序进行一个评点。

  我这个人比较挑剔,我选用BLOG程序的最基本要求就是:免费,其次的要求是:友好的URL。为什么我要求要有友好的URL?因为BLOG的流量大多来自搜索引擎,一个友好的URL对于搜索引擎的重要性我就不多说了。因此对于基于IIS的BLOG程序,所有不能生成静态HTML文件的都被我淘汰了。对于APACHE来说,大量的PHP和CGI程序是通过URL REWRITE来实现友好URL的,因此APACHE下动态BLOG也可以有友好的URL。

  ASP

  Z-Blog: http://www.rainbowsoft.org/zblog/

  就是我目前使用的BLOG系统。今年发展相当快的BLOG系统,作者更新程序也很勤快,提供了非常丰富的模板和插件支持,是单用户ASP BLOG系统的佼佼者。

  OBlog: http://www.oblog.cn/

  多用户Blog系统,目前占据ASP多用户BLOG的大部分市场,可以生成静态化页面,是多用户Blog的不错的选择。

  ASP.NET

  .Text: http://scottwater.com/

  ASP.NET的很有名的Blog系统,官方暂无静态化(对每页生成静态的html页面)版本,功能和模板相对单薄一些,不过国内不少大牌网站都用其做BLOG站点。

  PHP

  WordPress: http://www.wordpress.org

  老牌的PHP BLOG程序,功能很全面,安装也非常容易,应该是支持PHP的Blog的首选。它有最强的模版功能,也有多用户的版本WordPress Multi-User,不过其对中文的支持好像不是很理想,需要定制不少信息。不建议在IIS下安装,建议在APACHE下安装。

  7log: http://www.7log.com

  国内人开发的能够生成静态页面的BLOG系统,和早期的Movable Type很像,可惜模板太少,功能也较单薄,目前已经停止开发。

  CGI

  Movable Type: http://www.movabletype.org

  一个CGI程序的BLOG系统,应用最为广泛,是世界上使用最多的BLOG系统,香港台湾的80%以上的独立BLOG站点都是通过它架设的。插件众多,基本需要的功能都能实现,但是其安装较为复杂,较难上手。其多用户版本已经不再免费。

2005年11月12日星期六

游戏《生化危机》和《黑客帝国》

  今天抽空去看看PS2的新游戏,发现了两个不错的游戏,《生化危机4》(Resident Evil 4)和《黑客帝国:尼奥之路》(The Matrix: Path of Neo),两个游戏均是美版。

  以前我在PS上玩《生化危机》的时间很长,从1代到3代全玩了个遍,这次的《生化危机4》由于是PS2下的,因此效果比前几代要好的多,但是操作上有一些不习惯,特别是没有自动瞄准后,感觉难度有点大。

biohazard

  接下来看了看《黑客帝国:尼奥之路》,这个游戏我定义为电影《黑客帝国》迷的必玩游戏,游戏内容横跨电影版的三部曲,玩家将扮演男主角尼奥,从一开始他什么都不懂,进而慢慢了解世界的真相,一直到电影三部曲的结局。而且整个《The Matrix》电影编剧兼导演的华勒斯兄弟亲自帮这款游戏编写剧情,补齐当初电影《The Matrix》电影三部曲中剧情不足的部分,这也算是《The Matrix》系列最正统的续篇作品。

pathofneo

  游戏的设计将电影中的经典剧情在游戏中完整再现,如在虚拟实境中尼奥与曼菲斯的武术对决、飞檐走壁的激烈枪战场面、在故事结尾中尼奥大战数百个史密斯探员...等的经典场面,都会透过游戏方式完整重现。而且游戏中的主要角都有非常细腻的3D人物模组,而且人物的动态捕捉技术也十分逼真,加上在游戏过程中将会穿插过场动画,其中有取材自电影版的经典场面,也有电影版中被删节掉的珍贵片段。

  《黑客帝国:尼奥之路》以游戏的方式重现整个《黑客帝国》电影三部曲内容,新加入的3D特效更让游戏画面大幅进化,比如说360度慢动作回转、慢动作子弹时间...等效果都有逼真的表现。另外电影中尼奥的各种能力都会在游戏中再现,并且随着游戏的进行获得越来越多高级能力。喜欢这套电影的朋友要密切留意此款游戏,强烈推荐购买。

2005年11月11日星期五

电影《佐罗传奇》观后感

  今天看了部电影《佐罗传奇》。

  影片继承了前作《佐罗的面具》的故事,继续讲加利福尼亚加入美国联邦的事情。

  我对剧情没有太多兴趣。那是一个多么遥远而陌生的故事啊。这大概是因为不理解吧,我不理解政府居然可以by the people,for the people(取之于民,用之于民),因为我从来没有遇到过这种政府,所以就不能理解加州人民为什么渴望加入联邦的心情了。我看到的太多太多的反面例子了,比如某某地方又要寻求独立啦,我想原因可能是因为政府太坏了吧。

  影院效果很好,音效也不错,不过给人印象最深刻还是暴乳女主角埃琳娜,这简直就成女佐罗了,实在太厉害了。作为一个动作片来讲,场面也挺好看的。佐罗和我以前的印象不一样了,更有人情味和幽默感了,大概是因为导演刻意将佐罗人性化和喜剧化吧。

  我少年时期也曾经看过的一部经典的电影,是阿兰·德龙主演的《佐罗》,阿兰·德龙那英俊的面容、迷人的微笑,永远是我长睡心中的模糊记忆,一直到今天仍然是那么有魅力。那热血与侠情,正义与公理再次涌上心头。那曾经年少轻狂、骑马仗剑,英雄救美的梦想如死灰复燃一般,一发不可收。佐罗是我们那一代人少年时期心中永远的英雄。

zorro

2005年11月10日星期四

巧用WinZip进行定时加密备份

  使用电脑免不了要时常备份文件,我们进行文件备份的时候,最常用的工具是Windows自带的备份程序,可以实现定时将指定的目录备份到另一个指定目录(包括网络驱动器),但是在使用的过程中,我们发现Windows备份程序的功能较为简单,难以完成一些特殊的备份要求:比如将机密文件备份的同时进行加密处理,以确保文件的安全性,另外备份的文件也没有进行压缩,往往体积相当庞大,占用很多磁盘空间。

  经过一段时间的研究,我们发现最新的WinZip具有Windows自带的备份程序所无法完成的功能,可以实现上述特殊要求的备份。

  WinZip是一个老牌的压缩实用程序,WinZip 10.0支持新的128和256位的AES加密压缩。AES是近年来经核准最为安全的加密算法,它已经被广泛的应用于政府、商业机密和个人隐私。AES加密算法目前来说理论上是无法解密的。因此可以更方便快捷地保护用户的个人敏感文档。

  WinZip 10.0具有一个新功能,即任务向导功能,可以提供定时将某一个目录加密压缩到另外一个目录(包括网络驱动器)的功能,使用起来非常方便,具体的使用方法如下:

  在菜单栏上有“Jobs”这一栏,这里的任务就像一个计划表,可以设定要做什么事情,WinZip实际上是调用Windows的任务计划来实现任务功能的。点击Create会进入任务设置向导,用户可以根据需要进行各种设定,一开始先选择需要备份的文件或目录,然后进行压缩选项的设置,这里有一个密码设置选择,可以选择密码方案,建议使用256位的AES加密算法(目前最安全的单钥加密算法)。然后可以设置生成压缩文件的保存路径以及文件名,这里可以选择按照日期生成ZIP文件名,以防止文件名重名。设定完毕后会生成一个任务文件。此时会有一个任务计划的选择项,可以指定日期时间进行定时任务操作。

  有了这个功能,我们可以将一些经常需要重复操作的工作设定为任务,以后不需要每次都重复相同的工作,只需设定任务计划的时间和日期,系统会自动定时执行相应的任务。相比较Windows自带的备份程序,WinZip 10.0的备份功能具有更高安全性、占用空间更小的特色,可以实现很多Windows备份工具无法完成的功能。是一个不错的备份方案。

  如果你为备份文件发愁,不妨试试这个办法,看看有没有事半功倍的效果。

2005年11月9日星期三

Z-BLOG相关文章的修改方法

  本来想写一个ZBLOG的“相关文章”插件,但上网一搜索,发现已经有人写过了。我就直接拿来用了。粗略用了一下,发现其耗费资源很大,每生成一篇文章都要多执行2条数据库查询,使得重建文章速度更慢了。这和我以前想的方法不一样,我想的方法应该是先将全部TAG生成独立的临时文件 ,在文章重建的时候再进行文本替换,这样执行的数据库查询就很少了,不会占用太多系统资源,可惜现在没时间去实现。

  下面是七夜发布的Z-blog“相关文章”修改方法,其中Export_Mutuality处代码我进行了一些修改,使得TAG为空的时候该代码也能正常运行。原文地址参见:http://www.h2o.name/post/661.html

1.新增加一个模板,名字为b_article_mutuality.html,文章扩展名根据情况修改,内容

  <li class="mutualityurl"><a  href="<#article/mutuality/url#>.html"><#article/mutuality/name#></a>&nbsp;(<#article/mutuality/posttime#>)</li>


2.b_article-single.html增加如下内容,具体位置自己选

<ul class="msg trackback">
  <li class="tbname">&#x76F8;&#x5173;&#x6587;&#x7AE0;</li>
<#template:article_mutuality#>
</ul>


3.CSS样式增加一个,具体根据自己喜好修改,内容如下

li.mutualityurl{
  text-align:left;
  padding:3px 10px 0px 10px;
  margin:0;
  background:#F6F4EE;
  line-height:150%;
}


4.c_system_base.asp的Function LoadGlobeCache()部分,原来的几处27改为28,增加

  aryFileName(28)="/TEMPLATE/b_article_mutuality.html"
  aryFileName_Variable(28)="TEMPLATE_ARTICLE_mutuality"


5.c_system_lib.asp
Class TArticle增加一行

Public Template_Article_Mutuality


Public Function Export(intType)增加两行,注意Call Export_Mutuality一定要放在Call Export_Tag的前面,否则会出错。

    Call Export_Mutuality

    Template_Article_Single=Replace(Template_Article_Single,"<#template:article_mutuality#>",Template_Article_Mutuality)


以下部分找个地方放下就可以了
[CODE_LITE] '相关文章的生成 Function Export_Mutuality() Call CheckParameter(ID,"int",0) If (ID=0) Then Del=False:Exit Function If Tag<>"" Then Dim strCC_Count,strCC_ID,strCC_Name,strCC_Url,strCC_PostTime,strCC_Title Dim strCC Dim i Dim j Dim objTNode Dim objCNode Dim objSingleNode Dim objNodeText Dim objMutArticle Dim objRS Dim strSQL Set objRS=Server.CreateObject("ADODB.Recordset") strSQL="SELECT top 30 [log_ID],[log_Tag],[log_CateID],[log_Title],[log_Level],[log_AuthorID],[log_PostTime],[log_Url] FROM [blog_Article] WHERE ([log_Level]>2) AND [log_ID]<>"& ID &" " Dim aryTAGs If InStr(Tag,"}{") > 0 Then aryTAGs = Split(Tag,"}{") Else ReDim aryTAGs(0) aryTAGs(0) = Tag End If strSQL = strSQL & " AND (" For j = 0 To UBound(aryTAGs) If Not (IsNull(aryTAGs(j)) Or IsEmpty(aryTAGs(j)) Or aryTAGs(j) = "" Or Len(aryTAGs(j)) < 1) Then aryTAGs(j) = Replace(Replace(aryTAGs(j),"}",""),"{","") If IsNumeric(aryTAGs(j)) Then If j > 0 Then strSQL = strSQL & " OR " strSQL = strSQL & "([log_Tag] Like '%{"&aryTAGs(j)&"}%')" End If End If Next strSQL = strSQL & ")" strSQL = strSQL + " ORDER BY [log_PostTime] DESC " Set objRS=Server.CreateObject("ADODB.Recordset") objRS.CursorType = adOpenKeyset objRS.LockType = adLockReadOnly objRS.ActiveConnection=objConn objRS.Source=strSQL objRS.Open() If (not objRS.bof) And (not objRS.eof) Then For i=1 To 30 '相关文章数目,可自行设定 strCC_Count=strCC_Count+1 strCC_ID=objRS("log_ID") strCC_Url=objRS("log_Url") strCC_PostTime=objRS("log_PostTime") strCC_Title=objRS("log_Title") Application.Lock strCC=Application(ZC_BLOG_CLSID & "TEMPLATE_ARTICLE_Mutuality") Application.UnLock If IsNull(strCC_Url) Or IsEmpty(strCC_Url) Or strCC_Url="" Then strCC_Url=strCC_ID end if strCC=Replace(strCC,"<#article/mutuality/id#>",strCC_ID) strCC=Replace(strCC,"<#article/mutuality/url#>",strCC_Url) strCC=Replace(strCC,"<#article/mutuality/posttime#>",strCC_PostTime) strCC=Replace(strCC,"<#article/mutuality/name#>",strCC_Title) Template_Article_Mutuality=Template_Article_Mutuality & strCC objRS.MoveNext If objRS.eof Then Exit For Next End if objRS.Close() Set objRS=Nothing End If Export_Mutuality=True End Function[/CODE_LITE]

2005年11月7日星期一

Z-BLOG常用技巧汇总

  这里发布一些收集来的Z-BLOG的一些常用技巧,供爱好者定制自己的BLOG。

      
  •   高效能的日志搜索

  用途:搜索是非常消耗系统资源的动作,而且对于多关键字搜索和模糊搜索,处理起来也非常麻烦,这里提供了一个非常高效而实用的搜索方法,就是使用Google的站内搜索技术,当你的日志被Google索引了大部分的时候,这种搜索方法的效果会特别出色。新站或Google网页级别低的不建议使用这种方法。

  方法:

  修改search.asp文件,将原文件备份,新建立一个search.asp文件内容如下:

  response.redirect http://www.google.com/search?q="&Request.QueryString("q")&"&domains=www.youdomain.com&sitesearch=www.youdomain.com

      
  •   把邮件地址中的@自动转换成[AT]的方法

  用途:将用户留言中的email地址的@符号自动转换成[AT],这样可以有效防止邮件地址被采集。

  方法:

  修改c_system_lib文件strC=Replace(strC,"<#article/comment/email#>",strC_Email)

  修改为

  strC=Replace(strC,"<#article/comment/email#>",Replace(strC_Email,"@","[AT]"))

      
  •   启动评论确认码功能

  用途:防止垃圾评论制造者通过程序发送垃圾留言。

  方法:

  修改c_option.asp,将Const ZC_COMMENT_VERIFY_ENABLE=False

  修改为Const ZC_COMMENT_VERIFY_ENABLE=True

      
  •   增加访问统计功能

  用途:在首页显示总共的访问量,需要先增加文章统计插件。

  方法:

  修改c_system_event.asp,寻找:strStatistics=strStatistics & "<li>"& ZC_MSG125 &":" & objRS("allTrackBackNums") & "</li>" 

  在其后面增加一行:

  strStatistics=strStatistics & "<li>"& ZC_MSG129 &":" & objRS("allViewNums") & "</li>" 

      
  •   增加日志页面的直接删除评论功能

  用途:在日志页面即可直接删除评论,而不需要进入管理界面删除。

  方法:

  打开TEMPLATE目录下的b_article_comment.html文件

  增加一行<a href="../cmd.asp?act=CommentDel&id=<#article/comment/id#>&log_id=<#article/id#>" rel="nofollow">删除留言</a>

      
  •   拷贝粘贴blog_Comment表内的记录后无法文件重建

  在数据库中执行下面SQL语句可以修复错误:

  update blog_Comment set comm_homepage='' where comm_id not in (select comm_id from blog_Comment where comm_homepage<>'')

2005年11月6日星期日

Google地图下的美国机密军事设施

  一个软件可以引起全世界军方和政府的震惊和恐慌,并且在全世界网民中大出风头,这就是Google Earth软件。

  什么是Google Earth?Google Earth是一款由Google公司开发的虚拟地球软件,是Google公司提供的地图服务,包括局部详细的卫星照片。Google Earth使用了公共领域的图片、受许可的航空照相图片、KeyHole间谍卫星的图片和很多其他卫星所拍摄的城镇照片。甚至连Google Maps没有提供的图片都有。

  对于一个军事密来说,Google Earth简直是一个无价之宝啊,那么多原先十分神秘的机密军事设施,现在都可以轻而易举地得到其卫星图片和精确坐标,如美国51区,肯尼迪宇航中心,白宫,美国五角大楼,国会,珍珠港海军基地,美国太平洋舰队,帕尔姆达尔基地,美国西雅图航空母舰基地,内华达州核实验场,蒙大拿州空军基地,美国最重要军港诺福克的完整航空母舰编队群,直升机航空母舰,两栖军舰,伯克级驱逐舰,核潜艇,战列舰,补给舰,登陆舰,还有美国目前最先进的隐型军舰――海影等等,另外还有B-2轰炸机,F22,F16,F35,A-10,C-130,B-52轰炸机等等。 这些都是以前做梦都得不到的东西。

  下面是热心网友收集到的一些美国机密军事设施的图片,在图片的左下脚是该图片的经纬度,下载Google Earth后,定位该经纬度,任何人都可以找到该设施。

美国军事基地美国军事基地美国军事基地美国军事基地美国军事基地美国军事基地美国军事基地美国军事基地美国军事基地美国军事基地美国军事基地美国军事基地美国军事基地美国军事基地美国军事基地美国军事基地美国军事基地美国军事基地美国军事基地美国军事基地美国军事基地美国军事基地美国军事基地美国军事基地美国军事基地美国军事基地美国军事基地美国军事基地美国军事基地美国军事基地