星期三, 十二月 31, 2008

2008末2009初

写在2008岁末2009年初,2008年对我来说是个大年,总结一下:

  • 找了个好老婆,我们结婚了:)
  • 工作也挺好的,慢慢有点悟了
  • 尝试做Adsense,投机取巧,得些许小利,终被封号,得第一桶金

2009年,我的wish list:


星期六, 十二月 27, 2008

Clear Type 调整器

 
 
现在我们一般用的都是液晶显示器,但有时候我们会发现液晶显示器显示的文字会发虚,很模糊,看不清楚。
这其实不是显示器的原因,而是我们没有设置好。
 
此时我们就需要使用Clear Type调整器来进行调整。
 
下面这个页面给我们说明了调整器的下载和使用方法。
 

星期四, 十二月 25, 2008

显卡上的S/PDIF接口

今天帮同事买了块华硕EN9600GT冰刃版的显卡,看到有个S/PDIF接口,感到很郁闷,为什么显卡会有音频接口呢。
后来查了一下,这是块支持HDTV的显卡,附有1个 DVI转HDMI转接头 和1 个 HDTV输出信号线,需要将音频输出到电视机的话就要链接S/PDIF。

星期二, 十二月 23, 2008

优盘(U盘)检测软件

http://www.mydigit.cn/mydisktest.htm

优盘检测软件,

现在奸商一堆,就连可爱的calf也中招了,所以大家还是多个心眼,买到U盘后检测一下。

utf8编码的中文分词词库下载

utf8编码的中文分词词库下载
http://cn.minidx.com/index.php?option=com_docman&task=doc_download&gid=47

星期一, 十二月 22, 2008

中文分词基本概念

英文是以词为单位的,词与词之间上靠空格隔开,而中文是以字为单位,句子中所有的字连起来才能描述一个意思。例如,英文句子I am a student,翻译成"我是一个学生"。计算机可以很简单的通过空格知道student是一个单词,但是"学","生"假如分开来,计算机是无法理解的。必须把他们合在一起才变得有意义。把中文的汉字序列切分成有意义的词,就是中文分词。再比如"研究生命",可以划分为"研究生/命",也可以是"研究 /生命",假如是人脑可以很明显的判断出这里后者的划分更加的确切,但是计算机要做到这一点却是相当的困难。

现有的分词算法有3种:基于字符串匹配的分词算法、基于理解的分词算法和基于统计的分词算法。

什么是中文分词
何为分词?中文分词与其他的分词又有什么不同呢?分词就是将连续的字序列按照一定的规范重新组合成词序列的过程。在上面的例子中我们就可以看出,在英文的行文中,单词之间是以空格作为自然分界符的,而中文只是字、句和段可以通过明显的分界符来简单划界,唯独词没有一个形式上的分界符,虽然英文也同样存在短语的划分问题,但是在词这一层上,上面的例子中我们也可以看出,中文比之英文要复杂的多、困难的多。

中文分词的意义和作用
要想说清楚中文分词的意义和作用,就要提到智能计算技术。智能计算技术涉及的学科包括物理学、数学、计算机科学、电子机械、通讯、生理学、进化理论和心理学等等。简单的说,智能计算就是让机器"能看会想,能听会讲",让计算机像人类一样可以快速判断出"研究生命"这样短语的切分。要想实现这样的一个目标,首先就要让机器理解人类的语言,只有机器理解了人类的语言文字,才使得人与机器的交流成为可能。再反观我们人类的语言中,"词是最小的能够独立活动的有意义的语言成分",所以对于中文来讲,将词确定下来是理解自然语言的第一步,只有跨越了这一步,中文才能象英文那样过渡到短语划分、概念抽取以及主题分析,以至于自然语言理解,最终达到智能计算的最高境界,实现人类的梦想。目前我们常用的Google,Baidu,Yahoo这些主流的搜索引擎,还都是基于关键字(Keyword)来匹配结果的,不过可喜的是,已经有很多公司投入了大量的资金进行着自然语言检索的方式来进行查询,随着研究的进行,计算机可以理解人类的语言从而实现真正意义上的人机对话,那也将不再是遥不可及的而变得指日可待了。从现阶段的实际情况来看,英文已经跨越了分词这一步,也就是说在词的利用上已经先我们一步,并且已经展现了良好的应用前景,无论是信息检索还是主题分析的研究都要强于中文,究其根本原因就是中文要通过分词这道难关,只有攻破了这道难关,我们才有希望赶上并超过英文在信息领域的发展,所以中文分词对我们来说意义重大,可以说直接影响到使用中文的每一个人的方方面面。

中文分词的应用
中文分词主要应用于信息检索、人机交互、信息提取、文本挖掘、中外文对译、中文校对、自动摘要、自动分类等很多方面。下面就以信息检索为例来说明中文分词的应用。
通过近几年的发展,互联网已经离我们不再遥远。互联网上的信息也在急剧膨胀,在这海量的信息中,各类信息混杂在一起,要想充分利用这些信息资源就要对它们进行整理,如果由人来做这项工作,已经是不可能的,而如果面对中文信息不采用分词技术,那么整理的结果就过于粗糙,而导致资源的不可用,例如一个我们常见的比较经典的例子:"制造业和服务业是两个不同的行业"和"我们出口日本的和服比去年有所增长"中都有"和服",而被当作同一类来处理,结果是检索"和服" 的相关信息,会将他们都检索到,在信息量少的情况下,似乎还能够忍受,如果是海量信息,这样的结果就会令人讨厌了。通过引入分词技术,就可以使机器对海量信息的整理更准确更合理,在 "制造业和服务业是两个不同的行业"中"和服"不会被当做一个词来处理,那么检索"和服"当然不会将它检索到,使得检索结果更准确,效率也会大幅度的提高。
所以中文分词的应用会改善我们的生活,使人们真正体会到科技为我所用。目前对分词的研究,大都集中于通用的分词算法,以提高分词准确率为目的。

