2007年12月31日星期一
2007年12月29日星期六
一天不学习,赶不上刘少奇

嘛意思?为嘛要和CCTV过不去?
继续逛,终于,终于让我发现了这个地球人都知道的secret,
顺便Google了一下,这儿,这儿,这儿都有报道, 但也发现有些地方的报道已经被和谐了,所以,俺不厌其烦的把报道原封不动copy过来,也算留个证据。《 北京台财经女主播大闹央视 张斌婚外情为哪般?》

新闻发布会现场,胡紫薇冲上台发言。

新闻发布会现场,胡紫薇冲上台发言。

胡紫薇被工作人员劝离发布会现场。

胡紫薇被工作人员劝离发布会现场。
12月28日下午3时,中央电视台体育频道改名为奥运频道新闻发布会召开。会议进行到中途,主持人张斌正要介绍乒乓球运动员王楠上台之前,一个女人突然出现,眼尖的现场记者认出她就是北京电视台主持人胡紫薇,张斌的妻子。张斌妻子想上台发言,被张斌强行拦住,胡紫薇说给我一分钟就可以,随后甩开张斌上台拿起麦克风开始讲话:“2008年来了,大家都能过一个好年,我和张斌就不能了。”随后她断断续续说,意思是张斌表面一套,背后一套,貌似两人发生了感情纠葛。央视副台长江和平和另外几人赶紧上台把胡紫薇劝走。张斌在王楠发言前,上台说对不起大家,然后发布会继续。 由于发布会的重要性,央视的副台长、总编辑均有出席。
目前,已有人将该事件过程的视频发布在网站上。(钟合)
附:网上公布的现场视频的文字内容
(视频开始,胡拿麦说话,张斌想阻止又不方便动手)
胡:……但是有一天,我呢不是作为一个节目主持人的身份,而是作为站在我身边的张斌先生的(哽咽)太太,来为大家……(被打断)耽误大家一分钟的时间!耽误大家一分钟的时间!收好(抓住台子)
胡:今天对于奥运频道是一个特别的日子,对于张斌先生是一个特别的日子,但是对于我来讲也是是一个特别的日子。因为在两个小时之前,我知道除了我之外,张斌先生还和另一个女人保持着不正当的关系。
胡:明年是奥运的一年,全世界的人民都在关注中国。但是,但是一个法国的外交部长说过:中国人如果要是在价值观上没有……(画外音:请不要拍摄)那么这一切又有什么意义呢?又有什么意义?(上来很多人拖她)你们就这样对待一个弱女子?你们就这样对待一个弱女子吗?
胡:(不断挣扎)我只说最后一句话,让我们可以保持风度地对抗。但是 法国的那一位外交部长曾经说:中国在能够输出价值观之前,不会成为一个大国。在我们面前面对着这样道貌岸然的……张斌内心并不能够面对自己的时候……甚至于不敢面对他受到伤害的妻子的时候。我觉得……
胡:今天可能是最后的一个星期天了。明天大家都会过一个很好的……长假,我和张斌是不可能了。
画外音:何必呢?
胡:非常不好意思,我也是……但是知道……
张斌:对不起大家。
胡紫微简历(据人民网)
生 日: 4月5日
身 高: 169 cm
体 重: 50 kg
血 型: O型
星 座: 牧羊座 富正义感 善良直率 精力充沛 乐于尝试新鲜、开创性事物 是12个星座中比较难以模仿的星座
个性: 一半是海水 一半是火焰
学历: 毕业于北京电影学院文学系 获文学学士学位 并获香港中文大学金融财务管理硕士
主持风格: 睿智风趣 亲和自然 机智灵活 具有较强的应变能力
最想做的事: 和老公一起周游世界(她的老公是CCTV5的主持人张斌)
2007年12月28日星期五
深圳奇迹
我们在那家公司呆了那么久,皆因为我们陶醉在一种自以为创业的氛围中,但当我们醒来的时候,发现老板确实是在创业,但我们却是被忽悠的。呵呵,挺大的人了,还被这种小儿科手段骗了,真是没面子。
又到了年底,我还在广州没摸没样的混着,忽然收到了关于其中一个朋友的消息,有人要花几百万收购他公司一部分的股权。我是既吃惊又不吃惊。
他就是我们当初一起离开的同事,不同的是,我们大多数人又混进了所谓的大公司,而他却痛定思痛,再也不打工,自己开了一家公司。不到两年的时间,只依靠个人的能力,能有这样的成绩,让人吃惊。但联系到他的聪明,创业破釜沉舟的决心和付出的努力,一切又是水到渠成。
你也许觉得这没什么,几千万上亿的财富fortune故事你每天都能听说,几百万根本不入你法眼。如果你真是成功人士,我也没话说,但对于大多数普通人来说,靠打工你是一辈子积累不了这么多财富的。
这种财富故事,不是道听途说的,不是电视上演的,报纸上登的,而是真真切切的发上在我的身边。朝夕相处的同事,没用多久就进入了成功的初级阶段,让你不由得不叹服。
回想起自己在深圳的这么多年,不少曾经的同事,现在己经是老板,或者炒楼发了财。在这里,你很少能看见整天无所事事游手好闲的人,大家都拼命想着发财;这里也没有广州上海的所谓白领文化,在公司打工,也是为了自己日后做老板积累实力。所以说,深圳就是座欲望都市,每个人都充满了欲望,都想着要开创自己的事业。但我喜欢这座城市。
在深圳,什么奇迹都会发生。
2007年12月26日星期三
2007年12月25日星期二
2007年12月24日星期一
Scripting in Java: Languages, Frameworks, and Patterns

