星期一, 二月 02, 2009

产业政治?

continuation,对这个东西很久之前开了个头就没再深入,晚上又拾起来看了下,也算continuation了吧。jsr 315敢情被apache sf驳了,而且是因为很扯淡的产业政治问题,但愿不要难产,tomcat拿起来还算没门槛一些,想改哪里都好改。

On 2009-01-12 Apache Software Foundation voted No with the following comment:
The Apache Software Foundation's vote is based on the point of view that this spec lead - Sun - is in violation of the JSPA

http://www.apache.org/jcp/sunopenletter.html

and therefore shouldn't be allowed to start or continue another JSR until the above matter is resolved.

This vote is not a comment on the technical merits of the JSR.  If not for the issue of the spec lead, the ASF would have otherwise voted "yes".

过年期间本想更新下那个纠结的问题的进展,八成是fix了,而且是我们自己的问题。在这个问题上我也算费了不少心思,也积累了很多,只不过对公司的贡献还不如US那里的人坐着review一下代码。嘴上拿不熟悉这新家酿框架以及从另外一版port过来又做了些山寨修改的代码当作借口,实际上最主要的还是态度问题,因为主观上就没想我们的代码能搞坏下面tomcat和apache的行为。回头好好总结。

星期三, 一月 14, 2009

纠结de更新

好像把apache httpd降级到1.3.x目前来说有效地扼制了该纠结的再次发生,当然,这是还没有完全通过机器压测以及人肉压测证实的,因为各路PM都太忙,前几天发过的一个禁止所有人碰那台server的禁令发布以后真的就没有任何人在碰了,导致降级后服务的压力很轻很轻,除了某health check脚本意外只有我等一二人在随机访问服务。
不过,就像已经敲定的,即使降级到1.3.x可以100%消除这个问题,这也只不过是一个workaround,而不是solution。我真期待我可以NB哄哄地去提个patch给tomcat,可为啥感觉这概率会很小乜…为啥还是很在意dmesg里网卡TSO被disable的那几条日志乜…为啥还是很怀疑e1000网卡驱动的那几个看起来很match该server运行环境的known issues乜…
明天的任务是改掉tomcat的AJP 1.3 connector,强迫丫不许和httpd私下协商来重用已有的AJP连接然后和httpd 2.2.x连接测试——假如这能阻止httpd 2.2.x犯错误,那就意味着…其实也就是验证了下我们长久以来的怀疑:httpd不知道为啥突然漏读/漏发了,导致以后所有的request/response都错了一个位置。显然不重用已有AJP连接的话,AJP协议为数不多的这点儿好处也基本用不上了,对性能肯定是一记重击,是万万不可能用于production上的。
话说tomcat的代码看久了,感觉也不过尔尔,有些繁琐罗嗦跟不上时代,典型的SUN风格。有空倒是该尝试尝试jetty、resin,以前总觉得这俩东西不入流…

星期五, 一月 09, 2009

什么是纠结?纠结就是…

apache httpd 2.2.8 + mod_proxy_ajp,以及tomcat 6.0.14,httpd会时不时地把应该发给用户A的内容发送给用户B。tcpdump显示,完全是tcp级别的纠结:httpd甚至不等tomcat 从AJP link发送回响应就把已有的一个应该发给另外一个连接的响应给发送了出去。所有的server都是从一个镜像复制出来的,但只有这个server,也是 产品正式上线前最重要的一个server,纠结到了这个程度…
于是乎,请求一个图片,返回一个css;请求一个css,返回一个js;某请求应该会拿到302跳转,结果返回一个应该显示给手机客户端的xml文档…
升级了下httpd到最新发行版,发现还是那个德行,然后在我们还在睡觉时被某人幸灾乐祸似的赶紧麻地利儿地又恢复到了2.2.8——稳定性,这是我在这 公司里最反感的一个说词:明明就是不稳定到无以复加的程度…有bugfix都不跟上,让人怀疑隐约是怕万一升级错了就得被人半夜从被窝里拎出来飙到机房。 其实apache出regression的频率和概率比我们自己要小很多——我不是说没出过。
httpd 2.2.8的代码放在机器里N天了,ctags也跑了一趟,就是没有时间看:因为要和人解释为什么我说这不是我们自己代码(java)出问题造成的,因为 有人怀疑我们自己的代码(java)已经神到可以corrupt整个java runtime从而导致tomcat返回错误的响应了。我从来是不会说"不可能"的人,只不过这事儿概率太小了,小到基本上等于我们team一起买了彩票 能瓜分整个奖池的概率。
反正那台server也已经被f*ck到这地步了,备用server也已经有人在申请了,准备搞个lighttpd上去试一下,毕竟apache错发响应 是实实在在被tcpdump下来了的,此外还有一次怀疑是某cache的shability。同时翻翻bugzilla以及svn log。
于是搞的我也很纠结:我是来修我们自己的java bug的吔…
圡鳖就需要受到SM级别的震慑。