目前的分词算法中,一些切分精度比较高的算法,切分的速度都比较慢;而一些切分速度快的算法,因为抛弃了一些繁琐的语言处理,所以切分精度都不高。

速度:每秒几十k~几M

切分正确率:80%~98%  

中文分词简介和困难  

中文分词(Chinese Word Segmentation):将一个汉字序列切分成一个一个单独的词。比如将"一次性交足100元"切分成"一次/性交/足/100/元"的话,那这样比较"色"的分词并不是我们所希望的。另外还有就是未登录词识别,比如"施瓦辛格"这个词字典中并没有,如何才能让计算机正确的识别出这是一个词,当然这并不是中文分词所独有的难点,英文等其他语言也都有这样的问题。

分词规范:词的概念和不同应用的切分要求

分词算法:歧义消除和未登录词识别  

分词规范方面的困难  

汉语中词的界定,也就是消除歧义

"长春市长":"长春/市长"?"长春市/长"?"长春/市/长" ?

核心词表如何收词?

词的变形结构问题:"看/没/看见" ,"相不相信"  

分词算法上的困难  

●切分歧义的消除

交集型歧义(交叉歧义):"组合成"

我们/小组/合成/氢气了;组合/成/分子;

�组合型歧义(覆盖歧义):"马上"

他/从/马/上/下/来;我/马上/就/来/了 ;

�"学生会组织义演活动" : "学生/会/组织/义演/活动" or "学生会/组织/义演/活动"?

●未登录词识别

�命名实体:数词、人名、地名、机构名、译名、时间、货币

�缩略语和术语:"超女"、"非典"

�新词:"酱紫"、"星盘"

●先识别已知词还是先识别未登录词

�先识别已知词:"内塔尼亚/胡说"

�先识别未登录词:"胜利取决/于勇/气"  

常用评测指标  
召回率(Recall)
准确率(Precision)

常用评测指标  

召回率(Recall) image
准确率(Precision) image


基于词典和规则的方法  

●最大匹配

�正向最大匹配、反向最大匹配和双向最大匹配

�实现简单,而且切分速度快。但无法发现覆盖歧义,对于某些复杂的交叉歧义也会遗漏。

实际试验的结果表明,反向最大匹配的准确率要高于正向最大匹配。

●全切分

�利用词典匹配,获得一个句子所有可能的切分结果。

�时空开销非常大。

●基于理解的分词算法

�模拟人的理解过程,在分词过程中加入句法和语义分析来处理歧义问题。

�难以将各种语言信息组织成机器可直接读取的形式,还处在试验阶段  

基于规则的消歧和未登录词识别

这一步其实在语根处理 (stemming)中也可以处理,比如Snowball就是一个不错的过滤器,但是可惜的是目前的版本出错率比较高。

�规则消歧

CONDITION FIND(R,NEXT,X){%X.ccat=~w}SELECT 1

CONDITION FIND(L,NEAR,X){%X.yx=听|相信|同意}SELECT 1

CONDITION FIND(L,NEAR,X){%X.yx=假如|如果|假设|要是|若}SELECT 2

OTHERWISE SELECT 1

�用规则识别未登录词

LocationName à Person Name LocationNameKeyWord

LocationName à Location Name LocationNameKeyWord

OrganizationName à Organization Name OrganizationNameKeyWord

OrganizationName à Country Name {D|DD} OrganizationNameKeyWord  

●N元语法(N-gram)模型

image




隐马尔可夫模型(HMM)

对于一个随机事件,有一个状态序列{X1X2,…,Xn},还有一个观察值序列{Y1Y2,…,Yn}。隐马模型可以形式化为一个五元组(S,O,A,B),其中:

S ={q1,q2,…,qn}:状态值的有限集合

O={v1,v2,…vm}:观察值的有限集合

A={aij},aij =p(Xt+1=qj|Xt=qi):转移概率

B={bik},bik =p(Ot=vk| Xt=qi):输出概率

={ }, =p(X1=qi):初始状态分布  

N元切分法(N-gram) :对一个字符串序列以N为一个切分单位进行切分。

�如二元切分法: "ABCDEFG" →"AB\CD\EF\G"

�交叉二元切分法(Overlapping Bigram):"ABCDEFG" →"AB\BC\CD\DE\EF\FG"

�简单快速,但会产生大量无意义的标引词,导致标引产生的索引文件的空间,以及检索和进行标引的时间都大大增加。同时,因为它的切分单位并非语言学意义上的词语,所以也会导致检索的查准率下降

1.查询切分和文档切分采用相同的分词算法,有一些文件切分错误的词,在查询时也遇到相同的切分错误,所以即使切分阶段错误,但最后相同错误匹配,使得仍然可以正确检索到;

2.有些词被错误的切分成几个部分,尽管这样会导致分词正确率下降,但对于检索来说,最后可以通过结果合并得到正确的结果,分词的错误并不影响检索的性能;

3.分词测得的准确率高低并不是绝对的,有时跟用标准答案有关。这涉及到对词的定义问题,有些标准答案认为是该切分的词,实际上不切分用于检索更加准确一些。如:"国\内"vs"国内" 、"民进党团"vs"民进\党团"vs"民进党\团"  

1.分词算法的时间性能要比较高。尤其是现在的web搜索,实时性要求很高。所以作为中文信息处理基础的分词首先必须占用尽可能少的时间。