Overview
2007年12月22日星期六
2007年12月20日星期四
2007年12月17日星期一
2007年12月15日星期六
links for 2007-12-15
(tags: algorithms entropy)
(tags: algorithms entropy)
(tags: nlp)
(tags: Erlang)
(tags: Firefox)
2007年12月14日星期五
2007年12月13日星期四
2007年12月12日星期三
2007年12月9日星期日
2007年12月8日星期六
搜狗语料库的预处理
2007年12月6日星期四
2007年12月5日星期三
2007年12月4日星期二
2007年12月2日星期日
数学之美——统计语言模型
2007年12月1日星期六
links for 2007-12-01
(tags: algorithms)
(tags: algorithms)
(tags: algorithms)
(tags: algorithms math)
2007年11月30日星期五
2007年11月29日星期四
2007年11月28日星期三
2007年11月27日星期二
2007年11月26日星期一
2007年11月23日星期五
2007年11月21日星期三
2007年11月18日星期日
2007年11月14日星期三
2007年11月12日星期一
2007年11月10日星期六
2007年11月9日星期五
2007年11月8日星期四
2007年11月7日星期三
2007年11月6日星期二
2007年11月5日星期一
2007年11月4日星期日
2007年11月3日星期六
2007年11月2日星期五
2007年11月1日星期四
2007年10月30日星期二
2007年10月29日星期一
推荐两个小工具
2007年10月27日星期六
2007年10月26日星期五
2007年10月25日星期四
2007年10月24日星期三
Tip: 如何利用启动脚本将目录下的多个jar自动加入到classpath中
在这个脚本中,我们会设置好各种环境变量,最重要的就是classpath了。
通常我们的java程序会用到很多开源的java项目,log4j,apache的commons系列,spring...
写个java应用,没有使用十个八个开源项目,你都不好意思跟人打招呼。
这时,就会碰到一个问题,设置classpath的时候要一个个列出jar包来,例如
setclasspath=%classpath%;./lib/xxx.jar;./lib/xxx.jar;./lib/xxx.jar;./lib/xxx.jar;....
是不是觉得很烦,有多少个jar都要列出来。于是google了一下,问题顺利解决,答案就在本机上有。
打开tomcat的启动脚本,注意到这一部分:
for %%i in(%TOMCAT_HOME%\lib\*.*) do call %TOMCAT_HOME%\bin\cpappend.bat%%i
循环取lib目录下的所有文件,然后callcpappend.bat,很显然是用这个脚本把前面取出的文件加入到了classpath。
看看cpappend.bat的内容,
if ""%1"" =="""" goto end
set CLASSPATH=%CLASSPATH%;%1
shift
rem Processthe remaining arguments
:setArgs
if ""%1"" == """" goto doneSetArgs
set CLASSPATH=%CLASSPATH% %1
shift
goto setArgs
:doneSetArgs
:end
果然如此。照猫画虎,很快就搞定了自己的脚本。
2007年10月20日星期六
2007年9月27日星期四
2007年9月18日星期二
2007年9月17日星期一
2007年9月16日星期日
2007年9月13日星期四
2007年9月12日星期三
2007年9月11日星期二
2007年9月10日星期一
2007年9月8日星期六
2007年9月7日星期五
2007年9月1日星期六
2007年8月31日星期五
2007年8月21日星期二
2007年8月19日星期日
2007年8月15日星期三
2007年8月2日星期四
2007年7月28日星期六
2007年7月24日星期二
2007年7月19日星期四
2007年7月18日星期三
2007年7月14日星期六
2007年7月11日星期三
2007年7月10日星期二
links for 2007-07-10
CAS 有效地说明了“我认为位置 V 应该包含值 A;如果包含该值,则将 B 放到这个位置;否则,不要更改该位置,只告诉我这个位置现在的值即可。”
(tags: concurrent)
(tags: concurrent)
2007年7月7日星期六
links for 2007-07-07
介绍了很cool的网络书签
Highlight & Sticky Notes
Extract highlights
Easily extract and compile all your highlights across multiple pages for a given subject.
(tags: web2)
2007年7月5日星期四
2007年7月4日星期三
2007年6月28日星期四
2007年6月27日星期三
2007年6月26日星期二
2007年6月16日星期六
一个很使用的Vim插件
下载后, Copy the MultipleSearch.vim file into your local pluginsdirectory, restart (g)vim, and you are ready to go.
命令语法
搜索 :Search
清除结果 :SearchReset
设置最大的同时显示颜色数
在 _vimrc中设置g:MultipleSearchMaxColors
let g:MultipleSearchMaxColors=5
What does <E extends Enum<E>> mean?
Enum的使用很简单,我们定义的enums实际上是继承了java.lang.Enum的类,所以才是类型安全和compile-timechecking。
稍微想了解一下Java是如何实现Enum的,所以打开java.lang.Enum的源代码,还没细看就先被类的声明吓了一跳。
public abstract class Enum<E extends Enum<E>>
implements Comparable<E>, Serializable
What does <E extends Enum<E>> mean?似乎是个递归的定义,google了一下,很快找到了一篇相关的文章,试着解释一下。
看不明白的,还是直接看原文吧。
1.Enum接受一个类型参数
2.Enum是一个抽象类,任何Enum的子类都必须为Enum提供一个类型参数
3.这个类型参数必须是Enum的子类
为什么要把范型定义搞的如此复杂呢?先看看这么做有什么好处。请看下面这两个类:
public abstract class TaxPayer<P extendsTaxPayer<P>>
{
protectedabstract P getDetailedType();
publicdouble extortCash()
{
return strategy.extortCash(getDetailedType());
}
}
public class Employee extends TaxPayer<Employee>
{
@Override
protectedEmployee getDetailedType()
{
return this;
}
}
在基类TaxPayer中声明了一个抽象方法getDetailedType(),强制要求子类覆盖这个方法,并且要求这个方法返回的是实际的子类。
也就是说,我们允许superclass定义这样的方法,它的参数和返回值可以是具体的子类,而不是基类。
我们可以看到,在TaxPayer的extortCash()方法中,通过getDetailedType()得到的实际上具体的子类。
这个基于范型实现的strategy模式,完整描述可以参考”Strategy Pattern with Generics“.
明白了上面的例子,你也就应该能够知道为什么java.lang.Enum被声明为Enum<Eextends Enum<E>>.
1.类型参数E被使用为getDeclaringClass()的返回值
2.类型参数E作为compareTo()的参数,看下面这个例子:
OpType opType = OpType.ADD;
ProductStatus status =ProductStatus.NORMAl;
opType.compareTo(status);
这儿直接就会报syntaxerror,compareTo的参数必须是OpType类型。这样,在基类的方法定义中,要求了方法参数是某个具体的子类。
简单的一个Enum,还包含了这样的设计技巧,看来JDK的代码还是要常翻出来看看。
2007年6月14日星期四
2007年6月11日星期一
2007年6月9日星期六
2007年6月8日星期五
2007年6月7日星期四
2007年6月6日星期三
What does > mean?
稍微想了解一下Java是如何实现Enum的,所以打开java.lang.Enum的源代码,还没细看就先被类的声明吓了一跳。
public abstract class Enum
implements Comparable
What does
看不明白的,还是直接看原文吧。
1.Enum接受一个类型参数
2.Enum是一个抽象类,任何Enum的子类都必须为Enum提供一个类型参数
3.这个类型参数必须是Enum的子类
为什么要把范型定义搞的如此复杂呢?先看看这么做有什么好处。请看下面这两个类:
public abstract class TaxPayer
>
{
protectedabstract P getDetailedType();
publicdouble extortCash()
{
return strategy.extortCash(getDetailedType());
}
}
public class Employee extends TaxPayer
{
@Override
protectedEmployee getDetailedType()
{
return this;
}
}
在基类TaxPayer中声明了一个抽象方法getDetailedType(),强制要求子类覆盖这个方法,并且要求这个方法返回的是实际的子类。
也就是说,我们允许superclass定义这样的方法,它的参数和返回值可以是具体的子类,而不是基类。
我们可以看到,在TaxPayer的extortCash()方法中,通过getDetailedType()得到的实际上具体的子类。
这个基于范型实现的strategy模式,完整描述可以参考”Strategy Pattern with Generics“.
明白了上面的例子,你也就应该能够知道为什么java.lang.Enum被声明为Enum
1.类型参数E被使用为getDeclaringClass()的返回值
2.类型参数E作为compareTo()的参数,看下面这个例子:
OpType opType = OpType.ADD;
ProductStatus status =ProductStatus.NORMAl;
opType.compareTo(status);
这儿直接就会报syntaxerror,compareTo的参数必须是OpType类型。这样,在基类的方法定义中,要求了方法参数是某个具体的子类。
简单的一个Enum,还包含了这样的设计技巧,看来JDK的代码还是要常翻出来看看。
2007年6月5日星期二
2007年6月2日星期六
2007年5月31日星期四
2007年5月30日星期三
2007年5月26日星期六
2007年5月24日星期四
2007年5月23日星期三
links for 2007-05-23
Programmatically dumping heap from Java applications
a very nice article that explain what Enum> mean
2007年5月22日星期二
2007年5月20日星期日
2007年5月17日星期四
2007年5月15日星期二
2007年5月12日星期六
links for 2007-05-12
sun提供的开源orb实现
Ericsson is contributing their SIP Servlet container to the GlassFish community!