如果让我选择一年,作为人生最值得骄傲,最具代表性的一年,我想那一定是我的2008。今天是2008年12月25日,圣诞节,这样一篇计划了半个月之久的总结性文章,终于下笔去写了。在之前,我只是想想,这一年我都做了些什么,每每开始想就不禁停不下来,会一直一直想下去——在这一年,发生的事情太多太多。

1. 心情

文静说,这一年对于我最重要的事情是我终于决定追随那个梦,无论如何。是的,至少终于我敢于迈出了这一步。Aya说,我其实不了解她,我爱的最多只能是以前那个她,或者说,根本就是一个梦,因为我梦中的她其实并不曾存在过。
我不知道。
我知道的是,在我的2008年里,我的心从来没有如此地平静过。当无欲无求,心如止水而与世无争的时候,才会发现这个世界是如此地美好。
信仰爱,相信爱主导着这个世界的时候,一切肮脏的人情世故都销声匿迹,取而代之的会是一种凌驾于整个世界之上的自由:在这个冬日的清早,行走在这个被整个世界遗忘的角落,当我低头观察枯草时,我忽然变成了为生计奔波的一只蚂蚁,忙碌而快乐;当我昂首瞭望天端的云朵时,我却变成了翱翔蓝天的一只鹰,骄傲而强大。
这样的生活,带给我的是一种更加细致地去观察世界的习惯。在这一年里,我总是随身带着相机,记录每日的点滴,因为我知道,无论如何,2008都会是我的黄金时间,这段时光转瞬即逝。
在2008年里,我的心情竟然经历了好几次大起大落。
我曾经幸福过,因为在新年来临的时候,我竟然被Aya带去见她的父母,虽然事后我和Aya都觉得这是个疯狂的做法,但是不能否认在那个时刻,我是最幸福的,我想最大的幸福,莫过于被深爱的人所信任的感觉。
我曾经疯狂过,我的2008竟然有将近1/4的时间在济南渡过,我在2008年的2月、3月、4月、5月、6月、7月、8月、9月和10月,都一次一次地回家。每次一周左右,有时候天天出去,有时候呆坐家里7天而已。我忘不掉那些仲夏夜,我和Aya一起散步的日子。走在操场上,我想,我一定要珍惜现在,不知道今后还有没有这样的机会了呢。可惜见到Aya,我就像变了一个人似的,不怎么说话了,似乎很像小时候的我,沉默,胆怯。现在看来,真的过去的就过去了呢,一去不复返了。
曾经Aya将以前的一切解释成命,默默地承受了。
现在轮到我,认命受罚的时候到了。
我伤心不伤心呢?我只知道每天当我入睡之前,都会很伤心很伤心,我无法一个人面对熟悉的黑夜。我为什么伤心呢?Aya曾经尖锐的指出这个问题,我的伤心,到底是为了什么,为了谁?也许Aya是对的,我的伤心,根本就不是为了她,而是为了我自己。
原来我是一个如此自私的人。
我会改的,为了Aya,我愿意变成任何人。虽然这样的改变已经足够晚,也改变不了即成的事实——是我伤害了她,在爱与罚的世界里,我没有第二次的机会。
在这一年,我便成了很多朋友眼里好男人,对所有的人友善。然而他们却看不到一个事实:在我最在乎的人眼里,我永远是伤害她的那个罪大恶极的人。
10月,终于我忍不住这样的压力,也正如Aya曾经预言的那样,终有一天我会放弃。我说我放弃了。我放弃了11年的期待,从此我不相信爱情。
其实一切都是命,就像Aya在2月写在博客里那样,命中注定我就是她身边的过客而已,我是一颗流星,转瞬即逝,逝去就不再。

2. 技术