2.分词正确率的提高并不一定带来检索性能的提高。分词到达一定精度之后,对中文信息检索的影响不再会很明显,虽然仍然还是有一些影响,但是这已经不是CIR的性能瓶颈。所以片面的一味追求高准确率的分词算法并不是很适合大规模中文信息检索。在时间和精度之间存在矛盾无法兼顾的情况下,我们需要在二者之间找到一个合适的平衡点。

3.切分的颗粒度仍然可以依照长词优先准则,但是需要在查询扩展层面进行相关后续处理。在信息检索中,分词算法只需要集中精力考虑如何消除交叉歧义。对于覆盖歧义,我们可以利用词典的二次索引和查询扩展来解决。

4.未登录词识别的准确率要比召回率更加重要。要尽量保证未登录词识别时不进行错误结合,避免因此切分出错误的未登录词。如果将单字错误的结合成未登录词了,则有可能导致无法正确检索到相应的文档。

百度百科直接接入词条的url

通过下面的url可以直接进入百度百科某个条目,如果条目不存在的话会导入到百度搜索结果页面

http://baike.baidu.com/list-php/dispose/searchword.php?word=%CD%B5%CF%E3&pic=1

其中word参数就是你需要搜索的关键字。

星期五, 十二月 19, 2008

免费全球IP地址数据库

http://ip2nation.com/

提供免费全球IP地址数据库,还有查询的示例代码。不错的网站:)

星期二, 十二月 16, 2008

google Ajax API 的使用

试了一下google搜索Ajax,发现使用非常方便,主要将下面的示例代码放到html源文件中就可以使用google ajax搜索插件了。

只需改变searchControl.execute("abc");语句中的关键词(abc)就可以改变google
ajax搜索页面显示的搜索结果。简直就是傻瓜式的。

=========================================================

<script src="http://www.google.com/jsapi" type="text/javascript"></script>
<script type="text/javascript">
//<![CDATA[
google.load("search", "1.0");
function OnLoad() {
// Create a search control
var searchControl = new google.search.SearchControl();

// Add in a full set of searchers
searchControl.addSearcher(new google.search.WebSearch());
searchControl.addSearcher(new google.search.VideoSearch());
searchControl.addSearcher(new google.search.BlogSearch());
searchControl.addSearcher(new google.search.NewsSearch());
searchControl.addSearcher(new google.search.ImageSearch());

// tell the searcher to draw itself and tell it where to attach
var drawOptions = new google.search.DrawOptions();
drawOptions.setDrawMode(google.search.SearchControl.DRAW_MODE_TABBED);
searchControl.draw(document.getElementById("searchcontrol"), drawOptions);

// execute an inital search
searchControl.execute("abc");
}
google.setOnLoadCallback(OnLoad, true);
//]]>
</script>
<div id="searchcontrol"> Loading </div>

=========================================================

用vim直接打开压缩文件

用vim可以直接打开压缩文件,gz和zip压缩格式都是支持的。
可以编辑压缩文件里的某个文件,直接将文件保存到压缩文件中,
而不需要解压,编辑,保存,在打包压缩这些繁琐的过程了。

物质Vs精神----思考Vs信息

相比20,30年前,我们的物质生活得到了很大的提高。无论是衣食住行,柴米油盐,还是开门七件事,都不会在困扰我么了。现如今物质已经是很丰富了。

对于精神生活而言,现如今是信息时代,资讯时代,或是网络时代,信息爆炸已经不足以概括当今信息丰富的程度了。我们每天可以获得大量的信息,资讯。当我们打开电脑,连上网络,铺天盖地的都是信息。

我们拥有过去任何一个时代都无法比拟的信息,那为什么我们还时常会感到空虚,无聊呢? 为什么开心网上有那么多人热衷于买卖人口,校内网上面那么多人在挑战那些无聊的游戏。

很显然资讯信息不等于人的精神生活。

其实我们的时间是一定的,当我们用更多的时间去接受信息时,那么用来思考,消化的时间就相应减少了。我们上网的时候,往往抱着某一个目的,去查找某一个事务,但是,到后来发现自己已经和原来的目标相差不知道十万八千里了。网络是发散的,网络的发散远远超过人类。在点来点去之间,你的时间已经不知不觉的溜走了。回头再想想,我好想得到了很多信息,但是仔细想想,好像什么都没有。所以我们会觉得无聊,觉得空虚。

因为我们没有思考,什么都没有了留下,精神生活的意义在于思考,如果没有思考,那么就没有精神生活。那就是为什么信息越来越多,但是我们还是觉得空虚的原因。

我们是不是习惯了接受,而很少有时间去做真正的思考呢?

让我们远离网络,重新让你的脑袋转起来吧。

星期一, 十二月 15, 2008

