2009年6月27日 星期六

离职

离开公司整整两周了,由于网络的原因一直都没写日志,今天补上吧。

去年9月底收到offer,因为不太满意发工资的流程,当时一度还不想过来实习。但是两位面试官非常友好的态度,使我不忍回绝,最后,他们一个成了我的manager,一个成了我工作上的导师。转眼间,八个月已经过去了,虽然期间发生了很多变化,虽然我大部分时间做着与当初设想不符的事情,虽然有时候工作让我很恼火,但是我仍然过得很开心,所以我是带着感激离开的。感谢两位面试官兼同事,给了我这个在国际知名公司实习的机会;感谢我的几任manager对我工作的信任;感谢合作过的项目组同事对我工作的肯定……

这八个月中,我一直在思考我适合做什么,喜欢做什么,直到最近才找到了一点方向。呆在这里无法实现我的目标,所以我决定在实习到期后就离开。很多事情都是这样,你很想留下,别人却未必接纳你,别人接纳你了,你却又未必会留下。我必须去追求我的理想。

祝愿每个人的工作都顺顺利利的,生活都开开心心的,最重要的是身体都健健康康的。

kubuntu下使用openvpn访问blogspot

blogspot被封了好久,过去一段时间一直使用web proxy来访问(当然,仅仅是浏览的话,使用google reader的https链接就可以了),虽然浏览日志没有太多不便,但是想要发布文章还是存在一点问题,所以好久没写文章了。

今天找了两个VPN:alonwebUltraVPN。试用了一下,速度还不错。据说后者最近有点问题,不是太稳定。两个都是免费不限流量的,而且都有windows的安装包,用起来十分方便。虽然没有提供Linux的安装包,但是它们都是基于openvpn的,所以在Linux下稍作配置即可使用。

首先需要安装openvpn,在ubuntu的源里面就有:
$ sudo apt-get install openvpn
接着,需要去它们的网站上注册,注册的用户名和密码在连接VPN的时候需要提供。此外还需要下载配置文件和认证证书,alonweb的可以直接去官方网站下载:Get Started!。UltraVPN的可以在这里下载:ultravpn.confultravpn.crt

最后,运行openvpn就可以了,切记一定要使用root用户运行:
$ sudo openvpn --config alonweb.conf --ca alonweb.crt
输入用户名和密码,最后出现"Initialization Sequence Completed"表明成功了,这时使用ifconfig可以看到tun0连接。现在,就可以自由访问internet了。

下面是两篇参考的文章:

2009年5月7日 星期四

不吐不快


很幸运,今天凌晨目睹了从地狱到天堂的斯坦福桥之战。虽然与巴萨一起经历了大半个梦幻的赛季,对这场比赛的结果已经无欲无求,但是前10分钟巴萨几次将球打入对方禁区,让我的心跳慢慢加快起来。随后埃辛的世界波让我想起了去年的老特拉福德,我预感到切尔西必将开始死守并将1比0的比分保持到终场。可是切尔西并没有死守,仍然坚持他们开场的打法,保持高强度的防守,并不断用有效的反击骚扰巴萨的后防。主队今天确实打得很好,几乎没给巴萨任何机会,13次射门只有0次中目标足以说明他们防守的成功。在阿比达尔被红牌罚下的那一瞬间,我已经不抱任何希望了。直到93分钟,小白的进球给了世界一个惊喜,我宁愿相信这是上天赐予的礼物。

纵观整场比赛,确实切尔西要发挥得好一些,在战术层面完全压过巴萨。不得不承认,巴萨能够晋级,靠的是运气和裁判的帮助。所以今天如果没有小白的进球,0比1告负的结果也完全可以接受。

不错,确实有裁判帮助的成分,但是有多大呢?真的很佩服中国媒体的导向性,新浪第一时间刊出了“3点球漏判2手球”的头条,搜狐头条更是说“5点球”。我不知道作者在看完比赛之后有没有再仔细研究过录像,更不知道他们是出于何种目的。于是很多没有看比赛,或者缺乏自我判断能力的球迷纷纷加入追捧的行列。反观黄建翔李承鹏两篇稍显中立的博客却未能进入首页。

一时间,巴萨似乎成了全民公敌,从主流媒体到众多网友,都在指责巴萨。好吧,退一万步讲,就算那5个是实实在在的点球,但误判的是裁判,应该受到指责的是裁判而不是巴萨。难道要皮克手球后,像巴拉克那样对着裁判怒吼:“我手球了,该死的快来判点球阿。”然后再主动申请红牌离场?

指责巴萨无非是因为巴萨从裁判的误判中受益了。不错,从这场比赛的结果来看,巴萨似乎是受到了裁判的照顾。但是我不明白的是为什么没有人再提及阿比达尔的红牌?试想如果没有小白的进球,那么赛后指责裁判的可能就是巴萨了。这只能说明今天裁判的判罚中失误很多,而最终对巴萨有利。