星期一, 一月 05, 2009

0x07D8,以及0x07D9

标题党了?

新年了几乎一周后才想起来总结总结。

2008这年,废话地说起来,收获还是很大。损失也是有的,伴随着有如每个project过后都会做的那些lessons learned。
其实我也不是投机商,于是损失也应该算作收获。

重温了下eva。看法没有改变。人总是无法互相理解的。所以,照顾好自己的家人。其他不相干的人,相忘。

夏初的时候出差了一趟,去了向往已久的欧洲。在希斯罗降落的时候飞机是盘着降的,很忽悠。伦敦市中心很挤很乱,有些地方甚至会脏,可是天很蓝,云流走的很快,也明白了为什么英国人喜欢谈论天气。从伦敦桥走到白金汉宫,左膝隐约走伤。好高骛远去学伦敦腔,分不清楚谁是牛津腔。欧洲之星的票真贵,比便宜的航班还贵,餐车卖的饭吃完了恶心想吐,车头也没有想象中那么炫,而且浮土很多,可以想象在刚诞生的时候估计还是很酷的。路过了布鲁塞尔,在火车站转了一圈,跟天津一样到处在施工。德国的环境很好,绿化程度很高,据说要归功于二战期间盟军轰炸机把它基本炸平。波恩很静。科隆人很多。莱茵河看起来也没有多宽。出了公司能搜到的所有的Wi-Fi接入都是要花钱的。英航的7N7坐着明显没有柏林航空的小空客A330舒服。呆了一个半月,回到家有些不适应,主要还是湿度太大,早餐没了生肉和咖啡。

下半年对linux的熟悉程度比起之前增长很快。全都归功于头儿终于争取来第二台机器让我们装linux。SLED装完了用了半个下午就扔掉装了ubuntu。apt-build简单到有些简陋,最大的功劳是让我对gentoo、freeBSD有些想入非非,无视了之前的几次失败的相处。以至于后来狂妄到开始把一些常用软件purge后转去svn trunk、git master,还有bazaar,虽然没怎么用过。

越来越觉得FSF和ASF可以先merge一下再branch,也许可以互相学习一下。

比较了常用开发工具在winxp sp3和这大部分apt-build以及make过的intrepid上的性能以后,决定把winxp定为服务器系统,这台intrepid作为开发用机,因为xp机的硬件配置更高级而且速度更慢。

键盘操作也比以前频繁了很多。vim方面没啥长进,wm改到了awesome,ff装备了vimperator。键盘操作多了肯定会被人骂装逼。其实只不过是提升工作效率的尝试,如果这都要算装逼,那不装也是逼,傻逼的逼。

信用卡的开销也比以前大了很多,注册了paypal,主要是美元消费。两个域名,一个tasktop pro的一年期license,一个github.com的micro帐号。域名基本沦为命名java package的用途;公司想agile,TeamTrack这种重量级tracker的地位被弱化,mylyn也不经常用了,tasktop pro的一年期license比较贵,就当是为mylyn做贡献;github目前还是拿来学习git用,以及保存系统和用户的配置文件,以及其他一些零碎的代码。

上网看东西看多了,也产生了些自我意识。让那些牛人都见鬼去。会看代码是正经,RTFSC以及RTFM是王道。目前只有康神还是很神的。RTM不是RTFM。

