<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>Smart Data</title><link>http://www.mscenter.edu.cn/blog/shilion/</link><description>to be better...keep passionate... think more... let my eyes over my hands and then find the way... </description><managingEditor>Rogers</managingEditor><dc:language>zh-CHS</dc:language><generator>.Text Version 0.958.2004.214</generator><item><dc:creator>Rogers</dc:creator><title>[导入]朗讯宣布获得价值3亿美元的订单</title><link>http://www.mscenter.edu.cn/blog/shilion/archive/2006/03/09/8767.html</link><pubDate>Wed, 08 Mar 2006 23:48:00 GMT</pubDate><guid>http://www.mscenter.edu.cn/blog/shilion/archive/2006/03/09/8767.html</guid><description>&lt;img src ="http://www.mscenter.edu.cn/blog/shilion/aggbug/8767.html" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Rogers</dc:creator><title>[导入]IPTV洋标准专利费问题曝光 被指后患严重</title><link>http://www.mscenter.edu.cn/blog/shilion/archive/2006/03/08/8748.html</link><pubDate>Wed, 08 Mar 2006 14:24:00 GMT</pubDate><guid>http://www.mscenter.edu.cn/blog/shilion/archive/2006/03/08/8748.html</guid><description>&lt;br&gt;　　新浪科技讯&amp;nbsp;3月5日，新浪科技获悉了一份由信息产业部电信研究院通信标准研究所收集整理的报告，报告中第一次介绍了IPTV各洋标准收取专利费的具体政策，并指出IPTV两个洋标准MPEG-4和H.264专利问题复杂，后患严重。&lt;br&gt;&lt;br&gt;　　运营商也要缴纳专利费&lt;br&gt;&lt;br&gt;　　此前所谓&amp;#8220;广电与电信的标准之争&amp;#8221;中称，在IPTV标准上，广电部门倾向于MPEG-4，而电信运营商倾向于H.264。但是，该报告称，MPEG-4专利授权政策改变了其前身MPEG-2原有的做法，大幅度调低了设备授权费，但增加了对内容/业务运营商的许可条款。&lt;br&gt;&lt;br&gt;　　具体来说，以前的MPEG-2只向编解码设备、DVD光盘等设备商收费，而MPEG-4不仅要向设备商收费，还要向运营商收费。&lt;br&gt;&lt;br&gt;　　报告起草人、信产部电信研究院通信标准研究所魏凯独家向新浪科技解释说，先不提设备商，比如说中国运营商，未来属于2500万用户以上级别，须先交300,000美元/年；每次播放长于12分钟的节目也要收取专利费，标准为或者按运营商第一次销售价格的2%收取；如高于0.02美元/部，则按0.02美元/部收取。&lt;br&gt;&lt;br&gt;　　魏凯表示，这种收取方法对中国极为不利，因为中国用户群庞大本来是降低运营商成本的优势，但按照用户数来收取不同的专利费，中国肯定吃亏；而且每年都交，专利费相当于无止境；另外，每播放一个节目还要收取专利费，更是昂贵。&lt;br&gt;&lt;br&gt;　　复制节目也要缴费&lt;br&gt;&lt;br&gt;　　报告指H.264专利费更加繁多，比如一家叫MPEG&amp;nbsp;LA的组织收取H.264专利费的标准为：运营商100万用户以上的每年先交10万美元/年；每次播放长于12分钟的节目，专利费按(a)被许可人第一次销售价格的2%或者(b)0.02美元/部两者中较低的标准收取专利费。另外，地面无线免费广播：每个编码发射器一次性2500美元。&lt;br&gt;&lt;br&gt;　　而对设备商连每次复制节目都要收取专利费，复制费费率为节目时长&amp;lt;30分钟的收0.005美元。时长31～89分钟，则收0.015美元；时长&amp;gt;90分钟，0.025美元。&lt;br&gt;&lt;br&gt;　　IPTV标准政策将重新修订&lt;br&gt;&lt;br&gt;　　国家IPTV特别工作组参与者、信产部电信研究院RTNET实验室副主任杨昆表示，上述专利费标准出台时间很晚，去年10月份才出台，如此烦琐的专利费政策将使IPTV标准政策将重新修订，考虑使用中国拥有自主知识产权的IPTV标准。&lt;br&gt;&lt;br&gt;　　对于为何中国电信等运营商还倾向于H.264作为其IPTV商用试验的标准，杨昆解释说，上述洋标准的专利费政策出台晚，中国了解到的时间也很晚，两大固话运营商直到去年年底才恍然大悟，未来应该如何做，他们应该会有周全的考虑。&lt;br&gt;&lt;br&gt;　　据悉，目前国内已经有拥有自主知识产权的IPTV标准AVS，并且，刚刚获颁为音视频编解码国际标准。&lt;br&gt;文章来源:&lt;a href='http://www.ygdy.com.cn/blog/blogview.asp?logID=43'&gt;http://www.ygdy.com.cn/blog/blogview.asp?logID=43&lt;/a&gt;&lt;img src ="http://www.mscenter.edu.cn/blog/shilion/aggbug/8748.html" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Rogers</dc:creator><title>[导入]星巴克：为客人煮好每一杯咖啡</title><link>http://www.mscenter.edu.cn/blog/shilion/archive/2006/03/08/8750.html</link><pubDate>Wed, 08 Mar 2006 14:24:00 GMT</pubDate><guid>http://www.mscenter.edu.cn/blog/shilion/archive/2006/03/08/8750.html</guid><description>&lt;img src ="http://www.mscenter.edu.cn/blog/shilion/aggbug/8750.html" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Rogers</dc:creator><title>[导入]品味奥迪百年文化</title><link>http://www.mscenter.edu.cn/blog/shilion/archive/2006/03/08/8751.html</link><pubDate>Wed, 08 Mar 2006 14:24:00 GMT</pubDate><guid>http://www.mscenter.edu.cn/blog/shilion/archive/2006/03/08/8751.html</guid><description>&lt;br&gt;　　1909年6月一次发动机试验的失败，导致了霍希本人与公司其他投资者的激烈争吵，生性桀骜的霍希一怒之下离开了以他名字命名的公司，另立门户，成立了一家新的霍希公司。然而，新公司在一场随之而来的侵权官司中败给了霍希公司，于是，新公司的名称成了令人挠头的问题。正当霍希与合伙人菲肯彻尔为此绞尽脑汁之际，菲肯彻尔的小儿子正在一旁做拉丁文作业，他念出的&amp;#8220;Audi&amp;#8221;一词令父辈们为之一振。原来，&amp;#8220;Horch&amp;#8221;为德文&amp;#8220;听&amp;#8221;的命令式&amp;#8220;听吧！&amp;#8221;的意思，而&amp;#8220;听&amp;#8221;的拉丁文则念作&amp;#8220;Audi&amp;#8221;(奥迪)。&lt;br&gt;&lt;br&gt;　　这个名字使新生的奥迪公司与霍希公司既有区别，又有联系。于是，1910年4月25日，一个伟大的汽车品牌就在不经意间诞生了，它用一种西方最古老的国际语言发出了&amp;#8220;听吧&amp;#8221;&amp;#8212;&amp;#8220;Audi&amp;#8221;的声音，这声音已经回响了近一个世纪。同年7月，第一台以&amp;#8220;奥迪&amp;#8221;命名的汽车诞生了，该辆车为慕尼黑一商店老板Zeidler所有。&lt;br&gt;&lt;br&gt;　　&amp;#8220;高调&amp;#8221;&lt;br&gt;&lt;br&gt;　　从一开始，霍希就为他的公司所生产的产品定下了&amp;#8220;高调&amp;#8221;：&amp;#8220;我决心在任何情况下都只生产大型、大马力、高质量的豪华汽车！&amp;#8221;无论是在霍希公司还是在奥迪公司都是如此。这正是奥迪公司迄今历经磨难而坚定不移的宗旨：以领先技术，开拓高档车市场。&lt;br&gt;&lt;br&gt;　　而奥迪公司从诞生那天起，也追求产品的高品质、高档次。它生产的D型车被指定为萨克森国王和政府用车，公司的日产量到一战爆发前已赶上了同宗兄弟兼竞争对手的霍希公司。1923年奥迪公司为瑞典王室制造的专车配备了精致的洗手池，车座用大象皮缝制，可谓豪华至极。1927年，奥迪的R型车&amp;#8220;执政官&amp;#8221;是德国当时技术最先进的豪华轿车。一辆1935年生产的奥迪轿车，售价10300马克，这对于当时月平均工资只有100马克的德国人来说，是相当昂贵的。&lt;br&gt;&lt;br&gt;　　1932年6月29日，奥迪、霍希、漫游者(Wanderer)和DKW四汽车制造商在开姆尼茨市成立了汽车联盟股份公司(Auto&amp;nbsp;Union&amp;nbsp;AG)。在汽车联盟内部，四个品牌针对特定的目标市场：DKW承担了摩托车和小型汽车的市场，漫游者则负责中型汽车的制造，奥迪生产高档汽车，霍希制造超豪华顶级汽车。四合为一的新公司采用了一个新的标志，就是人们现在十分熟悉的四环标志。&lt;br&gt;&lt;br&gt;　　汽车联盟迅速成长为德国第二大汽车公司，在20世纪30年代生产的汽车占有德国市场份额四分之一，年产量超过67000辆。&lt;br&gt;&lt;br&gt;　　灭顶&lt;br&gt;&lt;br&gt;　　在经历了&amp;#8220;金色30年代&amp;#8221;后，由于1939年第二次世界大战爆发，汽车联盟停止了正常的生产。从1944年起，盟军开始&amp;#8220;地毯&amp;#8221;式空袭，萨克森作为重要工业基地当然不能幸免，一夜之间被空袭夷为平地。1945年10月底，控制了德国东部的苏联红军正式宣布没收汽车联盟，实际上在此之前，俄国人已经把公司的设备当作战利品开始拆迁。所有的原分散在四大公司的28000多台设备几乎全部被拆下来，很多被运到苏联。存在了46年后，奥迪的先辈们在硝烟和废墟之中遭遇灭顶之灾。残留下来的各车间和零部件厂拼凑组成了后来东德时期惟一的汽车企业&amp;#8212;&amp;#8212;IFA汽车制造厂。(1990年两德统一后，IFA解体，大众汽车公司决定接收部分资产，重建萨克森汽车工业，决策者正是时任大众汽车集团董事长、当初重建奥迪的卡尔&amp;#183;哈恩博士的儿子&amp;#8212;&amp;#8212;小卡尔&amp;#183;哈恩博士。)&lt;br&gt;&lt;br&gt;　　浩劫之后的奥迪人逃往德国西部，来到了巴伐利亚首府慕尼黑。虽然慕尼黑政府一开始的不支持态度给他们泼了一盆冷水，但他们并未灰心。布鲁恩和哈恩博士带领旧部在英格施塔特安营扎寨，同时凭借个人信誉争得了一笔贷款，开始了汽车联盟也就是今天的奥迪公司的第二次创业。当时汽车联盟的办公设施和生产环境非常简陋，被一些员工自嘲为&amp;#8220;作坊联盟&amp;#8221;。但无论怎样，汽车联盟已经开始了复兴的使命。&lt;br&gt;&lt;br&gt;　　1955年，汽车联盟开发出了50年代德国市场上最受欢迎的轿车P94。三年后，汽车联盟就成长为继大众、欧宝、奔驰和欧洲福特之后的德国第五大汽车制造企业。在这一时期，汽车联盟开发了全时四驱驱动技术，并为联邦国防军制造了小型越野车MONGA，直到1968年，这款车在国防军中仍是主力。&lt;br&gt;&lt;br&gt;　　1964年12月，汽车联盟在历经奔驰公司的并购之后，正式加盟了大众汽车集团。奥迪汽车在战后真正复兴的第一步，就是在它固有的经验和基础上，于1968年研发出的奥迪100。奥迪100取得了巨大成功，原计划生产10万辆的奥迪100卖出了80万辆。奥迪100重新确立了&amp;#8220;奥迪品牌&amp;#8221;的地位，&amp;#8220;四环标志&amp;#8221;重新绽放出光芒。&lt;br&gt;&lt;br&gt;　　复兴&lt;br&gt;&lt;br&gt;　　1969年，汽车联盟与NSU汽车制造公司合并成立奥迪汽车联合公司，并以&amp;#8220;奥迪&amp;#8221;为公司以及品牌的正式名称。合并后的奥迪提出了自己的发展方向，并打出至今一直沿用的口号&amp;#8212;&amp;#8212;&amp;#8220;突破科技，启迪未来&amp;#8221;，开始着手恢复奥迪品牌的本来面目。&lt;br&gt;&lt;br&gt;　　1972年，克劳斯博士开发出奥迪80轿车。1978年，在推出第二代奥迪80之前，第一代奥迪80轿车销售量超过100万辆。1992年，奥迪80进行了环球旅行，以每小时85.8公里的速度，创造了百公里油耗3.78升的惊人记录。&lt;br&gt;&lt;br&gt;　　1976年至1988年，奥迪推出前所未有的一连串的重大技术突破。先后推出了5缸发动机、TDI(直喷式涡轮增压)柴油发动机、世界第一辆quattro永久四驱系统、世界第一辆风阻系数达到Cd=0.30的轿车、以及5气门发动机的应用等等,此外，全电镀车身的奥迪80可保证10年防锈，从此树立了此级别轿车的安全新标准。&lt;br&gt;&lt;br&gt;　　1984年，奥迪100型荣获全球年度最佳轿车，当时的奥迪NSU汽车联盟股份公司董事长哈贝尔博士也被誉为德国工业界的&amp;#8220;最佳经理人&amp;#8221;。1985年，奥迪&amp;#8212;NSU汽车联盟公司正式改为奥迪股份公司，奥迪终于开始了一个稳定、快速的发展时期。&lt;br&gt;&lt;br&gt;　　辉煌&lt;br&gt;&lt;br&gt;　　1988年，奥迪V8轿车面世，吹响了奥迪重返顶级豪华车市场的号角。先进的TDI涡轮增压柴油发动机也由概念转为批量生产。&lt;br&gt;&lt;br&gt;　　1993年1月1日波尔舍的外孙、血管里奔腾着四环&amp;#8220;银箭&amp;#8221;血液的皮耶希成为大众汽车集团的董事长，他为大众集团制定了新的品牌战略。自此，奥迪与大众分开进行品牌运作，奥迪重获独立的市场推广和经营管理权。也就是从这个时候开始，人们才再次被提醒奥迪是一个具有最优秀血统的豪华品牌，它将开始名正言顺地恢复其在豪华汽车品牌中应有的地位。&lt;br&gt;&lt;br&gt;　　1994年，奥迪首次推出世界独一无二的ASF全铝车身豪华轿车&amp;#8212;AudiA8。作为奥迪V8型轿车的换代车型，奥迪A8一出世就不同凡响，成为一系列国际大奖的头奖得主。&lt;br&gt;&lt;br&gt;　　以奥迪A8问世为契机，奥迪公司重新命名了车型系列：奥迪80/90的换代产品为奥迪A4，奥迪100/200的升级产品为奥迪A6。&lt;br&gt;&lt;br&gt;　　1994年11月投放市场的新款奥迪A4取得了巨大成功。1995年，仅在德国就售出12万辆奥迪A4。1996年奥迪A4获得德国最高设计奖&amp;#8220;Bundespreisfur&amp;nbsp;Produkt&amp;nbsp;design&amp;#8221;奖。2000年8月28日，奥迪A3又获此殊荣。&lt;br&gt;&lt;br&gt;　　1995年秋天，奥迪开始推出TT跑车系列，该车型成功地将独特设计与现代时尚特征和成熟的技术结合在了一起，在国际评比中屡获殊荣。一年以后，两门紧凑车型的奥迪A3投放市场，吸引了更多的客户。&lt;br&gt;&lt;br&gt;　　2001年和2002年，奥迪先后推出了创立同级轿车技术、性能和安全新标准的新款奥迪A4和奥迪A8，以及奥迪车运动特性完美体现的奥迪RS6。&lt;br&gt;&lt;br&gt;　　作为一个最古老的豪华汽车品牌，奥迪的血脉源远流长、生生不息；作为一个当今全球豪华车市场上一个强有力的竞争者，奥迪充满自信地进入了一个新世纪。在这个世界上，恐怕没有什么力量能够阻止它，除了它自己。&lt;br&gt;文章来源:&lt;a href='http://www.ygdy.com.cn/blog/blogview.asp?logID=40'&gt;http://www.ygdy.com.cn/blog/blogview.asp?logID=40&lt;/a&gt;&lt;img src ="http://www.mscenter.edu.cn/blog/shilion/aggbug/8751.html" width = "1" height = "1" /&gt;</description></item><item><dc:creator>andrew</dc:creator><title>TCP端口扫描方法整理</title><link>http://www.mscenter.edu.cn/blog/shilion/archive/2005/05/09/2317.html</link><pubDate>Mon, 09 May 2005 06:39:00 GMT</pubDate><guid>http://www.mscenter.edu.cn/blog/shilion/archive/2005/05/09/2317.html</guid><description>TCP扫描的主要原理: RFC793中TCP连接建立的三次握手过程，以及RST报文段的产生条件等 
&lt;H2&gt;TCP端口扫描方法整理&lt;/H2&gt;&lt;BR&gt;&lt;BR&gt;花了几天搜集这些TCP扫描方法,国外网总上不去,资料不全面.要放假了,时间来不及,下学期有时间再详细描述每种扫描方法吧.&lt;BR&gt;TCP扫描的主要原理: RFC793中TCP连接建立的三次握手过程，以及RST报文段的产生条件等&lt;BR&gt;
&lt;H3&gt;常见的TCP扫描方法有:&lt;/H3&gt;&lt;BR&gt;1．TCP connect scan&lt;BR&gt;这种方法最简单，直接连到目标端口并完成一个完整的三次握手过程（SYN, SYN/ACK, 和ACK）。缺点是容易被目标系统检测到。&lt;BR&gt;2．TCP SYN scan&lt;BR&gt;这种扫描方式也被称为"半打开扫描"（half-open scanning）。它利用了TCP连接建立三次握手的第一步，并且没有建立一个完整的TCP连接。实现办法是向远端主机某端口发送一个只有SYN标志位的TCP报文段，如果主机反馈一个SYN|ACK数据包，那么，这个主机正在监听该端口，如果反馈的是RST数据包，说明，主机没有监听该端口。在X-Scanner扫描工具上就有SYN的选择项。&lt;BR&gt;3．TCP FIN scan&lt;BR&gt;这种方法向目标端口发送一个FIN分组。按RFC793的规定，对于所有关闭的端口，目标系统应该返回RST标志。这种方法通常用在基于UNIX的TCP/IP协议栈。&lt;BR&gt;4．TCP ACK scan&lt;BR&gt;发送一个只有ACK标志的TCP数据报给主机，如果主机反馈一个TCP RST数据报来，那么这个主机是存在的。也可以通过这种技术来确定对方防火墙是否是简单的分组过滤，还是一个基于状态的防火墙。&lt;BR&gt;5．TCP SYN|ACK scan&lt;BR&gt;6．TCP NULL sacn(turn off all flags)&lt;BR&gt;即发送一个没有任何标志位的TCP包，根据RFC793，如果目标主机的相应端口是关闭的话，应该发送回一个RST数据包。&lt;BR&gt;7．TCP Xmas Tree scan(set all flags)&lt;BR&gt;向目标主机发送一个FIN+URG+PUSH分组，根据RFC793，如果目标主机的相应端口是关闭的，那么应该返回一个RST标志。&lt;BR&gt;8．TCP reverse identd scanning&lt;BR&gt;identd protocol (rfc1413): disclose the username of the owner of any process connected via TCP, even if that process didn't initiate the connection.&lt;BR&gt;Example: connect to the http port (80), and then use identd to find out whether the server is running as root.&lt;BR&gt;该方法的缺点是必须建立连接,隐蔽性较差.&lt;BR&gt;&lt;BR&gt;
&lt;H3&gt;下面是一个TCP SYN扫描程序.&lt;/H3&gt;&lt;BR&gt;程序有两个子线程,SendThread用于发送SYN报文段,RecvThread用于接收SYN|ACK报文段,并从中获取相应的处于LISTEN状态的端口.&lt;BR&gt;&lt;BR&gt;//该程序通过raw socket发送TCP报文段&lt;BR&gt;//开发&amp;amp;运行环境: VC6.0 + SDK + Win2000&lt;BR&gt;#include &amp;lt;stdio.h&amp;gt; &lt;BR&gt;#include &amp;lt;winsock2.h&amp;gt; &lt;BR&gt;#include &amp;lt;ws2tcpip.h&amp;gt; &lt;BR&gt;&lt;BR&gt;#pragma comment(lib,"ws2_32.lib")&lt;BR&gt;&lt;BR&gt;#define SIO_RCVALL _WSAIOW(IOC_VENDOR,1)&lt;BR&gt;&lt;BR&gt;#define RECV_BUF_SIZE 1024; //receiving buffer size&lt;BR&gt;#define SOURCE_PORT 8088 //local TCP segment source port&lt;BR&gt;#define TCP_RTT 2000 //Round-trip time,in milliseconds&lt;BR&gt;&lt;BR&gt;typedef struct _iphdr&lt;BR&gt;{ &lt;BR&gt;unsigned char h_verlen;&lt;BR&gt;unsigned char tos;&lt;BR&gt;unsigned short total_len;&lt;BR&gt;unsigned short ident;&lt;BR&gt;unsigned short frag_and_flags;&lt;BR&gt;unsigned char ttl;&lt;BR&gt;unsigned char proto;&lt;BR&gt;unsigned short checksum;&lt;BR&gt;unsigned int sourceIP;&lt;BR&gt;unsigned int destIP;&lt;BR&gt;}IP_HEADER; &lt;BR&gt;&lt;BR&gt;typedef struct _psdhdr //定义TCP伪首部 &lt;BR&gt;{ &lt;BR&gt;unsigned long saddr; //源地址 &lt;BR&gt;unsigned long daddr; //目的地址 &lt;BR&gt;char mbz; &lt;BR&gt;char ptcl; //协议类型 &lt;BR&gt;unsigned short tcpl; //TCP长度 &lt;BR&gt;}PSD_HEADER;&lt;BR&gt;&lt;BR&gt;// Standard TCP flags &lt;BR&gt;#define URG 0x20 &lt;BR&gt;#define ACK 0x10 &lt;BR&gt;#define PSH 0x08 &lt;BR&gt;#define RST 0x04 &lt;BR&gt;#define SYN 0x02 &lt;BR&gt;#define FIN 0x01&lt;BR&gt;&lt;BR&gt;typedef struct _tcphdr //定义TCP首部 &lt;BR&gt;{ &lt;BR&gt;USHORT th_sport; //16位源端口 &lt;BR&gt;USHORT th_dport; //16位目的端口 &lt;BR&gt;unsigned int th_seq; //32位序列号 &lt;BR&gt;unsigned int th_ack; //32位确认号 &lt;BR&gt;unsigned char th_lenres; //4位首部长度/6位保留字 &lt;BR&gt;unsigned char th_flag; //6位标志位 &lt;BR&gt;USHORT th_win; //16位窗口大小 &lt;BR&gt;USHORT th_sum; //16位校验和 &lt;BR&gt;USHORT th_urp; //16位紧急数据偏移量 &lt;BR&gt;}TCP_HEADER; &lt;BR&gt;&lt;BR&gt;USHORT checksum(USHORT *buffer, int size) &lt;BR&gt;{ &lt;BR&gt;unsigned long cksum=0; &lt;BR&gt;while (size &amp;gt; 1) &lt;BR&gt;{ &lt;BR&gt;cksum += *buffer++; &lt;BR&gt;size -= sizeof(USHORT); &lt;BR&gt;} &lt;BR&gt;if (size) &lt;BR&gt;{ &lt;BR&gt;cksum += *(UCHAR*)buffer; &lt;BR&gt;} &lt;BR&gt;cksum = (cksum &amp;gt;&amp;gt; 16) + (cksum &amp;amp; 0xffff); &lt;BR&gt;cksum += (cksum &amp;gt;&amp;gt;16); &lt;BR&gt;return (USHORT)(~cksum); &lt;BR&gt;} &lt;BR&gt;&lt;BR&gt;void useage() &lt;BR&gt;{ &lt;BR&gt;printf("TCP SYN Port Scanner\n"); &lt;BR&gt;printf("\t Email : moogates@163.net\n"); &lt;BR&gt;printf("\t Useage: *.exe Target_ip [start_port] [end_port].\n");&lt;BR&gt;} &lt;BR&gt;&lt;BR&gt;SOCKET g_sock; //用于收发TCP报文段的全局socket&lt;BR&gt;hostent* g_pHost;&lt;BR&gt;unsigned int g_nStartPort,g_nEndPort;&lt;BR&gt;void RecvThread(char* sAddr)&lt;BR&gt;{&lt;BR&gt;char RecvBuf[RECV_BUF_SIZE]; &lt;BR&gt;IP_HEADER* ip;&lt;BR&gt;TCP_HEADER * tcp; &lt;BR&gt;while(1)&lt;BR&gt;{&lt;BR&gt;int ret = recv(g_sock, RecvBuf, RECV_BUF_SIZE, 0);&lt;BR&gt;if (ret &amp;gt; 0)&lt;BR&gt;{ &lt;BR&gt;ip = (IP_HEADER*)RecvBuf;&lt;BR&gt;tcp = (TCP_HEADER*)(RecvBuf + (ip-&amp;gt;h_verlen&amp;amp;0x0f)*4);&lt;BR&gt;&lt;BR&gt;if(ip-&amp;gt;proto!=IPPROTO_TCP)&lt;BR&gt;continue;&lt;BR&gt;if( strcmp(sAddr,inet_ntoa(*(in_addr*)&amp;amp;ip-&amp;gt;sourceIP) ) )&lt;BR&gt;continue; &lt;BR&gt;if(tcp-&amp;gt;th_flag&amp;amp;SYN &amp;amp;&amp;amp; tcp-&amp;gt;th_flag&amp;amp;ACK)&lt;BR&gt;printf("Port %6u OPEN.\n",ntohs(tcp-&amp;gt;th_sport)); &lt;BR&gt;}&lt;BR&gt;}&lt;BR&gt;}&lt;BR&gt;void SendThread(char* sAddr)&lt;BR&gt;{ &lt;BR&gt;SOCKADDR_IN addr_dst;&lt;BR&gt;char szSendBuf[60] = {0};&lt;BR&gt;IP_HEADER ipHeader; &lt;BR&gt;TCP_HEADER tcpHeader; &lt;BR&gt;PSD_HEADER psdHeader; &lt;BR&gt;//要发送的目的地址&lt;BR&gt;addr_dst.sin_family = AF_INET; &lt;BR&gt;addr_dst.sin_addr.S_un.S_addr = inet_addr(sAddr);&lt;BR&gt;&lt;BR&gt;//填充IP首部 &lt;BR&gt;ipHeader.h_verlen = (4&amp;lt;&amp;lt;4 | sizeof(ipHeader)/4); &lt;BR&gt;ipHeader.tos=0; &lt;BR&gt;ipHeader.total_len = htons( sizeof(ipHeader)+sizeof(tcpHeader) ); &lt;BR&gt;ipHeader.ident = 1; &lt;BR&gt;ipHeader.frag_and_flags = 0; &lt;BR&gt;ipHeader.ttl = 128; &lt;BR&gt;ipHeader.proto = IPPROTO_TCP; &lt;BR&gt;&lt;BR&gt;ipHeader.sourceIP = *(int*)g_pHost-&amp;gt;h_addr_list[0];&lt;BR&gt;ipHeader.destIP = inet_addr(sAddr);&lt;BR&gt;&lt;BR&gt;//填充TCP首部 &lt;BR&gt;tcpHeader.th_sport = htons( SOURCE_PORT ); //源端口号 &lt;BR&gt;tcpHeader.th_seq = htonl( 0x12345678 ); &lt;BR&gt;tcpHeader.th_ack = 0;&lt;BR&gt;tcpHeader.th_lenres = (sizeof(tcpHeader)/4&amp;lt;&amp;lt;4|0); &lt;BR&gt;tcpHeader.th_flag = SYN;//发送SYN报文段&lt;BR&gt;tcpHeader.th_win = htons(512); &lt;BR&gt;tcpHeader.th_urp = 0; &lt;BR&gt;&lt;BR&gt;psdHeader.saddr = ipHeader.sourceIP; &lt;BR&gt;psdHeader.daddr = ipHeader.destIP; &lt;BR&gt;psdHeader.mbz = 0; &lt;BR&gt;psdHeader.ptcl = IPPROTO_TCP; &lt;BR&gt;psdHeader.tcpl = htons(sizeof(tcpHeader));&lt;BR&gt;&lt;BR&gt;for(unsigned int nPort=g_nStartPort; nPort {&lt;BR&gt;ipHeader.checksum = 0; &lt;BR&gt;tcpHeader.th_sum = 0; &lt;BR&gt;tcpHeader.th_dport = htons( nPort ); &lt;BR&gt;&lt;BR&gt;//计算TCP校验和&lt;BR&gt;memcpy(szSendBuf, &amp;amp;psdHeader, sizeof(psdHeader)); &lt;BR&gt;memcpy(szSendBuf+sizeof(psdHeader), &amp;amp;tcpHeader, sizeof(tcpHeader)); &lt;BR&gt;tcpHeader.th_sum = checksum((USHORT *)szSendBuf,sizeof(psdHeader)+sizeof(tcpHeader)); &lt;BR&gt;&lt;BR&gt;//计算IP校验和&lt;BR&gt;memcpy(szSendBuf, &amp;amp;ipHeader, sizeof(ipHeader));&lt;BR&gt;memcpy(szSendBuf+sizeof(ipHeader), &amp;amp;tcpHeader, sizeof(tcpHeader)); &lt;BR&gt;memset(szSendBuf+sizeof(ipHeader)+sizeof(tcpHeader), 0, 4); &lt;BR&gt;ipHeader.checksum = checksum((USHORT *)szSendBuf, sizeof(ipHeader)+sizeof(tcpHeader)); &lt;BR&gt;&lt;BR&gt;memcpy(szSendBuf, &amp;amp;ipHeader, sizeof(ipHeader)); &lt;BR&gt;&lt;BR&gt;addr_dst.sin_port = htons( nPort ); &lt;BR&gt;int ret = sendto(g_sock, szSendBuf, sizeof(ipHeader)+sizeof(tcpHeader),&lt;BR&gt;0, (struct sockaddr*)&amp;amp;addr_dst, sizeof(addr_dst) );&lt;BR&gt;}&lt;BR&gt;//等待一个合适的RTT周期.RTT太小可能导致被扫描主机端口的SYN|ACK报文来不及接收&lt;BR&gt;Sleep(TCP_RTT); &lt;BR&gt;}&lt;BR&gt;int main(int argc,char* argv[])&lt;BR&gt;{&lt;BR&gt;if (argc&amp;lt;2)&lt;BR&gt;{&lt;BR&gt;useage();&lt;BR&gt;return 0;&lt;BR&gt;}&lt;BR&gt;WSADATA WSAData;&lt;BR&gt;if (WSAStartup(MAKEWORD(2,2), &amp;amp;WSAData)!=0) &lt;BR&gt;{ &lt;BR&gt;printf("WSAStartup Error!\n"); &lt;BR&gt;return -1; &lt;BR&gt;} &lt;BR&gt;if ((g_sock=WSASocket(AF_INET,SOCK_RAW,IPPROTO_RAW,NULL,0,WSA_FLAG_OVERLAPPED))==INVALID_SOCKET) &lt;BR&gt;{ &lt;BR&gt;printf("Socket Setup Error!\n"); &lt;BR&gt;return -1; &lt;BR&gt;} &lt;BR&gt;BOOL flag = true;&lt;BR&gt;//包含IP头部,即程序自己封装IP头部,接收的数据报中也包含IP头部&lt;BR&gt;if (setsockopt(g_sock,IPPROTO_IP, IP_HDRINCL,(char *)&amp;amp;flag,sizeof(flag))==SOCKET_ERROR) &lt;BR&gt;{ &lt;BR&gt;printf("setsockopt IP_HDRINCL error!\n"); &lt;BR&gt;return -1; &lt;BR&gt;} &lt;BR&gt;&lt;BR&gt;//将本主机的IP地址赋给源IP&lt;BR&gt;char sLocalName[64]; &lt;BR&gt;gethostname((char*)sLocalName, sizeof(sLocalName)-1);&lt;BR&gt;g_pHost = gethostbyname(sLocalName);&lt;BR&gt;&lt;BR&gt;// 填充SOCKADDR_IN结构&lt;BR&gt;sockaddr_in addr_local; &lt;BR&gt;addr_local.sin_addr = *(in_addr *)g_pHost-&amp;gt;h_addr_list[0]; //绑定到本地网卡,INADDR_ANY不行&lt;BR&gt;addr_local.sin_family = AF_INET;&lt;BR&gt;addr_local.sin_port = htons(SOURCE_PORT);&lt;BR&gt;&lt;BR&gt;// 把原始套接字sock 绑定到本地网卡地址上&lt;BR&gt;if( bind(g_sock, (PSOCKADDR)&amp;amp;addr_local, sizeof(sockaddr_in))==SOCKET_ERROR )&lt;BR&gt;{&lt;BR&gt;printf("Bind Error:%d.\n",WSAGetLastError());&lt;BR&gt;WSACleanup();&lt;BR&gt;return -1;&lt;BR&gt;}&lt;BR&gt;&lt;BR&gt;// 设置SOCK_RAW为SIO_RCVALL(混合模式),以便接收所有的IP包.&lt;BR&gt;DWORD dwValue = 1;&lt;BR&gt;ioctlsocket(g_sock, SIO_RCVALL, &amp;amp;dwValue); // dwValue为1时执行，0时取消&lt;BR&gt;&lt;BR&gt;//发送超时计时&lt;BR&gt;int nTimeOut = 500;&lt;BR&gt;if (setsockopt(g_sock,SOL_SOCKET, SO_SNDTIMEO, (char*)&amp;amp;nTimeOut, sizeof(nTimeOut))==SOCKET_ERROR) &lt;BR&gt;{ &lt;BR&gt;printf("setsockopt SO_SNDTIMEO error!\n"); &lt;BR&gt;return -1; &lt;BR&gt;} &lt;BR&gt;&lt;BR&gt;g_nStartPort= argc&amp;gt;=3 ? atoi(argv[2]) : 1; &lt;BR&gt;g_nEndPort = argc&amp;gt;=4 ? atoi(argv[3]) : 65535;&lt;BR&gt;&lt;BR&gt;printf("Scanning %s from port %d to %d...\n",argv[1],g_nStartPort,g_nEndPort);&lt;BR&gt;HANDLE threads[2];&lt;BR&gt;threads[0] = CreateThread(NULL, 0,&lt;BR&gt;(LPTHREAD_START_ROUTINE)RecvThread,&lt;BR&gt;(LPVOID)argv[1],&lt;BR&gt;0,&lt;BR&gt;NULL);&lt;BR&gt;threads[1] = CreateThread(NULL, 0,&lt;BR&gt;(LPTHREAD_START_ROUTINE)SendThread,&lt;BR&gt;(LPVOID)argv[1], //destination IP address&lt;BR&gt;0,&lt;BR&gt;NULL);&lt;BR&gt;WaitForMultipleObjects(2,threads,FALSE,INFINITE); &lt;BR&gt;printf("Scan complete.\n",argv[1],g_nStartPort,g_nEndPort);&lt;BR&gt;closesocket(g_sock); &lt;BR&gt;WSACleanup(); &lt;BR&gt;return 0;&lt;BR&gt;}&lt;img src ="http://www.mscenter.edu.cn/blog/shilion/aggbug/2317.html" width = "1" height = "1" /&gt;</description></item><item><dc:creator>andrew</dc:creator><title>研究知识科学，发展知识工程，推进知识产业</title><link>http://www.mscenter.edu.cn/blog/shilion/archive/2005/02/26/873.html</link><pubDate>Sat, 26 Feb 2005 11:33:00 GMT</pubDate><guid>http://www.mscenter.edu.cn/blog/shilion/archive/2005/02/26/873.html</guid><description>研究知识科学，发展知识工程，推进知识产业&lt;BR&gt;陆 汝 钤&lt;BR&gt;1&amp;nbsp;&amp;nbsp; 研究知识科学&lt;BR&gt;&amp;nbsp; 马克思有一句名言：任何科学只有在具有数学基础以后，才能算得上是真正的科学（&lt;BR&gt;大意）。研究知识的理论基础，首先要研究知识的数学本质。而研究知识的数学本质，&lt;BR&gt;又首先要从研究信息的数学本质开始。因为信息是知识的原始和简化形式。Shannon曾经&lt;BR&gt;对信息的数学本质进行过研究，他提出并回答了&amp;#8220;从数学的观点看，信息是什么？&amp;#8221;这&lt;BR&gt;么一个问题。Shannon认为，信息是一个数学量，它是用来消除不确定性的。这种不确定&lt;BR&gt;性可以用具有概率意义的熵来度量。由此，概率论成了研究信息论的基本数学工具。这&lt;BR&gt;是一个理论问题，但它对实际应用的影响决不可低估。他提出的Shannon信息论意义非常&lt;BR&gt;深远，对二十世纪后50年通信科学的发展起了极大的作用，并至今仍是通信技术的理论&lt;BR&gt;基石。&lt;BR&gt;&amp;nbsp; 知识科学中最基本的问题是要搞清楚知识的数学本质，也就是要回答&amp;#8220;从数学的观点&lt;BR&gt;来看，知识是什么&amp;#8221;这样一个问题。那么知识又是什么呢？知识工程的创始人Feigenba&lt;BR&gt;um教授曾经说过：&amp;#8220;知识和信息不一样，知识是信息经过加工整理、解释、挑选和改造&lt;BR&gt;而形成的&amp;#8221; 我们提出这样一种观点：知识是结构化的信息。或者说，知识是用于消除信&lt;BR&gt;息的无结构性的。如果这样一个观点能够站得住脚，那么，知识的数学基础应该和信息&lt;BR&gt;不一样，它主要地不会是概率论。它应该是描述结构的某种数学模型。寻求并分析这种&lt;BR&gt;结构，有望建立起知识的数学描述。现在国际上关于知识本体的研究愈来愈热，证实了&lt;BR&gt;我们关于知识结构性问题是一个根本问题的观点是有道理的。本体就是知识结构性的基&lt;BR&gt;本描述，这一点已经成为国际上有关专家的共识。&lt;BR&gt;&amp;nbsp; 知识科学的另一个重要数学问题是知识的复杂性问题。在这一点上，知识与信息有更&lt;BR&gt;密切的关系。信息复杂性的研究由来已久，Kolmogorov早就提出了描述复杂性概念并证&lt;BR&gt;明了最复杂的序列就是完全随机的序列。但是，研究知识复杂性不仅要研究静态知识结&lt;BR&gt;构（外延）的复杂性，知识蕴含量(内涵)的复杂性，而且包括动态知识处理的复杂性。&lt;BR&gt;由于知识的描述仅是知识处理的一个方面，因此，Kolmogorov 的描述复杂性也仅是研究&lt;BR&gt;知识复杂性的一个方面、一种手段。还有其他重要的领域需要探索。&lt;BR&gt;&amp;nbsp; 当年Shannon是从分析通信中的技术问题着手，打开信息论研究的突破口的。现在看来&lt;BR&gt;，通信未尝不能成为研究知识论的突破口。就理论上来说，知识虽然与信号不同，它的&lt;BR&gt;内容是至关重要的方面，但两者的物理传送是以同样的方式实现的，因而其理论基础仍&lt;BR&gt;将是经典的通讯理论。真正困难的问题是怎样将知识编码成可被传送的东西，使得接收&lt;BR&gt;到的知识在内容上得到极大的保持。应明生教授指出，经典通信理论解决的问题是使得&lt;BR&gt;信号的传送错误极小。这样，"This is a pencil, that is a book"若被接收为"That &lt;BR&gt;is a pencil, this is a book"应该认为比接收到"That is a book, this is a penci&lt;BR&gt;l"的通讯效果好，但从内容上看，前者完全错了，而后者完全正确。从哲学上看，如果&lt;BR&gt;完全用Shannon的信息论方法去研究知识论，那就会陷入还原论的泥潭。还原论要求把自&lt;BR&gt;然界的一切过程还原为其最基本的形态加以研究，这样，研究思维就要还原到电子状态&lt;BR&gt;，辩证法的某个原则也许要从电子的自旋中找到根据。多数学者认为这条路是走不通的&lt;BR&gt;。同样，研究知识的某种状态也不可能到比特中去找根据。不同层面的客观世界要用不&lt;BR&gt;同的理论和科学方法来对待。联系到通信问题上，这就是知识的编码和译码理论。知识&lt;BR&gt;通信要根据内容来衡量知识传递的误差程度和设计最佳编码，根据内容来确定知识传播&lt;BR&gt;的路由，等等。&lt;BR&gt;&amp;nbsp;&amp;nbsp; Shannon信息论最初只是研究单通道的通讯，后来发展了多通道的通讯理论。但它所&lt;BR&gt;关心的是传送的信息的量，因而从某种意义上说，Shannon的信息论是通信的定量理论。&lt;BR&gt;另一方面，进程代数关心的是整个通信网络的行为和结构，而不关心所传送的信息的量&lt;BR&gt;，因而是一种通信网络的定性理论。本项目希望能够将它们统一起来建立一种定性，定&lt;BR&gt;量相结合的能处理噪音通道的通信理论，这就有可能为Internet的行为和流量的描述和&lt;BR&gt;计算这样一类问题提供一定的数学工具。考虑到知识的通讯可能是不精确的、模糊的、&lt;BR&gt;含噪音的，应该有一种知识通信的近似数学理论。&lt;BR&gt;我们相信，一个深刻的关于知识的数学理论也会像Shannon的信息论一样对社会实际应用&lt;BR&gt;发挥重大作用[1]。&lt;BR&gt;2&amp;nbsp;&amp;nbsp; 发展知识工程&lt;BR&gt;&amp;nbsp; 当Feigenbaum教授提议&amp;#8220;知识工程&amp;#8221;一词时，他想的是手工作坊式的知识软件开发技&lt;BR&gt;术。典型的图景是这样的：一个号称知识工程师的人或小组，找到某个领域的一个著名&lt;BR&gt;专家或专家群体，用一种循循善诱的方式让专家谈出他（们）在该领域的主要经验，然&lt;BR&gt;后加以整理归纳，编成一个知识库，再配上必要的一些辅助工具，如能够迅速查到有关&lt;BR&gt;专业知识的查询工具，模仿专家思维方式的推理机，以及用户友好的界面等等。这些程&lt;BR&gt;序和知识加在一起就成为一个可在计算机上运行的专家系统。专家系统的最大好处是可&lt;BR&gt;以用于许多缺少高级专家的单位或场合（如医学专家系统用于偏僻农村），或保存行将&lt;BR&gt;消逝的宝贵专家经验（如年已古稀的老中医）。&lt;BR&gt;知识工程的出现，曾经引起了学术界以至广大社会人士的一阵兴奋，认为从此找到了人&lt;BR&gt;工智能研究和社会应用之间的一道桥梁。从那时以后，知识工程也成了人工智能的主要&lt;BR&gt;研究内容之一。它的发展主要体现在知识表示、知识获取、知识库组织和推理技术等方&lt;BR&gt;面的改进。然而，人们也发现，知识工程的出现并未从根本上解决人工智能的危机。这&lt;BR&gt;主要是我们在前面已经提到的，人工智能有很多深层次的理论和技术问题并未因为知识&lt;BR&gt;工程的出现而解决。许多人又开始感到失望。&lt;BR&gt;&amp;nbsp; 我们认为，知识工程的历史使命不仅远未结束，而且应该说进入了一个新的时代。这&lt;BR&gt;个新时代的标志有两个：一是把处理对象从规范化的、相对好处理的知识进一步深入到&lt;BR&gt;非规范化的、相对难处理的知识。二是把处理规模和方式从封闭式扩大为开放式，从小&lt;BR&gt;手工作坊式的知识工程扩大为能进行海量知识处理的大规模工程。下面分别加以说明。&lt;BR&gt;[1]&lt;BR&gt;关于处理对象的改变。现有的知识工程技术不善于应付网络时代带来的知识复杂性。&lt;BR&gt;----------------------------------------------------------------------------&lt;BR&gt;---&lt;BR&gt;[1] 有一些与知识科学和知识工程既有区别，又有共同点的提法，如何新贵院士的《知&lt;BR&gt;识处理学》，史忠植教授的《智能科学》，都值得联系起来探讨。&lt;BR&gt;&amp;nbsp; 从外延来说，因特网上的知识具有海量性、分布性、开放性、共享性、异构性、多媒&lt;BR&gt;体性等特点。这不是一个小小的专家系统知识库所能比拟的。从内涵来说，它又不善于&lt;BR&gt;处理非规范知识，即内涵不够清楚（模糊知识），或结构残缺不全（不完全知识），或&lt;BR&gt;含内在矛盾（不协调知识），或含无用杂质（带噪音知识），或内涵不稳定（时变知识&lt;BR&gt;），或依赖于情景和条件（启发式知识）的知识。解决这些问题，应该是现阶段知识工&lt;BR&gt;程研究的重点。这方面，国家自然科学基金委已经设立了专项重大项目，正在接受申请&lt;BR&gt;。我们希望该重大项目的执行将能在非规范知识处理方面取得重要突破。但是，这个项&lt;BR&gt;目对非规范知识研究的支持还是有限的，今后希望能以某种方式持续下去。&lt;BR&gt;&amp;nbsp; 关于处理规模和方式的改变。大规模地铺设光缆是一种信息工程，大规模的知识共享&lt;BR&gt;则是一种现代化的知识工程。人们早就认识到知识共享的重要性。数据库和知识库这两&lt;BR&gt;项技术就是为了数据和知识共享而诞生的。但是，当初人们创建这两门学科的时候，还&lt;BR&gt;远远没有想到今天世界上知识共享的规模。如今知识大规模共享主要以两种方式进行。&lt;BR&gt;一是构筑海量知识库，Lenat领头的CyC工程和曹存根博士领头的CNKI工程是这方面的两&lt;BR&gt;个代表作，收集的知识均已达到百万条的规模，在国外已引起军界和企业界的高度关注&lt;BR&gt;。二是大家到开放的因特网上来淘金。这是海量的、动态的、开放的知识天地。从发展&lt;BR&gt;来看，第二种共享概念更有前途，但是由于能访问的海量知识库一般都挂在因特网上，&lt;BR&gt;并且成为因特网知识的骨干，所以这两者也是一致的。大规模知识共享已有很多众所周&lt;BR&gt;知的例子，如数字图书馆和数字化地球都是。下面我们再提出几项建议。&lt;BR&gt;&amp;nbsp; 参加国际语义网建设的努力。语义网英文名semantic web，系Berner&amp;#8217;s Lee 所提出&lt;BR&gt;，目的是使因特网上的信息都变成能为大家所利用的知识。如今，国际上一项以实现语&lt;BR&gt;义网为目标的合作努力正在进行之中。我们应该加入到这项国际努力中去。一方面参与&lt;BR&gt;制定国际标准，贡献我们的本体知识库；另一方面加紧开发自己的语义网软件工具，并&lt;BR&gt;开始试验性语义网建设。这两件事都做好了，将使我们在新一代因特网世界中占有一席&lt;BR&gt;之地。&lt;BR&gt;&amp;nbsp; 语义网和网格不完全一样。网格是要集中使用网上所有的软、硬件资源，特别是计算&lt;BR&gt;资源，还包括外围设备，如各种科学实验仪器。它不仅要把因特网变成一台大机器，而&lt;BR&gt;且还要变成一个大实验室，甚至变成一个网上大社会。相比之下，语义网的目标要有限&lt;BR&gt;得多。&lt;BR&gt;&amp;nbsp; 建设国家知识基础设施。1995年，曹存根博士在青年科技论坛上首先提出了国家知识&lt;BR&gt;基础设施(NKI)的思想 。两年以后，这个概念开始出现在世界银行的文件中。1999年，&lt;BR&gt;曹存根等人以&amp;#8220;中国国家知识基础设施&amp;#8221;(CNKI)为题向有关部委正式提出了一项&amp;#8220;国家&lt;BR&gt;重点基础研究发展规划项目&amp;#8221;的建议书 , 其中建议建立一个在全国联网的、集教学、科&lt;BR&gt;普、科研、社会服务于一体的知识服务体系。它的基础就是海量的知识和丰富的知识服&lt;BR&gt;务工具。它应该能让每个需要知识的人随时、随地、以任何方式获得和利用知识。这是&lt;BR&gt;一项浩大的造福千秋万代的知识工程，建议国家予以支持。&lt;BR&gt;&amp;nbsp; 开展基因人计划。早在七十年代，美国就推出了数字化人体计划，这是一个单纯的三&lt;BR&gt;维几何数字空间，可供医学院教学和科研使用。后来逐渐增加各种物理和生物信息，发&lt;BR&gt;展到物理人计划、生物人计划等等，提供的功能也越来越强。目前世界上以中国、美国&lt;BR&gt;和韩国的研究力量最强。我们建议的基因人计划就是把生物人计划、物理人计划和目前&lt;BR&gt;关于基因功能组学和蛋白质功能组学的研究成果结合起来，一方面构造一个数字基因世&lt;BR&gt;界和数字蛋白质世界，一方面把这两个世界和生物人、物理人结合起来。这个微观生物&lt;BR&gt;世界和宏观生物世界的结合将给我们的分子生物学教学和研究以极大的帮助。基因人计&lt;BR&gt;划和以前的各种数字化人体计划还有一个很大的不同，它的知识实体不是封闭的，而是&lt;BR&gt;开放的。它的知识库直接连向世界各地的生物信息学研究网站，能随时根据分子生物学&lt;BR&gt;和医学的新研究成果更新&lt;BR&gt;3&amp;nbsp; 推进知识产业&lt;BR&gt;&amp;nbsp; 传统上认为，知识（包括社会科学知识）是在人类长期的生产劳动、阶级斗争和科学&lt;BR&gt;实践中产生的。这里最重要的一点是：人是创造知识的主体。但是，这种观点现在已经&lt;BR&gt;至少部分地过时了。因为，不仅是人，计算机也能够创造知识，而且能够在一夜之间创&lt;BR&gt;造大量的知识，而无需一个很长的过程。计算机创造知识，或计算机和人合作创造知识&lt;BR&gt;，已经成为一种产业：知识产业。&lt;BR&gt;知识企业至少在八十年代初期就出现了。美国一些在知识工程方面有所创新的教授和博&lt;BR&gt;士创办知识公司。最早的知识产业就是在这个基础之上发展起来的。他们或有自己研制&lt;BR&gt;的专家系统开发工具，或有一批经验丰富的专业人员。在那段时期取得了不小的成功。&lt;BR&gt;&lt;BR&gt;&amp;nbsp; 在我们看来，知识产业是相对于软件产业而言的。知识和软件有着天然的联系。人们&lt;BR&gt;常说，软件是人类知识的浓缩和结晶。收集和整理知识是软件开发的第一步。建立知识&lt;BR&gt;模型是软件建模的核心。知识库是软件智能的根源。知识复用是最根本的软件复用。还&lt;BR&gt;有，开发者和使用者缺少共同的知识是软件工程失败的主要原因之一。&lt;BR&gt;&amp;nbsp; 长期以来，人们常把软件开发和知识开发混为一谈，至少是不加区分。使得软件（主&lt;BR&gt;要是应用软件）和它所含的知识混在一起，软件开发者必须同时是（领域）知识开发者&lt;BR&gt;，并且信息技术产业规划中只提软件产业，不提知识产业。这样做既妨碍了知识产业的&lt;BR&gt;诞生，又影响了软件产业自身的发展。&lt;BR&gt;为此，我们关于建立知识产业的第一个主要建议就是要建立知识生产行业。而最重要的&lt;BR&gt;知识生产行业是软件工程的领域知识产业。&lt;BR&gt;&amp;nbsp; 软件工程的实践表明，软件开发失败的原因往往在于需求分析没有做好。而需求分析&lt;BR&gt;没有做好的原因又往往在于用户和软件工程师之间缺乏共同的知识。&amp;nbsp; 为了把用户吸引&lt;BR&gt;到软件开发过程中来，甚至把开发软件的钥匙交到用户手里，让用户自己来定义、设计&lt;BR&gt;、开发、维护和修改他的软件，就必须免去用户学习和掌握软件开发知识的负担。而做&lt;BR&gt;到这一点的关键是以强大的知识支持作为后盾。中科院数学所曾提出了一种基于知识的&lt;BR&gt;软件工程方法。这个方法的要点是以一个大容量的领域知识库来支持软件的开发，并提&lt;BR&gt;供一种面向领域用户的类自然语言。用户只需把本单位的组织、人员和业务情况用很自&lt;BR&gt;然的方式描述清楚，计算机即可在领域知识库的支持下生成一个他所需要的软件。&lt;BR&gt;&amp;nbsp; 软件工程师的任务只是把软件开发工具、开发平台和支撑平台做得好好的。另有一批&lt;BR&gt;成为知识工程师的人专门开发各行各业的知识模块，如商业、旅游、邮电、海关、税收&lt;BR&gt;、医院、学校等等。用户从软件开发者手里购买软件工具，而从知识开发者那里购买知&lt;BR&gt;识模块。就好像微机用户从IBM公司那里购买硬件，而从兼容软件开发商那里购买微机的&lt;BR&gt;配套软件一样。我们相信，循这条路发展，必能使软件产业和知识产业同时发展成两个&lt;BR&gt;独立而繁荣的产业。这个方法带来的另一个好处就是它为解决软件工程中的&amp;#8220;演化&amp;#8221;难&lt;BR&gt;题提供了一个可行的解题思路。用户不必为经常需要修改软件而去召唤软件工程师。他&lt;BR&gt;可以随时根据变化了的企业情况自己动手完成软件的演化，为此他只需以自然的方式写&lt;BR&gt;明自己的需求有了什么变化，或采用领域知识模块的一个新版本。其余部分就可以自动&lt;BR&gt;化了&lt;BR&gt;&amp;nbsp; 这个思想可以归纳为三点。一是要在开发应用软件时尽可能把软件知识和领域知识区&lt;BR&gt;分开来。二是在组建开发队伍时要把软件开发人员和领域知识开发人员区分开来。三是&lt;BR&gt;在发展产业时要把软件产业和知识产业区分开来。&lt;BR&gt;&amp;nbsp; 我们认为，这三个区分意味着一种社会分工的进步。&lt;BR&gt;&amp;nbsp; 我们关于建立知识产业的第二个主要建议就是要建立知识服务行业。&lt;BR&gt;&amp;nbsp; 首先建议建立网上软件服务行业。近年来，&amp;#8220;软件就是服务&amp;#8221;的说法为很多人接受。&lt;BR&gt;这一方面是因为软件功能模块的积累日益庞大，软件模块化开发的技术日益完善，软件&lt;BR&gt;设计的比重越来越大，而软件编程的比重越来越小。另一方面，因特网上的免费软件和&lt;BR&gt;有偿供应软件越来越多。许多人预测，今后大规模软件的模块来源将主要来自网上，而&lt;BR&gt;软件维护（包括演化和更新）的服务也主要来自网上。网上软件服务是今后知识服务的&lt;BR&gt;主要形式之一。&lt;BR&gt;&amp;nbsp; 其次建议建立网上知识服务代理行业。如今浏览器功能较弱，一是召回率和准确率低&lt;BR&gt;，二是只收集，不加工（包括提炼、编辑）。如Google浏览器为用户提供40亿以上网页&lt;BR&gt;的信息和知识，有人试过，打入关键词&amp;#8220;speech recognition&amp;#8221;，搜索引擎将找到超过&lt;BR&gt;40,000个相关的网页。使用户很难得到确切地满足自己需要的知识和信息。要研制比浏&lt;BR&gt;览器高一个层次的通用网上知识搜索和编辑器，既有高度的召回率和准确率，又有加工&lt;BR&gt;、提炼网上知识的能力，这里主要是处理和集成各种非规范知识（矛盾、模糊、不确定&lt;BR&gt;等等）的能力，还能组织和编辑经过提炼的知识，其中包括信息的浓缩和信息向知识的&lt;BR&gt;过渡。通用网上知识搜索和编辑器一方面作为商品提供给社会，一方面作为基本工具提&lt;BR&gt;供给知识代理行业。知识服务代理行业不仅面向个人，而且更主要地是面向政府和企业&lt;BR&gt;，这将大大推动整个社会对因特网的利用。&lt;BR&gt;&amp;nbsp; 第三是建议建立知识管理服务行业。这和因特网没有必然的联系，主要是数据挖掘技&lt;BR&gt;术的产业性应用。目前对数据挖掘的研究很多，但公开报道实际效益的很少，其主要原&lt;BR&gt;因可能在于对数据挖掘感兴趣的主要群体是企业，特别是大型企业。而他们通过数据挖&lt;BR&gt;掘得到的知识含有企业机密，是保密的。目前国际上研究知识管理的热情很高，有多个&lt;BR&gt;大型国际学术会议。这些研究面向的主要对象就是那些企业，他们不仅要研究如何组织&lt;BR&gt;、保存和利用企业在长期运行中积累起来的数据和知识，而更关心那些具有企业特色的&lt;BR&gt;、难以用简单的文字或数据概括的管理经验。人们都说作为烤鸭佐料的甜酱是全聚德的&lt;BR&gt;传家秘方，但是也许全聚德的管理经验的重要性胜过甜酱配方的十倍。其中有些经验也&lt;BR&gt;许在世界最好的MBA课程里也是没有的。从某种意义上说。如果我们的知识管理服务行业&lt;BR&gt;搞上去了，那么可以有把握地说，我们的企业管理水平也上去了。&lt;BR&gt;&amp;nbsp; 第四是建议发展网上知识教育行业，或称现代远程网络教育，使任何人在任何时候、&lt;BR&gt;任何地点都能从网上学到任何他关心的课程，并且内容是专门为他设计、剪裁和编排过&lt;BR&gt;的，并且这种设计、剪裁和编排都是根据该学科国内外当前最新发展，以及他本人的最&lt;BR&gt;新学习进度和知识掌握情况，每次开机时即求即得的。人们常说教育是一门产业，这结&lt;BR&gt;论不适用于任何场合，但适用于此。&lt;BR&gt;&amp;nbsp; 建设领域知识开发产业。组织有关部门和专家制订规划，根据目前领域分布情况，在&lt;BR&gt;泛领域分析的基础上，制订领域分析知识模块的开发规划。&lt;BR&gt;4&amp;nbsp;&amp;nbsp; 结束语&lt;BR&gt;&amp;nbsp; 知识科学、知识工程和知识产业是一根链条的三个不可分的环节。需要同时抓紧、同&lt;BR&gt;时推动。只抓一个或两个而忽略其余是不合适的。&lt;BR&gt;作者: 中国科学院数学与系统科学研究院 中国科学院 院士&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 中科院计算所智能信息处理重点实验室学术委员会 主任&lt;BR&gt;来源：中国科学院计算技术研究所&lt;img src ="http://www.mscenter.edu.cn/blog/shilion/aggbug/873.html" width = "1" height = "1" /&gt;</description></item><item><dc:creator>andrew</dc:creator><title>隐藏在office里的小游戏</title><link>http://www.mscenter.edu.cn/blog/shilion/archive/2005/02/26/872.html</link><pubDate>Fri, 25 Feb 2005 17:25:00 GMT</pubDate><guid>http://www.mscenter.edu.cn/blog/shilion/archive/2005/02/26/872.html</guid><description>1,请在一个新开的word文件里面输入:&lt;BR&gt;=rand(200,99)&lt;BR&gt;然后回车看看会发生什么？&lt;BR&gt;据说，连比尔盖茨都不知道为什么会这样。 &lt;BR&gt;2,《Excel 2000》隐藏的赛车游戏&lt;BR&gt;以前微软的Office软件就常隐藏着有趣的小游戏，像之前的Word就曾藏有仿真飞行游&lt;BR&gt;戏。&lt;BR&gt;现在Excel 2000又有隐藏着一个3D赛车游戏唷，照着以下的方法做，你也可以叫出这&lt;BR&gt;个游戏：&lt;BR&gt;1、开启Excel之后随便开一新档，将它「另存成Web画面」，按下发布后再将增加互动&lt;BR&gt;功能打勾，再将档案储存为2000.htm&lt;BR&gt;2、在IE中开启2000.htm，你应该会看到电子表格出现在网页中央。&lt;BR&gt;3、找到第2000行、WC列。再将第2000行整个选取（整列选取的方法就是按2000的灰色&lt;BR&gt;按键），再利用Tab键将第WC列反白使其处于作用状态下（多按几下TAB那格2000/WC就&lt;BR&gt;会转为白色）。&lt;BR&gt;4、同时按住Shift+Crtl+Alt然后点选左上方的Office logo。&lt;BR&gt;5、开始玩了。&lt;BR&gt;玩法提示：方向键控制、空格键开火、O 放油、H 大灯。注意看路面上写的字哦！&lt;img src ="http://www.mscenter.edu.cn/blog/shilion/aggbug/872.html" width = "1" height = "1" /&gt;</description></item><item><dc:creator>andrew</dc:creator><title>IBM蓝色之路</title><link>http://www.mscenter.edu.cn/blog/shilion/archive/2005/02/24/869.html</link><pubDate>Thu, 24 Feb 2005 13:01:00 GMT</pubDate><guid>http://www.mscenter.edu.cn/blog/shilion/archive/2005/02/24/869.html</guid><description>IBM中国研发中心面向2005年应届毕业生的校园招聘职位目录将于近日出炉。为帮助有意走上&amp;#8220;蓝色成才之路&amp;#8221;的应届毕业生，IBM 大中华区人力资源部总监郭希文女士谈了一些关于该公司招聘、培训、激励等相关信息。
&lt;P&gt;　&lt;STRONG&gt;　招聘&amp;#8212;&amp;#8212;IBM不会总有空的位置&lt;BR&gt;&lt;/STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR&gt;　　IBM有这样一句&amp;#8220;名言&amp;#8221;：Vacancies at IBM don&amp;#8217;t remain unfulfilled for long（IBM不会总有空的位置）。&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 　　&lt;BR&gt;　　IBM中国公司每年会收到约7000多份求职书，但能进入的仅占1%。公司一般通过人才招聘会、登报、因特网和校园招聘等途径物色人才，基本上是根据岗位来招人。对于招聘对象，一半选自大学毕业生，一半则来自有工作经验的成熟员工。&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 　　&lt;BR&gt;　　公司对应聘者的面试流程并不复杂。通过人力资源部门测试后，即可直接与业务部门负责人进行交流。人力资源部门主要测IQ，因而有时间上的限制。业务部门对应聘者的专业要求并非人们想像的那样严格，因为公司认为，只要员工的再学习能力好，情商不错，就可以考虑。&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 　　&lt;BR&gt;　　面试时，IBM首先注重应聘者是否正直和诚实；其次，应聘者自信也很重要，但&amp;#8220;自信不等于狂妄&amp;#8221;；再则，是否善于沟通也是一个被关注的素质。郭希文女士举例说，对客户代表职位的应聘者进行面试时，我常常会设想：如果我是客户，会愿意与这个人做生意吗？答案若是肯定的，那么，这个人就被录用了。&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 　　&lt;BR&gt;　　IBM人力资源部对所有应聘者的数据都会保存1年，换句话说，因一时没有合适岗位的应聘者，还有机会被重新纳入公司的考虑范围。&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR&gt;　　&lt;STRONG&gt;培训&amp;#8212;&amp;#8212;助员工成为蓝色人才&lt;BR&gt;&lt;/STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR&gt;　　IBM公司新员工培训中流行着这样一句话：&amp;#8220;无论你进IBM时是什么颜色，经过培训，最后都会变成蓝色。&amp;#8221;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 　　&lt;BR&gt;　　公司对培训投资的力度相当大，约占每年营业额的1%～2%。每名员工每年至少有15～20天的培训时间。培训分为内部培训和外部培训。前者主要针对内部员工，具体又可分为新员工培训、经理培训；后者则是针对客户和合作伙伴的。&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 　　&lt;BR&gt;　　新员工培训按职属不同被分为两类，一类针对业务支持的员工，主要指行政管理人员，即Back Office；另一类则针对销售、市场和服务人员，占公司员工的大多数，称为Front Office。对于Back Office类的新员工，经过为期两周培训对公司初步了解后，回到自己岗位上跟着指定的&amp;#8220;师傅&amp;#8221;（Mentor）边工作边学习。这种&amp;#8220;师傅徒弟制&amp;#8221;可谓IBM的培训传统，有利于新员工边干边学尽快掌握业务。对于Front Office类的新员工，则需先经3个月集中强化培训，回到自己工作岗位后还得接受6～9个月的业务学习。&lt;/P&gt;
&lt;P&gt;　　至于经理培训即MD（Manager development），则是IBM为优秀员工或认为有潜力的员工提供的，具体又可分为两类，一类是为即将升为经理的员工提供的，多为本地培训；另一类则是员工升为经理之后提供的，为期一年，全球统一内容，主要采用e&amp;#8212;learning培训手段。&lt;/P&gt;
&lt;P&gt;　　在线学习是IBM员工学习的趋势，常见方式有三种：光盘，局域网和网络学校。IBM拥有被称为Global Campus的网络学校，挂有2000多种课程，全球范围内的员工都可进行有计划的学习。另外，IBM在局域网上设有技能开发系统，员工在工作中发现自己的技能需要提升时，即可申请学习。&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 　　&lt;BR&gt;　　关于IBM对员工学习的态度，该公司还流传着这样一句话：如果你要涨薪，公司可能会犹豫；如果你要学习，公司肯定会非常欢迎。&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR&gt;　　&lt;STRONG&gt;激励&amp;#8212;强调双向沟通&lt;BR&gt;&lt;/STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR&gt;　　IBM还有一句话是：&amp;#8220;Performance Says（让工作业绩来说话）&amp;#8221;。&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 　　&lt;BR&gt;　　客观地说，IBM公司的工资水平在同行业不能算最高，但却是最合理的。薪金与发展空间、各种福利结合起来，共同构成员工激励模式，形成公司独有的高绩效文化（High Performance Culture）。&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 　　&lt;BR&gt;　　郭女士说，员工薪金的构成很复杂，但可以肯定地是，没有所谓的&amp;#8220;学历工资&amp;#8221;或&amp;#8220;工龄工资&amp;#8221;，而是直接同岗位、职务、工作表现和业绩关联。&amp;#8220;学历是一块敲门砖，但决非获得好待遇的凭证。&amp;#8221;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 　　&lt;BR&gt;　　优厚的薪酬缘于优良的绩效。IBM对绩效考核的依据来自于个人业务承诺计划（PBC）。这份每年制定的&amp;#8220;军令状&amp;#8221;确定目标时，由员工个人与其直属经理共同商量，以使个人计划与部门计划相融合，保证其切实可行。考核主要从业绩、执行力度和团队精神三方面进行，经理可给下属打分，下属也可对经理打分。&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 　　&lt;BR&gt;　　如果员工觉得自己的成绩未获认可，则可提出异议。IBM强调双向沟通（Two Way Communication），至少有四条制度化通道给员工提供申诉机会：一是借助&amp;#8220;与高层管理人员面谈&amp;#8221;制度向高层经理申诉；二是通过&amp;#8220;员工意见调查&amp;#8221;表达意见；三是&amp;#8220;直言不讳&amp;#8221;地将申诉书投入全球总裁信箱；四是通过Opendoor制度向各级管理者申诉，而该制度则能确保你的申诉得到有关部门的调查和回复。&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 　　&lt;BR&gt;　　值得一提的是，IBM的管理制度并非固定不变，而是根据市场行情及时调整以使效益最优化。以薪酬为例，IBM委托专业咨询公司提供最新行情，以确保其薪酬的市场竞争力。&lt;/P&gt;&lt;img src ="http://www.mscenter.edu.cn/blog/shilion/aggbug/869.html" width = "1" height = "1" /&gt;</description></item><item><dc:creator>andrew</dc:creator><title>人生致命的八个经典问题</title><link>http://www.mscenter.edu.cn/blog/shilion/archive/2005/02/24/857.html</link><pubDate>Wed, 23 Feb 2005 18:40:00 GMT</pubDate><guid>http://www.mscenter.edu.cn/blog/shilion/archive/2005/02/24/857.html</guid><description>问题一，&lt;BR&gt;如果你家附近有一家餐厅，东西又贵又难吃，桌上还爬着蟑螂，你会因为它很近很方便，&lt;BR&gt;就一而再、再而三地光临吗？&lt;BR&gt;回答：你一定会说，这是什么烂问题，谁那么笨，花钱买罪受？&lt;BR&gt;&lt;BR&gt;可同样的情况换个场合，自己或许就做类似的蠢事。不少男女都曾经抱怨过他们的情人或&lt;BR&gt;配偶品性不端，三心二意，不负责任。明知在一起没 什么好的结果，怨恨已经比爱还多，&lt;BR&gt;但却&amp;#8220;不知道为什么&amp;#8221;还是要和他搅和下去，分不了手。说穿了，只是为了不甘，为了习&lt;BR&gt;惯，这不也和光临餐厅一样？&lt;BR&gt;&lt;BR&gt;&amp;#8212;&amp;#8212;做人，为什么要过于执著？&lt;BR&gt;&lt;BR&gt;问题二，&lt;BR&gt;如果你不小心丢掉100块钱，只知道它好像丢在某个你走过的地方，你会花200块钱的车费&lt;BR&gt;去把那100块找回来吗？&lt;BR&gt;回答：一个超级愚蠢的问题。&lt;BR&gt;&lt;BR&gt;可是，相似的事情却在人生中不断发生。做错了一件事，明知自己有问题，却也不肯认错&lt;BR&gt;，反而花加倍的时间来找藉口，让别人对自己的印象大打折扣。被人骂了一句话，却花了&lt;BR&gt;无数时间难过，道理相同。为一件事情发火，不惜损人不利已，不惜血本，不惜时间，只&lt;BR&gt;为报复，不也一样无聊？失去一个人的感情，明知一切已无法挽回，却还是那么伤心，而&lt;BR&gt;且一伤心就是好几年，还要借酒浇愁，形销骨立。其实这样一点用也没有，只是损失更多&lt;BR&gt;。 &lt;BR&gt;&lt;BR&gt;&amp;#8212;&amp;#8212;做人，干吗为难自己？！&lt;BR&gt;&lt;BR&gt;问题三，&lt;BR&gt;你会因为打开报纸发现每天都有车祸，就不敢出门吗？&lt;BR&gt;回答：这是个什么烂问题？当然不会，那叫因噎废食。&lt;BR&gt;&lt;BR&gt;然而，有不少人却曾说：现在的离婚率那么高，让我都不敢谈恋爱了。说得还挺理所当然&lt;BR&gt;。也有不少女人看到有关的诸多报道，就对自己的另一半忧心忡忡，这不也是类似的反应&lt;BR&gt;？所谓乐观，就是得相信：虽然道路多艰险，我还是那个会平安过马路的人，只要我小心&lt;BR&gt;一点，不必害怕过马路。&lt;BR&gt;&lt;BR&gt;&amp;#8212;&amp;#8212;做人，先要相信自己。&lt;BR&gt;&lt;BR&gt;问题四，&lt;BR&gt;你相信每个人随便都可以成功立业吗？&lt;BR&gt;回答：当然不会相信。&lt;BR&gt;&lt;BR&gt;但据观察，有人总是在听完成功人士绞尽脑汁的建议，比如说，多读书，多练习之后，问&lt;BR&gt;了另一个问题？那不是很难？我们都想在几分钟内学好英文，在5分钟内解决所有难题，难&lt;BR&gt;道成功是那么容易的吗？改变当然是难的。成功只因不怕困难，所以才能出类拔萃。有一&lt;BR&gt;次坐在出租车上，听见司机看到自己前后都是高档车，兀自感叹：&amp;#8220;唉，为什么别人那么&lt;BR&gt;有钱，我的钱这么难赚？&amp;#8221; 我心血来潮，问他：&amp;#8220;你认为世上有什么钱是好赚的？&amp;#8221;他答&lt;BR&gt;不出来，过了半晌才说：好像都是别人的钱比较好赚。其实任何一个成功者都是艰辛取得&lt;BR&gt;。我们实在不该抱怨命运。&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 　　&lt;BR&gt;&amp;#8212;&amp;#8212;做人，依靠自己！&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 　&lt;BR&gt;问题五，你认为完全没有打过篮球的人，可以当很好的篮球教练吗？&lt;BR&gt;回答：当然不可能，外行不可能领导内行。&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 　　&lt;BR&gt;可是，有许多人，对某个行业完全不了解，只听到那个行业好发财，就马上开起业来了。&lt;BR&gt;我看过对穿着没有任何口味、或根本不在乎穿着的人，梦想却是开间服装店；不知道电脑&lt;BR&gt;怎么开机的人，却想在网上发财，结果道听途说，却不反省自己是否专业能力不足，只抱&lt;BR&gt;怨时不我与。&lt;BR&gt;&lt;BR&gt;&amp;#8212;&amp;#8212;做人，量力而行。&lt;BR&gt;&lt;BR&gt;问题六，&lt;BR&gt;相似但不相同的问题：你是否认为，篮球教练不上篮球场，闭着眼睛也可以主导一场完美&lt;BR&gt;的胜利？&lt;BR&gt;回答：有病啊，当然是不可能的。&lt;BR&gt;&lt;BR&gt;可是却有不少朋友，自己没有时间打理，却拼命投资去开咖啡馆，开餐厅，开自己根本不&lt;BR&gt;懂的公司，火烧屁股一样急着把辛苦积攒的积蓄花掉，去当一个稀里糊涂的投资人。亏的&lt;BR&gt;总是比赚的多，却觉得自己是因为运气不好，而不是想法出了问题。&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 　　&lt;BR&gt;&amp;#8212;&amp;#8212;做人，记得反省自己。&lt;BR&gt;&lt;BR&gt;问题七，&lt;BR&gt;宁可永远后悔，也不愿意试一试自己能否转败为胜？&lt;BR&gt;解答：恐怕没有人会说：&amp;#8220;对，我就是这样的孬种&amp;#8221;吧。&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 　&lt;BR&gt;然而，我们却常常在不该打退堂鼓时拼命打退堂鼓，为了恐惧失败而不敢尝试成功。以关&lt;BR&gt;颖珊赢得2000年世界花样滑冰冠军时的精彩表现为例：她一心想赢得第一名，然而在最后&lt;BR&gt;一场比赛前，她的总积分只排名第三位，在最后的自选曲项目上，她选择了突破，而不是&lt;BR&gt;少出错。在4分钟的长曲中，结合了最高难度的三周跳，并且还大胆地连跳了两次。她也可&lt;BR&gt;能会败得很难看，但是她毕竟成功了。她说：&amp;#8220;因为我不想等到失败，才后悔自己还有潜&lt;BR&gt;力没发挥。&amp;#8221;一个中国伟人曾说；胜利的希望和有利情况的恢复，往往产生于再坚持一下&lt;BR&gt;的努力之中。&lt;BR&gt;&lt;BR&gt;&amp;#8212;&amp;#8212;做人，何妨放手一搏。&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 　&lt;BR&gt;问题八，你的时间无限，长生不老，所以最想做的事，应该无限延期？&lt;BR&gt;回答：不，傻瓜才会这样认为。&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 　&lt;BR&gt;然而我们却常说，等我老了，要去环游世界；等我退休，就要去做想做的事情；等孩子长&lt;BR&gt;大了，我就可以&amp;#8230;&amp;#8230;我们都以为自己有无限的时间与精力。其实我们可以一步一步实现理&lt;BR&gt;想，不必在等待中徒耗生命。如果现在就能一步一步努力接近，我们就不会活了半生，却&lt;BR&gt;出现自己最不想看到的结局。&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 　&lt;BR&gt;&amp;#8212;&amp;#8212;做人，要活在当下。&lt;BR&gt;&lt;img src ="http://www.mscenter.edu.cn/blog/shilion/aggbug/857.html" width = "1" height = "1" /&gt;</description></item><item><dc:creator>andrew</dc:creator><title>Finding an open source programming job</title><link>http://www.mscenter.edu.cn/blog/shilion/archive/2005/02/24/855.html</link><pubDate>Wed, 23 Feb 2005 16:19:00 GMT</pubDate><guid>http://www.mscenter.edu.cn/blog/shilion/archive/2005/02/24/855.html</guid><description>&lt;FONT size=2&gt;Brian Aker, director of architecture for &lt;/FONT&gt;&lt;A href="http://www.mysql.com/"&gt;&lt;FONT size=2&gt;MySQL AB&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=2&gt;, says one good way to find an open source programming job is to contact him. He's looking. And his criteria are uniquely open source. "I'm not looking for someone who sends a resume to my mailbox and hasn't looked at our product," he says, "or who has a resume that has the all hottest current skills and every popular certification listed on it." &lt;/FONT&gt;
&lt;P&gt;Aker is more interested in accompishments than credentials. He checks who's speaking at software conferences, and regularly checks open source project updates listed at &lt;A href="http://freshmeat.net/"&gt;freshmeat&lt;/A&gt;. "People whose names show up there frequently tend to get my notice," he says. &lt;BR&gt;&lt;BR&gt;MySQL also has several email lists. The one Brian watches most closely is the internal one that "deals with the guts of the server." If someone has posted intelligently on that list, and has contributed patches, sooner or later Brian is likely to ask, "Hey, dude, would you like a job with us?" &lt;BR&gt;&lt;BR&gt;To Brian, familiarity with MySQL is obviously an important hiring criterion. Beyond that knowledge, he says, "I'm looking for people with pure system skills, not just somebody who took Java for four years in a college class." &lt;BR&gt;&lt;BR&gt;&lt;B&gt;What makes an &lt;I&gt;open source&lt;/I&gt; developer?&lt;/B&gt; &lt;BR&gt;&lt;BR&gt;Brian says one of the major differences between proprietary and open source developers is that open source developers "tend not to want to reimplement everything themselves. They have familiarity with other projects, and know what bits of code from elswehere can be incorporated into what they're working on -- a skill you don't find in most commercial developers." &lt;BR&gt;&lt;BR&gt;Another major difference he sees is that open source people tend to need less tech support. He says he's talked to commercial developers "who sit in their office and program but don't know how their computers work, while most open source people know how to set up a compiler (and sometimes build their own computers and set up their own networks). There's a lot less handholding needed." &lt;BR&gt;&lt;BR&gt;&lt;B&gt;"The best way to get a job is to do something"&lt;/B&gt; &lt;BR&gt;&lt;BR&gt;It can be participation in an existing open source project or starting your own. Or writing documentation, especially for new grads trying to get started in the field. Brian says, "If somebody's trying to get a break, there are open source jobs besides being a developer. Documentation is not a bad starting place." He notes that most open source project leaders tend to be good communicators, and that writing documentation is a good way to show off your communications skills. "And then you get the publishers coming around wanting you to write books, too," he says, "and that's nice." &lt;BR&gt;&lt;BR&gt;Another method of worming your way into an open source company's good graces is offering to do a project on spec. That is, if you see a feature lacking in one of its products, offer to write it and accept pay only if it works out. Many of Brian's most successful hires have started with a trial project. He notes that this is not common practice in the U.S. but is normal in many other countries, which may give an edge to non-U.S. applicants in some situations not because of exchange rates or cost of living differences, but because "try before you buy" testing of prospective employees is more common elsewhere. &lt;BR&gt;&lt;BR&gt;(MySQL AB is headquarted in Sweden. Brian Aker lives in Seattle, Washington, USA, so technically he's an "offshore" employee. The staff he supervises is scattered all over the world, with a majority of MySQL staff developers working from their homes, connected to the company via email, IM, IRC, and telephone.) &lt;BR&gt;&lt;BR&gt;Of course, the "something" you do if you're aiming for an open source job doesn't specifically have to be with the hiring company's code. One of the great advantages a manager has when evaluating an applicant with open source experience, says Brian, is that "the code (he or she has written) is out there. It's immediately available to look at." &lt;BR&gt;&lt;BR&gt;Brian says, "In a typical white board interview I might ask 100 questions the applicants learned all the answers to in college. I still don't get a good feeling for them out of that. But if they've implemented open source code, I can go read it and see what they did." &lt;BR&gt;&lt;BR&gt;&lt;B&gt;Where are the open source jobs?&lt;/B&gt; &lt;BR&gt;&lt;BR&gt;Brian says, "At this point ask yourself, 'How many open source companies are out there?' It's a trick question. Is Google an open source company? The answer is yes." &lt;BR&gt;&lt;BR&gt;And Google is only one of thousands of companies competing for top open source developers. Brian says, "I can't go around hiring leaders from big-name open source projects. They're all hired. If they don't have day jobs it's because they don't need them." &lt;BR&gt;&lt;BR&gt;Often, as with MySQL, companies that use open source heavily will give a job prospect a trial project to work on, although sometimes they'll only do this if the applicant mentions the idea. "Ask for the opportunity," Brian says, "and follow up on it." &lt;BR&gt;&lt;BR&gt;He also notes, "You can go to Microsoft and say, 'I'll implement this wonderful feature in Windows,' and they have no way for you to do this. But someone can look at MySQL's code, say the same thing, and we can say, 'Go right ahead.'" &lt;BR&gt;&lt;BR&gt;Even companies that aren't committed to open source can often be talked into allowing programmers to work on open source projects as part of their jobs. "I think if you say, 'I want so much of my work to be open source,' you can often get what you ask for," says Brian. He warns that such requests should be gentle, not couched in radical political terms or as a good vs. evil choice, because "companies don't like militancy." But, he adds, "If you really believe in yourself, you can get away with a lot more than if you don't." &lt;BR&gt;&lt;BR&gt;Indeed, Brian suggests that finding a job where you can write open source software at least part of the time is a good career move even if you expect to spend most of your working life writing proprietary code. The reason for this is not idealism, but pure, pragmatic self-interest. &lt;BR&gt;&lt;BR&gt;"When you go to the next company," he says, "you can actually point to lines in a program and say, 'This is what I've done.'" &lt;/P&gt;&lt;img src ="http://www.mscenter.edu.cn/blog/shilion/aggbug/855.html" width = "1" height = "1" /&gt;</description></item></channel></rss>