评论裁判工作,仅从这一场看,确实有失公平,但是仅看这一场又是狭隘的。从10场,100场,甚至1000场来看,你会发现误判跟越位、假摔一样,都是足球的一部分。今天你因为误判受益了,那么你以前或者将来一定会因为误判而受害,这就是足球!从里杰卡尔德时期到现在的瓜迪奥拉,巴萨没有少受到误判的影响,但是他们从来不会对裁判大加指责,虽然偶尔暴怒,却绝对不会像穆里尼奥那样喋喋不休,导致主裁收到死亡威胁而封哨。

本场比赛,最有争议的莫过于“5粒点球”了,暂且不论。对巴萨不利的就是阿比达尔的那张红牌,先不论是否假摔,就算犯规,但是动作不算大,如果硬要算成阻止进球,那么之后梅西和小白在进区前沿打出二过一配合,在梅西有机会进入进区的情况下被埃辛绊倒,只出示黄牌是否判罚过轻?再回到上一回合比赛,普约尔在中圈附近犯规,被出示黄牌,直接导致这场不能上;巴拉克在比赛结束前,在禁区线上阻挡小白,此时如果不阻挡,小白直接杀入进区,是不是应该给巴拉克出示全场的第二张黄牌将其罚下?如果硬要说这场的“5个点球”判罚一二,那上一场亨利进区内被拉倒,又作何解?所以就这两场而言,正如黄建翔所言,裁判只是在还债。至于那“5粒”点球,可以参考“陆俊评哨”,赶紧去骂他吧!

再回到几年前两队的交锋。04-05赛季的欧冠,切尔西在主场4:2淘汰巴萨,而特里在70多分钟的远距离头球破门,进区内切尔西球员似有阻挡巴尔德斯之嫌,而如果比分为3:2,那么最终晋级的就是巴萨。一直为切尔西球迷所津津乐道的是:巴萨在11对11的情况下从没在90分钟内战胜过切尔西。而05-06赛季,在诺砍普进行的淘汰赛第二回合比赛,巴萨凭借小罗的精彩进球1比0领先,直到临近90分钟时,吉奥在进区内根本没碰到人,裁判却送给切尔西一个莫须有的点球,才使所谓的记录保持至今。

看完了与切尔西的对决,再来看看巴萨最近遭受的误判。上一轮欧冠首回合对拜仁,上半场梅西进区内突破被绊倒,裁判非但没判点球,还给梅西出示黄牌,因此还将发怒的瓜迪奥拉请上看台。上个星期的国家德比,小白在进区内遭受了比今天更疑似点球的犯规,裁判也没判。这些都没人再去捕风捉影,只因为巴萨早已锁定胜局。

再看联赛中,巴萨客场打赫塔菲,好端端的3:0被吹成了1:0。主场打西班牙人,裁判有争议地向凯塔出示红牌,最终导致主场失利。对阵比利亚雷尔,皮克拿到第二张黄牌被罚出场,幸好赛后西甲足联确定误判而取消了这张黄牌。如果真的要拿裁判说事,可以好好统计一下这5,6年来巴萨的38轮联赛,你一定会发现每年都会有不下十个好球被吹成越位。

除了巴萨的比赛,其他的例子也比比皆是。米兰德比阿德手球破门,而在之后的联赛里因扎吉不是也用同样的方式进球了?06年世界杯,就是黄建翔解说门那一场,希丁克的澳大利亚在比赛结束前被判争议点球。而追述到02年世界杯,希丁克带领的韩国队连克西班牙、意大利,一路闯入四强,我想除了棒子没人会相信他们靠的是绝对实力吧。

说了这么多,无非想说明误判就是足球的一部分,从大局上讲,每个球队受益和受害的比例是很接近的。说白了,就是那句老话:出来混的,总要还的。如果玩不起,那就别玩呗!

巴萨通过一场非巴萨式的胜利进入了决赛,场面不占优势,没有流畅的进攻,甚至打得有点难看。于是有人就跳出来说了:“巴萨配不上进入决赛。”难道切尔西第一回合在诺砍普的表现就配得上进入决赛?真是笑话。我就不明白为什么皇马可以连续1比0“绝杀”,曼联可以1比0小胜波尔图晋级,巴萨就偏偏要打出6:2这样的比分才能让人信服?难道就是因为巴萨坚持打4-3-3,而不是9-0-1?如果以比赛场面的优劣来决定最后的结果,那巴萨这几年获得的荣誉应该更多。去年欧冠半决赛,曼联依靠斯克尔斯的世界波主场1比0领先后,收缩防守,巴萨虽然占据主动却难以破门,最终出局。那去年的曼联是不是也配不上冠军?前几年米兰击败利物浦夺冠,看过比赛的人都知道谁的机会更多,那米兰是不是也配不上冠军?04-05赛季巴萨与切尔西首次交锋,巴萨控球率80%比20%,射门28:2,最终两回合巴萨被淘汰,天理何在?偶然性,技战术的融合,这才是足球吸引人的地方。通俗的讲,就是足球是圆的。