Adsense帐号被关了:(

大家看一下信吧

---------- Forwarded message ----------
From: Google AdSense <adsense-noreply@google.com>
Date: Mon, Dec 15, 2008 at 2:43 PM
Subject: Google AdSense Account Disabled
To: *
Cc: Google AdSense <adsense-noreply@google.com>


Hello *,

While going through our records recently, we found that your AdSense
account has posed a significant risk to our AdWords advertisers. Since
keeping your account in our publisher network may financially damage
our advertisers in the future, we've decided to disable your account.

Please understand that we consider this a necessary step to protect the
interests of both our advertisers and our other AdSense publishers. We
realize the inconvenience this may cause you, and we thank you in
advance for your understanding and cooperation.

If you have any questions about your account or the actions we've
taken, please do not reply to this email. You can find more information
by visiting
https://www.google.com/adsense/support/bin/answer.py?answer=57153&hl=en_US.

Sincerely,

The Google AdSense Team
-------------------------------------------------------------------------------
This message was sent from a notification-only email address that does
not accept incoming email. Please do not reply to this message.


星期四, 十二月 11, 2008

windows IIS 下面 drupal的url重写文件 httpd.ini

还是不太好用啊

[ISAPI_Rewrite]

RFStyle New

# http://www.isapirewrite.com/
RepeatLimit 32
# Block external access to the httpd.ini and httpd.parse.errors files
RewriteRule /httpd(?:\.ini|\.parse\.errors).* / [F,I,O]
# Block external access to the Helper ISAPI Extension
RewriteRule .*\.isrwhlp / [F,I,O]

# Rewrite protolive to fully qualified url
RewriteCond Host: www
RewriteRule (.*) http\://your.fqdn.for.com$1 [I,R]
# Accept a url with a period and pass it through unchanged.
#RewriteRule (.*\..*) $1 [I,L]
# Accept a url with the following extension and pass it through unchanged.
RewriteRule (.*\.htc) $1 [I,L]
RewriteRule (.*\.ico) $1 [I,L]
RewriteRule (.*\.css) $1 [I,L]
RewriteRule (.*\.js) $1 [I,L]

RewriteRule (/themes/.*) $0 [I,L]
RewriteRule (/misc/.*) $0 [I,L]
RewriteRule (/modules/.*) $0 [I,L]

# Accept a url with /cron.php and pass it through unchanged.
RewriteRule (/cron.php) $0 [I,L]
RewriteRule (/update.php.*) $0 [I,L]
RewriteRule (/xmlrpc.php.*) $0 [I,L]
RewriteRule /index.php.* $0 [I,L]
RewriteRule /(.*)\?(.*) /index.php\?q=$1&$2 [I,L]
RewriteRule /(.*) /index.php\?q=$1 [I,L]

ftp移动文件

ftp移动文件的命令和重命名的命令是一个,
那就是 rename

rename   [filename]   [/new/path/to/filename] 

这样可以比较方便的实现文件的移动,
不知道拷贝文件的命令是什么,看了一下help,尚无解。

KDS 详解


常遇KDS,不明其意,故google之,得一解,觉尚可,录如下:

KDS即pchome.net电脑之家网站论坛中宽带山版块的拼音缩写。
宽带山来源于宽带上网,因此版民风彪悍,所以此版中的用户被称谓tf(即土匪),所以宽带上网版块又被称作了宽带山。
KDS目前已经成为最重要的上海本土民生论坛之一。 
尽管对于kds而言,有着很多人并不认同,但其精髓就在于彪悍的论坛,不需要解释!
诚然喜欢kds的tf需要的仅仅是赤诚的心、彪悍的神经外加一套耐用的键鼠(该论坛的精髓仅在于首页,需要不断的刷新!)
该论坛的优势在于你发的主题贴很快会有回复,因为一帮死忠长期驻守。

KDS虽然个性明显,但缺点也很明显,最为人诟病的便是无以复加的地域情结,对外地人的歧视观念,这大概和上海的历史有很深的渊源,因此论坛总会时不时爆发有关地域的争吵,即上海本地人和外地人的永无休止的矛盾,这对kds的形象有很大负面影响,也对继续扩大论坛影响力造成很大的阻碍。

KDS slogen

Just YY IT !灵感起源于著名的just do it !但更加青出于蓝,更本土化,吻合kds的特性!

KDS 常用词汇总

懂得入:入了就要射...有付出才能得到
5PP54:无图无视
骑兵:有石马
步兵:无石马
弄刚弄戆伐:上海话,转换为普通话:你说你傻伐?(记住是傻伐,千万不要打成傻娃...会和悍匪"傻娃"接梁子的...)
特色表情:绿――>回复表情,很绿很和谐!
5zp:下作胚
我么进来过:雁过留声,人过留言;写这个回复的基本是装清纯型的羞涩的老匪老下作胚!
我是路过打酱油的 或者是我是进来打××的:和无么进来古一样
我是进来做俯卧撑的:同打酱油
日后再说:就是日后了再说
"三不一说"原则 即不主动 不拒绝 不负责 日后再说
TF,即土匪的缩写,源于电脑之家网站论坛中宽带山版块,整体素质不高(有1人管理5K台台式机的高手、有股票正向&反向高手若干群、有一个叫超级菠菜的是搞宏观经济研究的,但是就是这样一个专业人士却被TF们活生生的逼成了一个三流股评家,明明是艺术家到了KDS却变成了小报记者,简直就是逼良为娼!!还有以一挑十的特种兵、有职业拳击手、有券商超盘手、有水货手机专商、有电脑商、有游戏机商、有奇瑞的、有神州的、有戴尔的...卖珍珠奶茶的...嗯嗯(借HSM的台词用一下)...还有中科院的院士(白天院士,晚上原始;目前兼职制片、编剧...网络剧)!奇花异草,百花怒放,一片春意盎然的网络乐土,这样神奇的土地难道是素质不高?),收入偏低(基本月入1w以下的不敢在山上发帖、回复,要被BS...),宅男居多(这个社会别说宅男了,在上海不是人人可以做宅男的,做宅男还要做有房无贷的!不然要被人54的!),自认彪悍,实际阿乌卵(土匪习惯于常年蹲点于人广来福士正门口,不服的来单挑&群殴,并有专业摄影摄像师全程实录!)。
此外,KDS与上海另一著名论坛篱笆网有不共戴天之仇恨!

2009年假期安排

2009年元旦、春节、清明、劳动节、端午、国庆、中秋放假安排。
国庆中秋同乐,放假8天。

星期三, 十二月 10, 2008

公司年会海报

一年又到头了,看一下公司年会的海报吧

星期一, 十二月 08, 2008

vim中改变显示颜色

VIM中可以使用 :colorscheme 来切换vim的显示,包括字体颜色,背景颜色等。

如我就是用的evening的现实模式

 :colorscheme evening

默认情况下有下面一些值可以设置:

 :colorscheme
blue delek evening murphy ron torte
darkblue desert koehler pablo shine zellner
default elflord morning peachpuff slate

雷达制导导弹

主动和半主动雷达制导导弹

半主动雷达制导:

http://zh.wikipedia.org/w/index.php?title=半主动雷达制导&variant=zh-hans

      照射目标的雷达信号不是由导弹自身的制导装置发出的,

      (比如半主动空空导弹是由载机发射雷达信号照射目标).

      导弹的制导装置只负责接受目标的反射信号.

主动雷达制导导弹:

http://zh.wikipedia.org/w/index.php?title=主�雷��引&variant=zh-hans

      是就是既能主动发出雷达波,靠自身雷达追踪目标,

      又能探测分析敌方雷达波信号,并跟踪其载机。

主动制导雷达实例:

美国AIM-120系列

AIM-120 (Advanced Medium-Range Air-to-Air Missile)

http://zh.wikipedia.org/w/index.php?title=AIM-120&variant=zh-hans

导航系统

中途导引

拦截远距离目标时,AMRAAM 使用两段式导引。

发射时,会将目标的动态和飞弹发射的位置输入到AMRAAM中。

AMRAAM利用飞弹内的惯性导航系统(INS)和这些资讯来拦截目标。

机载雷达、红外线搜索追踪装置(IRST)、联合战术情报发布系统(JTIDS

或是空中预警管制机(AWACS)都能提供目标的动态。

如果持续追踪目标,飞弹内目标的资讯也会同时更新。

AMRAAM会根据目标速率、方向的改变,来修正拦截路线,

让目标能成功的进入飞弹主动雷达的侦测距离,进行自我归向导引。

不是所有AMRAAM用户都决定购买中段升级方案,这限制了AMRAAM 的有效性。

英国皇家空军 决定不购买中段升级方案去强化他们的龙卷风F3

因为测试证明AMRAAM比配备半主动雷达导引的天闪空对空飞弹更弱

--AMRAAM本身的雷达的有效距离必然不及战机的雷达)。

终端导引

一旦飞弹接近目标并进入自我归向导引时,AMRAAM会启动主动雷达去寻找目标。

如果目标出现在估计的位置或其附近,AMRAAM会将自己导引至目标。

当在近距离空战时(通常指视距范围内,最远10海里),无需雷达锁定可直接发射,

AMRAAM发射后会立即启动主动雷达,让飞弹成为真正的[[射后不理],飞行员称为 MADDOG , 意为"放疯狗咬人"]

这使AMRAAM会做类幅度很小\似于"滚桶"的机动,以增大AMRAAM自带雷达的搜索范围,增加补获目标的机率,

MADDOG 下的AMRAAM有可能打着自己人,因为任何空空导弹自身都不具备敌我识别能力,

发射前的敌我识别靠的飞机自身体的IFF(敌我识别系统),而不是导弹。

北大西洋公约组织在无线电中使用代号"PITBULL"来表示飞弹进入自我归向导引模式,

如同发射时使用的"Fox Three"(意指发射主动雷达导引飞弹)。


国产外销型SD-10空空导弹亮相 射程70公里 (第七届中国珠海航展)

http://mil.news.sina.com.cn/p/2008-11-04/0059528284.html

Picture (Device Independent Bitmap)

此次展中国一航二航展厅展示了国产最新型SD10"闪电"导弹实弹。

从这枚导弹弹身上的英文说明可以看到一些最为准确与详细的数据。

SD10中低空对空拦截防御导弹,它是采用组合综合制导的导弹系统,

采用的形式为:主动雷达+姿态惯性+数据传导。

即导弹在行进中采用姿态惯性制导控制与数据传输系统控制。

在末端导弹开启弹载主动雷达照射系统

该导弹目前是国产并不多见的真实具有全程自控导航攻击导弹俗称"发射后不用管的导"。

SD10导弹弹径203mm。弹身长度为3934mm,战斗全重约199公斤。

最大射高约为0-21公里。最大夹角射程大于70公里。

可应用于战斗机,地面防空武器系统。制导精度误差可达米级水准。


星期六, 十二月 06, 2008

hostmonster 独立 IP

Dedicated IP Address

Your Dedicated IP Address is: 67.222.56.180

According to our records, you already have a Dedicated IP created on October 23rd, 2008 (7:50 am).

If you feel this information is not correct, please contact us at (866) 573-4678.

星期二, 十二月 02, 2008

字符编码笔记:ASCII,Unicode和UTF-8 zz

http://www.ruanyifeng.com/blog/2007/10/ascii_unicode_and_utf-8.html

今天中午,我突然想搞清楚Unicode和UTF-8之间的关系,于是就开始在网上查资料。

结果,这个问题比我想象的复杂,从午饭后一直看到晚上9点,才算初步搞清楚。

下面就是我的笔记,主要用来整理自己的思路。但是,我尽量试图写得通俗易懂,希望能对其他朋友有用。毕竟,字符编码是计算机技术的基石,想要熟练使用计算机,就必须懂得一点字符编码的知识。

1. ASCII码

我们知道,在计算机内部,所有的信息最终都表示为一个二进制的字符串。每一个二进制位(bit)有0和1两种状态,因此八个二进制位就可以组合出 256种状态,这被称为一个字节(byte)。也就是说,一个字节一共可以用来表示256种不同的状态,每一个状态对应一个符号,就是256个符号,从 0000000到11111111。

上个世纪60年代,美国制定了一套字符编码,对英语字符与二进制位之间的关系,做了统一规定。这被称为ASCII码,一直沿用至今。

ASCII码一共规定了128个字符的编码,比如空格"SPACE"是32(二进制00100000),大写的字母A是65(二进制01000001)。这128个符号(包括32个不能打印出来的控制符号),只占用了一个字节的后面7位,最前面的1位统一规定为0。

2、非ASCII编码

英语用128个符号编码就够了,但是用来表示其他语言,128个符号是不够的。比如,在法语中,字母上方有注音符号,它就无法用ASCII码表示。 于是,一些欧洲国家就决定,利用字节中闲置的最高位编入新的符号。比如,法语中的é的编码为130(二进制10000010)。这样一来,这些欧洲国家使 用的编码体系,可以表示最多256个符号。

但是,这里又出现了新的问题。不同的国家有不同的字母,因此,哪怕它们都使用256个符号的编码方式,代表的字母却不一样。比如,130在法语编码 中代表了é,在希伯来语编码中却代表了字母Gimel (ג),在俄语编码中又会代表另一个符号。但是不管怎样,所有这些编码方式中,0—127表示的符号是一样的,不一样的只是128—255的这一段。

至于亚洲国家的文字,使用的符号就更多了,汉字就多达10万左右。一个字节只能表示256种符号,肯定是不够的,就必须使用多个字节表达一个符号。 比如,简体中文常见的编码方式是GB2312,使用两个字节表示一个汉字,所以理论上最多可以表示256x256=65536个符号。

中文编码的问题需要专文讨论,这篇笔记不涉及。这里只指出,虽然都是用多个字节表示一个符号,但是GB类的汉字编码与后文的Unicode和UTF-8是毫无关系的。

3.Unicode

正如上一节所说,世界上存在着多种编码方式,同一个二进制数字可以被解释成不同的符号。因此,要想打开一个文本文件,就必须知道它的编码方式,否则用错误的编码方式解读,就会出现乱码。为什么电子邮件常常出现乱码?就是因为发信人和收信人使用的编码方式不一样。

可以想象,如果有一种编码,将世界上所有的符号都纳入其中。每一个符号都给予一个独一无二的编码,那么乱码问题就会消失。这就是Unicode,就像它的名字都表示的,这是一种所有符号的编码。

Unicode当然是一个很大的集合,现在的规模可以容纳100多万个符号。每个符号的编码都不一样,比如,U+0639表示阿拉伯字母Ain,U+0041表示英语的大写字母A,U+4E25表示汉字"严"。具体的符号对应表,可以查询unicode.org,或者专门的汉字对应表

4. Unicode的问题

需要注意的是,Unicode只是一个符号集,它只规定了符号的二进制代码,却没有规定这个二进制代码应该如何存储。

比如,汉字"严"的unicode是十六进制数4E25,转换成二进制数足足有15位(100111000100101),也就是说这个符号的表示至少需要2个字节。表示其他更大的符号,可能需要3个字节或者4个字节,甚至更多。

这里就有两个严重的问题,第一个问题是,如何才能区别unicode和ascii?计算机怎么知道三个字节表示一个符号,而不是分别表示三个符号 呢?第二个问题是,我们已经知道,英文字母只用一个字节表示就够了,如果unicode统一规定,每个符号用三个或四个字节表示,那么每个英文字母前都必 然有二到三个字节是0,这对于存储来说是极大的浪费,文本文件的大小会因此大出二三倍,这是无法接受的。

它们造成的结果是:1)出现了unicode的多种存储方式,也就是说有许多种不同的二进制格式,可以用来表示unicode。2)unicode在很长一段时间内无法推广,直到互联网的出现。