年初给别人当伴郎力巴。贷了房子,搞了装修,买了家具,装了电器。5年了吧。

2009年。

多看些底层的东西,少谈论些设计、框架之类的东西,特别是不要自己到处发明局部小框架。重新看体系结构和操作系统基本原理。认真翻C、C++,不要头大。好好学py3000。要看open jdk,6以及7。要有core。有些事情已成定局,有些同学不足与谋,不如安心下来做好眼前的工作。

要安家结婚,不要弄出人命。

此致,敬礼。

星期四, 十一月 27, 2008

SSL历险记

我得承认我是个SSL重度依赖者,上网总会下意识地把URL里的http后随手加个s——我打URL时从来都是从不厌其烦手动写上协议名称的,发送表单——尤其是用户名密码什么的——看到目的URL不是https的总觉得像被人剥光了一样,家里机器时不时地打开着就为了用putty做个tunnel,方便在公司访问一些没SSL支持又敏感的站点、服务etc.。
可惜啊,今天被彻底地打击了,竟然有人会想到这么明目张胆地强奸下SSL。
我得感谢firefox这些不鸟Internet设置里那些CA证书的应用程序,类似的程序还包括thunderbird以及伟大的,那个,SUN
JRE。早晨来到公司,就发现没有关掉的ff里跳出N多错误提示框说mail.google.comwww.google.comapi.delicious.com这些站点的证书有问题。刚开始还觉得是firefox受不了这一夜的孤独又出问题了。可是因为装了那个Perspectives扩展,这种情况下看证书也比较方便,就顺手看了看,结果被……不知道"雷"这个动词适合不适合这个情景……证书的颁发机构是一个很陌生又很熟悉的名字:说陌生是因为长这么大没见过这个CA,说熟悉是因为每个工作日都能看到这个名字。"咦?难道经济危机时做CA有助于增加收入么?"于是,先ping下这几个域名,确认一下DNS没被f*ck掉,check;然后请出openssl
s_client,确认一下ff没有脑残能把证书都搞错,check。那接下来就是标准国骂了:谁(TMD)动了我的SSL会话?!
为了鄙视下Windows + IE组合,我当然得拿出来最新最NB的IE8试试。结果,果然没问题,所以理论上我刚看到的那个山寨CA肯定已经存在于这鸟Windows
XP里了,理论上我还得查一下internet属性来确认一下,当然最后也很明了:我是在域控的关怀和照料下茁壮成长的,所以这鸟XP里出现几个我不认识的山寨CA,还真没法让我吃惊。
好在大部分应用程序还都是靠谱的,看到这种山寨CA还都是会报错说未知CA的。不过这么一折腾,所有本地跑来测试的java程序都没法跟外网服务器建立SSL连接了。还好我比较有前瞻性,早就着手验证这事儿,赶紧发的信给大家说了下怎么让JRE容忍这几个山寨CA。
我在想一个情景:一个恶意站点,因为一直脑残,用的是伪造的、自认证之类的SSL证书,所以无人问津;某个同事不幸地点了别人发的一个URL,正是这个脑残恶意站点,本来这种情况下是会提示证书错误的,结果现在因为根CA被篡改成某山寨CA,而且这山寨CA还是受信的,那这下子连证书错误都不会提示了,IE很高兴……当然也许这SSL篡改程序还没脑残到这程度吧,哪天试验下。
好吧,既然这样,上班时间咱就不看Gmail和Google
Reader了。既然(有可能)人家觉得员工看这些是浪费时间,我就发挥前辈徒手造解放大卡的精神闷头干活吧。

星期一, 十月 20, 2008

Let there be job cuts

So there has been another round of job cuts here, again. This is the
second one I've survived, and it's said to be the 3rd or the 4th,
depending on who is telling the story.
No idea if this is connected to the ongoing crisis. Don't we all use cash, uh?
That just reminds me of one line I should append to my last entry:
what good can you get from a company whose office somewhere does not
even have enough toilets?
That's one bloody toilet with a single closet for over thirty men! Nuts?!?!

Strings

What good could you get from a programmer who even cannot avoid
viruses/malwares?
What good could you get from a country whose people endure the most
messy road traffic?