Perfil de PENG不愿游泳的鱼FotosBlogListasMás ![]() | Ayuda |
|
|
18 julio 我的书终于出了呵呵,终于盼到了好消息,我的书终于出版了。据说我的样书已经在快递中了,过两天就可以收到,呵呵,好激动。不过,Eclipse发行版都已经到了3.4 版了,而我的书中使用的版本是3.2,不知道这会不会影响图书的使用。最可气的是,出版商将这本书定价定了75元,太黑了。。。成为了他们赚钱的工具 这是图片: ![]() 下面是网上已有的链接。让人心烦的是,china-pub和dangdang都还没有货。。。不过已经不错了呵呵,知足吧! 第二书店链接:http://www.dearbook.com/book/248886 新风雨网络商城:http://www.cnforyou.com/query/bookdetail1.asp?viBookCode=4442 电子工业出版社:www.phei.com.cn/bookshop/bookinfo.asp?bookcode=TP054980&booktype=main 中关村书店:http://www.e-bookshop.com.cn/buzi/BookDetail.aspx?ID=21680 20 febrero 推荐一篇文章--我鄙视Facebook之所以推荐这篇文章,是因为它是从一个与众不同的视角来介绍Facebook的。现在的新技术不断涌现,而在技术的背后,有价值观作为其支撑。技术与哲学,正在日趋明显的走向融合。以前至少我自己,对这个角度认识不足,很少从哲学上审视技术究竟正在向什么方向发展。技术哲学,这个我在一年多前才听过的学科,正在由于技术的不断革新而慢慢凸显其重要性。 15 noviembre 弹射座椅拉杆——人的错误还是软件的错误?今天看了VB之父艾兰·库伯几年前写的《软件开发的创新思维》,发现这的确是一本绝妙的书。尽管当时库伯提出的许多观点现在都被普遍接受并认可了,但是,并不是说明所有的问题都解决了。正如软件工程一样,很多人现在提“网络时代的软件工程”,畅想并实践Web2.0时代软件开发的模式,但并不能将曾经已有的软件工程的理论抛弃。可以说,计算机世界里的所有事情都是这样,新的亮点出现了,但并不能说旧有的东西都可以被扔掉。大多数从前的问题到今天仍然作为问题存在着。 VB带给了人们一种新的编程体验。可以说,VB教会了人们如何在编程中注入乐趣。当所有其他人还在命令行或文本编辑器中敲来敲去时,VB程序员已经在拖拽中享受着快速开发的快乐了。它使得那些编程基础并不怎么好的程序员也能够开发出漂亮的程序,起码“可以使用”的程序,降低了软件开发的门槛。在《软件开发的创新思维》这本书中,库伯跳出技术的视角,带领人们从根本上思考人类与机器的关系——在这样一种独特的视角的带领下,你会发现,许多你已经习以为常的行为是多么的荒唐可笑: 对于许多高新技术带来的问题,我们总是倾向于归咎于自己,而从来不曾想过这些技术本身究竟有没有存在问题。在越来越多令人眩晕的技术面前,人们已经进入了自己营造的牢笼。 软件是这样被使用的:软件开发者们先训练自己来适应自己亲手打造的系统(或者是更多则是另外一种可能,训练自己开发的系统以适应自身),并迷恋于这个系统拥有的强大功能,然后写上厚厚的用户手册将自己训练的成果复制给软件使用者。大部分软件开发者都具有“自恋”倾向,他们总是希望用户按照他们的设想来进行操作,对于他们自己,由于习惯于以接受挑战为乐趣,很可能将这种习惯反应到用户界面上来。。。然后在他们眼里,只有不懂软件的用户,没有不懂用户的软件。。。 正好我刚刚自始至终做完一个软件,对此深有体会。作为开发者,我们总是在跟测试人员打交道的时候占据上风,无论是口头还是内心。最习惯的想法是,“没了我们,什么也得不到,你们的工作可以忽略不计。”、“这些测试人员基本上智商等于0,怎么傻到做那样的动作!”、“烦不烦,嘴里蹦出几个字要让我的工作拖延一个星期!天哪,我下辈子绝对不做开发者!”那时认为自己义正词严,但在看这本书时,才意识到一个开发者端正自己的心态是多么的困难。 在这本书对于现有软件的描述中,“弹射座椅拉杆”的说法让我忍俊不禁。“弹射座椅拉杆”指的是在发生紧急情况时,将飞行员弹出座舱的设施。这里指的是当无辜而又可怜的用户使用软件时,猝不及防的被软件踢出门外。用户们必须小心翼翼的使用软件,生怕自己在未来的行为里被软件所嗤笑。只要偶然的触发了“弹射式座椅拉杆”,就会开始一个针对个人的难看插曲,就像是在办公室里忘记穿自己的裤子那样狼狈。。。 正好又跟我做的项目绝妙的对应!在我刚刚参与的项目里,曾经没有区分Error和Warning的弹出信息,结果只要用户稍有不慎,一个大大的红叉再加上一声刺耳的系统“咚”声便会从计算机里蹦出来。天哪!就连我们自己去用都像在看恐怖电影一样惶恐不安,更别说只懂得业务的用户了。好像我们的开发人员天生要履行教育家的职责,要用严刑峻法驯服用户。开发软件的目的从帮助用户做更多的事情转变为驯服用户从而使软件能够无故障的运行。。。根本的错位。。。 其实现在有很多这样的现象,如果一个公司员工由于一个不慎的操作(系统也没有给予足够明确的提示)将该公司的数据库破坏。。。这个员工的命运是可想而知的。。。 人的错误还是软件的错误?起码作为软件开发者来说,应该将大部分问题归结为软件的错误,以此来勉励自己。 28 mayo 总统信息技术委员会2005年给政府的报告(三)五、研发挑战本章对当前的研究与开发面临的挑战提供了细节性的描述 计算科学具体方面的研发挑战
现有的软件非常复杂,底层编程的门槛很高,商业桌面软件开发成本高,开发难度大,价格昂贵,用户无法承受。因而在未来必须采用各种办法支持计算科学软件研发领域的优秀的工程实践。
在分布式计算中, 未来的系统软件和中间件必须能够扩展,支持大规模的处理器并能够有效的消除故障. 因而,需要将网络行为和输入、输出接口设计成不可分割的完整系统.
政府必须推出新一代算法、软件、硬件项目,以建立新型计算机系统原型
离开计算模型、可视化和其他知识发现工具,大规模数据不能被有效的分析,因而需要研发新一代数据管理软件。 结论计算科学是为自然科学和社会科学以及工业快速发展做出贡献的关键性领域,然而绝大多数人对这个学科缺乏理解。而且计算科学本身只是在默默的为各个领域做贡献,缺乏自己独立的发言人来陈述该行业的需求。 为确保美国21世纪的竞争力,学术机构和联邦政府领导者应成为设计和实现跨学科科研教育机构的先锋力量。联邦政府必须同研究机构和产业部门合作,绘制并执行一个计算科学路线图,来长期直接协调在计算科学高端应用和它们所依赖的底层技术上的投入,以便在今后为需要这些技术的学科做出更大的贡献。 联邦政府同它的合作者需要遵循计算科学路线图,迅速转向构建可持续的软件、数据、高端计算的基础结构,为可扩展和可靠性硬件体系结构的良好工程性和易用性软件的研发提供资助,这样会将计算科学提升到国家战略性、长期性的优先地位。
后记 我期待着中国有一天也有这样的发展战略出台。看看美国所谓的“大市场,小政府”的框架,再看看我们所谓的“大政府,小市场”的框架,我们“看得见的手”在哪里呢?其实“大市场,小政府”的提法是极其错误的,是一种观念上的误导。现在我国的许多研究没有政府政策及资金的大力支持是不可能进行下去的。现在的问题是,政府的确在前沿发展中起到了很多的作用,但是这是不是作为一股健康的力量来起作用呢?如果没有大的战略规划,没有明确的方向性的引导,即使再想大力支持,也很难不陷入误区。堂堂一个大国,竟然没有称得上战略性规划的东西,真是可悲。看过863,看过973的立项和研究课题建议,许多都是将国外的前沿领域照抄过来而已,而国外的研究建议却是字斟句酌过的。我实在怀疑为863和973立项的人到底清不清楚他们写的是什么,跟中国的实际符不符合。我也不清楚高校导师们申请项目的真正动机。希望我有机会亲眼看到、亲耳听到、亲身感受到中国IT事业的强大。 总统信息技术顾问委员会2005年给政府的报告(二)三、为计算机科学制定长期路线图本章阐述了为计算科学制定长期路线图的意义,并详细介绍了路线图所应包含的内容。 原则和要求
软件具备支持学科内及学科间小组结合和支持复杂计算科学研发的能力,因而是指定计算科学路标的首要焦点。
计算科学所包括的领域
路线图的元素成功的路线图通常包括:
计算科学路线图需要强调的几个方面
创建路线图的重要意义确立和遵循一个单独创建,但反映研发机构多数部门意见的计算科学路线图,将会证明是使美国朝着“回到未来”目标迈进的重要一步,会使美国的技术继续保持其无可争辩的领先地位 四、适于发明与竞争的可持续基础设施
本章介绍了为保持计算科学竞争能力和研发能力所需要构建的基础设施 底层设施的关键部分
由政府出资,维持软件的开发、支持和获取。软件维持中心的作用是:
当有新的商业供应者出现时,政府应该购买他们的产品并且改变自己原来发展技术的努力方向
现有的情况是:大型国内和国际分布式的合作,依赖于通过远程获取联合数据,政府需要协调数据管理和长期维护这些共有的数据;支持有活力的、用户界面友好的数据仓库比较昂贵,对用户的智力有较大的要求,并且需要很多与理论研究并不很相关的技术和行业动力。 为了解决这些问题,需要创建国家数据和软件仓库,为科学研究从战略和目标上获得优先权。
现有的高端计算系统已经不能适应21世纪研究的挑战和国家安全的需要,为了满足需求,需要构建高端计算领导中心。 未来的高端计算系统的部署不能作为竞争来进行,而应该作为共同的战略需要,要求不同的制造厂商同时进行。 国家应该为现有高等计算中心持续投资,并且为新的战略模式提供担保,以鼓励在该领域的研发,从而保证美国的研究机构与工业界同最高级的计算系统紧密结合。 美国总统信息技术顾问委员会2005年给政府的报告(一)这两天导师让我找到毕设时翻译的文字作报告,我很不解其意图,又不好意思拒绝。做完PPT之后才发现原来曾经翻译的东西很有用处。翻译的文章(其实相当于一本书了)名字叫做《计算科学:确保美国的竞争力》,是2005年6月份美国总统信息技术顾问委员会提交给政府的报告。一年多过去了,我很吃惊的发现,这份报告中提到的许多建议都被政府采纳,在计算科学领域的许多新的成就中可以看到这份报告的影子。由此不难理解美国何以能够在计算科学领域,乃至所有高科技领域远远领先其他国家了:有一帮兢兢业业专门为国家的发展出谋划策的智囊团,他们拿着政府津贴每天吃饱了没事干只能不停的想如何使美国竞争力更强;有一个乖乖听智囊的话的政府,这样的政府其实什么都不会做都可以,只要他们明确“要让美国比其它国家强大”这一点,并且往外砸钱就够了,下面自然有很多的人来为你美国的发展出谋划策;还有一帮热衷于钻研的教授研究者们,他们既然已经拥有了非常高的福利和社会地位,也就没什么好牵挂的了,心甘情愿心安理得的卖命的干;再加上许多有长远目标懂得技术积累比当前收益更重要的企业,这些企业愿意寻求新的技术以占领市场制高点……最重要的是,企业竟然有政府的担保,即使胡乱创新失败了巨额耗费也由国库兜着!我就不知道这样的国家没有竞争力还有什么样的国家有竞争力了。即使心里着急想让它赶快垮掉也无济于事,不得不承认他们做的的确比我们国家要出色的多。话又说回来,美国砸钱很容易,美国向别的国家贷款,有哪个国家敢不给?即使不给,政府的印钞机一开,美元哗哗的就出来了,最后所有后果还是由全世界来承担。好了,废话少说,来看看给政府报告的内容(提纲性,但基本都已概括)。 计算科学:确保美国的竞争力
总统信息技术顾问委员会 (President’s Information Technology Advisory Committee) 报告摘要计算科学现状
PITIC的建议联邦政府必须重新调整研发投资,开创新一代精心策划、易使用的大型软件以适应计算科学的发展,从而为解决当今科学应用的挑战减少时间和复杂性,也能够构建出精确的仿真模型解答新问题;并且设计新的硬件结构原型,并对其评估,使硬件在最佳性能时处理关键应用的比例更大;以传感器和数据密集型的计算科学应用为重点,以此应对数据的爆炸性增长。 一、美国在科学领域的竞争力受到挑战本章通过叙述新世纪技术的特征,引入了计算科学的概念,并指出美国当前在该领域面临新兴国家的挑战。 新世纪技术的共同特征美国的科学界和政府组织所援引的最有希望带来经济发展并且是21世纪技术中最重要的科技前沿领域包括:
这些在新世纪中涌现的技术有一个共同的基本特征: 计算科学的定义计算科学是计算能力在现实生活中解决问题的简单应用。作为高速发展的多学科领域,它以先进的计算能力为依托,帮助用户理解和解决复杂的问题。计算科学融合了三个不同的元素:
计算科学被誉为21世纪科学界的第三个支柱,它所横跨的领域如图1所示。
图1 计算科学横跨的领域 没有结束的革命美国的计算科学创造了前所未有的成就。然而,革命远未结束,当前美国领先地位受到其他国家的挑战。美国当前计算科学领域内的问题有:
为此,需要重新调整计算科学的结构。这需要从三个方面进行调整:
二、面向二十一世纪的教育机构本章对当前的教育机构进行了分析,并为创建二十一世纪的教育机构提供了一些具体建议。 拆除组织壁垒现在的大学组织机构基本上呈竖井状分布(如图2),严重阻碍了人员的流通和学术的进步。如果准备挖掘计算科学的全部潜力以支撑民族的战略利益,大学和联邦科研机构必须摆脱学科壁垒和刚性的组织结构。
图2 大学组织机构图 革新机构角色
应对多学科教育挑战
培养21世纪领军人物PITAC认为,在当今政府部门、学术界和工业界,计算科学的高级领导有意愿并且能够考虑国家任务的人不多于100个,这样的状况需要通过持续的领导层发展规划来扭转。领导层发展规划应该以年轻的研究者为目标,培养他们应对专业项目计划管理挑战的能力。这些能力中包括了团体规划能力和同政府官员、立法委员会沟通的能力,因为这些技能对大型计算科学项目和基础设施的监督管理的成功至关重要。 可供使用的培养策略有:
诸如此类的项目至少会部分指出和纠正政府中长期存在的严重问题。未来的学术界和政府机构中需要想象力丰富并且能积极思考的领军人物。
28 noviembre Study of "Internet Service Providers and Peering"“Internet Service Providers and Peering”学习原文链接地址:(Is there a released copy?)Draft1.9:http://www.ecse.rpi.edu/Homepages/shivkuma/teaching/sp2001/readings/norton-peering.pdfDraft2.5:http://www.scs.stanford.edu/nyu/04sp/sched/peering.pdf这篇文章风格活泼,有大量的图表,让人很容易读下去。文章的分析方法很让人感到新奇,竟然用许多数据流图来量化表示它对技术和商业策略的评估,支持自己得出某些结论。原来可以这样用! 看完这篇文章,我学到了以下东西: 一个网络运营商(ISP)不可避免的同其他的ISP打交道,而这就跟世界上的人有穷有富一样,网络运营商也有大有小。可以将运营商之间的关系分为两大类:一种是peering,对等关系,另外一种是transit, 暂时还不知道中文名称应该如何翻译比较好,利用关系?使用关系?经由关系?其意思是通过另一个ISP的路由表能够抵达其他ISP,相当于另一个ISP成为了这个ISP到达其他ISP的中介。其实说白了就相当于你要去某个地方,但是有不同的方式让你选择,一种可以直接抵达,另外一种是通过某个高速公路抵达,你怎么选择的问题。
Peering和Transit的区别是:peering关系A的路由表中包含了B的所有子网和节点的路由信息,B也如此;而transit关系中A的路由表中不但包含B的所有子网和节点,而且A还拥有对B网络内部路由表的访问权限,从而能够通过B抵达其上游提供商:Upstream Provider. 于是便有了选择的问题。同样,既有优点又有缺点。优点是: 1.会降低Transit的费用 2.会具有更快的传输,降低延迟。 缺点是:1.不对称得网络流量。虽然是peering,但是的确peering的双方需求不同,流量也不会相同,因此大ISP可能在此中的利益会受到损害 2.节省的收益可能要投入到其他增加的开销中去 3.增加相互竞争,从而产生出一大批新的有实力的ISP厂商,对网络产生危害。 于是重点在如何选择对ISP最为有利。文章中列举了大量的phase是要说明这个问题。 这里我又感觉到其实在peering和transit中选择跟上篇Is IP going to take over the world(of communications)?一文有相似之处。其实都没有什么通用的最优策略,都是要根据具体的实际情况来权衡,在这个意义上,技术不能简单地使用好与坏来区分,只能是说,对于什么样的情况,采取什么样的方式比较好。在此,我找到了计算机科学同社会科学的相通之处。 Study of "Is IP going to take over the world (of communications)?"是不是也该写一些技术方面的文章了?下面是我对一篇论文的读后感。 Is IP going to take over the world (of communications)? 原文链接地址:http://100x100network.org/papers/fernandez-hotnets2002.pdf 这篇论文对大多数人普遍认为的IP在未来将会掌控通讯世界的看法提出质疑,不但用翔实的论据和大量的推理将我们思维中的IP神话一一破除,并且在比较电路交换和分组交换的优劣之后,得出了这样的结论:基于分组交换的IP协议应该在边缘网络中继续发挥它最大努力交付的功能,而核心网络则应该使用光纤电路交换作为多种服务的平台。 对文章所提问题的一些探讨倘若核心层用光纤电路交换,那么这样的专线如何注册,如何登记?而要重新构建庞大的像电话线一样的专线系统会花费多大的人力物力?还有,核心网络如何从支持IP的分组交换转换为光纤电路交换?呵呵,这是我在读本科时所提出的疑问,不过现在竟然提不出来这样的疑问了,如果没有再看到这篇文章。 重新构建庞大的像电话线一样的专线系统是不可行的。这会造成更大的资源浪费。而且现有的技术手段也已经摒弃了这种做法。现在已经有一些公司去申请专线,这意味着电路交换在未来将会有越来越大的需求。 无论文章中如何说明IP使用的范围不广,我们从实际生活中已经感受到互联网已经使并且正在继续使整个世界为之改变。而IP协议正是互联网得以快速传播的基础,所以在目前情况下来看,想要改变现有的通信技术格局将会是一个漫长的过程。我比较同意文章中所说的,让路由器支持电路交换和分组交换两种方式,从而使其能够自适应。这个设想非常具有诱惑力,如果这项技术实现,就意味着我们可以在现有的光纤线路基础上,提供电路交换的服务。但是由于这是两个完全不同的系统,所以利用现有光纤结构支持电路交换将会是一个技术瓶颈,没有太多选择的余地。而这项技术一旦实现并开始推广,这意味着路由器厂商的春天来临了,从前的路由器都有更换的可能。 我在思考电路交换跟IP有什么本质的区别?特别是跟TCP/IP这种面向连接的服务的区别是什么?我所理解的就只是电路交换要求在通信开始之前先建立一条链路,而后源端和目的段独享此线路,这个独享是指物理层上的独享;而TCP/IP是逻辑上的专线,仍然是遵循多路复用的原则,一条链路上可以同时有很多TCP/IP报文传输,因为TCP协议封装在IP协议内部,在未去头尾之前无法分辨是否使用了TCP协议。 文中所提到的IP协议比较大的缺点是复杂,在路由器的处理过程中花费了很大的代价,但是如果使用电路交换,假如不拉专线的话,仍然需要路由器来进行分辨选择,那这时候只需要为每个端设定一个唯一的标识,只要刚开始双方同意传输数据之后,就建立好了物理连接,以后就不需要再由一层层底层协议包裹着传输了,的确省了很多工作。 我不是很认同文中的划分方法:在网络的边缘地带使用IP协议,在核心网络使用电路交换,有两个问题:一是这个边缘网络、核心网络的界限如何划分?如果像文中所说的根据通讯环境的不同来划分,将无线、卫星通信和水下通信列为边缘网络,这样做的确很容易做到,但是仍然过于死板。许多不需要Muntiple-service的用户使用IP协议就已经绰绰有余了,没有必要使用专线网络。因此,应该面向用户需求来选择是否使用电路交换方式。 读后反思读完之后还是反思挺多的。 首先,任何一项技术都应该以辩证的思维来看。从前我一向觉得网络没有挑战性,因为它是已经给出的一组规则,我们所做的只是了解它、使用它。因为所有人都这样做,所以我们考虑如何改进它时只是在现有的技术框架下来思考,而这通常是很难有大的突破的。因此,必须要打破常规的思维方式,对一切所学的知识报有批判的继承的态度,才有可能提出大的创新点。 其次,许多技术以前不采用只能说明它在当时不如其他技术好。但是并不说明它今后永远都是坏技术。电路交换就是这样。我们在学习网络的第一天起,就听到的是电路交换的坏处,分组交换的好处,这样的知识甚至已经成为我们思维习惯中的一部分。而读完这篇文章之后,我发现电路交换也有非常多的优点。许多事情仔细想想很有意思,由于当时的带宽所限我们没有能力使用电路交换,选择了分组交换;而分组交换的发展使得带宽资源的不断快速增长,又带给电路交换以重新使用的可能。技术可能就是这样在不断的进步吧! |
|
|