5.UTF-8

互联网的普及,强烈要求出现一种统一的编码方式。UTF-8就是在互联网上使用最广的一种unicode的实现方式。其他实现方式还包括UTF-16和UTF-32,不过在互联网上基本不用。重复一遍,这里的关系是,UTF-8是Unicode的实现方式之一。

UTF-8最大的一个特点,就是它是一种变长的编码方式。它可以使用1~4个字节表示一个符号,根据不同的符号而变化字节长度。

UTF-8的编码规则很简单,只有二条:

1)对于单字节的符号,字节的第一位设为0,后面7位为这个符号的unicode码。因此对于英语字母,UTF-8编码和ASCII码是相同的。

2)对于n字节的符号(n>1),第一个字节的前n位都设为1,第n+1位设为0,后面字节的前两位一律设为10。剩下的没有提及的二进制位,全部为这个符号的unicode码。

下表总结了编码规则,字母x表示可用编码的位。

Unicode符号范围 | UTF-8编码方式
(十六进制) | (二进制)
--------------------+---------------------------------------------
0000 0000-0000 007F | 0xxxxxxx
0000 0080-0000 07FF | 110xxxxx 10xxxxxx
0000 0800-0000 FFFF | 1110xxxx 10xxxxxx 10xxxxxx
0001 0000-0010 FFFF | 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx

