天津一九八三
Mar 23, 2009 One minute

又忙起来了,刚开了个头儿想(泛泛)研究一下OpenJDK6的,估计短时间内又没有空闲时间继续了。今儿个赶紧发篇东西来凑数,这几天这本儿相册貌似也已经被很多人转来传去的很多次了吧——Tianjin 1983 (天津市 1983年) 。嗯,这儿就只发咱家乡的了。 那个时候我出生还没几个月,看着那些景致真有些唏嘘,虽说我也没怎么经历过吧…记得第一次坐车时,那些车就已经不是这个样子了,只有最后一张图里的93路使用的车型在小时候见过。一直以来我对电车都有种莫名的好感,在北京实习时也是能坐电车的话决不坐汽油/柴油车,虽然电车的加速和刹车感觉起来都很突然(某次哥们儿没抓紧扶手,电车一加速被从前半截车厢甩到后半截车厢)。

[浅读openjdk6] 1. 构建openjdk6
Mar 18, 2009 One minute

接上篇,当openjdk6的代码库已经用mercurial clone/fclone完毕之后,就可以构建openjdk6了。当然构建与阅读源代码没有太大关系,只是如果日后还要做hack的话,总要通过构建和测试来检查、调试自己的hack不是,所以了解openjdk6的构建方法还是有点必要的。 基本上,代码库根目录下的README-builds.html中的讲解已经很到位了,我这里再简要地啰嗦一下整个步骤,权当个中文翻译好了。 必需的应用程序:gcc 4,g++ 4,GNU make (>3.80),m4 (>1.4.4)。以及README-builds.html中指定的很多个开发包(dev)。我的操作系统是Ubuntu 8.10,内核版本为2.6.27-14,按照README-builds.html的包依赖关系,一下子:

[浅读openjdk6] 0. 获取openjdk6源代码
Mar 16, 2009 2 minutes

最近几天在抽空看openjdk6的源代码。总觉得如果打算干很久java的话,光靠看tutor、doc、reference始终有种底气不足的感觉;src.zip里的东西可以随用随看,但各种本地方法调用以及src.zip不方便包含的类的源代码都是平日在eclipse里开发时很少会花时间看的,但这一部分往往最能决定一个java应用程序的性能。其实预谋了很久了,大概多半年到一年前就有这打算了,可始终没什么空闲,杂事也很多。 OpenJDK老窝在http://openjdk.java.net/ 。记得早先mustang、dolphin还都在dev.java.net 这个域下,而OpenJDK直接挂在java.net 下,身份自然特殊。不管别人怎么看,我是想目前先看jdk6的代码,因为日常开发正在用,jdk6也是SUN目前的主打版本,VM特性和API也更稳定,相比之下,jdk7还在密集开发之中,平日看看各种相关人员的blog,新特性、新API也是隔一阵儿就来一个,现在追起来肯定会很累,虽说jdk7也肯定是以后的主流。 获取openjdk6的代码其实也不复杂,尤其是download source bundle的方式,当然也更没劲一些——我(们)的目标是:往死里折腾。 折腾当然有折腾的好处。当你clone了整个一个mercurial forest以后,查看变更记录是了解各种特性、API以及bug fix的最直接的途径,比看什么release notes都管用,而且适合fork出自己hack过的版本——听着很吓人,其实一个hack不见得必须是一个很BT的很完善的东西,那样的话基本成了添加一个feature了,还不如去盯OpenJDK社区啥时候再出Innovators’ Challenge 的时候去赚些钱;很多时候hack都是临时解决一些小问题,看上去甚至会觉得有些dirty。

我的饭 [0]
Mar 15, 2009 One minute

把最近觉得还算靠谱的饭否更新集合一下贴出来,一是因为平时在饭否上时间花的很多,blog总不更新的时候饭否的资源不能糟践了,二是也不想上一篇在顶上停留太久,人总是无趣的。 看到N多搞笑的东西,估计都是IDE用的时间太久了,也不关心底层造成的。不过构造器里return了一个其他对象还是太雷了。 2009-03-13 14:32 有N多人把一个调用都写错,搞的我要查查文档看是不是我记错了 -____-# 2009-03-13 13:27 “这里聚集了大量的中国互联网骨灰级玩家”,很好奇互联网是怎么被玩的。 2009-03-12 14:59 好,毙了一个外国人哪 :D 2009-03-12 14:43 酒店是靠湖,结果房间是冲着马路的 -____-# 2009-03-11 11:22 mcafee太JB招摇了。以后再也不推荐丫了。谁TM还用杀毒软件来着? 2009-03-10 19:57 猛然发现一封godaddy的中文广告邮件。 2009-03-10 14:51 忽然想,TOAD Freeware这种东西,用runas启动起来的话…试验一下,果然可以启动多个进程了 :) 2009-03-08 18:30 一个人加班倒也没啥,可以开大音乐,也比较爽,虽说这内置的破喇叭一副破锣嗓子吧。 2009-03-08 13:23 对待log这事儿真是仁者见仁智者见智。我就怕log不够回头production上去了不好分析,有些人看到server上存的没多少的以往的log还清之而后快。因为吧,我是拿各种工具以及专用的.

09絮叨篇 [0]
Mar 13, 2009 One minute

