<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
<channel>
<title>Zhiqiang::He</title>
<link>http://www.hzqbbc.com/blog/</link>
<description>Happy + Health = Life^2</description>
<copyright>Copyright 2007</copyright>
<lastBuildDate>Wed, 15 Nov 2006 08:39:38 +0800</lastBuildDate>
<generator>http://www.movabletype.org/?v=3.15</generator>
<docs>http://blogs.law.harvard.edu/tech/rss</docs> 

<item>
<title>清理scuttle 的垃圾书签</title>
<description><![CDATA[<p>无论是blog系统，还是论坛，经常都充斥着要命的spam，各种类型都有。extmail.org上的scuttle很早前就已经开始遭殃。后来发现这些注册的家伙可能是通过程序注册的，所以加了个安全认证码的东西，注册要输入认证码，后来好了一段时间，最近又跑来一大堆spam信息。无奈！</p>

<p>于是花了半小时写了个垃圾脚本（无奈啊，连接到服务器好慢，网通与电信之间的距离永远是那么遥远...）干掉这些spam。</p>]]></description>
<link>http://www.hzqbbc.com/blog/arch/2006/11/cscuttle_caec.html</link>
<guid>http://www.hzqbbc.com/blog/arch/2006/11/cscuttle_caec.html</guid>
<category>Works</category>
<pubDate>Wed, 15 Nov 2006 08:39:38 +0800</pubDate>
</item>
<item>
<title>解决IBM thinkpad笔记本恢复系统时报“Product Recovery 无法恢复系统”之类的错误</title>
<description><![CDATA[<p>昨天我的IBM 本子无缘无故在改了系统内存偏重于系统缓存后，就报“lsass.exe 终结点格式无效“的错误，无论如何都修复不了。于是只好进入一键恢复（Thinkpad rescue and recovery）里恢复，可是到了最后要format c盘的步骤时，居然提示”Product Recovery 无法恢复系统”之类的错误，晕倒！</p>

<p>上网查了不少论坛的帖子，其他人都是can't not find xxx module，引起的原因大多是因为分区超过3个。而我的机器分区没超过3个（不算隐藏分区），如何是好？</p>]]></description>
<link>http://www.hzqbbc.com/blog/arch/2006/10/eibm_thinkpadce.html</link>
<guid>http://www.hzqbbc.com/blog/arch/2006/10/eibm_thinkpadce.html</guid>
<category>Works</category>
<pubDate>Sun, 08 Oct 2006 08:29:39 +0800</pubDate>
</item>
<item>
<title>Acrobat + MS word + HyperSnap = 文档利器</title>
<description><![CDATA[<p>昨天下载了Mantis 中文手册（西西辛苦所著pdf版，感谢！），高兴之余发现里面的图分辨率实在很低，很难看清楚，顿生重新做一次这个手册的念头。于是凑齐HyperSnap和Acrobat 5.0 及ms word，测试了一下截图、生成pdf等功能，为重做手册准备。</p>

<p>但是做下来发现了几个问题：</p>

<p>PDF生成后，里面的图片分辨率低，和西西所做一样，看不清，痛苦<br />
不知道如何截取需要滚屏的网页或应用程序，对于大篇幅的图毫无办法</p>

<p>后来经过摸索，并得到了bdwy的帮助后，解决了问题。方法也很简单：</p>]]></description>
<link>http://www.hzqbbc.com/blog/arch/2006/09/acrobat_ms_word.html</link>
<guid>http://www.hzqbbc.com/blog/arch/2006/09/acrobat_ms_word.html</guid>
<category>Works</category>
<pubDate>Sun, 17 Sep 2006 15:01:16 +0800</pubDate>
</item>
<item>
<title>Acrobat + MS word + HyperSnap = 文档利器</title>
<description><![CDATA[<p>昨天下载了Mantis 中文手册（西西辛苦所著pdf版，感谢！），高兴之余发现里面的图分辨率实在很低，很难看清楚，顿生重新做一次这个手册的念头。于是凑齐HyperSnap和Acrobat 5.0 及ms word，测试了一下截图、生成pdf等功能，为重做手册准备。</p>

<p>但是做下来发现了几个问题：</p>

<p>PDF生成后，里面的图片分辨率低，和西西所做一样，看不清，痛苦<br />
不知道如何截取需要滚屏的网页或应用程序，对于大篇幅的图毫无办法</p>

<p>后来经过摸索，并得到了bdwy的帮助后，解决了问题。方法也很简单：</p>]]></description>
<link>http://www.hzqbbc.com/blog/arch/2006/09/acrobat_ms_word.html</link>
<guid>http://www.hzqbbc.com/blog/arch/2006/09/acrobat_ms_word.html</guid>
<category>Works</category>
<pubDate>Sun, 17 Sep 2006 15:01:16 +0800</pubDate>
</item>
<item>
<title>配置Mediawiki支持短URL</title>
<description><![CDATA[<p>为了美化URL，今天花了巨多时间在这个看似简单又讨厌的问题上面。中午觉也没有睡。首先来个惯例的Step by step 安装步骤吧。</p>

<p>1.下载mediawiki</p>

<p>由于测试机是php4.3.9，为了不麻烦，偷懒用了个1.6.8的版本，支持php4.x</p>

<p>2.解包</p>

<p>tar xfz mediawiki-1.6.8.tar.gz<br />
mv mediawiki-1.6.8 /var/www/extsuite/mediawiki</p>]]></description>
<link>http://www.hzqbbc.com/blog/arch/2006/08/ecmediawikicurl.html</link>
<guid>http://www.hzqbbc.com/blog/arch/2006/08/ecmediawikicurl.html</guid>
<category>Works</category>
<pubDate>Sun, 20 Aug 2006 17:02:58 +0800</pubDate>
</item>
<item>
<title>IPtables 规则错误导致DNS查询失败之解决办法</title>
<description><![CDATA[<p>受朋友之托，检查其主机上的iptables规则引起的dns问题。主要现象是打开了如下的规则后，squid就不能正常的查找主机的ip地址，dns解析试销。</p>

<pre>
# Generated by iptables-save v1.3.4 on Sun Aug  6 11:28:42 2006
*nat
:PREROUTING ACCEPT [293:39183]
:POSTROUTING ACCEPT [5:299]
:OUTPUT ACCEPT [5:299]
COMMIT
# Completed on Sun Aug  6 11:28:42 2006
# Generated by iptables-save v1.3.4 on Sun Aug  6 11:28:42 2006
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [949:834012]
-A INPUT -p tcp -m multiport --dports 21,25,80,81,110,143,3128 -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -j ACCEPT     
-A INPUT -p udp -m udp --dport 53 -j ACCEPT
#-A INPUT -p udp -m udp -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 8 -m limit --limit 1/sec --limit-burst 10 -j ACCEPT      
-A INPUT -i lo -j ACCEPT        
-A INPUT -p tcp -m state --state RELATED,ESTABLISHED -j ACCEPT             
-A INPUT -p tcp -m state --state INVALID,NEW -j DROP        
-A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -j DROP      
-A INPUT -p udp -m udp -j DROP
COMMIT
# Completed on Sun Aug  6 11:28:42 2006
</pre>]]></description>
<link>http://www.hzqbbc.com/blog/arch/2006/08/iptables_eeeedn.html</link>
<guid>http://www.hzqbbc.com/blog/arch/2006/08/iptables_eeeedn.html</guid>
<category>Works</category>
<pubDate>Sun, 06 Aug 2006 12:01:10 +0800</pubDate>
</item>
<item>
<title>Server Push blocked by Compress - 压缩模式不能实现Server Push</title>
<description><![CDATA[<p>Server Push并不是什么新技术，而是一种老技术。早年Netscape就提出了Server Push的技术，通过HTTP 内容类型 multipart/x-mixed-replace 来标识。</p>

<p>但由于Netscape被迫退出市场后，IE一直没有支持这样的特性，所以想基于真正的Server Push 技术开发web 即时通信软件的梦想一直不能获得完美实现。</p>

<p>目前一般的Server Push实现大多是由一个长效执行的cgi程序，将变更的信息发送到客户端浏览器，此时需要此cgi程序及web server支持unbuffer，即能在任意时刻在与客户端建立的连接这个流中传递信息，并不进行缓冲。这样客户端可以即时收到信息。</p>

<p>过去在DMS（Damail System）中实现的无刷新进度条就是使用类似的技术。</p>

<p>最近重新收拾了一下过去的实现，发现居然不能用了！什么原因？</p>]]></description>
<link>http://www.hzqbbc.com/blog/arch/2006/02/server_push_blo.html</link>
<guid>http://www.hzqbbc.com/blog/arch/2006/02/server_push_blo.html</guid>
<category>Works</category>
<pubDate>Sat, 25 Feb 2006 18:37:47 +0800</pubDate>
</item>
<item>
<title>google top 10 principle - Google 10大黄金法则</title>
<description><![CDATA[<p> 美东时间12月2日消息，在与加州大学伯克利分校信息管理学院院长哈里•瓦里安（Hal Varian）的一次讨论中，Google公司CEO Eric Schmidt讲述了这家搜索巨头公司在产生和保留知识型员工方面遵循的几条原则。该文被美国《新闻周刊》（Newsweek）刊登，以下是Schmidt的观点摘录。 <br />
　　抓住知识型员工将是未来四分之一世纪企业成功的关键。下面就是Google在这方面的做法。</p>

<p>　　在Google，我们认为商业管理学的宗师彼得•德鲁克对于如何管理“知识型员工”的理解最为深刻。毕竟，这个词是由德鲁克于1959年发明。德鲁克说知识型员工相信自己拿工资是为了出效率，而不是为了完成朝九晚五的呆板工作，而聪明的企业会“排除任何影响‘知识型员工’工作的障碍”。这些成功经验将吸引最好的员工，并且保证“未来25年竞争优势的唯一且最大的因素。”</p>

<p>　　在Google，我们寻求这种优势。当前关于大型企业是否对于知识型员工处置失当的争论是我们慎重对待的问题之一，这是因为无法正确处理该问题的企业将被出局。我们从其他地方以及内部讨论得出得到很多好的想法。以下七条就是我们在最大化知识化员工效率方面所采用的关键原则。与大多数技术公司一样，我们的许多员工都是工程师级别的，因此我们将以这个特殊群体为主，但其中很多原则对于所有知识型员工均适用。</p>

<p>　　<strong>组织委员会，严格招聘</strong></p>

<p>　　实质上每个参加Google面试的人至少与六位面试官交谈过，后者均是公司管理层面或潜在同事组成的。每个人的观点都算数，从而使招聘程序更加公平，标准更高。当然，花费的时间会长一些，但我们认为值得。如果希望招到优秀的员工，那么经过严格的招聘程序，你会得到更加优秀的员工。公司创立之初我们就开始构建这种积极的反馈循环，直到现在已经从中获得了巨大回报。</p>

<p>　　<strong>满足员工的所有需要</strong></p>

<p>　　正如德鲁克所说，管理目标是“排除任何影响他们工作的障碍。”我们为他们提供了一整套标准的额外利益，但首先是一流的餐饮设施、体育馆、洗衣房、按摩室、理发厅、洗车房、干洗房、接送班车等，几乎任何一位勤奋工作的工程师所需的一切。我们可以这样分析：程序师乐意开发程序，他们不喜欢洗衣服。那么我们就让这两件事情变得同时简单起来。</p>

<p>　　<strong>拉近员工距离</strong></p>

<p>　　Google的几乎每个项目都是小组项目，每个小组之间都必须进行交流合作。最好的让交流变得简单的方式就是让每个小组成员都近在咫尺。因此实质上Google的所有员工分享一间办公室。这样，当某位程序师需要与一位同事协商时，就能马上找到对方：没有电话号码标签、没有电子邮件拖延、不用等待答复。当然，Google还有很多会议室供人们进行详细讨论，从而不会打扰各自的办公助手。即使是公司CEO，在来到Google后数月才得到一间办公室。和一个学识丰富的员工比邻而居，委实是一种高效的培训经验。</p>]]></description>
<link>http://www.hzqbbc.com/blog/arch/2006/01/google_top_10_p.html</link>
<guid>http://www.hzqbbc.com/blog/arch/2006/01/google_top_10_p.html</guid>
<category>BizInfo</category>
<pubDate>Mon, 23 Jan 2006 12:26:49 +0800</pubDate>
</item>
<item>
<title>openSSH + SecureCRT HOWTO - 如何整合openSSH和SCRT</title>
<description><![CDATA[<p>openSSH/openSSL 是现在最流行的开源软件，保护着数百万的Linux, <span class="caps">BSD,</span> Unix主机。而历来商业的SSH server/Client 对openSSH/openSSL的支持都不是太好，在windows下的客户端SecureCRT要支持openSSH总是有这样或那样的不足。</p>

<p>要么，用SecureCRT（简称SCRT）生成的公钥/密钥，然后将公钥放到openSSH Server上去，可以支持SCRT利用证书登陆到openSSH server上，但如果从另一台使用openSSH client的机器要登陆到这个openSSH server，却死活都通不过。</p>

<p>要么，用openSSH 生成的公钥/密钥，则安装openSSH client的机器要连接过来毫无问题，但SCRT却通不过。</p>

<p>为了这个问题琢磨了很久，后来在SecureCRT的官方论坛里，有人提到SecureCRT自4.0以来，已经可以支持openSSH的key了。于是怀着试试看的心情，将SCRT升级到4.1，重新做了一下配置，成功了！</p>

<p>实现了openSSH server + <span class="caps">SCRT</span>/openSSH Client 的组合，以后无论是win平台还是*nix平台，都可以方便的使用证书登陆了，实在解决了一个大问题。</p>

<h4>How to implement?</h4>

<p>以下简单描述一下如何配置与实现的。</p>

<p><b>配置openSSH server</b><br />
以下是/etc/ssh/sshd_config的内容：</p>



<pre>
Port                            22
Protocol                        2
HostKey                         /etc/ssh/ssh_host_rsa_key
HostKey                         /etc/ssh/ssh_host_dsa_key
KeyRegenerationInterval         1h
SyslogFacility                  AUTHPRIV
LoginGraceTime                  5m
PermitRootLogin                 yes
PubkeyAuthentication            yes
AuthorizedKeysFile              .ssh/authorized_keys
IgnoreRhosts                    yes
HostbasedAuthentication         no
PasswordAuthentication          yes
PermitEmptyPasswords            no
ChallengeResponseAuthentication no
Subsystem        sftp    /usr/libexec/openssh/sftp-server
</pre>



<p>该配置允许使用证书或密码登陆，对于出差到外地但没带证书的情况就很有用了，如果想只使用证书，则将：</p>


<pre>
PasswordAuthentication          yes
</pre>


<p>改为：</p>


<pre>
PasswordAuthentication          no
</pre>



<p><b>利用ssh-keygen生成公钥/密钥</b></p>

<p>例如要生成用户hzqbbc的公钥/密钥，则先su 到hzqbbc用户，然后输入：</p>



<pre>
ssh-keygen -t dsa
</pre>



<p>ssh-keygen会提示文件的存放位置及密钥的加密字，按要求输入即可。以下是样例：</p>




<pre>
[hzqbbc@p4 .ssh]$ ssh-keygen -t dsa
Generating public/private dsa key pair.
Enter file in which to save the key (/home/hzqbbc/.ssh/id_dsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/hzqbbc/.ssh/id_dsa.
Your public key has been saved in /home/hzqbbc/.ssh/id_dsa.pub.
The key fingerprint is:
aa:0a:3c:be:7f:35:9b:4f:82:bf:1d:ca:0b:dc:bc:cc hzqbbc@p4
</pre>




<p><b>将id_dsa和id_dsa.pub复制到windows系统</b></p>

<p>在windows客户机上，建立C:\SSH目录，然后将id_dsa和id_dsa.pub<b>原封不动</b>的复制到C:\SSH里，确保文件名为id_dsa和id_dsa.pub</p>]]></description>
<link>http://www.hzqbbc.com/blog/arch/2005/12/openssh_securec.html</link>
<guid>http://www.hzqbbc.com/blog/arch/2005/12/openssh_securec.html</guid>
<category>Works</category>
<pubDate>Wed, 14 Dec 2005 13:13:42 +0800</pubDate>
</item>
<item>
<title>Too busy to write - 自己CPU满负荷，没“空”了！</title>
<description><![CDATA[<p>最近一个月都没有更新blog，原计划要将openSSH+证书+SCRT的howto放出来，还要写一下关于APF server的发展问题，还有更多要写......</p>

<p>可如今一篇都没有。检讨下来，只有一个字：“忙”。</p>

<p>自己的CPU时间片几乎全部都被事情占满了。心想如果自己能分身该多好！</p>

<p>琐碎的事太多了，现在开始怀疑一件事：是不是自己的“系统”装太多“程序”了。:-)</p>

<p>该清理清理，make tidy 之。</p>]]></description>
<link>http://www.hzqbbc.com/blog/arch/2005/12/too_busy_to_wri.html</link>
<guid>http://www.hzqbbc.com/blog/arch/2005/12/too_busy_to_wri.html</guid>
<category>Misc</category>
<pubDate>Sun, 11 Dec 2005 22:20:06 +0800</pubDate>
</item>
<item>
<title>linux world 2005 at guangzhou - 广州Linuxworld见闻</title>
<description><![CDATA[<p>著名的Linux world 2005居然要在广州召开，心里有一丝兴奋。早早就联系了广东省linux中心的朋友，了解了一下情况，并报了名。</p>

<p>11月10日一早兴冲冲的带上照相机直奔会场。可惜广州的交通总是那么让人难受，还是晚了一点到，不过幸好是9：30开始。</p>

<p>linux world 2005 guangzhou 在亚洲大酒店举行，地方倒是够豪华了，不知道实际的效果如何。</p>

<p>以下是随便照的一些照片。</p>

<p><img src="/images/linux_world2005/P1040487.jpg" /></p>

<p>几个主持人在台上商量些什么？9点多，大人物还没出场。</p>

<p><img src="/images/linux_world2005/P1040490.jpg" /></p>

<p>会议厅两边有2个大投影屏幕，屏幕前的ppmm好象是大会人员，招待宾客，可惜按快门时她动了一下，模糊了。:P</p>]]></description>
<link>http://www.hzqbbc.com/blog/arch/2005/11/linux_world_200.html</link>
<guid>http://www.hzqbbc.com/blog/arch/2005/11/linux_world_200.html</guid>
<category>Misc</category>
<pubDate>Fri, 11 Nov 2005 17:27:14 +0800</pubDate>
</item>
<item>
<title>Bookmark system - 几个不错的书签系统</title>
<description><![CDATA[<p>作为一个严重依赖Internet和Computer的工作人员，尤其是开发者，有几个工具实在是必不可少的：</p>

<ul>
<li><strong>Blog | 博客/网志 </strong></br>
用于记录生活，感情，开发的日记，经验等，借用老虎庙的一句话：Blog是个人杂志</li>
<li><strong>BookMark | 在线书签 </strong></br>
用于记录各种有趣，有意义，有用的链接，信息，相当于记事本。但比记事本又功能简单一些。对于常上网的人，太有意义了。</li>
<li><strong>Email Box | 邮箱/邮件系统 </strong></br>
没有电子邮件，难以想象今天的网络沟通会是怎样。至少一个稳定可靠，速度快容量大的免费邮箱是标配，奢侈点的话可以架自己的邮件系统。</li>
<li><strong>Album | 电子相册</strong></br>
除非不使用计算机，否则一定有大量的图片，包括自己的照片要管理，必须有一个好的电子相册来管理这些资源。</li>
</ul>

<p>暂时就想到这些。</p>]]></description>
<link>http://www.hzqbbc.com/blog/arch/2005/11/bookmark_system.html</link>
<guid>http://www.hzqbbc.com/blog/arch/2005/11/bookmark_system.html</guid>
<category>NewTech</category>
<pubDate>Sat, 05 Nov 2005 12:29:13 +0800</pubDate>
</item>
<item>
<title>SetEnv fail in Suexec - Suexec下setenv失效</title>
<description><![CDATA[<p>有时候，最不起眼的问题却最耗时间。</p>

<p>早上10点多想起还没完成<a href="http://extmail.org">ExtMail</a>的0.19 release中计划要增加的功能：per domain template ， 于是开始动手。</p>

<p>本来是一个非常简单的功能，几行code就搞定，利用的是Apache等webserver的SetEnv，将特定信息导入环境变量中，谁知道怪事发生了。</p>

<p>在httpd.conf中，有如下的配置：</p>



<pre>
SetEnv EXTMAIL_TEMPLDIR &quot;/var/www/extmail/newhtml&quot;
</pre>



<p>可是在perl代码里，却死活没办法通过访问$ENV{'EXTMAIL_TEMPLDIR'}来获得这个值。</p>]]></description>
<link>http://www.hzqbbc.com/blog/arch/2005/10/setenv_fail_in.html</link>
<guid>http://www.hzqbbc.com/blog/arch/2005/10/setenv_fail_in.html</guid>
<category>Works</category>
<pubDate>Fri, 21 Oct 2005 14:32:20 +0800</pubDate>
</item>
<item>
<title>Email threads algorithm - 邮件线索排序算法</title>
<description><![CDATA[<p>很早以前,一些邮件客户端,例如Netscape 等就支持邮件的线索模式，在线索模式下，可以很有条理的阅读邮件.</p>

<p>邮件客户端becky我曾经使用了相当长的一段时间，原因之一就是因为它支持线索模式，这样可以很方便的查看与某些朋友的邮件来往,尤其是订阅了邮件列表后，每个话题及回复都看得很清晰。</p>

<p>不少线索排序都是使用jwz算法. 地址: <a href="http://www.jwz.org/doc/threading.html">message threading</a></p>]]></description>
<link>http://www.hzqbbc.com/blog/arch/2005/10/email_threads_a.html</link>
<guid>http://www.hzqbbc.com/blog/arch/2005/10/email_threads_a.html</guid>
<category>Works</category>
<pubDate>Thu, 20 Oct 2005 18:31:16 +0800</pubDate>
</item>
<item>
<title>Comment Spam flood - 遭遇MT Spam洪水</title>
<description><![CDATA[<p>有整一周没上blog里看消息了，一登陆，吓了一跳，136个comments！ 第一感觉就是Spam！ 打开评论管理一看，果然都是一些外国的留言，实质都是一些广告。</p>

<p>气愤之余，只好一条一条删除，但删除前，留一张截图吧，立此存照：</p>

<p><img alt="mt_comment_spam.PNG" src="/blog/images/mt_comment_spam.png" width="476" height="156" border=1/></p>

<p>看样子，迟点还是得装SCode模块。</p>]]></description>
<link>http://www.hzqbbc.com/blog/arch/2005/10/comment_spam_fl.html</link>
<guid>http://www.hzqbbc.com/blog/arch/2005/10/comment_spam_fl.html</guid>
<category>MovableType</category>
<pubDate>Sun, 09 Oct 2005 14:37:46 +0800</pubDate>
</item>


</channel>
</rss>