下面,还是以汉字"严"为例,演示如何实现UTF-8编码。

已知"严"的unicode是4E25(100111000100101),根据上表,可以发现4E25处在第三行的范围内(0000 0800-0000 FFFF),因此"严"的UTF-8编码需要三个字节,即格式是"1110xxxx 10xxxxxx 10xxxxxx"。然后,从"严"的最后一个二进制位开始,依次从后向前填入格式中的x,多出的位补0。这样就得到了,"严"的UTF-8编码是 "11100100 10111000 10100101",转换成十六进制就是E4B8A5。

6. Unicode与UTF-8之间的转换

通过上一节的例子,可以看到"严"的Unicode码是4E25,UTF-8编码是E4B8A5,两者是不一样的。它们之间的转换可以通过程序实现。

在Windows平台下,有一个最简单的转化方法,就是使用内置的记事本小程序Notepad.exe。打开文件后,点击"文件"菜单中的"另存为"命令,会跳出一个对话框,在最底部有一个"编码"的下拉条。

bg2007102801.jpg

里面有四个选项:ANSI,Unicode,Unicode big endian 和 UTF-8。

1)ANSI是默认的编码方式。对于英文文件是ASCII编码,对于简体中文文件是GB2312编码(只针对Windows简体中文版,如果是繁体中文版会采用Big5码)。