我的雄心壮志,终于在离开微软亚洲研究院时达到了顶峰。那是2007年的10月份。那之后,我自认为是一个足够优秀的人,我什么都会,我可以做任何事。12月,我做了这件事情:http://bbs.tongji.net/thread-529173-7-1.html。讽刺地是,这篇帖子就在今天早晨又被顶到了同济闲话的第一页,按照版规,我限时关闭掉了,其实我是存有私心的:我希望我的骄傲,能够快点被大家遗忘,这的确是一件很傻很傻的事情。
过去一年多再回头看看,当年在微软亚洲研究院的三个月实习真的是无论在时间上还是其他任何方面,都是精确地合适。从这段经历中我学到了太多太多的东西,而很多东西,并不是在那三个月当中学到的,而是在反思的2008年中。
也许,离开微软亚洲研究院时我可能还有点愤愤,为什么Peng Xu会那么无情地批评我不懂面向对象?现在我完全理解了他的意思,他说的很客气,其实那时候的我,不仅仅是不懂面向对象,而是根本不懂编程。
现在的我,当我脱离了闭门造车的角色,变成了一个组织者的时候,这才发现我与Peng Xu的差距是如此之大:我根本没有Peng Xu一半的一半的热情去组织这样的协同工作任务!
感谢Ruby on Rails,感谢Redmine,让我虽然有些狼狈,然而有惊无险地完成了我领导的第一个项目。
核心的专业技术方面,唉,就是指网络技术方面,最大的成绩是六月份的时候投资购买了DreamHost空间,把所有的网站开在了美国服务器上。到现在,我拥有的域名已经可以以几十计,我这才能够感觉可以施展…
现在的我,借助于良好的服务器平台,能够顺利快速地实现着我的想法。只要我想并且有时间,我可以在一周之内从零写起一个网站并且不遇到问题,这是去年的我虽然身在微软,也是想也不敢想的事情。
读研值不值呢?我的回答是绝对值。虽然我没能从导师和实验室学到任何专业知识,但是我却能够利用实验室资产去做练习,正如可以拿着一个价值数百万的机器练手一样,我想这样的机会,不读研是好多好多年之后才会遇到的事情。当然这些都是只对我来说,谁让我见了服务器就激动呢。
代码方面来说,今年我学习的新语言,算是PHP吧,虽说以前也会,但是今年开始我可以像写C#一样没有障碍地用PHP去实现我的梦。
代码量方面,我想2008年应该在80000行到100000行左右吧,我平时还是会写很多很多代码的。比如11月我就写了25000多行代码。

3. 得

2008年,我想最大的收获是我的朋友们吧。很多次很多次,我发现我直到研究生才开始了真正的典型大学生活。能够融入的圈子变多了,谈得来的朋友也变多了。我很疑惑为什么本科的时候没有这种感觉,大概是思维层次仍有差异吧,那时候总感觉交流不畅的原因是,当我与别人交流时,总感觉要么我在教他要么他在教我。
说实话研究生生活刚开始时,我是打算过一种相对封闭的生活的。我晚入学一个月,不参加任何班级活动都是典型的表现,那时候我甚至觉得任何与其他女生的交流都是对Aya的一种背叛——因为我不相信在男女之间有所谓友情存在。
不用你说后来我也发现了我有多傻。于是乎我走了反面的路线…这才发现原来我是如此极端的一个人。
五一回家的时候刚好同文静同路,一路上就在讲我的历史,她睁大了眼睛,问我:我没想到李征你什么时候变成了个诗人的时候我永远忘不了。原来,对于Aya的执着,竟然变成了我可能受到别人尊敬的原因。
从家里回来之后我和她做了一件更加疯狂的事情。
五月十二日,大概是2008年所有中国人的最低谷。我们这个被世界遗忘的角落也是这样子。事情发生过之后我们都在想,我们要做些什么才能帮助他们呢?其实我蛮想去四川的,那个时候我根本不在乎生死,其实到现在都有那么一点点尚死的情结在里面,活着有时候真的很无聊,还不如找个需要我的地方贡献了算了,呵呵。某人看到这里一定会说我太不负责任了,想想而已,现在还不到时候。
丹丹说,我想知道北川现在有没有人在救人。那份焦急,一点不输总理。
我们能做些什么呢?第二天晚上文静说不如组织一个募捐活动吧。其实那时候我已经很多年不做学生活动了,也累了,不过这次真的是时间宝贵,没时间物色组织者,那就自己来吧。于高在这个时候伸出了宝贵的援助之手,告诉我:电信学院学生会听你调遣,这句话给了我莫大的心理支撑。

[singlepic=18269]

感谢ymz帮我连夜做了一副救灾海报,真的是连夜,因为她还是住在本部学五楼(还是学三楼,我不记得了~)的本科生,晚上11点是要熄灯的。做完之后刚刚传到我手中,她松了一口气:终于赶上了^。没几分钟就断了通信。
然后在同济网我发现除了我们,机械和软件学院都在组织类似的活动,然后找到他们的联系方式,我们决定合并这次活动,如此出现了这次同济大学嘉定校区汶川地震募捐活动
唉,往事如烟,这么快,2008都结束了。
我的朋友们:
夏至雨水,我都不敢说你了…但是我很担心你。
ymz,一如既往地作为我最喜欢的美工在努力地读书,画画,并且在我自大地把所谓“设计作品”贴到她的QQ里去烦她的时候,给出的首先都是肯定的意见。
文静,忽然之间在我们的生活中变成了核心的角色。可以肯定她的方面是,我与她之间的交流基本是同一个层次的,就是我说任何事情,有时候隐晦一点有时候很掩饰,她总是能够一下子反应过来我是什么含义,不像别人,不是我教对方就是对方在教我,很累。
还有阿杜,魏瑶和胡丹,那些有羽毛球的夏夜是永远值得纪念的~
其实最感动的还是那帮兄弟们…我就不表了啊,在大众的心理中,男人应该是不应该表露感情的,我要是大发感叹之情肯定又要被一阵狂熊。
只是于高,很可惜,这次活动之后就被导师调到沪西校区建设社会主义新农村去了,加上女朋友在上海,自此离开了我身边的生活。