今年第一次絮叨这些没用的事儿吧。其实也早就想说了,只不过没有什么动机。基本上如果有人能触发我絮叨这些事,也算是有点儿本事了。 不要轻易对某个人下结论,在公司里,包括你的上司。这对我这个不可知论者来说是很自然的,不过也不是完全因为不可知。我们都活在某些程度的信息不对称当中。今天,你看到上司提拔了一个"不怎么样"的人,心里觉得不爽也好,不平也罢,反正最终归结于上司的管理水平不咋地。问题在于,一件事发生是有多种因素的:水平不咋地可以导致错误的决定,水平很好但基于各种苦衷不得不做一个错误的决定也不是不可能,甚至有可能这只是一个(你)看上去很错误的决定。大概是因为,否定别人都是很容易的事情,且无师自通。 “不能轻易对某个人下结论"的范围当然包括不要张口就说"XXX他都干什么了他”,如果XXX不是你的部下的话。 信息不对称的一个额外产出是各种小道消息的忠实拥趸。在一家公司内部这种相对封闭的范围内,拥有信息的人是完全可以封锁其进一步流通的,这丝毫不值得惊奇,也不值得用道德什么的批判。只不过信息封锁是小道消息的温床,对苦于信息封锁的人来说,小道消息是充满诱惑力的;同样因为信息封锁,这些消息几乎是无从考据的。当小道消息被很多人口口相传开以后,我们就可以见识一下web 2.0依托的大众参与的力量了。谎言重复一千遍的时候,能不能成为真理先放一边儿,糊弄个把人还是不成问题的。历史是怎么书写的来着? “我看人很准”。谢谢告诉我这个,也许同时还抱着美好的愿望为我们提供看人服务。不过对我这种开发时都怀疑各种第三方库然后每次都要直接debug进去的人来说,一个人到底好还是不好我肯定是不会咨询旁人的眼睛的。盖棺了就能定论了么?也未必吧。 除了高管以外,一个公司里,做管理的人就一定有高于干活的人的地位(以及工资)?我一直觉得这种看法老一辈们说说也就得了,当然保不齐80后人群里也可能会有人响应,但是,在IT/计算机/软件行业,尤其在外企里,这种说法是不是也可以成立?更不用说我已经看到N个其他公司的做管理的人来应聘高级工程师了。做管理的人需要干活的人达成目标,所以我一点儿也不着急自贬身价觉得人家高我一头。 是不是干了一年了,公司就理应涨工资,而且不能涨的太少?基本上我是反感什么"没有功劳也有苦劳"的说法的,更不要说有些人守着弱智方法傻干大干,累个半死还屁点儿技术含量都没有。为什么会有mock?怎么mock才好?一个需要事先做技术研究的解决方案,即使可以成功,似乎看起来也只能减少5%-10%左右的工作量,你会选么?公司不可能是慈善机构的。 如果让我决定一家外企公司的选址,在资金充裕的条件下,我肯定不会选择天津,虽然刚毕业的时候我确实是很为天津鸣不平。天津离北京最近,而北京那是混IT这口饭吃的人乌泱乌泱地扎成一堆儿的地方, 所以很多IT公司都会选择在北京开张,搞的天津的IT公司屈指可数,更难得有影响力的大公司。不选天津,说句难听的,是因为我总算明白了什么叫穷山恶水出 刁民——这话诸位见人见智,如果谁觉得我是在说天津就是一大农村的话我只好说您圣明了。话说最近几年天津平均工资提高了,进京往返的交通也便利多了,这种 穷山恶水的情况有了很大改善,不出多久,因为强化过的竞争外加相对更低廉的各种成本,应该会有更多公司选址天津,刁民很快也会没什么市场了。

产业政治?
Feb 2, 2009 One minute

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

纠结de更新
Jan 14, 2009 One minute

好像把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上的。

什么是纠结?纠结就是…
Jan 9, 2009 One minute

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.

0x07D8,以及0x07D9
Jan 4, 2009 One minute

标题党了? 新年了几乎一周后才想起来总结总结。 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.

SSL历险记
Nov 27, 2008 One minute

我得承认我是个SSL重度依赖者,上网总会下意识地把URL里的http后随手加个s——我打URL时从来都是从不厌其烦手动写上协议名称的,发送表单——尤其是用户名密码什么的——看到目的URL不是https的总觉得像被人剥光了一样,家里机器时不时地打开着就为了用putty做个tunnel,方便在公司访问一些没SSL支持又敏感的站点、服务etc.。 可惜啊,今天被彻底地打击了,竟然有人会想到这么明目张胆地强奸下SSL。 我得感谢firefox这些不鸟Internet设置里那些CA证书的应用程序,类似的程序还包括thunderbird以及伟大的,那个,SUN JRE。早晨来到公司,就发现没有关掉的ff里跳出N多错误提示框说mail.google.com 、www.google.com 、api.delicious.com 这些站点的证书有问题。刚开始还觉得是firefox受不了这一夜的孤独又出问题了。可是因为装了那个Perspectives扩展,这种情况下看证书也比较方便,就顺手看了看,结果被……不知道"雷"这个动词适合不适合这个情景……证书的颁发机构是一个很陌生又很熟悉的名字:说陌生是因为长这么大没见过这个CA,说熟悉是因为每个工作日都能看到这个名字。“咦?难道经济危机时做CA有助于增加收入么?“于是,先ping下这几个域名,确认一下DNS没被f*ck掉,check;然后请出openssl s_client,确认一下ff没有脑残能把证书都搞错,check。那接下来就是标准国骂了:谁(TMD)动了我的SSL会话?! 为了鄙视下Windows + IE组合,我当然得拿出来最新最NB的IE8试试。结果,果然没问题,所以理论上我刚看到的那个山寨CA肯定已经存在于这鸟Windows

Built with Hugo · Using the heyo theme