2)Unicode编码指的是UCS-2编码方式,即直接用两个字节存入字符的Unicode码。这个选项用的little endian格式。

3)Unicode big endian编码与上一个选项相对应。我在下一节会解释little endian和big endian的涵义。

4)UTF-8编码,也就是上一节谈到的编码方法。

选择完"编码方式"后,点击"保存"按钮,文件的编码方式就立刻转换好了。

7. Little endian和Big endian

上一节已经提到,Unicode码可以采用UCS-2格式直接存储。以汉字"严"为例,Unicode码是4E25,需要用两个字节存储,一个字节 是4E,另一个字节是25。存储的时候,4E在前,25在后,就是Big endian方式;25在前,4E在后,就是Little endian方式。

这两个古怪的名称来自英国作家斯威夫特的《格列佛游记》。在该书中,小人国里爆发了内战,战争起因是人们争论,吃鸡蛋时究竟是从大头(Big- Endian)敲开还是从小头(Little-Endian)敲开。为了这件事情,前后爆发了六次战争,一个皇帝送了命,另一个皇帝丢了王位。

因此,第一个字节在前,就是"大头方式"(Big endian),第二个字节在前就是"小头方式"(Little endian)。

那么很自然的,就会出现一个问题:计算机怎么知道某一个文件到底采用哪一种方式编码?

Unicode规范中定义,每一个文件的最前面分别加入一个表示编码顺序的字符,这个字符的名字叫做"零宽度非换行空格"(ZERO WIDTH NO-BREAK SPACE),用FEFF表示。这正好是两个字节,而且FF比FE大1。

如果一个文本文件的头两个字节是FE FF,就表示该文件采用大头方式;如果头两个字节是FF FE,就表示该文件采用小头方式。

8. 实例

下面,举一个实例。

打开"记事本"程序Notepad.exe,新建一个文本文件,内容就是一个"严"字,依次采用ANSI,Unicode,Unicode big endian 和 UTF-8编码方式保存。

然后,用文本编辑软件UltraEdit中的"十六进制功能",观察该文件的内部编码方式。

1)ANSI:文件的编码就是两个字节"D1 CF",这正是"严"的GB2312编码,这也暗示GB2312是采用大头方式存储的。

2)Unicode:编码是四个字节"FF FE 25 4E",其中"FF FE"表明是小头方式存储,真正的编码是4E25。

3)Unicode big endian:编码是四个字节"FE FF 4E 25",其中"FE FF"表明是大头方式存储。

4)UTF-8:编码是六个字节"EF BB BF E4 B8 A5",前三个字节"EF BB BF"表示这是UTF-8编码,后三个"E4B8A5"就是"严"的具体编码,它的存储顺序与编码顺序是一致的。

9. 延伸阅读

* The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets(关于字符集的最基本知识)

* 谈谈Unicode编码

* RFC3629:UTF-8, a transformation format of ISO 10646(如果实现UTF-8的规定)

(完)

PHP编码转换函数 zz

iconv() 函数
Definition and Usage
定义和用法
iconv()函数的作用是:转换字符串的编码。

Description
string iconv ( string in_charset, string out_charset, string str )

Tips and Notes
注意点
注意:第二个参数,除了可以指定要转化到的编码以外,还可以增加两个后缀://TRANSLIT 和 //IGNORE,其中 //TRANSLIT 会自动将不能直接转化的字符变成一个或多个近似的字符,//IGNORE 会忽略掉不能转化的字符,而默认效果是从第一个非法字符截断。

mb_convert_encoding() 函数
Definition and Usage
定义和用法
mb_convert_encoding()函数的作用是:转换字符串的编码。

Description
string mb_convert_encoding ( string str, string to-encoding [, mixed from-encoding])

注意:但是需要先enable mbstring 扩展库。
两者区别:mb_convert_encoding 中根据内容自动识别编码;mb_convert_encoding功能强大,但是执行效率比iconv差太多;

总结:一般情况下用 iconv,只有当遇到无法确定原编码是何种编码时才用 mb_convert_encoding 函数.

下例中使作它将字符串utf-8码转换为gb2312码

PHP代码
  1. $str   = iconv("UTF-8","GB2312//TRANSLIT",$str); 

上奉线 -- 很空,很快,很强大

昨天晚上和今天早上试坐了一下上奉线。

昨天晚上6:30在上海南站发车,7:15到虹梅南路剑川路。车程45分钟。
车子很空,中间停的站很少,大概只有几站。

今天早上7:40从从家出来,8:30到石龙路地铁,还是很空,很快,很强大。

上奉线上海南站在南广场坐车,离三号线近的那个广场,和上嘉线一块的。


站点设置:
上海南站→石龙路地铁站→植物园→徐浦大桥→华泾镇政府→关港→吴泾焦化厂→吴泾化工厂→吴泾热电厂→吴泾→虹梅南路→莲花南路→电力学院→星南家园→西渡→肖塘→陈河浜→环城东路→解放中路→南桥汽车站

线路走向:上海南站南广场公交枢纽站-柳州路-龙川北路-罗城路-东泉路-石龙路-龙吴路-剑川路-A4剑川路出入口-A4莘奉金高速公路-A4西闸公路出入口-西闸公路-沪杭公路-团南公路-南桥?环城东路-南奉公路-南桥汽车站