2008年,加上这一篇,我写了455篇博客。好几个月的日历表上都是满满的,每天都有一篇以上。虽然很多博客很短,甚至有点凑数嫌疑,但是毫无疑问2008是一个被我仔细记录的年度。回头看看这455篇博客,我自己都会伤心地哭。

我想这些都源于我的梦。Aya经常批评我,说我是一个总活着梦里的人,和我在一起风险太大。其实我有很多梦,或者说这是很多很多目标,只是我在计划我的目标的时候习惯于想想一旦实现会如何如何~
大的就不说了,我太失败了。

[singlepic=18270]

今年我实现的梦,拥有一个单反相机,拥有一个自己架设的计算机集群,一个大桌子,好好打羽毛球。

4. 失

2008最大的失败是自己的尾巴总是不知道藏藏好,昨天(2008年12月25日)晚上,同济闲话上还出现一篇帖子,继续讨论我留在2007的尾巴那篇《计算机学士的成长之路》,并且被一阵骂,唉~
我的最大的缺点就是好为人师,总是觉得自己是最好的,并且喜欢指出别人的不足。加上我这个人本来性子就比较直,导致对方其实不能接受的情况。
我注意到这个现象已经很久了,也算是自私的一种表现吧。2008年的下半年我一直在改,现在的情况是,与人相处的时候,只要不跨越我的红线,我都是听从对方的观点,如果实在意见向左,如果不是太大不了的,也会先去做,然后慢慢提升对方。举个例子吧,暑假我们做的那个项目,公司方面的人每次开会都像头脑风暴,推翻以前的所有需求,然后说,看,XXX做了这样一个东西,我们也要这样。刚开始被我强硬地以说好的需求给顶了回去,后来我发现大可不必。只要在不违反我既有的系统架构设计之上,改改也没什么不好。但是,想全盘推翻我的系统设计,我是绝对不会妥协的,在这种原则问题上,只能对不起了。
这只是个例子,在这一年里还有另外好几个人曾经挑战我的原则红线,下场都不好,真的对不起,但是原则问题我不能让步。
第二是我在2008的大部分时间里没能控制好自己的时间,这才导致了我会觉得2008这么快的就过去了,很多想做的事情,比如iTelnet,一年多过去了还不成个样子。我想接下来的一年应该不会了吧。2008对我来说是忙碌的一年,事情太多太繁杂,同时进展的工作真的太多太多。压力迫使我必须改变,现在的我,在吴愚的定义下,我是一个靠工具管理自己的人。的确,我现在用很多工具管理每天的生活和时间,我想我的2009,应该会是忙碌但是有序的。

5. 其他人的2008

