My 2013 and new year resolution


没有想到,这一年能发生这么多的事情。效率从年初开始,越来越高。然后是暑假实习,认识了很多有趣的人,开始打网球。去了波多黎各和维京群岛,看到一生迄今为止最蓝的海。回来后继续打网球,开始瘦身,失散了三十年的六块腹肌和人鱼线都找到了.

Statistics:

过去的一年,在学校里修了两门课,GPA还是4.0。发表了三篇文章,还有三篇在等消息,两篇在写,为IEEE Trans. of Signal Processing 和ICC2014 审了两篇论文。此外,在Coursera上完成了6门课,其中收获最大的有Dan Grossman 的Programming Language 以及Tim Roughgarden 的Algorithm Analysis I & II。比较可惜的是Andrew Ng 的 Machine Learning,课程和作业都过半了,但因为自己的论文进度太紧,这门课最终还是没能完成。希望它来年还能再开。

根据豆瓣上的统计,这一年我看完19本书,听了27盘专辑,看了50部电影。其中看过最好看的书是现在还没有读完的巨著SICP…好看的电影包括Argo, The Social Network, Now You See Me, and Star Trek Into Darkness;听歌因为大量使用Douban FM 和Pandora,已经无法具体记录了。另外,完成了2325小时的编程。从九月到年底,用nike running 跑了110 miles,越跑越快,从九月份的7’36”/mi 到十二月的6’47”/mi。体重从78公斤降低到现在的68公斤,腹部和手臂的肌肉都清晰可见了。还有很多东西没有量化,比如网球的一发成功率,主动得分,以及非受迫性失误,等等。

Programming:

在Coursera上的几门课程对我帮助很大,从熟悉新的编程语言,到高屋建瓴的指导如何实践。这一年新学的语言包括ML, Scala, Ruby, and Haskell,其中前三个都是课程里涉及的。编程时间的积累已经过半,到了5750小时。从简历上,我可以堆出一大坨熟练使用的语言。而对自己而言,进步最大的有两方面。其一,现在可以用很短的时间,甚至是一个下午,去学习一门新的编程语言,其实只用熟悉常用的语法就好,其中的范式和思想都是共通的。其二,对于算法和数据结构的掌握,让我能在更短的时间里将一个具体问题转变成模型。

这一年也花了大量的时间写C++代码,实习里用到了,自己的项目也用到了。但写来写去,依然不喜欢这个语言——繁琐,庞大高效,想做所有的事情却鲜有亮点。用Jobs描述微软的词语来形容C++也是合适的,no taste。使用它,仅仅是因为所处状况暂时没有其他选择而已。在2014年里,计划将实验室的项目逐渐向Haskell过渡,当必须使用OOP的时候,用Scala。至于继续提高的方向,暂时还没想到什么新的语言特别值得学习(maybe Lua, R, or Javascript),但需要花时间把Compiler看完,然后读完三本2013积攒下来的书:SICP, The Scheme Programming Language,和Real World Haskell。若是此外还有空余,可以旁听一下iOS的课程,重温一下已经放下两年的Obj-C。

因为Haskell的缘故,这几个月越来越多的使用Emacs。发觉一个有关它的笑话大体是对的,Emacs的启动时间都足够用Vim写完一个脚本了。当然,依此类推,启动Eclipse都足够写完一个项目了。。。现在我主要还是是把Emacs当Vim来用,除了C-c C-l来加载Haskell的Compiler,我只不过是在使用Vim里对应的快捷键组合来写程序。我也知道,有关Emacs最吸引人的.el 脚本,我还没有过多涉及。希望在接下来的一年里,我能像使用Vim一样熟练的使用Emacs,有一套自己的加载脚本,多一个得心应手的开发工具。

Sth. else

  • 每周锻炼3-4次
  • 晋级 Tennis Recreation League 3.5
  • 累积2500+小时的编程