终于想通了为什么夏时制节约电能

    今天和老美telephone meeting,说要改开会的时间成美国人早上,中国人晚上开。定的时间是American Central Time 08:00。按13个小时的时差算是北京时间21:00,比较晚了。PM让我回家开会,就是他从公司打到我家的座机,然后再加入会议。我觉得还行,不过他又说现在美国是夏时制,所以不知道时差是12还是14个小时。
   刚才好奇了一下,查了查夏时制(百度知道一下,wikipedia没用,看英文理解需要时间)。原来是向前拨一个小时。就是说,原来是9:00的,拨到了8:00。也就是说,相差12个小时。
   又算了一下为什么节约电能。人们活动的时间一般在7:00-23:00之间吧。在冬天,假设日照时间从7:00-17:00,那么需要照明的时间就是6H,不管怎么改时间,至少都要6H的照明。在夏天,假设日照时间从5:00-19:00,那么需要照明的时间就是4H。但如果人为地把人们的活动时间提前,就是说,让人们在6:00-22:00活动,那么只需要3H的照明时间,就省了一个小时的照明电能。
  原来是这样~~92年前实行夏时制,那时小学一二年级,没想过来。后来也没接触。今天碰到了,算一算也就懂了,呵呵~~

zz关于诺基亚:10件你不知道的事儿

前些天看到这篇《10 Things You Did Not Know About Nokia》,一直没空转过来。趁着写稿子的间隙,草草翻一下,算是给各位诺基亚粉丝的周末小甜点。如果有不准确的地方还请各位指正。:)

  10. 诺基亚(Nokia)镇的名字来自流经当地的一条河流。这条河名为“Nokianvirta”,在芬兰古语种是黑貂的意思,这种动物现在已经绝迹。
  9. 诺基亚有时候被非诺基亚用户和移动软件开发人员称做“aikon”(就是把“Nokia”反过来写),因为“aikon”被用在许多SDK软件包中,包括诺基亚自己的Symbian S60 SDK。
  8. 和其他手机不同,诺基亚的通话计时器不会在通话连接的时候自动开启,而是在通话开始的时候开启(除了S60系列手机,比如诺基亚6600)。
  7. 诺基亚名列《财富》2006年最受推崇企业第20名(网络通讯行业中的第1,非美国公司中的第4)。
  6. 在亚洲,数字4从来没有出现在诺基亚手机的任何型号中,因为4在南亚和东亚的许多地区被认为是不吉利的。
  5. 诺基亚公司字体是AgfaMonotype Nokia Sans字体,最初由Eric Spiekermann设计。此前在广告和手机用户手册中,诺基亚最常用的是Agfa Rotis Sans字体。
  4. 诺基亚手机收到短信时的“特殊”铃声是摩斯密码的“SMS”(短信服务),“渐强”短信铃声是摩斯密码的“Connecting People”(当时是翻译成“科技以人为本”来着吗?),“标准”短信铃声是摩斯密码的“M”(代表“Message”,“信息”)。
  3. 诺基亚现在是世界上最大的数码相机制造商,因为它的拍照手机销售量超过了任何一个相机厂商。
  2. 实际上第一个商用GSM通话是1991年在赫尔辛基通过诺基亚支持的网络打出的,打电话的人是芬兰副总理Harri Holkeri,用的是一个诺基亚手机。
  1. 诺基亚标志性的铃声"Nokia tune"实际上是改编自19世纪的吉他作品《Gran Vals》,作者是西班牙音乐家Francisco Tárrega。这个铃声在诺基亚手机中最早名为“Grande Valse”。在1998年,这支铃声已经广为人知并被称做“Nokia Tune”,诺基亚将其改名并沿用至今。

  这些东西的来源是Wikipedia

Marshall added:

In Morse code, dot(.) represents short mark; dash(-) represents long mark.

and M is (–), S is (…)

so the standard message tone is (–), two long beep. beep twice.

special message tone(like outdoor mode) is (…–…). beep twice.

So is it for the ascending message tone.

做DITAOT的碰到xalan的一些问题

