毕业了,大学本科的四年生活结束了。在这里,有很多回忆,快乐的、伤感的、郁闷的、激动的、欣喜的。翻看大一时写的日记,虽然只有几天,但看到那时刚进大学的自己,一时间感动、喜悦、怀念的感觉涌上心头,也挺后悔没继续写下去了。
本该到了工作,养家糊口的年龄,却仍需家人负担生活费。读研,担子更重了,希望自己能更成熟一点。成熟,是痛苦的,却必须经历。从今天起,开始做一个真正的成年人,希望这个博客能继续为我记录在走向成熟的道路上的点点滴滴。
P.S. 预想这个博客主要记录心情,以后的大部分文章将在Blogger上的博客同步跟新。技术相关的将在CSDN上跟新(如果速度允许的话)
值得记住的日子,今晚和Benjamin、李沫南一起喝酒,到12点过才回来,趁着酒意刚刚退去,把今晚接收的一些新想法、新思路、新视野记录下来。
从他们两位创业者身上,我真的可以学到很多,而且也坚定了我至少这一阵子会跟着Benjamin做的决心,不管是Benjamin是否是有意要和我说这些话的,但可以看得出,他们都是掏心窝的;诚如在餐桌所讲的,既然人家说的都是实话,对你是有利的,你又何必在乎人家的动机呢?从这些创业者的身上,现在我所能记得的意识到的(还不能说学到)几点是:
- 自助者,天助之。对于这些创业者,特别是草根创业者,他们最为强调的就是这一点。饭桌上,李沫南回顾了他当年北漂的“辛酸史”,在口袋只剩几十块钱的低谷点,如何寻找人生的希望?一句话:尽人事,听天命。投机倒把是商人干的事,作为技术人员,作为创业者,那就得是实干家;作为过来人,他们也很愿意和我分享,他们这几年打拼的日子都告诉他们这个道理,越到穷困的时候,越能激发他们的斗志;只有你吃了别人不愿吃的苦,做了别人根本入不了槛的产品,进行了别人根本没想过尝试的研究,你才会迎来一片属于你自己的光明。
- 工程与研究。工程和研究很不一样,工程更贴近工业与实用,研究更多的是学术和理论。对于,读硕士,他们也给了我很好的建议(再次批判下自己的沟通能力,这么重要的问题居然还要人家主动说),我比较赞同的是读硕期间尽量两者都涉及,搞研究的同时也要了解业界的需求和应用是什么,否则如同闭门造车,但重心仍应放在研究上,既然是读研究生,那就得搞出一套名堂来,这是将来自己走出校门的资本。比如李开复,被神话了的人生导师,在读博期间就开发了世界第一个“非特定人连续语音识别系统”,其今后的道路,只要再凭借其自身的天赋与一定的努力,自然能“平步青云”。所以,在读硕期间发表一篇无论理论价值和实用程度都十分高的paper是我今后的目标,当然,对这方面(NLP等等)我还有很多东西要学,很多路要走。目前理想的情况是跟着导师搞理论,和Benjamin讨教工业应用。
- 残酷的现实。之前被渲染过国企的迂腐、黑暗和安逸,今天从Benjamin口中才了解到外企的酒醉金迷、腐佳节又重阳败,其中有我们很多人都很Orz(用李沫南的话来讲)的企业。一直自认自己是比较现实,但从今天看来,现实还要更残酷得多。没有什么企业、个人是神,看似光鲜靓丽的背后要么都有一段辛酸史,要么就有一摊子不可告人的破事。包括他们评论李开复先生,“外儒内法”,我觉得是个很好的评论。他们也建议我从儒家和道家的思想先看起,先巩固对这个社会美好的愿景。然后再接触如法家等触及社会阴暗面的思想。当然,确实,诚如他们所言,有些东西是要阅历才能读懂的,在什么阶段,在什么层次,就干什么事。趁着年轻,多接触一些人和事情,把眼界放宽,把基础夯实,机遇和顿悟自会找到你。
- 游戏规则。整个饭局中,两位从头到尾都贯穿着这个概念。他们举了很多例子,如刘韧事件、联众的融资等等,一个圈子、一个行业都有其运作的规则,不管它是阴暗的还是堂堂正正的,大部分情况下,这些规则是这些圈子、行业存在的基石,只要你还想再这个圈子、行业混,你就得照着游戏规则来玩,否则你就自动Out。包括之前提到的“自助”、“工程与研究”、“残酷的现实”,现实的规则就是,没有一点上台面的资本,你交不到业界的朋友,只有你搞出一套人家认可的东西,人家才能和你谈,否则你们根本就是两个世界的人,谈了也是白谈。进一步说人脉,李沫南用他的经历告诉我,患难之间见真情,你要珍惜这样的朋友,同时你也要做这样的朋友,这样的朋友和友情是最靠谱的。不管在业界还是朋友或者陌生人之间,尽可能达到双赢,而不是零和;因为你的需求是提升自己,让自己活得更好,而不是让别人不爽。
从他们两位身上可以看到比较多的中国古代大家思想,佛教的“色即是空”,儒家的“仁义理信”,道家的“遁世”等等,很喜欢李沫南的一个比喻,每个人都会遇到最困难、几近崩溃的时候,这时其实也是人生涅槃的时刻,就像一个装满东西的杯子,你需要将原来的东西倒光,才能接受全新、先进的东西,人生也会因此而上一层次。他也提到了遁世与入世的轮回,人在世中,不免会触及其阴暗面,因而厌世,从而遁世;但当看透世间事物时,又抱着一颗平和的心,积极入世,专注于助人、度人,不再迷茫与彷徨。确实,这也是我所追求的境界,处变不惊,游刃有余,不卑不亢。但这一切,都需要提升个人实力和人生境界方可得。
确实还是“小朋友”,听了前辈们的一席话就屁颠屁颠地回来写“感想与心得”,文字和想法还是幼稚的。但人生总要经历这个过程,早经历早结束,人与人之间的差别就是这么出来的。
Posted in life&career
|
Tagged 实习杂记, 感悟
|
| 编辑
自身性格的原因,在团队还是不善交流;但越是不善就越有潜力;
软件的复杂度越来越高决定了软件开发靠得是团队,故与团队的交流愈发重要;
一些方法:
- 想好自己的问题,记下来,在他人方面的时候交流
- 目标、需求要明确,记不住就持久化之
- 计划、安排要明确,记不住就持久化之
- 问题考虑要全面和成熟,但真正做之前要和别人通气,讨论可行性
暂时想到这么多
Posted in life&career
|
Tagged 感悟
|
| 编辑
工欲善其事必先利其器,好的工具和工作环境能提高效率,但很多情况下学习或配置工具本身会是件效率低下的工作,故如何平衡时关键。
1. 脚本化
这个一般是对于*nix系统来说;脚本化,或者说批量化,确实是提高效率的一个好方法。举个例子:重装系统时一直要进行相关的系统配置,如设置源、下载常用软件、包等等,如果这些都写成一个shell脚本,每次重装后只需执行脚本,然后去吃个饭就搞定,岂不快哉!
2. Wiki化
一个团队,甚至一个企业,都有其文档库,为的就是成员之间消息的互通,减少工具学习或配置的成本;同样,对个人来说,是现在的自己和将来的几个自己合作,为了避免将来的自己再次去学习或配置工具,可在第一次就将流程和配置文件持久化;比如,一直要配置VIM,包括配色、主题、插件自动补全等等,那么可以在第一次配置的时候将配置过程写成Wiki,然后将配置结果打包保存,今后对这两者做补充与修改;
Posted in methodology
|
Tagged 效率, 方法莫道不消魂论
|
| 编辑
正式实习的第二天,早上被小小地放了下鸽子,所以中午和Benjamin一起吃完中饭才开始工作。
Benjamin也终于把他创业的内容更专注化了,之前是个很模糊的产品,定位很不明确,虽然我也觉得它怪怪的,但也说不出个所以然来。听Benjamin说,他是受他的学长启发,最终做了明确的定位。我听了他的介绍也突然觉得豁然开朗,一是目标明朗化了,而不想做像之前不知道自己什么;二是,确实市场上有这个需求,如果这个产品做出来效果确实不错的话,肯定很受欢迎的(至少我会用)。同时,也不由佩服起Benjamin和他那位师兄的清晰的思路以及对市场需求的把握。
一直在想,如何才能像身边的牛人一样。同样的课、同样的老师,看到同学大作业做得就是比我好,于是我从自身找到了效率低、代码写得少、时间花得少、思考不多、易满足等等缺点;极复杂的系统、极高深的理论,看他前辈们就是能游刃有余地说出其中的道道,抽丝剥茧般地层层剖析,于是我就想我现在还是一张只画了几条线的白纸,需要不断地接触新东西来完善自己的思想和人格;……
一直在“挖掘”和反思自身的缺点,但缺点却偶见消失,一次次在懊恼、后悔,继而因又发现一个可以改进的缺点而欣喜中度过。一直信奉如中医“细调慢理”般的完善思想和人格的方式,但是如此重复在同一处跌倒总令人觉得可惜。故还是希望能找到一个如“任督二脉”般的“打通经络”的突破口。
越来越觉得,“专注”是其中的一个选择,而且是我现在极度缺乏的。专注是一个“接口”,他可以有很多“实现”。GTD的方法现在也略知一二,但在GTD的最后一步、最终做事情的时候总是被各种各样的事所分散注意力。写程序的时候,也总是会莫名其妙地出现一些低级错误(空指针,for循环中不断初始化等等)。专注,也可以理解为执行力,对自己作出了要求,执行起来却总是会打个折扣。
确实如NewEgg的副总所说的,年轻人一定要抱着不断学习的心态,这也是年轻人之所以年轻的原因。越来越感觉到一个人的精力是十分有限的,所以一天中,在自己精力还旺盛的时候,多思考,果断专注地做自己想做的事、自己喜欢做的事、自己需要做的事。在人的一生中也同样是这样的,趁着年轻多做些事情,不要在“无能为力”的时候徒伤悲。
Posted in life&career
|
Tagged 实习杂记
|
| 编辑
在订阅了大量的RSS后,Google Reader变的极度臃肿,信息量严重过载,一条条删显得效率低下,批量删又十分心疼;信息量太大,如何消化这些信息也是个问题;
故,需求如下:
- 高效重构GReader的tags组织;
- 如何消化信息
方案:
- Wales波的三维方法:这里
- 配合Gmail,将有兴趣的文章转至Gmail的TODO目录,待有空时消化;
居然是这么简单的一道题....
不过自己没搞定就说明确实是有难点的,很喜欢这类题目,实现起来很简单,关键你能否审清题,找准思路。
总结来看,解决这类问题(有些结论是通用的)要注意的地方是:
- 审清题,知道题目是干啥的;
- 将约束条件全部记下来;
- 抽象,将问题要做的事情提取公共部分,抽象出一个公共操作,比如这个问题,一个重要的抽象是判断某个数字是否符合要求,就可以设立check(int)操作,这样可以省去很多中间的int与char之间的相互转换,见这个实现;
- Brute Force first
Posted in Algorithm
|
Tagged USACO, 算法
|
| 编辑
昨天搞了一晚上,始终是超时(也难怪,用了最慢的O(N^3)),太累了,睡前看了下论坛上对这道题的讨论,恍然大悟。
很多东西说穿了感觉也就那样,但是要自己想,突破自己的思维定势,还是比较困难的,尤其是在时间有限的情况下。只有通过平时不断训练自己的思维,才能有解题的直觉。做题,一是为了熟悉各种问题的常见解法,更重要的是开阔思路,训练思考的方式。
今天早上起来又花了一个小时终于搞定了,很多细节还是没考虑进去,需要靠debug才能发现。昨天提到的几下思路的方法应该很有用,但是现在的问题是如何记录思路。最好的应该是写伪代码,但是现在自己很不熟,在下面的做题过程中要慢慢训练。(最好是能用一个简单的语言,如脚本,来表示)
Posted in Algorithm
|
Tagged USACO, 算法
|
| 编辑
仍旧是采取最直觉的方式解题,故思路搞得很复杂,数据结构也搞了一堆。
官网上的答案思路很简洁,绕了一个小弯,确实简单不少
不过在考试或比赛的时候也说不准是多考虑一些时间以降低问题复杂度,还是直接按照最直觉的解决方案(当然也应该是可行的)。一句话来总结就是平衡。当直觉式的方案复杂度太高时,寻找低复杂度方案,但不要苛求。USACO的《Crafting Winning Solutions 》那一小节很有用,提到的一些tricks&Tips很实用:Brute Force first,KISS等等。再有将思路在草图上画下来确实是一个很好的习惯,我们专注的应该是“问题本身”,而不是记住自己的思路。
Posted in Algorithm
|
Tagged USACO, 算法
|
| 编辑
跟着simpleDB在DBMS的内部走马观花地走了遭,最多只能说是入门,下次再做的话有信心做得更好、更专业
改进和学习之处
- Log系统,简单弄各类,多弄几个打印函数分分级就好了
- 子查询的做法:课参考zly那组的,语法分析的时候分析出子查询,各个分支都有自己的运行函数,只要返回的结果同一即可(定一个统一的接口,比如table类)
- 尽可能地用类(接口)来做,不要用C风格的那一套,这样容易扩展(比如子查询)
- 语法分析还是做得太简单,跟着语法分析走不是为一种思路
Posted in 未分类
|
Tagged database
|
| 编辑