How To Become a good Programmer?
首先问你一个问题:
你们在学校都学些什么课程?问这个问题的原因是,我认为学校的计算机科学基础课很重要。如果你所在学校的课程设置合理,那你应该先把主要精力花在这些基础课上。很多学生看到基础理论就茫然,不知道这些图表,符号,甚至硬件的知识对将来的软件开发有什么用。用处大得很哪。比如, *** 作系统课里讲到的多线程冲迅的东西在系统编程里很有用。又比如,尽管你将来不会去涉及电脑的硬件,计算机架构里的知识对分析算法的性能(快慢等等)很有用。可以把计算机语言和开发工具比作文字,而把计算机科学的知识比做思想。只有思想,不会行文,不行;但是,行文流畅,思想空洞,也不行。大学的阶段正是打好基础,丰富思想的年代。
成为一名好的程序员,不是简单地通过学几门课程就能做到的。我个人认为成为一名好的程序员的要素有:
1。扎实的基础知识;
2。很强的解决问题的能力;
3。熟练的编程调试能力;
4。创新能力;
5。团队合作能力;
6。持续的自学能力;
7。好奇心
这些能力和品质(甚至可以说是习惯)都应该从大学阶段就着手培养,并且从身边的小事开始培养。比如,很多中国的大学毕业生都缺乏编程和调试经验。学习C语言,考试过关就算学会了。课题项目中,只要程序能够编译,运行,并且输入输出满足要求就了事了。但是,写程序的时候是否想过如何把程序写得更加精炼,高效,高质量?对程序调试中出现的问题是否刨根问底知道原因,还是不求甚解搪塞过去算数?还有,很多中国的大学毕业生对于知识的掌握肤浅,机械,没有好奇心,不会刨根问底。比如,学会了C++,有没有看过一个object在编译后,在汇编代码中是如何被初始化的?这个object的各个成员在内存中是如何放的?在一个成员函数被调用的时候编译器在汇编代码中加入了哪些额外的动作?虚函数的调用是如何实现的? 这些东西恐怕在编程语言或编译原理中都没有详细提到。但是,你是否有过好奇心去知道?最后,一些中国学生的大问题就是死记硬背,没有学到某种算法技术的根本原理,没有应变和创新的能力。比如,有个问题是如何在不用额外内存的情况下把一棵树的同一层节点都连起来。很多学生都能够回答这是一个广度遍历的问题。但是,课卖简本上说了广度遍历是一定要有额外数据结构辅助的(队列)。所以,不给额外内存怎么行?请看,课本上说的用队列的方法记住了,但是就是不知道为什么要用队列。如果深刻掌握了这个队列的作用,那么这个问题是很容易的。
举了这么多例散配此子,我想说明的事,想成为一位好程序员(其实从事任何一个行业都是如此),重要的是要养成一个钻研,好奇,创新,动手,合作,不满足于填鸭,不满足于考试交差,不满足于表象的一种优秀的习惯。这不是学几门课能够一蹴而就的。当然,如果你的在校课程不能使你满足,我以及论坛上的朋友可能能够给你推荐一些书或科目。
我觉得要提高编程的能力,有一位良师很重要。这位良师可以是在编程方面比你走在前面的同学,也可以是学校里你帮他做项目的老师,也可以是校外公司里的老师或老板。很多东西在实际的项目中,有一位良师察看你的程序,帮你指出不足,手把手地指导你调试,会对你很有帮助。所以,当学会了书本上的基本知识以后,可以努力寻找一些有实用性的项目,借机在项目中找到高手指导。这个项目可以在学校找,也可以到校外找。一开始不要计较报酬,甚至如果能够寻到高手指点,白干也行。
其次是读好的源代码。多读好的源代码就象多读好的文章,会有利于自己写作。能够读懂别人的代码也是一门硬功夫。将来很多项目中你不会重头做,而是在半途加入(一般文档又不很齐全),因此需要能够很快读懂别人代码和想法的能力。
再次是看一些编程方面的好书。Writing Solid Code是一本很经典的书。最近出的Writing Secure Code也不错。在你熟练掌握C以后,可以学一下C++并熟悉面向对象的程序设计思路。在掌握C++的基础上可以看一下Design Patterns。
看你要把编程学到多么专业。到一定程度,你会发现如果没有学过数据结构,算法原理,编译原理和 *** 作系统,可能在某些方面会遇到一些障碍。所以,如果有精力和条件的话,可以同时了解这些方面的知识。
最后,我要提醒你不要因为编程这一业余爱好而影响了你本专业的课程,除非你决定转行。对很多在校学生来说,本专业的成绩很重要,因为这个成绩可能会影响到将 来找工作,申请研究生院等等。英语也很重要。我读翻译的计算机书总觉得隔了一层,翻得不贴切。能够直接阅读英文资料更好。
计算机专业修炼和武侠小说中功夫修炼都是一样的:
金庸先生小说中提到高手习武包括内功和外功,其实这个道理在计算机专业同学中一样适用!
内功包括:基本心法和高级心法
基本心法需要每个习武者必须修炼,包括:数据结构、编译原理、计算机组成原理、高等数学、线性代数以及外语等。
高级心法根据个人需要定,比如:网络类需要学习包括TCP/IP原理等;软件工程需要学习包括软件工程的基础课程。
外功包括:基本招式和独门武功
基本招式:比如像C,C++,C#,SQL,XML 一些语言使用或者是Windows 2000 Server的知识等基础应用知识。
高级招式:比如像DX9,Web-Services高级等技术。
程序员的工作其实压力非常大,经常都会有程序员因为压力过大而患上抑郁症,更有一些程序员因为长期高强度工作而导致猝死,但是每年还是很多人想要做程序员,在一些大公司,比如腾讯之类的大型公司手漏仔,程序员的竞争也是非常激烈。压毕汪力这么大,身体也很容易垮,但是为什么还是有这么多人想做程序员呢?我觉得有几个方面的原因。
第一,程序员的工资还是非常高的。在一些大的公司,刚毕业的程序员工资一万块钱都是很少的了,这个相对其他很多专业的学生来说,程序员真的是 一个高薪行业。努力两三年都可以在小城市买房,在大城市也可以付首付了。所以程序员这个职位能够吸引很多人进入的最大一个原因就是经济原因,毕竟有钱赚的工作每个人都会喜欢。
第二,其实换过几份工作的人都知道,没有一个工作是不辛苦的,没有哪个搜穗工作是没有压力的。程序员的工作虽然也是辛苦的,但是公司能够给予程序员的一些福利待遇也比较好,相对来说除了辛苦一点其他的保障还是非常好的,所以这就是很多人坚持下来的原因。
第三,程序员的工作每天都是和机器打交道,很多时候不需要和太多的人沟通,这样的工作对于比较内向或者不喜欢应酬的人来说还是非常不错的。有一些人有社交恐惧症,而程序员的工作多数时候都是当码农,所以他们在做这个工作的时候不需要和太多的人有牵扯觉得比较安心。
其实只要想把自己的生活过好,没有一个人的工作是不辛苦的,只是在辛苦的同时能够得到自己想要的东西我觉得就够了。不过程序员的工作压力大,所以日常生活当中也应该给自己找到合适的锻炼身体的时间,找到适合自己发泄的途径,这样身体才能正常运行。
冰河作者“黄鑫”专访想看激情视频电影请点此
永远的"冰河"
--访著名软件"冰河"的开发者黄鑫
摘自 《黑客防线》第八期
曾有一段时誉饥间,"黑客"在中国被人这样曲解:"黑客就是会用'冰河'黑别人电脑的人!"一听便知这是外行笑话,但引起这场误会的却是"冰河"这个在国内网络安全圈从知名度到装机量都名列前茅的软件。这款优秀网络工具一经问世就颇受争议,争议的核心是它既可当作植入被攻击端的木马,也可作为正当的网络远程管理利器。"冰河"既是软件名也是其作者黄鑫的化名,这个名字挺"酷",容易联想到霜天雪地里冷酷冰下涌动的寒流。自"发源"以来,这条奔涌的"冰河"流域,不计其数的"菜鸟"们从这一流域步入更为广阔的网络安全技术天地。公平地讲,"冰河"及其开发者黄鑫在中国网络安全技术发展史上应占有一席之地。今天让我们一起走近黄鑫,涉入"冰河"。
印象中,自然界里"冰河"何等肃杀与寒气彻骨,而坐在我面前的程序员黄鑫却热情如火,谈笑风生。在北京盛夏一个雨后清爽怡人的傍晚,我随着他对往事清晰的回忆,沿"冰河"逆流而上,追溯源头……
"冰河"的起源
话题从黄鑫与电脑的第一镒亲密接触开始。97年的黄鑫还是西安电子科技大学的一位大三学生,说来难以置信,在大一大二的时候,他还没怎么接触PC,用他自己的话说是:"有一天和宿舍最要好的同学觉得应该弄台电脑玩玩了,便两人凑钱买回一台'486'。"由于电脑在使用时受到了"晚上十一点就全面断电"的校规限制,小哥儿俩再次凑钱到校外租了间小房子。玩电脑开始的日子非常之"爽",他们经常在学校机房与个人"机房"之间以3寸软盘传递信息。但不多几日,"病毒"开始在其间滋生蔓延,学校杋 成了"病毒乐园"。那时的黄鑫还是个不折不扣的初级小菜鸟,自己电脑中了病毒仍浑然不知,还乐此不疲地拷贝着"NDD""PCTOOLS"以及当时流行的小游戏。直到一天电脑不再正常启动,这下他抓了瞎,自己不懂,就找那个要好的"购机合伙人"求援。好友看后送他一句话:"你中了'秋水'病毒!"。虽然到现在黄鑫仍无从考证当时好友判断的正误,今明两天在他当时白纸般简单的计算机知识"内存"中永久存储下了"秋水"这两个字。所谓知耻而后勇,此后黄鑫从如何用KV300、KILL等杀毒软件清除病毒开始了计算机知识的全面涉猎。那台"486"老爷车只能跑DOS,要硬跑起Windows95来则需要足够的耐心,但黄鑫与伙伴仍抵挡不住单机版"红色警戒"的诱惑。为了可以顺畅地把游戏玩爽,为了再遇故障和病毒可以自己解决,黄鑫决心把电脑知识学深学透!他首先从KV300恢复主引导区的概念受到启发,由研究DOS磁盘引导区入手,从文件分配表到55AA扇区一步步把原来看似神秘的东西搞清。回忆那时的经历,黄鑫说:"正是病毒的存在才让我感到电脑的趣味无穷!"如果不是这份兴趣,他恐怕不会将庆旅返才智和精力全部投入其中,也就不会有日后"冰河"这一影响他人自己一生的"作品"的诞生。
没过多久,镇肆己是"中级菜鸟"的黄鑫不再满足于用现成的软件按个F'X'功能键对系统进行自动修复了,他开始使用debug,开始涉及汇编语言,很快就能不再借助任何第三方工具而用手工恢复引导扇区。不久后又将这一手工过程通过一个自编的汇编小程序自动实现,初偿成果的他小有成就感,至此,黄鑫只用短短数月便完成了由"初级小菜鸟"到"初级专家"的质的转变。此时在计算机求知路上的黄鑫己是脱缰的野马,任何成绩的取得都不能放慢他向更高技术层次进取的脚步。正好大三下学期开设了C语言课程,C语言可实现的那些汇编语言无法比拟的强大功能深深吸引了黄鑫,在同班一位极具编程天赋的同学的鼓足下,他开始了自己编程研究的重要转型,主攻C语言,可以想见,对于汇编语言己料熟于心的他,再学C语言可谓触类旁通,很快轻松上手了。但每想到潜心修得的一身汇编硬功就此"废弃",黄鑫的惋惜之情溢于言表,由此也让黄鑫深刻认识到计算机知识的更新速度之快,让求知者不得喘息。从大三开始对计算机知识如饥似渴的汲取,为黄鑫日后成为开发出"冰河"这样经典软件的优秀程序员奠定了坚实的基础。应该说"冰河"今天的一泻千里得益于当年的厚积薄发,大学时代知识的点滴积累就是汇成汹涌"冰河"源头的涓涓细流。
初出茅庐,小试锋芒
大三后半学期开始,黄鑫与那位擅长编程的同学联系到咸阳市的一家公司做一份没有报酬的"兼职",为的是丰富自己的实际开发经验。两人每个周末从西安跑咸阳一趟,为该公司开发一个数控机床的工控机软件。这顶开发也充分发挥了他在DOS与汇编方面的特长。两个人连贯数日挑灯夜战,效率极高,原开发单位一个月没有完成的工作转到他俩手中仅用4天就将一个DOS下运行的仿Windows界面框架构建完毕,接着只用两周时间全部开发工作顺利完成。虽说这个小项目与日后黄鑫参与的大型开发任务无法相比,但毕竟是第一次工作实践。人生每一个有意义的"第一次"都是值得纪念的。后来得知这套工控机软件在全国销路很好,两个没有拿到一分钱奖励的大学生却由衷地感到自豪与成就感。该公司希望他们留下来,但长时间在西安与咸阳间往返奔波毕竟不便,黄鑫决定在母校"西电"附近的软件公司寻找机会。可每次面试,对方刚听完他的自荐便主观判定这个未出校门的手头小伙子既无工作经验,更不可能身怀绝技,甚至还对一个学生的工作责任心表示怀疑,这令黄鑫非常不快也挺寒心。最后他以一种无所谓的心态在一位本校老师开的一家名叫"创富"的小软件公司与这位老师面谈,他明确地跟对方说:"你如果试用我一两个月,说出我什么地方不行,我马上心服口服地走人,但如果连个考察的机会都不给,那未免太主观臆断了。"这位老师觉得有理,就拿出一个别人用Delphi编得不很完善的程序让他修改,黄鑫用了不到半个小时就轻松搞掂,于是他被聘用了。正是这份兼职在他日后的职业发展道路上起到了重要作用,他出众的开发能力很快受到这位老师常识,便在黄鑫毕业后将他推荐到在深圳的"中国科技开发院"工作。当时的黄鑫因有在校与同学打架的记录,毕业评定多少有些不利,他清楚地赢利恰好是"西电"老校友的"开发院"老总面试他时的第一句话:"你现在还敢打架吗?"而黄鑫的回答仍有个性:"有什么不敢的?"老总立即笑道:"行,你来我们这儿吧!"不久后黄鑫得知老总曾是昔日"西电"散打队的一员,原来两人的经历与性格很像,老总也话在黄鑫身上看到了当年的自己,说到两人的友情,黄鑫话很多。两人年纪相差整一轮,既是校友、上下级,更是忘年至交。"他就像一位老大哥,在我多次处境困难的时候无私地帮助过我。"黄鑫一脸真诚地说。除了感激,黄鑫对他更多的是发自内心的敬佩,苟合他的人格魅力、事业心、驾驭企业发展的管理水平、市场动作能力,特别是洞悉判断人的锐利慧眼。大四下半学期,早已完成毕业设计的黄鑫开始在"开发院"上班了。在其后一年多的时间里他的研发水平不断提高,其间他作为主要研发人员参与完成了标底1000万的上市公司"南宁百货"企业MIS系统招标项目,共历时9个月。约一年后他又被借调到广州科友公司做一个USB口令卡的开发,此项目3个月一个开发周期,第一个周期是在模拟环境中完成产品的测试,就在做完测试前后,黄鑫因家庭生活的经济困难以及个人职业发展的长远考虑,面对上海一家公司开出的明显优厚的待遇条件,做出第一次跳槽的决定。当时钱对他是一个很实际的问题。但公司的现状和他自己的做人原则都决定了不可能向公司提什么条件,与"老大哥"谈及此事,对方虽感惋惜,也表示了极大的理解。面对公司的挽留,黄鑫一再强调个人原因的同时非常真诚地表达了对老总本人和公司的感谢与不舍。时至今日,这两位忘年至交仍保持着不减当年的真挚友情与密切联系。
他到上海那家公司后工作一度还算顺心,公司先前许诺的待遇条件都兑现了。但天有不测风云,刚巧又过了3个月,公司上层决定放弃黄鑫参与开发的这个项目,更糟的是公司对整个行业前景不再看好而决定转向,这意味黄鑫注定再次跳槽。于是"冰河"首次来了北京。北京也是他一直想来的地方,这里有全国最好的安全研究环境,不过他现在就职的北京思乐信息技术公司是深圳思乐公司所属的分去机构,看来黄鑫与深圳还是有缘。至此,这条不安分的"冰河"从西到南再向东,最后流到了北,程序员黄鑫算是在北京相对稳定了下来。
"'木马''冰河'入梦来"
大四后期早早就完成毕业设计,又有一身编程绝技在身不愁工作去向,黄鑫显得比同学轻松自在许多,于是学校附近的网吧经常可以看到他的身影,已在单机上把加解密之类的东西玩熟玩透了的他,有一天便萌发了在网上大搞"隐身与瞒天过海之术"的想法。通过接触当时很流行的"BO"以及"netspy"等后门程序,更激发他将这一想法付诸实施。因为他发现这些程序在功能实现上也有局限,比如当时的"netspy"只是一个扩展的FTP客户/服务端程序,防范起来比较容易,相比之下"BO"的功能要强大很多,但它毕竟是泊来品,黄鑫觉得自己完全有能力开发出功能更强大完善的工具来,这也是提高自己网络编程水平的好机会。以前缺少必要的网络测试环境,Winsock都未曾涉及,正好就此进行一番"恶补"。之时Delphi强大的控件功能派上了用场,在开发建立网络连接模块时大大节省了时间,提高了效率,开发的前期还比较顺利,网络编程对他这样一个汇编与C语言高手来说自然不是什么难事,偶遇生僻费解的问题,他就去请教那位编程水平很高的同学,很快,作为"冰河"雏形的一个可执行文件终于问世,还来不及起名字就先在宿舍同学之间进行测试,大家普遍反应不错,说比"BO"一点也不差,后来又将测试中发现的不足和问题进行改善。事情至此也就告一段落了,软件只是在同学中伟着玩,当时的黄鑫从没想过把这个开发动机很单纯的软件发布出去以求名利双收,但事情在其后一个偶然的机会里发生了改变。在那次去做"南宁百货"的招标项目时,开发组中一位南宁当地的技术人员用过这个"冰河测试版"后也大加赞赏,由于他接触国际互联网校早,对互联网广泛的影响力体会很深,就强烈建议黄鑫将这个软件在网上发布,比起网上众多很不入流的"共享软件",这个软件定会大受欢迎。一番话将黄鑫说动了,决定一试,这时才想起还没给软件正式命名,大伙儿就一起帮着想,后来采取的方式是把金山词霸打开随机地敲入一个拼音字母,看出来什么字和什么联想诩,最后在"流沙"、"冰河"等词儿中选中了"冰河",这个日后广为传播的"酷名"就是这么随意"瞎起"的。不过黄鑫现在也觉得有些"歪打正着":"表面封冻的坚冰下暗流仍在涌动",与"木马"特性颇为暗合,还兼具点儿文学韵味。接下来的问题就是选哪个网站上传发布,那位南宁的同事先推荐了一个名为"PCHOME"(电脑之家)的网站,黄鑫自己又在网上找到了一个"中国程序员网站",于是两个站点都放上去发布。
"冰河"发布后果然反响热烈,北方工业大学的两位研究生最先给黄鑫发来Email,在对"冰河"大加称赞的同时,还希望交友,以便交流提高。他俩当时正给电信部门做一个"远程监控"的项目,经比较,他们认为同类软件中"冰河"综合性能最佳,后来又有大批的企业网管给他写信,请教与探讨技术细节,无意中黄鑫也交到了很多朋友。"冰河"从黄鑫在校时开发其雏形,到1.0测试版正式发布一直是英文版的,一心想着尽快做出这个软件的他完全没有考虑语言支持问题,但一经对外发布,问题就来了,一位英文不好的网友给他发信指出:"作为'冰河'开发者,你是中国人,面向的也主要是中国用户,为什么不写'中文版'?难道中国人自己的软件还要中国人来汉化吗?不会是为了炫耀你的英文水平吧?"一席话真给黄鑫提了醒,没想到自己完全忽略了这个重要问题,他一点儿也没在意网友有点过激的言辞,仅仅一周后就完成发布了"冰河"1.1中文版。可中文版刚发布几天又发生了一件令他啼笑皆非的小插曲:他又收到一位网友的来信:"我用的是英文 *** 作系统,没有中文环境,你能不能出个英文版?"黄鑫只好回信耐心告知他此前有英文版,再后来还有人指出"冰河" *** 作界面比较简陋,应加以完善,这些来信让黄鑫在感到"众口难调"的同时更感到"冰河"的大受欢迎,为此他计划在"冰河"中实现多语言环境支持并将其彻底"变脸",那时他正忙于"济南百货MIS系统"的开发,在没有影响工作进度的情况下,他用业余时间将"冰河"升级到了1.2版,在此需要特别提一下,后来"冰河"从1.2直接升至2.0而不是1.3、1.4、1.5等等类推,是因为黄鑫发现自己最初软件结构的设计思路很有局限,在此结构上的升级空间越来越小,所以,"冰河"2.0除新增"键盘记录"、"载取CACH口令"等少量新功能外,较原来1.X版本的最大改进就是整个程序结构特别是 *** 作界面的变化,不再是以前版本的简单升级,其后又有"冰河"2.1、2.2的改进版本。
身为这款被很多人视作著名"木马"软件的开发者,黄鑫自己从未用它"搞"过任何一台别人的电脑,从初次开发到每次升级后的测试都是在属于自己学习或工作的网络环境中进行的,而在互联网上不足10次的测试都是通过OICQ向在线好友发出请求,经对方同意后在其电脑上进行的。其实黄鑫本质上就是一个技艺高深的程序员,他关注的是技术本身,当看到自己以单纯动机开发出来的软件被他人用于实现不好的目的,也只能深感无奈。这里就自然说到有关"冰河"停止升级开发这一黄鑫自己都不愿过多提及的话题。"冰河"的最终版本是2.2B,此时的"冰河"已"风靡全国","那时我突然感到'冰河'把大家引入歧途了,我在技术论坛上发现,很多网友,特别是年纪很小、刚开始对网络着迷的小孩儿已经深信:'会用冰河就是黑客!'我敢说用'冰河'的人90%都是为了给别人种'木马'搞三十或是用来满足虚荣心的,真正用于个人正当远程控制或是对网络编程技术本身感兴趣以此进行研究的不到10%,这让我觉得'冰河'已失去了再升级下去的意义,做起来也没什么意思,所以到2.2B就终止了开发。"这是黄鑫对此事的自述。事实上,他知道什么是一个真正的优秀程序员应有的首先准则和社会责任。但"'冰河'现象"的事态发展并不为其开发者的自重与自律行为所左右,在朋友帮忙制作的"木马冰河"黄鑫个人主页的技术论坛上,到处充斥着"'冰河'黑机大法"的教学贴子,有的贴子还直奔"'冰河'万能密码"的主题,黄鑫看着自己以技术提高为良好初衷建立起来的网站正在变成一个"'木马''黑机'的交流园地",促使他不得不继终止"冰河"升级开发后,又关闭了"木马冰河"个人站点。
停止"冰河"的开发后黄鑫于2000年底加盟著名网络安全网站"安全焦点"(www.xfocus.org),他将完成公司本职工作之外的精力都用于知名扫描器"XSCAN"的开发升级以及"安全焦点"的建设维护,也许XSCAN的知名度没有"冰河"那么高,但用过扫描器软件的人对它都不会陌生,开发这款优秀扫描器的最初设想还是在2000年天极网组织的黑客大会上,几个技术圈里的朋友对他说:"'冰河'不再搞了,你总得再做点什么吧?"朋友建议他做扫描器,黄鑫也感觉不论从自己的技术特长和使用前景上看这是一个不错的主意,于是回来就开始做,并很快做出了框架。在"安全焦点"几位朋友提供大量漏洞及编程资料的协助下,开发进展顺利。XSCAN的第一个版本很快在"安全焦点"网站发布。下载量一路攀升,后来随着版本升级,支持插件、远程 *** 作系统识别等重要功能都逐步得以实现,眼下SXCAN的2.0版即将问世。可以说XSCAN是继"冰河"后黄鑫的又一代表作,且就技术含量而言,更是超过了他的成名作"冰河"!现在,黄鑫一面继续着XSCAN的版本升级,一面正主攻他在"安全焦点"的一个重要研发任务,就是被形象地称为"黑客陷阱"的引诱攻击继而对其跟踪检测分析的"HONEYPOT"(蜜罐)系统,攻击者一扫描到"HONEYPOT"就会以为这是一台毫不设防的"肉鸡",一旦发起攻击其攻击行为和手段的每一步每个细节都被"HONEYPOT"单机版模拟环境,"HONEYPOT"的开发意义在于扩大其中国内技术领域的认知度,以吸引更多的人加入这一技术的研讨。
从"冰河"到"XSCAN",再到"HONEYPOT",黄鑫在程序开发的技术探索上步步为营,不断积累着宝贵经验。现在的黄鑫正值一名优秀程序员的黄金年龄,集锐气与成熟于一身,人们有理由期待他超越当年"冰河"的辉煌。
程序员黄鑫
黄鑫是广东人,这很容易从他的相貌特征上找到答案,由于父母长期在山西太原工作,黄鑫就出生在这里并一直生活到高中,除短短几年的南方学习与工作经历,26岁的他在北方生活了20余年。生活中的黄鑫喜交友重义气,初次接触就容易让人消除陌生感,不知长年的北方生活对他豪爽直率,热情健谈的气质有无潜移默化的影响。
父母都是知识分子,严格的家教使黄鑫从小学直到高中的一年级都是听话的好学生,学习成绩始终名列前茅,但父母的严教也有些偏颇,要求黄鑫将全部时间精力用在学校书本知识上,课外一切正当的兴趣爱好都不鼓励黄鑫去尝试。曾有一段时间,黄鑫迷上了书法、篆刻,这可是现在不少家长反对,用黄鑫自己的话就是:"家里对此疯狂打压",父母是怕这些爱好分散他的学习精力,即使这样,灵气十足的黄鑫还是练就了较好的书法、篆刻基本功,后来他继续按父母之命用功读书,只是对那些被迫放弃的爱好依然不舍,对不能拥有同学那样更多的业余娱乐时间心有不甘,幻想着有"解放"的那一天。终于到高中一年级时,父母因工作调动先回了湛江,暂时"没人管"的黄鑫那压抑已久的男孩淘气贪玩儿的天性在几个同学的带动下释放了出来,校内球场、校外花鸟市场随处可见他尽情玩耍的身影,打架也成家常便饭。放纵的结果是高一第一学期考试全班倒数第三名。好在这种低靡状态只持续到回湛江上高三前,在父母恢复严管与高考的重压下,学习成绩又很快上来,并顺利地考上大学。
高考时黄鑫的第一志愿报的是公安,他从小就想当警察,年幼时最喜欢戴"警察帽",这是典型和常见的男孩心理特点的理想。高考分数与体检都过了录取线,无奈报名且过线的人远远多于招收名额,又无特殊关系,最终与这个理想失之交臂。但黄鑫至今认为,如果当年能被录取,自己会是个出色的警察,至少不会现在当程序员做得差。也许当年的阴错阳差注定黄鑫终将是一个优秀的程序员而非警员,现实中这种"误打误中"的人生经历比比皆是。今天的黄鑫不应再有更多的遗憾,现在所取得的成绩已足以说明他的大脑就是为计算机技术而生,其实一切早已在冥冥之中注定。
黄鑫因"冰河"一举成名,他坦承"冰河"给他的生活带来许多的改变,有名气以及因名气间接带来的物质收益,但最让他看中的还是以"冰河"为媒结交的圈内外一大批志同道和的朋友,他视其为一生享用不尽的最大财富。酷爱金庸作品的黄鑫很认同"网络安全界"与"武林界"的许多相似之处,同样的高手如林、山外有山;同样的艺无止境、学海无涯;同样的人在江湖、义薄云天。
"冰河"也给黄鑫的生活带来很多意想不到的小烦恼和小幽默,网友们因"冰河"而对他很敬佩,更有的把他当成了"神仙",在QQ上他就同一个网友有过这样的对话:
网友:"您 就是'冰河'?",黄鑫:"是的。"网友:"那你是不是现在就能进到我的电脑里?"黄鑫看罢几乎要"晕倒"!
另一次,黄鑫电脑的个人防火墙有段时间经常报警显示有人对其进行扫描,一看端口正是"冰河"的默认端口7626,开始他没多介意,但时间久了难免烦人,于是黄鑫就编了一个伪"冰河"服务端,对方一连就能显示其IP,然后他用信息回复功能告之对方:"本人就是'冰河'开发者,求你不要再骚扰我"。对方可能是不信,收效不大,无奈之下他又开了一个简易的telnet服务端程序,然后跟对方说:"请你telnet到xxx.xxx.xxx.xxx咱们聊聊!"这下对方终于知道遇到了"真人",没有一个人敢上来应答。
现在的黄鑫很少谈"冰河",甚至不喜欢谈"冰河",因为在他看来,再谈一切与"冰河"相关的话题就是犯了"好汉不提当年勇"的大忌,无异于"躺着吃老本儿",这对于他是不能容忍的,对一个程序员意味着创造与想象力的枯竭,他现在最希望的就是人们忘记"冰河"或忘记"冰河"与他的关系,他不希望现在甚至多年以后,一提黄鑫这个名字人们记住的还只是"冰河",就如作家不希望人们只记住他的成名作,没有进取与创新,无法再超越自我对他们来说是最大的失败。古希腊哲人赫拉克利特认为世上万物都处在永远的变化之中,所以他说"人不可能两次涉入同一条河流"。在无休止变动的IT世界,年轻的黄鑫也不可能只开发一条"冰河"。所以没人知道"金庸迷"黄鑫"大侠"何时会"收山封刀,淡出江湖"。
附:黄鑫有关"'冰河'彻底停止开发及'木马冰河'网站正式关闭的声明"的特别启示:
声明
非常感谢您的关心,"冰河"程序已经于2000年4月17日彻底停止开发,"木马冰河"网站也于2000年5月份正式关闭。
"冰河"的最终版本是2.2B版,其他高版本都是别人用32位编辑器自己修改所得,并未征得我本人同意。所做的修改主要限于版本号或作者等明文信息,功能上没有任何增加,其实都是以2.2以前版本为修改蓝本,但我敢不保证修改者没有做过其他手脚。
2000年5月份至今,所有以"木马冰河"及"glacier"名义恶意修改他人页面,及2000年9月3日后在任何聊天室里以"冰河"身份目中无人大言不惭者均非本人。
个人认为技术研究的最终目的不是为了胡闹,而是在自由与开放的环境中发挥每个人的专长,进一步完善我们的系统与网络,同时达到安全技术和安全意识的广泛普及,使每个人都能够在相互交流的过程中得到提高。而这种充分交流的结果将会使系统更加完善,网络更加安全。一个简单的类比,魔术的魅力在于除了魔术师本人以外几乎没有人清楚它的底细,魔术师和观众的乐趣也恰在此处。到了多数人都能揭开谜底的时候,作为魔术师的你还会拿这个小把戏出来现眼吗?
我已经很少开QQ了,有事可以给我发e-mail:hunxin@21cn.com或glacier@xfocus.org,随时欢迎到我们的"安全焦点"做客http://www.xfocus.org(英文主站点)http://www.xfocus.net(中文站点),欢迎试用我们新开发的免费安全漏洞扫描器X-Scan并提出宝贵意见,在学习过程中遇到什么问题也可以在我们的论坛里发帖子("冰河"相关问题请直接给我来信)。
有不少朋友来信询问"冰河"的卸载方法,在此一并做答:
1.自动卸载:1.2以后版本的"冰河"本身提供了自动卸载的功能,在CLIENT端"命令控制台"的"控制类命令\系统控制\自动卸载"。只要先连接"127.0.0.1"(也就是你自己),然后执行"自动卸载"命令就可以彻底卸载"冰河"了。
2.手动卸载:
①以安全模式重新启动计算机;
②检查HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run和HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServices两处是否有同名的可疑程序名(默认安装为kernel32.exe),如果有则删除该键;
③ 检查HKEY_LOCAL_MACHINE\Software\CLASSES\txtfile\shell\open\command处的键值是否为"\notepad.exe %1"(是指您的Windows所在目录,如"c:\windows"),"冰河"的默认设置是将该处键值修改为"sysexplr.exe %1",请自行做相应修正;
④检查HKEY_LOCAL_MACHINE\Software\CLASSES\exefile\shell\open\command处的键值是否为""%1" %*",如果不是则进行修正;
⑤删除上述找到的可疑程序(默认文件名是目录下的"kernel32.exe"和"sysexplr.exe",如果"sysexplr.exe"因正在运行而无法删除,可以在第6步完成之后立即删除);
⑥若是Windows 98系统,直接按两次重新启动计算机;若是NT系统,按激活"任务管理器"并结束kernel32.exe进程,然后重新启动计算机。需要注意的是,您应该在修改注册表之后再删除可疑程序,否则对方若将"冰河"设置为与EXE文件关联,那您就连运行REGEDIT的机会都没有了。另外在修改注册表时您可能已经启动了与EXE文件关联的"冰河",而"冰河"在正常关闭时将会再次修改注册表,所以在Windows 98系统下通过来重新启动计算机是至关重要的一步。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)