1. SUN JDK自带了一个xalan,不过版本比较老,要把它给替换掉。但办法不是把xalan.jar放到CLASSPATH里。要放在jre里的endorsed目录下。
这个FAQ下有解答:(http://xml.apache.org/xalan-j/faq.html#faq-N100D6)
2. xalan里用document()函数load外面的XML文档的时候,在一个stylesheet里,不能读两次一个文件,不然会抛出下面的错误: Programmer’s Error; “putDocumentInCache found reparse of doc: “ 这是一个比较SB的BUG,如果xalan查到这个文件在cache里了,他就不干了,说你应该用一个variable把文件里的内容存起来,不要给我读两次。这是我见过最SB的理由。让你读文件你就给我读,JJWW干什么,在cache里有是吧?给我从cache里读出来就可以了啊!
不过这个问题好像是出现在输入文件的路径有空格的情况下,要再查一查。
3. 好像没有了。。想不起来了。。不然就是没有碰到过,因为我平常是用的SAXON。嗯,在这里推荐一下SAXON,很不错的一个xslt processor。
<![CDATA[1. SUN JDK自带了一个xalan,不过版本比较老,要把它给替换掉。但办法不是把xalan.jar放到CLASSPATH里。要放在jre里的endorsed目录下。
这个FAQ下有解答:(http://xml.apache.org/xalan-j/faq.html#faq-N100D6)
2. xalan里用document()函数load外面的XML文档的时候,在一个stylesheet里,不能读两次一个文件,不然会抛出下面的错误: Programmer's Error; “putDocumentInCache found reparse of doc: “ 这是一个比较SB的BUG,如果xalan查到这个文件在cache里了,他就不干了,说你应该用一个variable把文件里的内容存起来,不要给我读两次。这是我见过最SB的理由。让你读文件你就给我读,JJWW干什么,在cache里有是吧?给我从cache里读出来就可以了啊!
不过这个问题好像是出现在输入文件的路径有空格的情况下,要再查一查。
3. 好像没有了。。想不起来了。。不然就是没有碰到过,因为我平常是用的SAXON。嗯,在这里推荐一下SAXON,很不错的一个xslt processor。]]>

准备建立财务制度

   先说点题外话。这几天公司的项目已经准备release了(所以比较闲,上班写blog),昨天收到两封notes,一个是我们的team lead,在美国的,还有一个来自经理。大体意思是说,大家做得很好,stakeholder的feedback很positive,感谢各位所做的工作,等等。虽然知道在项目结束的时候很可能说这些stmulating的话,但是还是比较开心的,呵呵~~比较喜欢这种工作环境,而不是办公室、国企里的office relationship。team lead还把notes cc给了一个STSM。在blue pages上查了一下,他管的都是technical lead啊。STSM再上去就是distinguish eng,甚至可以直升fellow了!
   嗯,进入正题。现在关于80后的文章越来越多了,经常看到的一个称号就是:“啃老族”,就是指那些靠自已的工资无法维持自己的开销,要靠父母一个月给几百甚至上千块钱才勉强收支平衡的刚工作的年轻人(现在刚工作的肯定都是80后的,暂时无视博士叔叔和博士阿姨们)。其中支了几招省钱的办法,第一个就是记帐,说正式点就是建立财务制度啦,对钱的来源去处自己都有一个把握。这显然不是什么新办法了,以前我曾经也想施行的,但总是没有开个头。现在在上海,第一次拿了自己的收入,也同时支付着自己的房租、餐费、交通、通讯以及娱乐等等费用,开始感觉到真正的生活压力(这是在校园里肯定无法感觉的)。
   前几天开始做记录,然后回忆了从9月1号开始几天的支出,以及上月手机、公交卡的结余。暂时就写在Excel里了,这样也比较方便。支出列出了几项:午餐、晚餐、交通、超市、手机、报刊等等七八项。一星期算一次,一个月再总结一下。回南京两个月后,也开始实行预算决算制度。同时也可以和家里商量把每个月的生活费固定下来,提前过精打细算的日子。对于一些预算的透支,都留一个record。虽然表面上不会省钱,但实际上你就掌握自己的资金流向,培养一些理财的头脑。比如如果一个月的报刊预算用完了,比如这个月,我已经用了26块,还有14块(上下班实在无聊,在南京的话报刊的预算一个月最多10块吧),我就知道我肯定不能再买“兵器”了,然后在余下的三个星期里,除了“南方周末”2块钱*3,只有8块钱可以用于21世纪和环球时报,就是说,每天都看时代报,一周买2-3份环球或21世纪经济报道(不是那个SB的21st century)。谁让我昨天傻傻地买了“财经”,同时又忍不住买了“程序员”呢(当时给自己的理由是,回南京和到上海的火车上看)?

新东方也IPO

   第一次看到这个消息,是在三天前看到罗永浩的blog(http://www.bullog.cn/blogs/laoluo/Default.aspx)。没想到小样了现在已经发展到这个地步了。几年前以为新东方只不过是一个比较有钱的商业性教育机构,知名度高,老师也牛B,在国内开了几家分校。去年暑假到北京上新东方一看:在中关村居然矗立起一栋四、五十层的中关村金融中心(鬼都知道金融中心在朝阳区),旁边的副楼上有新东方的标志,说是到2005年10月,新东方就要从北四环那破楼搬到这新的地盘了。新东方果然大手笔,开始做房地产了?
   这几天在网上看了一些资料,也粗粗看了一眼新东方的招股书(基本看不懂,全英文,好多页,全是术语)。小样原来是海外红筹,BVI公司上市。在NYSE的代码居然叫EDU?叫什么NOT大家都知道(我查了一下,NYSE,NASDAQ等交易所没有NOT),叫EDU总感觉很别扭。也可能是老罗的blog看多了吧,现在对新东方有好感的,只有商业上的运作了。所谓的那些什么理想,责任感(这是徐小平接受采访时说的,上市以后,我们责任更大了,这话怎么听怎么恶心,丫的10%的股份,赚翻了吧,得了便宜还不卖乖),其实也就那样,就像市面上一大堆的什么励志书,除了看的时候激动激动,对个人而言,基本没什么效果。
 
看了新东方的财务报表,基本是一头雾水的说。什么current portion, Pro Forma, ADS,全都不懂。其实中文的也不是非常理解,除了知道以外,并不能做出一些普通的判断,更不用说自己的预测了。嗯,给自己定一个小小的目标,一年内要学会看懂上市公司的财务报表(听同事说不难看懂,呵呵)。
 
创业-融资-扩张-再融资-再扩张-上市IPO-董事
Engineer-Staff Engineer-Advisory Engineer-Senior Engineer-STSM-Distinguished Engineer-Fellow
Engineer-Department Manager-Manager-Senior Manager-Executive-VP(CEO)
 
To Bill:
昨天看到财经杂志,头脑发昏,买了一本下来看,后来才发现网站上都有。。。(http://www.caijing.com.cn)

研究生 vs 三年工作经验

看到这篇blog,似乎为以前的自己的问题做出了比较好的问答:
下面是原文所在,我也摘录一部分,自己做一些comment
http://blog.csdn.net/zhengyun_ustc/archive/2006/09/02/1161016.aspx

如果你仅仅是赚钱养家、兴趣所在,那么可以不用通过上研究生的方式来达到,而去选择多那三年的工作经验。

仅仅,这个限定让我只能回答否。

如果你的职业抱负是,成为一代受人尊敬的计算机方面的专家/大师,或者研究出改变人类的技术,那么请你还是上研究生的好。只有这样,你才能脱离劳苦程序员大众,进入殿堂。

不敢说有这么大的抱负,但我一直期望能够自己搞出一套好的东西出来。

请不要急于给自己订立目标。或者我建议,等你自己有了一定的工作经验,有了一定的职业圈子之后,再重新制定。

目标当然还是会有的,但绝对是一个泛泛的–开公司,创业。能赚多少钱不要紧,赔点钱也不要紧,只是想体验一下创业中间的酸甜苦辣。

1 培养自己的成熟的开发思维模式;

在IBM实习的这些日子,好像开始有一点这种想法了。可惜实习的时间太短,如果多三个月半年的话会更好。毕竟还没有经历过项目的需求和设计。但这次所经历的开发、测试、发布却正是我最欠缺的经验,以前从来没好好做过,也不知道该怎么做。

2:培养自己对团队如何大规模运营的操作模式的深刻理解;

这个还没有什么概念,如果研究生可以做一些东西的话,可以先接触一下

3:增进自己对圈子对人脉的把握

这个也是我一直都在培养的

记住,你的圈子大小,你的人脉,对你的职业发展起着很大作用。

不知道算一算一定的中国特色,但我也比较认同。多认识一些人,特别是牛人~~

上海的报刊生活

        住在莘庄,上班要一个多小时,第一个星期就傻傻地一路无聊到底,但最不懂的是,有一种报纸,叫做时代报,为什么地铁上每个人都在看,应该是一个销量很大的报纸了,但为什么我以前没有听过?后来网上出了那个什么“禽兽丈夫”的事,里面牵扯到时代报,我才知道那是在地铁免费拿的。以前坐地铁居然都没有看到,白坐了一周了。
        时代报是免费的,所以内容也一般般,广告也不少。一般最多让我从莘庄看到徐家汇吧。一般是到漕宝路,最烂的一期内容是看锦江乐园就OVER了,好像是周五的生活特刊。但一般基本的新闻还是可以看到的。
        第二份是环球“日”报。初一的时候还是一周一份的,也很好看,接下来是二份、三份。。。。三年没买过了,某天在报亭看到,标题比较吸引人,就买了份。发现已经是周一到周五天天有,于是就经常买了。可惜地球还是那么大,消息还是那么多,内容不免缩水不少。不管报纸有多少版,一般只有16版有内容,然后第14、15版的内容会比较无趣(14版有一半的漫画都不错),中间的B叠和C叠都是垃圾。曾有一个星期天天都买。后来也觉得没什么意思,就基本隔天买了。
        第三份是南方周末了。作为国内首屈一指的周报,南方的内容是够分量的。一般一份南方,可以让我坐特快,从上海看到南京。当然那是特殊情况,把基本上所有的报道都看完的情况。专题内容多,报道深入,涵盖方方面面,可以说是我最喜欢的一份报纸了。记得当初前几次看南方的时候(初中),老爸还说我看这些市井消息,这点我从来就不同意。
        第四份是21世纪财经报道,也是南方报业集团的。当南方看得差不多的,或者不想看环球的时候会看这个,主要是给自己财经方面的知识充充电(虽然更好的方式是看书,可是书带在身上不方便)。理财方面也可以增长一些知识。但出版的比较奇怪,周一的2块,周三周五的1块。
        买过的报纸还有申江服务导报、青年报、新闻X报,都是在火车站等车的时候买的。申江是那次急急忙忙从上海赶回来签协议的时候,在拥挤的K282(上海-成都)上看的,内容还不错,比较生活。份数也多,只要1块钱吧。
        上海有名的报纸还有新民晚报、文汇报吧,没看到,据同事说不好看,也就没什么兴趣。还在上海买过一次扬子晚报,发现扬子好像已经比较垃圾了。。。
        还想看看的报纸就是最近很火的第一财经吧,被鸿海直接找记者索赔的那一家,同事说挺不错的,以后要试一试。
        杂志方面,买的不多,因为毕竟贵。程序员买了一期8月份的,因为那期多了32页,还送一张光盘。觉得挺划算的,就买了一次。10块钱。买了一次兵器是因为那次午饭在家里附近解决了,觉得好像省了几块钱,就买了一本。自己好像已经1年多没买了,再看军事类的杂志感觉竟有点陌生。
        还想南方人物周刊,呵呵,发现自己偏爱南方的东西。果然是中国第一报业出版集团,做出来的东西还是很不错的。经常在新浪上看到人物周刊的文章,觉得很不错,但是一期6块钱,还是得掂量掂量。要是我一小时有30块钱的话,我肯定买。1小时20块,我也会偶尔买。可是我1小时只有15块。。。呵呵,也就喊一喊~~
     

ClassLoader与Ant的一些问题

今天被这个Classloader搞死了。起因是这样的:
public  static void  staticMethod(){
String resource = ClassLoader.getSystemResource(“a.xml”).toString();
}
然后a.xml已经加入了CLASSPATH。
整个代码是写在一个Ant的Task里,然后Ant里调用(事先<taskdef>)
这个时候在Eclipse调用build.xml,没有问题。
但是在命令行下调用ant,出错,找不到,返回null。
于是到Task里的execute里测试一下
public void execute(){
String resource = getClass().getClassLoader().getResource(“a.xml”).toString();
}
两个环境都找到了。
看来是static的函数里ClassLoader比较不一样,是systemClassLoader估计。
然后这么写:
public  static void  staticMethod(){
String resource = new Object().getClass().getClassLoader().getResource(“a.xml”).toString();
}
居然报出一个NullPointerException,原来是返回的ClassLoader为空。马上查了一下ClassLoader的源码(IBM JDK),发现如果某个instance的classloader=systemClassLoader就返回空。什么道理啊。。。
这么写,也不行
public static void staticMethod(){
String resource = ClassLoader.getSystemClassLoader().getResource(“a.xml”).toString();
}
这么写,还是不行
public static void staticMethod(){
String resource = ClassLoader.getSystemClassLoader().getParent().getResource(“a.xml”).toString();
}
嗯,把那个类换成Singleton,发现居然可以了。
后来发现要这么写:
public class Test{
public static void staticMethod(){
String resource = new Test().getClass().getClassLoader().getResource(“a.xml”).toString();
}
}
才OK。。。
Eclipse自已有ClassLoader,Ant自己又有ClassLoader。才有这么多问题。
接下来我想搞的OSGi,每个Bundle都有自己的classloader实例。。。。晕死了。。。