继续诡异的问题。今天在一台Ubuntu 8.10 Server版本上用这样的configure条件:
[code=’sh’]
‘./configure’ \
‘–with-mysql=/usr/local/mysql’ \
‘–with-apxs2=/usr/local/apache/bin/apxs’ \
‘–enable-mbstring’ \
‘–with-mcrypt’ \
‘–with-gd’ \
‘–with-jpeg-dir=/usr/local/’ \
‘–with-png-dir=/usr/lib’ \
‘–enable-exif’
[/code]
第一个问题:
[code=’sh’]
configure: error: libjpeg.(a|so) not found.
[/code]
我以为是libjpeg没装,下好libjpeg-6b.tar.gz,这样装了:
[code=’sh’]
tar -zxvf libjpeg-6b.tar.gz
cd libjpeg-6b
./configure
make
sudo make install
[/code]
但是还是提示上面的错误。很迷惑,后来发现是/usr/lib下没有libjpeg的文件,正确的libjpeg安装应该这样子:
[code=’sh’]
tar -zxvf libjpeg-6b.tar.gz
cd libjpeg-6b
./configure
make
# 这一步很重要!
sudo make install-lib
sudo make install
[/code]
PHP的configure成功结束了,但是make编译PHP 5.2.8时出错:
[code=’sh’]
/home/nocoo/soft/php-5.2.8/main/output.c:421:
undefined reference to `php_ob_gzhandler_check’
collect2: ld returned 1 exit status
make: *** [sapi/cgi/php] Error 1
[/code]
大惑不解,然后我搜我搜我搜搜搜,终于发现,只需要加入’–with-zlib’就可以让PHP用zlib,从而消除了这个配置错误。
最终正确的configure命令如下:
[code=’sh’]
‘./configure’ \
‘–with-mysql=/usr/local/mysql’ \
‘–with-apxs2=/usr/local/apache/bin/apxs’ \
‘–enable-mbstring’ \
‘–with-mcrypt’ \
‘–with-zlib’ \
‘–with-gd’ \
‘–with-jpeg-dir=/usr/local/’ \
‘–with-png-dir=/usr/lib’ \
‘–enable-exif’
[/code]

为了达成这样一个PHP configure,当中我装过的lib列表如下:

  • libxml2-sources-2.7.2.tar.gz
  • zlib-1.2.3.tar.gz
  • libmcrypt-2.5.8.tar.gz
  • libpng-1.2.34.tar.gz
  • libjpeg-6b.tar.gz
  • gd-2.0.35.tar.gz

因为简单执行:
[code=’sh’]
tar -zxvf {target}.tar.gz
cd {target}
./configure
make
sudo make install
[/code]
就成功了,所以这里没什么好说的,你要是缺,也装上即可。

现在,算什么呢?
说过我想忘记这些事情,却发现忘记了自己。
我的大目标,好多好多,却失去了一个中心。
其实我现在唯一想做的,就是能有自己住的一间房子,然后放很多很多她的照片。
何必呢,坚持所谓的原则,为了那个用不可能的人。
当冬日的朝阳拷问我的心灵,还是会默默地流下眼泪。
之所以如此地伤心,不是因为不爱,而是因为爱的不够。
这样的生命什么时候会结束呢?
当我们都渐渐地老去,当爱已成往事。

[singlepic=18289,620,466]

2008年12月27日 上海长宁区长宁路

好友过生日,我拍的蛋糕~应该挺好吃,没吃几口…

这种情况:
一组照片,或者MP3歌曲,知道它们的路径,保存在一个数组中。现在想随机播放之。要求,每首歌出现的概率相等,且播放完全部之前不会重复,并且保证顺序可以前后无限快进或者快倒。
[code=’c#’]
using System;
using System.Collections.Generic;
using System.Text;
using System.IO;

namespace RandomStringArray
{
class Program
{
private static int count = 50;

static void Main(string[] args)
{
string[] originalArray = GetStringArray();
string[] randomArray = new string[originalArray.Length];

SortedList list = new SortedList();
for (int i = 0; i < originalArray.Length; i++) { list.Add(originalArray[i].GetHashCode(), originalArray[i]); } int index = 0; foreach (KeyValuePair item in list)
{
randomArray[index++] = item.Value;
}

// Print Result
Console.WriteLine(“Original:”);
for (int i = 0; i < originalArray.Length; i++) { Console.WriteLine(string.Format("[{0}]{1}", i, originalArray[i])); } Console.WriteLine("Random:"); for (int i = 0; i < randomArray.Length; i++) { Console.WriteLine(string.Format("[{0}]{1}", i, randomArray[i])); } } ///

/// Generate a directories list for test
///

/// Directories list
private static string[] GetStringArray()
{
if (!Directory.Exists(“Temp”))
{
Directory.CreateDirectory(“Temp”);

for (int i = 0; i < count; i++) { Directory.CreateDirectory("Temp\\" + Guid.NewGuid().ToString()); } } return Directory.GetDirectories("Temp"); } } } [/code]

[singlepic=18268]

圣诞节是外国节日,其实我们中国人不应该也不会怎么太重视,只是这个节日所代表的含义深深地吸引着我们。在圣诞节,应当与我们所爱的人在一起。
祝大家找到属于自己的爱,Happy Holidays!

文静说,明天圣诞夜了如何如何。
我这才猛然发现,12月就要过去,我的2008也要过去了。
某人每年只写一篇文章,写在一年结束的时候(其实是农历啦)。
我提议大家都写一篇文章吧,关于自己,关于这一年过去的历史中的决定,以及接下来的2009,关于我们的憧憬。题目就叫做“我的2008”如何?
我今年也要写,我的2008真的需要好好总结,这一年在我的人生中是那么的重要与辉煌,绝对对得起一篇很长很长的文字去记录。
嗯嗯嗯,努力工作~