RSS Feed

June, 2014

  1. June 21, 2014 by xudifsd

    summer

    生活

    最近苏州经常下雨,晚上城市的灯光映射在道路的雨水上特别好看,而且不知道为什么苏州园区这边特别干净,雨后树叶上的水里完全不会像其他城市那样积满灰尘,这一点比我到过的任何城市都好,这种感觉真是太好了。

    现在每天的生活变得有些单一了,都是8点起来去实验室,然后待到晚上10点才回寝室睡觉,周末也不休。以前还会偶尔出去骑下车,但是最近实在是太忙了。虽然我的GSOC mentor没对我的工作量有什么要求,但是为了对项目表忠心(其实更主要的是为了刷github最长streak,笑),自己要求自己每天至少commit一次,已经这样坚持一个月了。顺便也锻炼下自己的耐心,因为发现很多事情最终只有坚持下来才会取得胜利,追求短平快的都不怎么靠谱。

    似乎一年前我在北京时出去面基、参加活动的次数比在苏州这多多了,一个原因也是苏州这边貌似很少有程序员的活动,另一个原因也是我们学校这边的学习氛围实在是太好了,不光是我周末基本不休,很多同学也是,晚上11点左右最后几班回寝室的公交总是挤满了科大的学生,这样也不好意思经常出去玩了。现在想想在这里学习可比上班累多了,不过好在都是在做自己想做的事情,在看自己想看的书,写自己想写的代码。再过几个月就要出去实习了,我想我以后应该会想念在这里的一年吧。

    前几天跟同学吃饭,他说在等车时听到几个同学在讨论我,说我很厉害、去Google之类的。哈哈,其实我在学校基本不认识几个人,很多人还都只是点赞之交,竟然还有人讨论我,而且还不是坏的方面。这么说来也可以认为我在学校还是小有名气的啊,这大概是因为我参加了GSOC,还被Clojure的某人采访的缘故吧。不过其实别人讨论自己对自己来说也没多大意义,也就只是个话题而已,而且群众们大约也不会去认真地了解一个人,大部分只是跟风而已。这从很多人都误以为我是去Google了就可以看出来,其实就是参加了个比赛,但是群众们就断章取义了。所以出名也就是这么回事罢了。

    技术

    技术方面自我感觉还是有挺多进步的。话说每天大部分时间都对着电脑写代码、看书,都没时间泡妹纸了,要是还没什么进步自己都不好意思了。不过我也觉得我这种生活状态需要些改变了,感觉很多程序员都会这样花大量时间在自己专业上,然后说自己只是感兴趣而已,现在觉得如果时间花在上面太多以至于都破坏生活平衡了还是不好的。这种状态很像玩游戏上瘾一样,因为靠智力去解决一个问题也是很容易上瘾的,所以还是要提醒自己不能因此破坏生活的平衡。

    最近又温习了下ZeroMQ,鉴于之前看到storm对于ZeroMQ是非java实现有抱怨,而且感觉看书和写应用代码仍然不足以让自己明白很多概念,所以自己在借鉴了一些nanomsg的概念的情况下重新发明了下轮子。才刚开始写,所以还只支持REQ/REP,并且要求send前必须connect,见测试例,但是现在至少能跑了。

    这样重新发明轮子后发现ZeroMQ的设计特别科学。比如,它不会对connect()send()做任何保证,甚至不要求send()前connect必须完成,而且这两个调用完全可以异步。现在想想,这样的设计很完美地减少了用户代码的复杂度,因为网络中的通信都是不靠谱的,可能发出的包会被丢弃,可能对方收到但是还没回应就崩溃了,所以对这两个调用做保证没有任何意义,还会让用户代码变得更复杂,不如让它变得廉价——只是将消息放入队列,让后台线程伺机发送,之后用户通过在recv()设置超时来确认消息是否被对方收到就好了。而且ZeroMQ把accept()完全隐去简直做得太妙了,这样就连服务器端的socket也变得非常廉价了,用户就完全不用把它想像成HTTP服务器那样的重型武器,变得很适合分布式组件间通信了。

    貌似这次技术部分写得又跟以前写的《给ZeroMQ做个广告》很像了。不过真心很推荐《ZeroMQ》这书,至少我从这书里学到很多东西。

    夏天了,也送大家一首歌吧。