前段时间的精力主要放在了找工作上,压力也比较大,阅读和写博客的计划都有所耽误。后来难得利用换工作的间歇期去了云南的大理、丽江、香格里拉旅行,还看了《黑客与画家》这本书,对于工作、生活、理想的一些看法与感悟有了些许改变。

我目前最大的三个爱好:旅行、编程与写作,热衷程度由高到低。

但理想很丰满,现实很骨感。作为一个程序员,很难说到底有多少时间是在工作与学习,然而就算如此学到的也只是沧海一粟,这仿佛是一个永无止境的过程,需要持续不断地投入精力,但也让人乐此不疲。与之相应的是,业余生活成了一件一成不变、可有可无的事情。偶尔有那么一些小石子会在平静的湖泊中溅起涟漪,但转瞬便恢复了之前的平静。

在上海呆了近两年,这座繁华而又空洞的大城市,我依旧觉得无法全身心地融入其中。依稀能够回忆起没来上海工作前,去外滩游玩,眺望东方明珠,怀揣着梦想与激情,畅想未来。今天呢?我甚至不能在脑海中描绘出这里的行道树是什么样子,入眼都是高楼大厦,遮天蔽日,耳边始终回响着地铁呼啸着驶过的声音,行色匆匆的人们吵杂地交谈着,西装革履的白领们低头玩着手机。日复一日,年复一年。

「你将来是要在上海定居吗?」朋友问我。我被这个问题难住了,我并不是一个喜欢安分的人,但这个问题仍然让我对未来的不确定性充满了疑惑与迷惘。我开始思考一些关于编程之外的事情。

关于黑客

在外人看来对程序员的定位就是码农,书呆子,聪明人。

我个人觉得我也许可以做个「黑客」与「艺术家」。

就如同《黑客与画家》的作者 Paul Graham 所说的那样,在所有的行业中,他认为黑客与画家最相像。而我觉得黑客与作家亦然。当我学习写作时,我需要阅读大量的名著,摘抄那些优美的句子,揣摩作者是如何遣词造句,最终在不断的实践中形成自己的风格,如果把这些作品按照时间顺序排列,就会很容易发现这个循序渐进的过程。

「那么,黑客是如何学习编程的呢?」注意这里我没有再用「程序员」这个词,因为显然「程序员 ≠ 艺术家」。在我看来,黑客是创作者,是艺术家,他们执着于用自己的能力创造出吸引他人的作品,并不循规蹈矩,发自内心地热爱着创作的过程。而程序员只是一份工作,你需要有一技之长用来养家糊口。程序员通常在大学课堂与培训机构里学习编程,而黑客通过研究优秀的项目与实践来学习。

「喂,书呆子!」这样的问候早已习以为常。

如果你想要清晰地思考,就必须远离人群。但是走得越远,你的处境就会越困难,受到的阻力也会越大,因为你没有迎合社会习俗,而是一步步地与它背道而驰。黑客往往就处于这样的境地之中。好消息是,在这个人人都该学点编程的时代,就连美国总统奥巴马也表示,「编程教学如同识字一样,应成为基础教育的一部分」。也许有一天,黑客会像伟大的画家、作家、音乐家一样备受推崇、流芳后世,而不仅仅局限于一小部分群体之中。毕竟,黑客很酷,不是吗?

旅行

旅行被我放在了第一位,也许真的是因为不容易得到的东西才懂得珍惜。

就和大多数人的抱怨一样,在有时间的时候没钱,有钱的时候又忙于工作而没有时间。小时候总是喜欢对自己说,「嘿,以后赚到钱了就去环游世界吧。」长大了才意识到先不谈能去到多远的地方欣赏风景,首先得在当前的环境下站稳脚跟,而这已属不易。

我喜欢爬山,喜欢慢慢地走着,一步一个脚印,欣赏沿途的风景。

就如同喜欢编程一样,我很享受这种可以通过自己一步步的努力,最终获得想要的成果的感觉。而是否能够到达山顶反而不是那么重要了。

能够心无旁骛地放飞自我,享受时光流逝,真的是一件很幸福的事。

编程

看完《黑客与画家》之后,我做的第一件事就是去学习作者十分推崇的 Lisp 语言。

这大概是我第三次尝试去学习这门语言了,很遗憾最终依然以失败告终。在掌握了基本的语法之后,我仍然无法说服自己去用这门语言开发一个有实际意义的项目。或许已经过了那种充满猎奇心理的年纪?又或者说是因为功利心太强了吧。现在在选择是否尝试做一些事情时,必然会权衡利弊得失,再也不像从前那样全凭兴趣,任性而为。

这一年来主要的开发语言从 C/C++ 换成了 Go。得益于其开发的高效率,可以把更多的精力花在系统整体的架构、设计上,能够快速实现自己的一些想法并且兼顾性能。

程序员可以从开源项目上学到很多东西,这已经成为我提升自身能力的重要方法。今年主要看了 Codis 和 InfluxDB 的源码,也研究了一些其他分布式存储项目的架构设计。fstor 是我规划中要开发的一个分布式对象存储应用,目前还在设计研究阶段,相关的知识积累还不够,但我就是喜欢给自己定下一些中长期的目标,稍稍超出自己的能力范围,然后享受为之奋斗的过程。

此外,我开发的 frp 这个用于内网穿透的小工具在 Github 上也有了 2000+ 的 star,这其中收获的成就感真的无法用言语来形容,大概只有程序员能理解了吧。这个项目的初衷仅仅是为了我更方便地在任何地方连接到公司内网的台式机,开源之后,有其他人会报告 bug 以及提新的需求,这让我重新站在不同使用者的角度去思考问题,不断地完善这个项目。如果以后有机会创业,我想这样的经历将会对我起到非常大的帮助。

写作

我仍然记得高中的时候,做完作业,偷偷拿出一本褶皱的笔记本,开始将自己幻想中的世界一笔一划地记录下来,旁边放着英语或者数学的教科书,以备随时将写小说的笔记本遮住,仿佛这真的是一件多么见不得人的事,可以和背着父母偷玩掌上游戏机相媲美。

如果你曾经做过类似的事情,那么这真的值得让人羡慕。你会惊奇地发现,曾经的你竟然如此充满想象力,海阔天空,飞鸟游鱼,应有尽有。而现在,取代它们的是居高不下的房价,堪忧的食品卫生,不健全的医疗制度。生活在这样的环境中,又何来想象力之说呢?

写作上,我现在更多的是将平时的学习笔记整理成博客,今年由于增加了读书计划,也会写一些读书笔记以及生活感悟。当然,我最喜欢的文体还是小说,经常会有零碎的念头从我脑海中闪过,但是缺乏精力与时间,很难抓住这些小灵感。小说是用一个个生动的故事,去表达作者的世界观与价值观,让每个读者都能用自己的方式去感悟,她不像议论文那么义正言辞,也不像散文那么阳春白雪,每个人都能从中搜寻到与自己生活相关的蛛丝马迹。如果未来有机会,我或许会「重操旧业」也未可知。

梦想

有的人的梦想比较容易实现,有的人的梦想很难。

我的梦想是和自己喜欢的人一起,在环球旅行的途中,在每个风景优美的地方,敲着代码,做自己喜欢的项目,赚到足够旅行的开销,然后用文字记录下每一天。