本无意加入这场争吵之中,只是看到“主流媒体”和一些网友的评论实在气不过去。没有知识也要有常识,没有常识也要多看看电视。想找我争论,我就以开头的图片回应吧。

2009年4月25日 星期六

使用Git管理简历

每到找实习找工作的时候,做得最多的一件事就是修改简历了。随着个人经历的增长,简历的内容也会不断丰富。即便在同一个时期,对于一个有针对性的应聘者来说,投向不同公司的简历会因为职位要求而有所不同。有什么方法来管理这些简历呢?最笨拙的办法就是为每一份简历保留一个备份,以备日后查看和修改。久而久之,备份的文件会越来越多。其实,简历跟代码一样,也会有版本的变化,所以可以使用Git来进行管理。

我的简历使用latex排版,使用一个模板,每次只是去修改内容,然后运行pdflatex生成PDF文件。首先,初始化git repository,并把tex源文件加入版本控制之中。
$ git init
$ git add resume.tex
$ git commit
修改完resume.tex后,可以将修改提供到版本库:
$ git add resume.tex
$ git commit
如果此时的版本是用于提交的简历,则可为其设置tag,以备日后查看:
$ git tag XXX HEAD
$ git tag
XXX
XXX是自己为tag设置的名称,比如可以设为某公司某职位的名称。命令git tag用来查看所有的tag。

经过多次修改后,简历经历了多个版本的变更,这时如果需要查看以前某个tag的版本,可以以此tag为基础创建一个branch,命名为old:
$ git branch old XXX
$ git branch
* master
old
此时,branch old已经被创建,但是版本还是最新的版本,只需切换到branch old即可看到tag XXX的内容。
$ git checkout old

此时resume.tex就回到了创建tag时的版本,运行pdflatex,就可以查看当时提交的简历内容了。

查看完当时的简历,如果不需要了,可以删除branch:
$ git branch -D old
对于HTML,Word格式的简历也可以使用相同的方法进行管理。

2009年4月1日 星期三

自愚自乐

今天虽然没有愚弄别人,也没被别人愚弄,但却发生了几件比较可笑的事情,某种程度上也算是自己愚弄了下自己。

上午正在忙着工作的时候,一个人发了个MSN消息过来:“终于等到你的节日了,节日快乐。”心想,这也太没创意了吧,而且是典型的群发。手里正忙得不可开交,所以就顺手关了。于是,就在这个愚人节中最愚蠢的耍人手法中开始了这一天。

这次本想玩个大的,好好“欺骗”一下Abalone和Zell,顺带唬一下sleepinggirl。策划了一个一石三鸟之计,并且从十天前就开始作好铺垫。结果一上午都没见那两人人影。

下午上班没多久,就发生了诡异的事情。最近的工作是测试一个Web应用,可是今天Weblogic却总是会莫名其妙的自己shutdown。每次我重启完,过一会就会自己关闭了。几次之后,当我又想启动的时候,发现启动脚本的名字被改成“startWeblogic.sh.pls.do.not.start”了。这个测试环境一直都只有我一个人在用,该不会是有人在跟我开玩笑吧。用“who”看了一下,确实有一个root用户在使用。

时间追溯到3个星期前,开发team给了我这个测试环境vm07,让我去配置好程序运行的环境,也就是安装JDK,Oracle Database, Oracle Application Server, Weblogic之类的工作。我登陆之后,发现这些软件都已经装好了,并且可以正常使用,大悦!前两天把程序部署进去了,还算顺利,今天就开始测试了。发现刚才的问题后,就去问管理员。管理员说你们用的不是vm06嘛。我想怎么可能,立刻去查邮件,果然是vm06,我实在想不通当时怎么会把“6”看成了“7”。再去vm06上一看,什么软件都没有。把这事告诉了manager,Manager说你快去装软件吧。于是就开始埋头装软件,根本无暇去愚弄Abalone了。看来还是“害人之心不可有”,本以为自己铺陈了十天的计划会成功,结果却被自己铺陈了二十天的做法戏弄了一番。

就在我忙碌地安装Database的时候,manager跟我说:“你该不是在戏弄我吧?”我只能无奈的回答:“我也希望是这样。”

终于花了2个小时把环境配好了。于是泡了杯茶,刚想跟同事说:“我来这实习做过的两件最愚蠢的事情,一件是用“rm *”把刚写好的test case全部删除,另一件就是这个了。”程序居然没有部署成功,抛出了一大堆异常。整到下班都没搞定,临走时心血来潮把vm重启了。进去之后发现Database的instance没有启动,我也不知道怎么启动,需要查一下文档,就关机走人了。

走到楼下,心中越想越不舒畅,再怎么样总得把Database启动起来吧,决定吃完晚饭回去加班。回去之后查了半天文档,没找到方法,这个需要请教下Ford Feng。时间紧,任务急,我选择了最直接的方式:卸载重装。哈哈,没到十五分钟,新的Database装好了。可是部署还是没成功,只能等明天让developer帮忙解决了。

希望明天别再出现这种事情了,不然清明节都得加班了。