• 2010-07-15

    息博修炼 - [思考杂悟]

    感觉自己现在的水平还不能很好地写技术博客。写过和看过的代码不多,自然无法感悟出独到的见解。我所认为的好的技术文章,是能够高屋建瓴的,而我现在做不到,所以我决定自己躲在角落里慢慢修炼了。

    于是,订阅我RSS的同学们,可以考虑退订了:(

    Google Code采用了MoinMoin的Wiki语法,让我真正感受到了“所思即所想”的状态,我很喜欢那里!所以,我在那里筑起了一个小窝:用来记录一下我这个暑假写过的一些代码,和一些学习笔记。这个小窝,至少会伴随我度过一个暑假,更有甚者会有好几年,直到我觉得适合出来写技术文章了。

    所有的代码和笔记都是开放出来的,如果你感兴趣的话,可以偶尔去看看,也好监督一下我。

    主页:  http://code.google.com/p/tinycodeset/

    Wiki:  http://code.google.com/p/tinycodeset/w/list

    Code: http://code.google.com/p/tinycodeset/source/list

  • Unix环境高级编程》的例子让我抓狂,不是说例子设计的不行,而是作者提供的源码结构布置得超差,我得一个个打开看对应书上哪段代码(或许是因为我看的书是中文版的缘故)。因为无法按照作者的README成功编译,不得已自己一个个找出对应的代码文件,然后写Makefile编译,还是很累的。

    所以,我还是到这里把这篇博写了吧!

    互联网终究还只是个互联的虚拟网,它永远无法代替现实中的生活。你在电脑的终端前进行输入输出操作:输入各种信息流,输入虚荣感;输出各种唠叨,输出价值观……

    可是,永远不会因为你输入的信息流多而拥有更多的知识。数量不是关键,对这些信息流的深度思考才是王道!

    纵使,你的微博拥有众多的关注,其他网友也热衷于看你的唠叨。然而当你真正黯然神伤时,别人又如何能感同身受呢,还是要靠自己慢慢消化。你自己才是这些事情的主体,别人永远无法取代。

    互联网可以见识别人的强大,可以明白这世上还是有很多神奇的存在,可以有让你备受启发的人与文章。但真正的幸福还是在于线下的行动。

    几个小时的读书敲码,能让内心备受充实;一杯清茶,能让内心淡定宁静;晚饭后的怡情散步,享受一下绿色和清爽的天气;跟mm拥抱一下,陪她逛逛街,总比看虚拟的美女图片好多了吧!

    ⊙﹏⊙b汗,其实我也不知道我自己在说什么了。。。

    最后,不得不说,我又回来了。在我人生中最重要的这个暑假,我决定回归这个博客。抛除烦躁,抛除虚荣,在这里记录一些值得记录的点滴。

    困了@_@, 这两天连续包夜,看球还是很累的哇!希望西班牙能夺冠,耶,耶,耶!

  • 经常关注我这个博客的朋友们,真是非常抱歉,已经三个月没在这写东东了,今天特来告知下!

    这个博客会用,但是会转型一下,改成【互联网产品评论】类型的,我会专注于挖掘一些好的whitepaper。但是鉴于我这学期超忙,更新频率肯定会超低,见谅了!

    而关于学习、技术、生活的内容将会转到这个百度空间来写,它将会成为我的主战场,而这里将不再写我的个人生活:
    http://hi.baidu.com/hacknone 

    那个百度空间的RSS地址全文输出。欢迎想继续关注我的朋友们订阅!
    http://hi.baidu.com/hacknone/rss

    -----------------------分割线--------------------------------

    这其中的原因,大概有三:

    1. 由于某种原因,我很不习惯被一个人在网络上盯着,于是就想找另找个地方过纯净的虚拟世界生活(甚至所有的ID都被我换了)。现在事情已经解决,我能够坦荡地写了!

    2.百度空间上有很多安全界的朋友,而且对长度不做太大限制,适合我贴代码。

    3.至于为什么这么晚才来通知大家,是因为我一直无法确定这个blogbus的博客该转型成哪样!

  • 今天一偶然的机会,看到了一学弟的博客:http://blog.csdn.net/chobit_s

    话说我都大他两级了,还是感到自愧不如的,主要感叹的是:

    • 大一时的学习方面的心智远没有他成熟,当时的视野离他差的更多。那时的我不知道如何有效地从互联网那边解决自己的困惑,因为我互联网体验的太少(因为这东西,用多了自然就熟,这东西没有天才不天才的);
    • 我现在的执行力都未必有他好的,也就是专注度不够。没见过他,看他的博客,我觉得是很有潜力成长为hwm学长那么强悍的人才的;
    这两年中经常会看一些英文的东西,也时常感叹美国的有些高中生的水平实在是牛逼!当时看到的时候就感叹下,有时候跟朋友聊天时做做话渣,一般也就这样了……
    现在中国的教育模式,浪费了学生太多宝贵的时间。而本来,这些时间都应该花在启迪他们兴趣、强壮他们体魄、陶冶他们情操上的,却统统被拿来应付考试了!我真的觉得,教育部那些同志应该要感受到重任在肩,时刻有忧患意识的啊:因为你的一项政策不好,浪费的可能就是一亿学生宝贵的时间啊。一亿是什么概念?!更可怕的是,这可不是一亿人民币啊,而是孩子们的童年啊……
    好了,貌似扯远了!我真正想说的是,虽然我爸妈有些教育方式很“落后”,但是我还是非常非常感谢我的父母的,因为我觉得他们教会了我一些最重要的东西:
    To my mom,她在我心中的伟大,就是能让我的脑子中记住了无数的有她参与的小事。我现在能记住的回忆过半都是有她的,小时候的回忆中,她占的比例就更高了!
    她告诉了我什么是爱,身体力行地让我明白了包容的力量等等太多的东西……但是,我现在的境界离我妈差得远了,嘿嘿,继续学习~~对了,我妈常跟我说的是:“傻人会有傻福的”,O(∩_∩)O~
    To my dad,爸爸给我最多的印象就是对我很严格,我很讨厌这点。。。但是,他做起一件事来的专注,永远是让我最印象深刻的东东了!比如,经常会边吃饭边看书,因为他没看完,他想继续看,不想被打断。但是,我妈就经常说这点不好,说该吃饭的时候就该吃饭的,该学习的时候就专心学习,还叫我不要向我爸学……
    然后,我倒真没学成这种专注的习惯的,嘿嘿!
    我现在回头过去看,觉得我爸妈有些地方还可以改进的。以后用在我下一代身上:)
    • 一旦发现了小孩子的兴趣,就应该顺势引导他哈!
    • 应该多注重小孩子习惯的培养的;虽然我觉得我爸妈已经够注重培养我的习惯了!
    好了,不说了!元旦没回家,祝爸妈每天快快乐乐的就好!爸爸每天不要看太长时间股票,多出去走走就好!妈妈上班不要太累!

    ps.最近要期末考试了,不再写博了,可能要沉寂二十多天了。这是想好好复习了,虽然只是为了应付考试,╮(╯▽╰)╭

     

  • 天线高清视频  点击播放按钮在线收看

    “语言很多时候是假的”他说“一起经历过的事情才是真的”

  • Posted: December 9, 2009 | Version: 0.1 almost

    很久没写博客了,开发文档倒是写了很多,只是没发上来。今天晚上中期检查,评委老师的有些提问和怀疑让我窝气,所以决定写篇文章来排泄一下胸中的郁闷。纯软文,大家莫见怪!

    前记:

    我自己都满意了,你还要挑三拣四的,我容易吗?

    STITP的立项申请书,到立项书,到省级申请表,到中期检查报告,到中期检查PPT……所有这些都是我亲自做的。我容易吗?你还要挑三拣四的!

    今天为了修改PPT到最佳效果,晚饭都是叫翔哥带的,只花了两三分钟来吃,还一路竞走在五分钟内赶到了教一。我容易吗?你还要挑三拣四的!

    整个项目的代码,到PPT讲演,都是我亲自做的,我容易吗?你还要挑三拣四的!

    09920日左右才开始做,中间历经十一回家,历经生病耗掉的四五天,还历经操作系统和汇编需要好好看,历经期中考试需要复习和应考,还包括精英人才的杂七杂八的事情,还参加了一次科协的全会,做了一次讲座,当然还包括好些玩掉的时间-_-!,我能做到现在这些模块已经不错了。我容易吗?你还要挑三拣四的!

    身边没有人做Android,没有可以交流的同学,国内的开发环境又很不成熟(做应用开发的蛮多,但是关注安全的就很少)。只能在英文论坛上用英语发帖,比如还询问了一个印度的研究生;只能通过搜索下了一些英文论文,来寻找是否有解决这个问题的思路……我容易吗?你还要挑三拣四的!

    方向不够明确,都是靠自己一点点的摸索和验证,分析国内好多商业软件,订阅了nAndroid的博客,仔细分析了德国电信的论文,才认定现在现在的方向是有价值的,是有可行性的,并且认定哪个模块是需要集中力量解决的,哪些问题是可以用哪些技术方向来解决的……我容易吗?你还要挑三拣四的!

    图书馆Android的书只有一本,为了看它我来回借了四五次(每次只能借三天),现在还干脆不能借了(因为图书馆要搬家)!国内的Android图书基本都是介绍做应用开发的,而国外的也很少有讲的底层,且和安全相关的,所以唯一的资料来源就是订阅各种Android博客,搜索一些Android的学术论文,泡好几个Android的英文论坛……我容易吗?你还要挑三拣四的!

    好了,不说了!至少我自己都感到满意了,如果评委老师你无法满意,我也没办法了!

    ps1.贴张照片吧,从没在这里贴过自己的照片,不是今晚的,是上次比赛时候的,今晚的相对上次很不正规,但还差不多。那时候头发很长,将就着看吧:


    ps2.近期博客可能搬家,不想再受到BlogBus的字数限制了,所以会用WordPress搭建一个独立博客。上上周已经在虚拟机里一切搞定了,博客效果已经出来,现在缺的只是虚拟主机。但是我既不想买,也不想寻找那些免费的虚拟主机。准备空下来的时候好好分析下Google App Engine(现在翻墙也靠它),直接用Google的服务器来架设我的博客了。这个想法真不错,哈哈,赞一个!^_^

  • Posted: October 30, 2009 | Version: 0.1 almost

    自从上次看了那篇论文:《Enhancing Security of Linux-based Android Devices》后,就觉得修改Android内核是一件非常具有科研价值的事情,所以深入学习Linux内核也是一件势在必行的事情了。于是,昨天晚上花了一个多小时在豆瓣上好好淘了一下关于Linux的书。

    缘分就在不经意之间让我和这本书相遇了:《独辟蹊径品内核:Linux内核源代码导读》,看了它的序言后,我当即就决定要买这本书了。虽然它的封面上用的是让我bs的“编著”两个字,但是能写出这种让我惺惺相惜的序言的作者编著的书又岂会是没有逻辑性的呢?!

    下面蓝色的文字都是节选自这本书的序言,完整的序言请点击:

    http://www.amazon.cn/mn/detailApp?prodid=bkbk975359

    偶尔会有一些同学问我如何更好地学习计算机,知道名字的有翔哥和卓越,还有一些不知道名字的学弟学妹,我想这本书的序言会给你们很大帮助的!下面我从整个看书的生命周期(Life Cycle)来提炼下这篇序言,哈哈,生命周期都来了,真够玄乎的……


    首先,来思考一下何时要看(技术)书的?

    这里的书仅指技术书的,因为人文类的书太复杂,不属于这里讨论的范畴。看某个领域的技术书,多半是因为你想要学习该领域的计算机知识的,进而解决自己遇到的该领域的某些问题的(包括要开发出一些应用)。

    任何书籍资料都是用来解答读者心中的疑问的,因此在你阅读一本书时,首先要明确自己的疑问是什么?这可以是一个非常梗概的问题,例如:“Linux 内核是什么?”;也可以是一个非常细节的问题,例如:“按下键盘上的A,到屏幕上显示出字符A 的内部原理”。

    那么,能解决问题的途径很多(比如maillists),那为什么要选择看书呢?

    我想,一本好的技术书都是有一个明确的主题的,而作者写书的目的就是系统地讲述与这个主题相关的知识,而在技术论坛上往往只能学到一些片段性的知识,无法使读者得到系统性的认识。

    其次,一本入门级的技术书都是循序渐进的,各章节之间有一定的逻辑连贯性,而且会把一些繁琐的事情就帮读者解决好(不至于读者还未开始学习汇编,就已经被搭建开发环境给打败了)。因此,当要踏入一个新的技术领域时,看书是个不错的选择。

    再次,读一本好书就是在与一位优秀的作者进行思维层面的深入交流,他把他的视野向你摊开(很多时候你会因为读到一本书而一下子知道了某样东西的存在,于是,视野一下子就扩大了),你用自己的思考来回应他的文字。这个过程,就是一个深度的交互过程。

    好了,选择好书了,那么就开始看书吧!计算机范围好广,而每个领域都不是孤立的,很有可能看这个领域的某本书时你需要用到其它领域的知识。那么,是否需要等到“万事俱备”时才开始看这本书的呢?

    笔者从学完C/C++ 语言开始,由于C/C++ 的示例程序都是在命令行下的,于是常常想如何才能编写出视窗程序,学习了MFC,但是同样想不通诸如WM_CHARWM_LBUTTONDOWN 的消息从何而来,带着MFC 中诸多疑问,笔者开始学习Windows SDK 程序开发,在这个学习过程中感觉对MFC 的认识更加深入了,但同时又有新的问题想不通,于是进而学习Windows DDK,之后开始学习操作系统内核。在这个过程中,笔者也遇到过数不尽的疑问,但是都是需要的时候再补充相关知识。因此初学者要明白,学习并不需要等到“万事俱备”了才可以开始。需要的是保持好奇心,养成思考的习惯,树立解决问题的决心。

    既然你不是“万事具备”地来看这本书的,那肯定会遇到很多问题的,又该如何实践地解决这些问题呢?首先,问题应该包括两个方面的:

    1.内心的源问题,也就是你在不看书的时候就能想到的问题,把自己当作这个领域的外行时会问出的问题。比如你要做个Socket通信的软件,那么一般人都会想到要通信的两台机器至少是要“连通”的吧?这往往就会影响到程序中服务端和客户端IP地址的设定。但是,一味陷入书中的人,往往就只知道服务端要accept()receive(),客户端要send()了。所以,有本书的名字:《像外行一样思考,像专家一样实践——科研成功之道》说的就是这个问题。

    2.交互过程中的问题,也就是你在看书过程中对书中某些问题的质疑,或者是因为前期准备知识不够而引发的问题(因为不是在“万事俱备”的情况去读这本书的嘛!)。这时候,就考验读者搜寻相关资料的能力了,可以去借相关方面的书来弥补自己的短板。

    在自己掌握的知识体系上提出问题,以自我为中心,任何书籍资料都是用来解答读者心中的疑问的。当你有了来自内心深处经过独立思考的疑问后,阅读对你来说是一种享受,一种乐趣。来自内心的疑问,经过不断的综合分析,缜密的推理,坚持不懈的查阅和求索,之后拨开迷雾见天日喜悦只有经过才能体会。读书的时候,一定要以自己心中的疑问作为主线,而不要没有任何疑问就死记书本上的知识。

    作者还给了一个很具体的如何实践的例子:

    在笔者学习内核之初,看到大量的传言,读完《Understanding the linux Kernel》,读完《Linux 内核情景分析》... 就可以成为“高手”了。于是笔者常常捧着厚厚的书,寻思着自己什么时候可以读完,然而有时好几天也前进不了几页,免不了感慨自己今生将与“高手”无缘,但是又心有不甘,于是囫囵吞枣的“快速”前进,但是越前进,就越感觉到艰难。“欲速则不达”这个道理人人都懂,但是在切身体会之前,人人都会犯这个错误。在经历了很长一段曲折和郁闷之后,笔者摆脱了“书”的束缚,完全以自己的疑问为中心,例如在读到中断处理时,由于知识不够全面,于是丢开内核的书籍,阅读了大量的计算机体系结构方面的资料,同样计算机体系结构的书籍也很厚,但是我也没有想过要把它们读完,这时只捡中断相关的读,之后再来读内核的书籍,发现自己原理懂了,但是具体到理解代码时,就迷糊了,于是又补充GCC 内嵌汇编,C 代码编译到汇编代码的相关知识,反复试验等等。这个过程很慢,但是积累到最后,笔者发现自己读的非常快,甚至可以不读了,因为很多地方,只要读到前面的,就领悟了作者后面想要说什么了。

    最后,你会感慨原来传说中的任何“秘籍”都是“浪得虚名”,因为读完它,你不一定能成为“高手”,而“高手”却不需要读完它。能否成为“高手”的决定性因素取决于你的学习方法和学习态度,而好的“秘籍”仅仅只是催化剂。

    最近,希望能达到放下书静静地想一想时,我能确认自己真的对这个领域的认识有所长进和深入了!(当然,在整个过程中,你的好多能力都被不知不觉锻炼到了)共勉之~~

  • Posted: October 28, 2009 | Version: 0.1 almost

    android平台上写TCP /UDPSocket测试程序时,因为不知道把端口重定向到emulator上的端口上,而吃了很多困-_-!于是,今天下午了解一下adb这个工具,发现adb的整个架构很有意思,记录一下:

    adb:全称为Android Debug Bridge,它是一个多用途的工具,可以让你管理模拟器实例或者android设备的状态。简而言之,它是一个调试工具!

    adb是一个客户端—服务器程序,它包括三个组件:

    1.client

    which runs on your development machine. You can invoke a client from a shell by issuing an adb command. Other Android tools such as the ADT plugin and DDMS also create adb clients.(不过自己捣鼓了一会,也没发现如何在Eclipse中使用adb的借口-_-!明天看一下DDMS再说……)

    感性的认识,也就是右边这张图片:

    2. server

    which runs as a background process on your development machine. The server manages communication between the client and the adb daemon running on an emulator or device.

    这里值得一提的是,这里的clientserver应该都只是线程的,而不是像我之前所理解的是两个进程。因为在Process Explorer中,我只找到了一个adb进程。在打开模拟器之前,该进程共有两个线程;而打开了模拟器之后,一共有四个线程,见下面两张图。再次把Eclipse关闭,发现这个adb进程还在:线程为两个,说明这两个应该就是服务器端。

        

    3.daemon(守护进程):

    which runs as a background process on each emulator or device instance.

    clientserver的连接(当开启adb命令行时):

    客户端检查下服务进程是否存在?如果不存在的话,就启动服务进程。然后服务进程绑定到5037端口开始监听客户端的请求。

    serverdaemon的连接:

    server通过扫描55555585的奇数端口来定位模拟器实例,一旦在这些端口中找到模拟器中的daemon,就和这个端口建立连接。

    server工作的单一性:

    虽然server在两端能连接多个client和模拟器,但是一次只能把commands传送给一个模拟器。也就是说,你要操作另外一个模拟器了,你必须用下面的命令来切换(Directing Commands to a Specific Emulator/Device Instance):

    adb -s <serialNumber> <command>

    结语:

    因为觉得adb整个架构还蛮好玩的(从来没写过这种架构的完整程序,以后可以看下adb的源码,应该是开源的吧!),所以就写下了这篇文章,不知道是不是做了一件无聊的事(o)

  • 接上篇:Android学习历程(6):Android与嵌入式的那些事(上)

    的确如此,比如:中国移动定制的OPhone华为为联通定制的手机……

    Google抱着什么样的目的来建立这个开放手机联盟(OHA?我不清楚也不想去研究,但是《ARM嵌入式系统开发:软件设计与优化》里的一句话倒是给我很大的感触:

    ARM公司的的成功建立在一个简单而又强大的原始设计纸上,……

    所以,Google要做的只是把Android这个原始系统做的够简单够纯粹,把握住主流方向即可,并且提供SDK给应用开发者去做出各种各样的应用来,同时提供一些修改内核的工具给运营商方便他们来定制自己的系统。(不过我还真不知道Google为方便修改内核提供了什么工具的,有哪位高人清楚的?)


    查阅的时候,还想到这样一个问题:AndroidARM有什么关系?

    Android是个手机操作系统,而ARM是个处理器,且在移动电话上应用广泛。两者的最大联系之处是,Android设计之初是按照基于ARM架构思想来做的(论文中:Android provides a complete operating system based on the ARM-Architecture.),所以我猜想很多市面上的手机的芯片应该就是ARM处理器的。

    所以,我得出一个结论:要会Android平台上的应用开发需要会Java,而要会修改Android内核、定制成自己的系统则需要会基于ARM的嵌入式开发(同时也要清楚linux系统的)。

    今天在China Android Dev 论坛上看到的这样一个帖子说的也是这个意思:

    主题:最近听说有一款专门为android研发的开发板,双核外加一个DSP ,才1500。很想整一个。

    网友1这个... 有什么用呢?  现在都拿手机开发啊!以前没手机倒是买了个开发板玩...

    网友2做上层应用作用却是不是很大,如果搞底层研发,作用还是很大的


    这就是我对“Android与嵌入式”的浅薄的认识,肯定会有问题,望指正,谢谢!

  • Posted: October 25, 2009 | Version: 0.1 almost

    昨天晚上看了很久之前就下的一篇论文:《Enhancing Security of Linux-based Android Devices》,可在这里下到:http://www.dai-labor.de/index.php?id=1691&pubID=391 我会在下一篇文章中简单剖析下这篇论文,主要是给自己看的。

    当时就感到这篇论文写得太好了(真是可恨为什么没有早点看呢-_-!),兴奋地在校内上发了个状态,然后到1点大概看完(不能上网查句子的意思,真是痛苦),收工——>睡觉。

    其中提到了两点增强Android安全性能的手段:

    1. Enhancing Security for Android-based Devices with Common Linux Tools
    2. Enhancing Security with a Self-built Intrusion Detection System

    这两种手段势必都要修改Android内核,那么从开始修改内核到再次放入手机中运行需要一个怎么样的过程呢?这其实就是嵌入式开发的入门问题了。

    可惜我是个嵌入式开发的门外汉,基本上只要涉及硬件编程都是不懂得,所以今天折腾了好一会总算是理出点眉目来了。

    首先来看一下百度百科上开发板的介绍:(它讲的很好,这里被我节选了)

    开发板(demoboard)是用来进行嵌入式系统开发的电路板,……,开发板一般由嵌入式系统开发者根据开发需求自己订制,也可由用户自行研究设计。

    在一般的嵌入式系统开发过程中,硬件一般被分成两个平台,一个是开发平台(host),一个是目标平台(target)即开发板。

    从开发板的英文中包含的demo这个单词,就很容易理解它只是被开发者用来测试的,最终一般并不会把集成好各种功能的开发板卖给用户。

    这样,从开始修改内核到再次放入手机中运行的整个过程是:

    在开发平台(host),即自己的PC上搭建修改内核的环境;(即论文中的第四部分:Creating a Build Environment for Android

    根据自己的需求(比如提高安全性能)修改内核,编译链接好,可能会在模拟器中进行测试;

    把内核传到兼容Android(貌似只要是兼容ARM的就可以了)的开发板上,实际测试看看是否有什么显在的bug

    测试过后,觉得没什么问题了,可以拿到专门的厂商去定量生产成手机等。


    既然这样的话,如果每个运营商都去定制基于Android的系统,那么市场上岂不是会出现很多类Android的操作系统啊?

    接下篇:Android学习历程(6):Android与嵌入式的那些事(下)

  • Posted: October 23, 2009 | Version: 0.1 almost

    大三了,顿感到压力很大了,所以尽量不参加一些所谓的会议和讲座了,好让繁杂的事情更少一些。

    所以这学期开学至今,也就参加过计算机学院科协的全会,然后就是今天晚上被强制要求到大活去看的“我的青春故事”报告会。

    今天晚上的报告会有五个主角,除了南师大的那个去四川灾区自愿服务一年的学长,我是发自内心的佩服外,其余四个我没有任何的敬佩之情。除了一些随众的鼓掌以表达礼貌外,我实在感受不到我的心被他们所颤动了。很抱歉,我也很想要敬佩,但是我的心实在不愿意:

    因为,明明讲的是去西部做自愿者,我却从照片上看到的是那是去旅游的……

    所以,我在想一个问题:你所看到的风光总是那么美好和真实吗?

    两年多的科协经历至少给了我一个否定的答案,很多时候,我会听到一些学长说:“对于大一新生,只要多跟他们吹吹,多忽悠忽悠他们,自然也就信了!”所以,很多时候,讲台上的学长讲的那么天花乱坠,让大一的新生崇拜的无以伦比,但是真的有那么牛吗?其实我们自己心里都知道,嘿嘿!

    所以,今年的科协全会(应该也是我参加的最后一次了),我提到的最重要的一点就是大一新生要学会明辨是非、独立思考的能力,不要总是那么容易被忽悠呢!

    caoz说的好啊:

    所以最好的SEO不是天天写文章给人讲SEO的人,最好的营销大师可能您连名字都没听说过,比如说,谁是操盘黄金酒的人?您以为真是史玉柱吗?百度小视频的创意是谁的,您真以为是梁冬?最好的产品大师,最好的技术达人,媒体圈是从来照不到的,人家不需要包装了,不需要炒作了,人家安安静静的躲在角落里享受成就就是了。当然还有一些必须在媒体圈曝光的创业英雄,但是,媒体圈所照到的,不外是鸡毛蒜皮的花边而已,或者是市场所需要的角色而已,而真正的人家的成就和故事,反而无从提起。

    仅以这段话来提醒自己,不要太羡慕外在的风光(偶尔羡慕一下还可以考虑原谅一下下,嘿嘿!),要真正做到以实力说话。

    也与其他人共勉,台上的别人看起来或许是很风光,但是真的有那么美好和真实吗?可千万别被忽悠了啊,自己的敬佩之情也不是这样随便给别人的。不必羡慕他人的才能,无须悲叹自己的平庸,做好自己就够了,时间会证明一切的!

    再次表达对百度前任产品总裁俞军的敬佩,能得到最刁钻的中国网民的普遍赞语,也是不容易的!