<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>

<channel>
	<title>hqlong's blog</title>
	<atom:link href="http://hqlong.com/feed" rel="self" type="application/rss+xml" />
	<link>http://hqlong.com</link>
	<description>不懂放弃，等于固执；不能坚持，等于放弃目标。最聪明的做法是：不该坚持的，必须放弃</description>
	<pubDate>Tue, 06 Jan 2009 01:50:08 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.2</generator>
	<language>en</language>
			<item>
		<title>php怎么将字符转换成特定编码</title>
		<link>http://hqlong.com/2009/01/515.html</link>
		<comments>http://hqlong.com/2009/01/515.html#comments</comments>
		<pubDate>Mon, 05 Jan 2009 14:19:18 +0000</pubDate>
		<dc:creator>机器人</dc:creator>
		
		<category><![CDATA[php/javascript]]></category>

		<category><![CDATA[其它]]></category>

		<category><![CDATA[php]]></category>

		<category><![CDATA[编码]]></category>

		<guid isPermaLink="false">http://hqlong.com/?p=515</guid>
		<description><![CDATA[当我们在接受未知客户端提交的数据，由于各客户端的编码不统一，但在我们的服务器端最终只能以一种编码方式来处理，这种情况下就会涉及到一个将接受到的字符转换为特定编码的问题。
这时可能会想到直接用iconv来进行转码，但我们知道，iconv这个函数需要提供的两个参数为输入编码和输出编码，而我们现在根本不知道接受的字符串是什么编码，如果这个时候能得到接收字符是什么编码就好了。
对于这样的问题，一般会有两种解决方案。
方案一：
要客户端提交数据时，指定所提交的编码，这时就需要多给一个用来指定编码的变量。
＜pre lang=&#8221;php&#8221;>
$string = $_GET['charset'] === &#8216;gbk&#8217; ? iconv(&#8217;gbk&#8217;,'utf-8&#8242;,$_GET['str']) : $_GET['str'];
对于这种情况，如果在没有约定或者我们不能控制客户端的情况下，似乎这种方案使用不是很好。
方案二
直接由服务器端来检测所接收的数据编码。
这种方案当然是最理想了的了，现在问题是怎么检测一个字符的编码吗？对于这种情况，在php里,mb_string这个扩展中的mb_check_encoding提供了我们所需要的功能。

$str = mb_check_encoding&#40;$_GET&#91;'str'&#93;,'gbk'&#41; ? iconv&#40;'gbk','utf-8',$_GET&#91;'str'&#93;&#41; : $_GET&#91;'str'&#93;;

但这需要打开mb_string这个扩展，有些时候可能我们的生产服务器中没有打开这个扩展。对于这种情况，需要自己借助如下函数来判断编码。
以下函数非本人所写

function isGb2312&#40;$string&#41; &#123;
	for&#40;$i=0; $i&#60;strlen &#40;$string&#41;; $i++&#41; &#123;
		$v = ord&#40; $string&#91;$i&#93; &#41;;
		if&#40; $v &#62; 127&#41; &#123;
			if&#40; &#40;$v &#62;= 228&#41; &#38;&#38; &#40;$v &#60; = 233&#41; &#41;
			&#123;
				if&#40; &#40;$i+2&#41; &#62;= &#40;strlen&#40;$string&#41; - 1&#41;&#41; return true;
				$v1 = ord&#40; $string&#91;$i+1&#93; &#41;;
				$v2 = ord&#40; $string&#91;$i+2&#93; &#41;;
				if&#40; &#40;$v1 [...]]]></description>
		<wfw:commentRss>http://hqlong.com/2009/01/515.html/feed</wfw:commentRss>
		</item>
		<item>
		<title>当下10大最热门的网站开发技术(ZT)</title>
		<link>http://hqlong.com/2008/12/505.html</link>
		<comments>http://hqlong.com/2008/12/505.html#comments</comments>
		<pubDate>Tue, 30 Dec 2008 15:24:12 +0000</pubDate>
		<dc:creator>机器人</dc:creator>
		
		<category><![CDATA[其它]]></category>

		<category><![CDATA[开发]]></category>

		<category><![CDATA[技术]]></category>

		<category><![CDATA[热闹]]></category>

		<guid isPermaLink="false">http://hqlong.com/?p=505</guid>
		<description><![CDATA[虽然现在美国经济出现危机，但是网站开发领域依然很繁荣，因为不论是现在或者将来，网络必定是人们日常生活中不可缺少的组成部分。NETTUTS上列出10大最吃香的网站开发技术。作为网站开发工程师，如果你精通这些技术，即便在经济不景气的时候，仍然很容易找到一份好工作。
1. Framework knowledge (架构知识)
架构是大型网站开发的重要部分。开发者已经从Rails, Django等公司提供的网站架构工具中收益，因为架构工具可以帮助完成那些需要一定编程知识的重复性的任务。如果你拥有领先的架构技术(像Rails, Django, CakePHP, Symfony等)，你的择业面将非常广阔。
2. Widget Development (窗体小部件开发)
窗体小部件(Widgets)是一个嵌入网页的迷你应用程序，通常也可以下载到Windows或者Mac桌面下运行。它让数据变得便与携带而且更具交互性。比较出名的像Yahoo Widgets和AOL Music Widgets。窗体小部件开发除了需要掌握网络应用程序开发所需的语言知识，还需要精通Javascript和Flash知识。
3. Custom CMS themes (内容管理系统主题定制)
如今越来越多人开始使用CMS(内容管理系统，例如Wordpress和Drupal)来构建他们的网站。可以想象不可能大家都用CMS提供的默认主题，为了让自己的CMS网站在外观设计上独树一帜，就需要一些专门给CMS开发主题的技术人员。
4. CMS Customizations and plugin development (内容管理系统的定制以及插件开发)
同样随着CMS的流行，对CMS的功能定制以及插件开发的需求也越来越大。
5. PSD to XHTML services (PSD转换XHTML的服务）
在建站中，许多公司是先用Photoshop设计好网站的外观原图，然后再转换成XHTML。这需要很强的CSS/HTML知识。
6. Javascript Plugin creation(Javascript的插件开发)
Javascript的Framework非常流行，因为它使Javascript的代码开发变得简单。就比如说现在流行的Javascript Framework - jQuery，如果你在它的基础上开发优秀的插件，那么你的插件也会跟着流行起来。
7. Facebook/MySpace applications (Facebook/MySpace 应用程序开发)
Facebook/MySpace两大社交网站在美国红遍半边天。给他们开发应用程序，不用说一定是相当热门的。
8. iPhoneapplications (iPhone 应用程序开发)
同样给iPhone开发应用程序，也一直都可以被大量下载，因此也是很赚钱的活。
9. E-commerce integration (电子商务一体化)
如今电子商务网站(像Ebay，Amazon)与在线银行服务系统(像Paypal和Google Checkout的)之间的配合越来越紧密，因此电子商务交易平台的开发也是相当有前途的。
10. Flash and Actionscript Knowledge (Flash和Actionscript知识)
越来越多的公司采用Flash来制作自己的网站、展现自己的产品，因为精美的动画总是容易吸引人们的眼球。因此Flash动画技术也必然迅速发展。
载自：cdsn
机器人 2008-12-30 23:23
]]></description>
		<wfw:commentRss>http://hqlong.com/2008/12/505.html/feed</wfw:commentRss>
		</item>
		<item>
		<title>Window size and scrolling</title>
		<link>http://hqlong.com/2008/12/499.html</link>
		<comments>http://hqlong.com/2008/12/499.html#comments</comments>
		<pubDate>Wed, 24 Dec 2008 07:58:35 +0000</pubDate>
		<dc:creator>机器人</dc:creator>
		
		<category><![CDATA[php/javascript]]></category>

		<category><![CDATA[javascript]]></category>

		<category><![CDATA[scroll]]></category>

		<category><![CDATA[window]]></category>

		<guid isPermaLink="false">http://hqlong.com/?p=499</guid>
		<description><![CDATA[Finding the size of the browser window

function getWindowSize&#40;&#41; &#123;
	var myWidth = 0, myHeight = 0;
	if&#40; typeof&#40; window.innerWidth &#41; == 'number' &#41; &#123;
		//Non-IE
		myWidth = window.innerWidth;
		myHeight = window.innerHeight;
	&#125; else if&#40; document.documentElement &#38;&#38; &#40; document.documentElement.clientWidth &#124;&#124; document.documentElement.clientHeight &#41; &#41; &#123;
		//IE 6+ in 'standards compliant mode'
		myWidth = document.documentElement.clientWidth;
		myHeight = document.documentElement.clientHeight;
	&#125; else if&#40; document.body &#38;&#38; &#40; document.body.clientWidth &#124;&#124; document.body.clientHeight &#41; [...]]]></description>
		<wfw:commentRss>http://hqlong.com/2008/12/499.html/feed</wfw:commentRss>
		</item>
		<item>
		<title>驾照基本顺利通过</title>
		<link>http://hqlong.com/2008/12/495.html</link>
		<comments>http://hqlong.com/2008/12/495.html#comments</comments>
		<pubDate>Tue, 16 Dec 2008 15:10:01 +0000</pubDate>
		<dc:creator>机器人</dc:creator>
		
		<category><![CDATA[mylife]]></category>

		<category><![CDATA[驾照]]></category>

		<guid isPermaLink="false">http://hqlong.com/?p=495</guid>
		<description><![CDATA[从11月1日离职到现在，也差不多快两个月了。先前本来是计划一个待业一个月，正好就利用这一个月的时间去考完驾照，但当我去驾校报到的时候才发现一个月时间不够，至少也得一个半月，所以又把这待业时间又给推迟了半个月，到目前差不多正好半个月。
今天刚好顺利了把科目二给考完，下个礼拜还有科目三，还需要两个半天，一个半天是用来练习，一个半天用来考试，但个人感觉应该是已经过了，只是时间问题，所以只能算基本上拿到了驾照。
说起今天考试，本来几分钟的事儿，上午8点到考试，硬把我给考到下午四点，不知道内幕的人还真是想不明白。
这段时间考试的人较多，在海驾，只有6个库，加上我当时报名比较靠后，所以基本上也就是我们驾校的是后几名，而一套贴库、移库、倒库下来差不多要5分钟，如果开的再肉点，或者说中间车身出线，又要重来一次，这一算，这时间就不少了，所以等一两个人就差不多要十几二十分钟。考试流程是桩考通过后去道路考试进行路考，本来以为上午自己能将场地考一起考了，当轮到我考时，已经快12点了，只好下午1：30才场地等了，说起考桩，自己感觉考的相棒，整个过程差不多用了1分多钟吧，开的倍儿稳。
下午去了场地那边，心想这下应该很快就过了吧，可到了点名的时间，自己没有注意，错过了第一批考试的机会，后来只有给仍到最后面考了，所以才差不多3点才考。
不过还好，虽然用了这么多时间，最终还算是过了，总算对得起自己，让有让教练丢赏金。接下来就等25号的科目三了。
随着这个阶段的结束，自己也该回到工作的正规了。当然，自己也早就想上班了，天天学车还好一点。
明天去新东家入职，一切从这里开始！！
机器人 2008-12-16 23:09 于 北京
]]></description>
		<wfw:commentRss>http://hqlong.com/2008/12/495.html/feed</wfw:commentRss>
		</item>
		<item>
		<title>阿里大牛重拳出击，首创saas架构新著</title>
		<link>http://hqlong.com/2008/12/489.html</link>
		<comments>http://hqlong.com/2008/12/489.html#comments</comments>
		<pubDate>Sat, 13 Dec 2008 08:13:14 +0000</pubDate>
		<dc:creator>机器人</dc:creator>
		
		<category><![CDATA[c/c++]]></category>

		<category><![CDATA[database]]></category>

		<category><![CDATA[linux/server]]></category>

		<category><![CDATA[php/javascript]]></category>

		<category><![CDATA[saas]]></category>

		<category><![CDATA[互联网]]></category>

		<category><![CDATA[架构]]></category>

		<guid isPermaLink="false">http://hqlong.com/?p=489</guid>
		<description><![CDATA[今天拿到了刚发布不久的，而且是国内少见的一本关于SaaS架构设计的书－－&#60;&#60;互联网时代的软件革命 SaaS架
构设计&#62;&#62;。一看书名就很有吸引力。这是一本阿里软件大牛们一起创作的一本书。大致谈了目前最为先前的互联网技术已经软件和互联网的结合，趋势，已经高可靠性服务器，群集，缓存共享、分布式文件系统以及云计算等时会遇到的问题和相应的解决方案等。国内可算是唯独的技术资料哟！！强烈推荐大家能读一下，虽然我目前还没开始读，但大致的浏览了下，就感觉到了这本书的分量。





详细信息


作者: 叶伟 / 赵进 / 叶军 / 闻波 / 黄晓龙 / 龙良 / 曾义 / 李战 / 莫建祥
副标题: SaaS架构设计
ISBN: 9787121077364
页数: 348
出版社: 电子工业出版社
出版年: 2008
简介   · · · · · ·
国内第一本完整介绍SaaS应用设计的书籍。.
具有丰富SaaS实践经验的一线架构师的经验总结。..
用创业故事贯穿全书，以一种活泼的风格来描述SaaS应用逐步成熟的过程。&#8230;
作者简介   · · · · · ·
叶伟,阿里软件研发中心总监.曾先后就职于金仕达卫宁.IBM.金蝶,在HIS.ERP.SaaS领域领导开发了多个大型成功产品.复旦大学计算机科学学士.硕士,1993年获高级程序员,2000年被评为高级工程师.15年软件开发经验,专长面向对象分析&#38;设计,以及SaaS应用架构设计.
赵进,阿里软件首席架构师,在管理软件领域和SaaS领域都有多年的开发和架构设计经验.现负责阿里巴巴软件互联平台的技术规划和架构设计工作,对于云计算.PaaS.OpenAPI.MultiTenant架构.SOA.MDA等领域都具有浓厚的兴趣.
叶军,计算机博士,阿里软件架构师.10年Web应用开发经验,对网站设计和互联网前沿技术有广泛的研究.现负责阿里软件互联平台的系统架构设计.
闻波,阿里软件桌面平台架构师.一直致力于Windows应用软件开发,对面向对象程序设计和Windows系统底层的研究有丰富的经验,对驱动程序开发.软件加密/解密等有较深入的研究.
黄晓龙,阿里软件高级架构师,先后在金蝶.腾讯等多家著名IT公司任职,在企业管理软件.架构设计.OOAD.敏捷开发.项目管理等方面积累了多年经验.
龙良,阿里软件架构师,先后在金蝶.中兴等多家著名IT公司担任架构师.系统分析师（2005年）,清华大学软件工程硕士.在Web架构设计和企业管理软件等方面积累了多年经验.
曾义,阿里软件Web平台技术经理,四川大学计算机科学硕士.专长于MDA.Web前端组件设计.SOA,目前领导SaaS应用开发平台XPlatform的研发.
李战,阿里软件架构师,从事SaaS研究多年.在SaaS数据库.Web架构.前端框架以及数据库全文检索方面都有丰富的经验.
莫建祥,阿里软件高级架构师.擅长大规模即时通信系统.分布式存储和数据库系统.分布式计算.高性能计算.网络通信的设计开发.现负责阿里旺旺（IM产品）的整体架构设计.






机器人 2008-12-13 16：12 于 北京
]]></description>
		<wfw:commentRss>http://hqlong.com/2008/12/489.html/feed</wfw:commentRss>
		</item>
		<item>
		<title>nginx0.6.34+php-5.27 fastcgi 安装</title>
		<link>http://hqlong.com/2008/12/476.html</link>
		<comments>http://hqlong.com/2008/12/476.html#comments</comments>
		<pubDate>Sun, 07 Dec 2008 16:00:32 +0000</pubDate>
		<dc:creator>机器人</dc:creator>
		
		<category><![CDATA[database]]></category>

		<category><![CDATA[linux/server]]></category>

		<category><![CDATA[php/javascript]]></category>

		<category><![CDATA[fastcgi]]></category>

		<category><![CDATA[linux]]></category>

		<category><![CDATA[mysql]]></category>

		<category><![CDATA[nginx]]></category>

		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://hqlong.com/?p=476</guid>
		<description><![CDATA[所需包：
php-5.2.7.tar.bz2
nginx-0.6.34
lighttpd-1.4.20.tar.gz
mysql-5.0.67.tar.gz
编译安装mysql-6.0.67

hqlong@ubuntu:~/software/tar.gz$ tar zxvf mysql-5.0.67.tar.gz 
hqlong@ubuntu:~/software/tar.gz$ cd mysql-5.0.67/
hqlong@ubuntu:~/software/tar.gz/mysql-5.0.67$ ./configure \
--prefix=/usr/local/webserver/mysql/ \
--without-debug \
--with-unix-socket-path=/tmp/mysql.sock \
--with-client-ldflags=-all-static \
--with-mysqld-ldflags=-all-static --enable-assembler \
--with-extra-charsets=gbk,gb2312,utf8 \
--with-pthread \
--enable-thread-safe-client
hqlong@ubuntu:~/software/tar.gz/mysql-5.0.67$ make &#38;&#38; sudo make install
hqlong@ubuntu:~/software/tar.gz/mysql-5.0.67$ sudo chmod +w /usr/local/webserver/mysql
hqlong@ubuntu:~/software/tar.gz/mysql-5.0.67$ sudo chown -R mysql:mysql /usr/local/webserver/mysql
hqlong@ubuntu:~/software/tar.gz/mysql-5.0.67$ cp support-files/my-medium.cnf /usr/local/webserver/mysql/my.cnf


安装mysql数据库

hqlong@ubuntu:/usr/local/webserver/mysql/bin$ sudo ./mysql_install_db \
--defaults-file=/usr/local/webserver/mysql/my.cnf \
--basedir=/usr/local/webserver/mysql \
--datadir=/usr/local/webserver/mysql/data \
--user=mysql \
--pid-file=/usr/local/webserver/mysql/mysql.pid \
--skip-locking --port=3306 \
--socket=/tmp/mysql.sock

编译安装php5(fastcgi模式)

hqlong@ubuntu:~/software/tar.gz/php-5.2.7$ ./configure \
--prefix=/usr/local/webserver/php \
--with-config-file-path=/usr/local/webserver/php/etc \
--with-mysql=/usr/local/webserver/mysql \
--with-pdo-mysql=/usr/local/webserver/mysql \
--with-gd --with-jpeg-dir=/usr \
--with-png-dir=/usr \
--enable-safe-mode \
--enable-fastcgi \
--enable-force-cgi-redirect
hqlong@ubuntu:~/software/tar.gz/php-5.2.7$ [...]]]></description>
		<wfw:commentRss>http://hqlong.com/2008/12/476.html/feed</wfw:commentRss>
		</item>
		<item>
		<title>优化linux内核参数</title>
		<link>http://hqlong.com/2008/12/479.html</link>
		<comments>http://hqlong.com/2008/12/479.html#comments</comments>
		<pubDate>Sun, 07 Dec 2008 09:11:44 +0000</pubDate>
		<dc:creator>机器人</dc:creator>
		
		<category><![CDATA[linux/server]]></category>

		<category><![CDATA[linx]]></category>

		<category><![CDATA[内核]]></category>

		<guid isPermaLink="false">http://hqlong.com/?p=479</guid>
		<description><![CDATA[
vi /etc/sysctl.conf

在最后添加
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_keepalive_time = 300
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.ip_local_port_range = 5000    65000
配置立即生效


/sbin/sysctl -p

机器人　2008-12-7 17:11 于　北京
]]></description>
		<wfw:commentRss>http://hqlong.com/2008/12/479.html/feed</wfw:commentRss>
		</item>
		<item>
		<title>Chinese Input for Ubuntu</title>
		<link>http://hqlong.com/2008/11/463.html</link>
		<comments>http://hqlong.com/2008/11/463.html#comments</comments>
		<pubDate>Sun, 30 Nov 2008 10:43:08 +0000</pubDate>
		<dc:creator>机器人</dc:creator>
		
		<category><![CDATA[linux/server]]></category>

		<category><![CDATA[linux]]></category>

		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://hqlong.com/?p=463</guid>
		<description><![CDATA[1) install the following packages:
* scim
* scim-chinese
* scim-config-socket
* scim-frontend-socket
* scim-gtk2-immodule
* scim-server-socket
* scim-tables-zh (option)
* xfonts-intl-chinese
* xfonts-intl-chinese-big
* ttf-arphic-gbsn00lp
* ttf-arphic-gkai00mp
* ttf-arphic-bkai00mp
* ttf-arphic-bsmi00lp
accept all dependencies.
2) System -&#62; Preferences -&#62; Sessions
Startup Programs Tab -&#62; Add Button
Startup Command: scim -d
Order: 80
3) Restart Gnome: CTRL+ALT+SUPPR
4) Open any software and press CTRL+SPACE to activate chinese input
机器人 2008-11-31 18:42 于 北京
]]></description>
		<wfw:commentRss>http://hqlong.com/2008/11/463.html/feed</wfw:commentRss>
		</item>
		<item>
		<title>总结一下贴库和移库的步骤</title>
		<link>http://hqlong.com/2008/11/459.html</link>
		<comments>http://hqlong.com/2008/11/459.html#comments</comments>
		<pubDate>Fri, 28 Nov 2008 16:22:26 +0000</pubDate>
		<dc:creator>机器人</dc:creator>
		
		<category><![CDATA[mylife]]></category>

		<category><![CDATA[总结，学车]]></category>

		<guid isPermaLink="false">http://hqlong.com/?p=459</guid>
		<description><![CDATA[这个礼拜开始我才真正开始上车，前段时间不是法培就是等待，都快把人给急死了，还好，后来嗺了一下教练，终于给我安排上车了。
周一到周五下午半天学习。前二天进行了基本的启动和加减档等练习，后三天就进行了科目二中，最为关键的贴库和移库练习，如果这两个科目练好了，基本是科目二考试就通过了。刚开始没有找到感觉，老是出界和撞杆，没少被教练骂（对你不负责的教练是不会骂你的），还好，后来基本上找到了感觉。
下面是一些经验分享一下

贴库上线：车左前角与6米线重合时向右将轮打死（也就是打满），至车正时向左打2圈（将方向盘调正），
横向距6米线1.2至1.5米停车，为什么要1.2至1.5呢？这是因为不同身高的人的距离感是不一样的。
贴库：看右后小窗指示标与前中杆重合时向右打轮，边打边看，点围杆转（就是用方向盘来控制标在杆上），直到向右打满，这时看左右后视镜，风左后杆向左打2圈（将方向盘调正），看左右反光镜调整车分中停车（那边宽就向那边打轮）。
移库：
一上：原地右打满，雨刷器转角与右前杆对齐向左打满，车正后右回2圈。
一下：原地右打满后，左前角对左前杆向左打满，车正后右回2圈。
二上：原地向右打满，仪表盘左上角过前中杆向左打满，车正向右回2圈。
二下：原地向右打满，看右反光镜见右后杆向左打满至车正。
特别是移库，刚开始老是把步骤给忘了，哈哈！！现在理一下，清楚多了，下个礼拜可能就是要反复的练了。。
好了，不写了，该休息了。。
机器人 2008-11-29 00:22 于 北京
]]></description>
		<wfw:commentRss>http://hqlong.com/2008/11/459.html/feed</wfw:commentRss>
		</item>
		<item>
		<title>很好的一篇文章！特转之！</title>
		<link>http://hqlong.com/2008/11/453.html</link>
		<comments>http://hqlong.com/2008/11/453.html#comments</comments>
		<pubDate>Wed, 26 Nov 2008 15:19:44 +0000</pubDate>
		<dc:creator>机器人</dc:creator>
		
		<category><![CDATA[其它]]></category>

		<guid isPermaLink="false">http://hqlong.com/?p=453</guid>
		<description><![CDATA[今晚要闲逛博客时，无意发现在了一篇好文章，很多问题分析的很有道理！！原文如下：
在微软的时候，有一件事让我印象深刻，启发我在动手建立复杂的IT系统之前，先想一想“自己要完成的目标是什么”，而不是“自己要建立的系统是什么”。这件事就是“英文润色”服务的流程。
可靠的英文润色服务
事情是这样的。微软在上海的全球技术中心同时服务微软美洲和欧洲的客户。为了保证所有工程师写出的英文的邮件不会有太多的语法和使用习惯错误，技术中心建立了“英文润色”团队，全是由英文是母语的人员组成，来帮助工程师修改发出
的每一封电子邮件。任何人如果对一份英文的邮件不是很有信心的时候，发信到一个email地址（Distribution List），就可以保证在30分钟以内，得到修改的结果和避免此类错误的建议。每次回复的可能不是同一个人。
这是个不错的服务，我就经常用，对提高英文写作大有帮助。团队保证的30分钟回复的“服务质量”几年来没有有过差错。那个团队对于用户就是一个黑匣子，当一封邮件过去，必然会有一个人（且只有一个人）在指定的时间里回复。
支撑的IT系统？
我一直以为，他们应该有一个IT系统，把所有发到那个email地址里的信件放在一个队列里面，所有的老外到那里去“接”邮件，并把这个邮件的“所有人”的状态改成自己，之后完成审阅，回信，并把状态改成“完成”。。。“一定是这样子的”，我拍着胸脯说“要不然，将近十个人看同一个邮箱的信，岂不乱死了？更不要说保证每一封信都30分钟回复了”。
大家想想，如果你来设计这个系统，会怎么做呢？
神奇的规则
真实的情况出乎我的意料。其实，根本没有任何的IT系统，所有人用的是同一个email账户加上一个规则。规则是这样的：所有的人同时收到所有要阅读的信，从上班开始每5分钟为一个时间段，分配不同的人来值班。比如，9点到9点05是Tom，9点05到9点10分是Jack，依此类推。。。每个人只处理自己邮箱里落入这个5分钟的时间段的信件，其他的都忽略。接到以后，后面的25分钟里面回复前5分钟的信。25分钟之后，进入下一个自己收信的5分钟。理论上，6个人一班，每半个小时一个轮回。而5分钟里面的信件，每个人自己安排，保证在下一个5分钟到来前的25分钟内回复完毕就好了。
就这样一个简单的规则，省去了IT系统的成本，省去了沟通需求，以及维护的成本。一个简单的规则，运行到现在5年了，它就那样简单而可靠的运行着。
这种不用IT系统的方式，在参与的人员少于20个人员变动不大的情况下，是非常合适的。随着邮件量的增多和人员的增加，大不了把时间间隔由5分钟便成4分钟，或者3分钟就好了。在可以预料的将来，这种方式对于这一种特定的需求还是可行的。
这是聪明的做法。
专业的解决方案不见得是最佳方案
这样我想到之前听过的几个故事，同样讲了专业的解决方案不见得是最佳方案的道理。
一个城市建了一个容纳几万人的体育场，而周边的道路还是以前的小路，散场的时候潮水般的人流，导致周围交通瘫痪，不能迅速疏导。专业的市政规划的人员，会给出大规模拆迁，投入巨资拓宽道路的建议，而后来采取的方案居然是在每次比赛结束后，都接上一个小时的文艺表演，这样人流就会分散，缓慢的离开，道路不变，却不会堵塞。而城市里的艺术家就有了一个新的展示自己的机会，双赢，多赢。。。
同样聪明的做法是宝钢解决千年虫问题。专业作法是更换所有设备，保证它们都是两千年兼容，而实际的做法是，把所有系统的时间统一向前调了50年，然后改变一下和显示以及打印相关的系统就好了。
注：真不想提这个吓唬人的千年虫问题了，现在想起来，很多事情非常可笑。当时微软最戏剧性的一幕是，我的师傅等一行来自各种产品组的20多人在 1999年12月30日，坐火车到了北京，以保证万万万分之一的机会，上海因为千年虫问题通信中断，停电，停水，在北京还有帮助亚洲其他国家应付服务器灾难的人员，而我们则守在美罗大厦里，等着太阳从爱尔兰开始一个时区一个时区的向上海扫过来。。。时刻等着那可能的“灾难“。那真是一场疯狂的全球 party。
“专业”的解决问题，往往会花费比实际要高，因为专业人士的视角不够广阔，会忘记了自己所在的时间和空间，忘记了“借力”和“过犹不及”。
上亿的服务事件？
我经历过一个反面例子。2003年在建立微软全国的服务渠道的时候，我们建了个系统，记录所有客户提交的问题。这个系统的第一版建的非常的正规，所有的表都用大学课本里教的第一范式，第二范式，直到Boyce-Codd范式规划。内键外键齐全。但改动起来非常困难。我问道“这个地方为什么不能这样做？”答曰：“为了性能考虑，我做了限制。你想想，如果这张表里的记录数超过百万，千万，甚至上亿的时候。。。。”我惊讶的说：“从业务的角度考虑，这可能吗？如果真得到你说的量，说不定要付的钱都超过上海的国民生产总值了。。。”后来证明在当时的环境下，还是一个对性能没有要求，但是简单明了，随时可以更改的系统用起来顺手。软件系统应该是有生命周期的，用牛刀杀鸡，常常是把鸡假想成牛了。
管理上的时空错乱
最近管理的书很多，大多都是美国大公司的宝典。我看，可以参考，但不要全搬。美国的大企业是骆驼，个头大，掉头慢，耐俄，七天不吃不喝也熬得过去。中国的小公司，尤其是创业性公司是兔子，灵活，调头快，但一天不吃估计就没有机会活到吃下顿的那天了。所以书店里讲战略，讲“专业精神”，讲“系统思维” 等等的书，是为骆驼在它所在的环境准备的，不见得会对兔子有指导作用。CMM好，但不见的在中国软件企业里有用，就是这个道理。以前走访的每个软件园，讲到微软的开发流程的时候，大家都会问一个问题：能讲讲微软还是小公司的时候是怎么做的吗？现在想来，问这些问题的企业老总都是头脑清楚的，知到什么东西可用，什么东西只能借鉴。
把管理成熟公司的做法拿来管理创业公司，这就是时间的错乱；把管理美国企业的方式拿来管理中国的企业，这就是空间的错乱。
注：晚上接待来自《互联网周刊》的记者陈琼，地点还是滨江星巴克，陈琼走到了正大广场下面新开的那一家。估计从地铁里出来以后，大家八成会以为那里就是滨江店，以后要讲清楚才好。
注二：周末开车在杭州度了周末。杭州是个让人心静下来，脚步慢下来的城市。我惊讶的发现杭州的创业家精神在某些程度胜过上海。这是个值得经常来的城市。。。
载自：http://home.wangjianshuo.com/cn/20050801_ccaecceae.htm
机器人 2008－11－26 于 北京
]]></description>
		<wfw:commentRss>http://hqlong.com/2008/11/453.html/feed</wfw:commentRss>
		</item>
	</channel>
</rss>