上奉线从2009年2月23号做了一些调整:
  • 加了三个站,好像是陈家宅,紫阳,还有一站不知道叫什么。
  • 票价也做了调整,石龙路到红梅南路只要2块了。

不过人一下子多了好多,以前上下班都是有位子的,尤其下班的时候,那个空啊。
现在基本没有空位了,上班的时候还狂挤,因为左右都是两个位子,中间过道很窄,哎,好日子没了,还好快搬家了,好怀念过去的上奉线啊,坐着真是那个舒服啊。

农夫卖猪与金融危机 zz

一男赶集卖猪,天黑遇雨,二十头猪未卖成,到一农家借宿。 

    少妇说:家里只一人不便。 

    男:求你了大妹子,给猪一头。 

    女:好吧,但家只有一床。 

    男:我也到床上睡,再给猪一头。 

    女:同意。 

    半夜男与女商量,我到你上面睡,女不肯。 

    男:给猪两头。 

    女允,要求上去不能动。 

    少顷,男忍不住,央求动一下,女不肯。 

    男:动一下给猪两头。女同意。 

    男动了八次停下,女问为何不动? 

    男说猪没了。 

    女小声说:要不我给你猪…… 

    天亮后,男吹着口哨赶30头(含少妇家的10头)猪赶集去了…… 

  哈佛导师评论:要发现用户潜在需求,前期必须引导,培养用户需求,因此产生的投入是符合发展规律的。 

  (加强篇) 

  另一男得知此事,决意如法炮制,遂赶集卖猪,天黑遇雨,二十头猪未卖成,到一农家借宿。

    少妇说:家里只一人不便。 

    男:求你了大妹子,给猪一头 

    女:好吧,但家只有一床。 

    男:我也到床上睡,再给猪一头。 

    女:同意。 

    半夜男商女,我到你上面睡,女不肯。 

    男:给猪两头。 

    女允,要求上去不能动。 

    少顷,男忍不住,央求动一下,女不肯。 

    男:动一下给猪两头。女同意。 

    男动了七次停下,女问为何不动? 

    男说:完事了~~~

女:...... 

    天亮后,男低著头赶2头猪赶集去了...... 

  哈佛导师评论:要结合企业自身规模进行谨慎投资,谨防资金链断裂问题。

  又一男得知此事,决意如法炮制兼吸取教训,遂先用一头猪去换一粒伟哥,事必,天亮后,男吹着口哨赶38头(含少妇家的18头)猪赶集去了…… 

哈佛导师评论:企业如果获得金融资本的帮助,自身经营能力将得到倍增。

  知道此法男多,伟哥供不应求,逐渐要2头,3头猪换一粒伟哥。 

哈佛导师评论:这就是通货膨胀。 

  当伟哥价格涨到16头猪一颗的时候,哈佛导师评论:该男已经进入边际成本,除了拥有对自身能力的自信和未来良好愿望以外,实际现猪流已经为零。 

  但换猪男越来越多,卖伟哥的决定,扩展生产能力,推出一种次级伟哥,如果你缺一头猪,只要你承诺可以到该女房中一夜,就可以先借,事成后补交猪款,这个方法大大促进了伟哥销售。 

哈佛导师评论:这就是贷款,让企业可以根据未来的收益选择借支流动资金。

  伟哥专卖店后来在即使你一头猪都没有,只要你承诺可以到该女房中一夜,就可以先借,事成后补交猪款。 

  哈佛导师评论:这就是金融创新,让现在的人花未来的钱,反正等你老了未来的钱你  也花不动。 

  消息一出,换猪男越来越多,有人找伟哥专卖店,这个项目太好了,我们把它变成优质基金,对外销售债卷,你们也就可以分享我的收益,如何? 

  结果伟哥专卖店觉得甚好,于是该公司把换猪男分三类,一类是拿现猪换的,一类是一部分现猪贷的,一类是完全没有现猪借的,发行三种债卷。大家踊跃而上。纷纷购买伟哥专卖店的债卷,伟哥专卖店生意太好,就把债卷销售外包给另外一家公司运作,该公司也一并大发其财,公司越做越大,甚至可以脱离实际伟哥销售情况来发行,给自己和伟哥专卖店带来巨大的现金收益。 

  哈佛导师评论:这就是专业的人做专业的事,从实体经营到资本运作,经济进入了更高的层次。 

  为了防止自己债卷未来有损失,该公司决定给它买上保险,这样债卷销售就更容易,因为一旦债卷出现问题,还可以获得保险公司的赔付,哇,债券公司销售这下子太好了,保险公司也获得巨大平白无故的保险收入。 

  哈佛导师评论:这就是风险对冲,策略联盟,提高了企业的抗风险能力,也保护了消费者利益。 

  换猪男太多,排长队等待,该女无法承受,说老娘不干了,我搬家。一时间有无数拥有伟哥的欠猪男。 

  哈佛导师评论:这是个别现象,属于市场的正常波动,不会影响整个经济。  

  结果该女迟迟不肯搬回。一部分欠猪男没有收入,只好赖帐,结果大量债卷到期无法换现猪吃,债卷公司一看,一粒伟哥16头猪,这哪里还得起,宣布倒闭。

  哈佛导师评论:这是次贷危机,不会影响整个金融行业。 

  哪里晓得债卷公司还把债卷上了保险,保险公司一看,这哪里赔得起,于是也宣布要倒闭。

  哈佛导师评论:这是金融危机,还不会影响整个实体经济。 

 

   后文:据说该女已搬到中国定居,因为中国人还没有养成今天花明天钱的习惯,因此不会欠银行贷款。