Apr 29, 2007

上海国际汽车展系列之一——豪华车

2007年4月22日,第十二届上海国际汽车工业展览会在上海展开。我去看了这场展览,记录下了一些精彩的片断,和朋友们分享。同时也感谢借给我相机的同事。


豪华车






法拉利跑车,无论何时,法拉利都是万众瞩目的焦点。等了半天,才抢到一个拍摄的好位置。






这个MM据说 1.5万/天,恩,约==6000只鸡腿,约==1500斤猪肉,
如果我一天吃4个鸡腿或2斤猪肉。恩,这个MM站一天,我可以吃2年!




展厅上空的蓝色灯,衬托出一种冷峻的高雅。




漂亮的BENZ 美眉。



道奇,车的Logo很好玩,是个羊角。











一直不喜欢宝马,负面新闻太多了。




劳斯莱斯,比较气魄,在一个显眼的地方,诺大的空间,只放了2辆车。
观者如堵。


未完待续,下期预告:福特篇。

代码重用,全局变量

灵活是一个好程序的必要条件。灵活多变的程序中比一成不变的代码要显得有生气的多。
比如,在判断条件的时候,我们选择所有的中国人。
if(country=="中国"){
......
}
但如果,程序在英语环境中使用,势必要变成if(country="Chinese"){}
那岂不是要改动源代码,诸如此类的东西东一块,西一块,那就要头痛不已了。

正是如此,催生了代码重用的产生。

在ASP.NET中,有两种方法来实现代码重用和全局变量。
一种办法:
在项目根目录下面新建一个名为“App_Code”的文件夹,(网站运行时系统会自动编译这个App_Code文件夹里面的代码)。然后建立一个类,例如“SystemDefine.cs”
在其中写一个通用函数
public class SystemDefine{
public const string TEST="Hellooooo";

public const string COUNTRY="中国";
public const string COUNTRY_EN="Chinese";

}
在其他也使用中可以这样:
需要用“中国”判断的时候
if(country=SystemDefine.COUNTRY){

}

第二种办法:
讲代码放在一个文件中例如 pubfunc.cs
然后在具体使用中,用

路径根据具体情况设置。

Apr 28, 2007


Girl Singing In The Wreckage 在残骸上歌唱的女孩

--- by Black Box Recorder



It's my primary instinct to protect the child

我最初的本能 像那个孩子一样

Girl singing in the wreckage

在残骸上歌唱的女孩



My dress is torn, my hair is wild

我的裙子已经撕破,我的头发已经零乱

Girl singing in the wreckage

在残骸上歌唱的女孩



My first car, my early boyfriends

我的第一辆车,我以前的男朋友们

Girl singing in the wreckage

在残骸上歌唱的女孩



Wet weekends, New Year’s Eve parties

潮湿的周末,新年前的聚会

Girl singing in the wreckage

在残骸上歌唱的女孩



Hour after hour, hour after hour

时间一点一点地过



My 18th birthday, i'll die of boredom

我的18岁生日,我将死于厌倦

Girl singing in the wreckagew

在残骸上歌唱的女孩



My private world is smashed right open

我个人私下的世界开始崩溃

Girl singing in the wreckagew

在残骸上歌唱的女孩



My 1st trip, my expectations

我的第一次旅行,我所有的期待

I had a dream that it would end like this

我梦想所有的一切将终止于此

No destiny, no destination

没有命运,没有目的

You hit the ground and then it stops

你走在路上,然后所有的都已终止



Hour after hour, hour after hour

时间一点一点地过



I miss my hometown, it's nothing special

我想念我的家乡,它没什么特别

Call my parents let them know I've arrived

告诉我的父母,我已到了



My primary instinct is to protect the child

我最初的本能,像一个孩子那样



Send the postcard from the airport.

在机场,我寄出一张明信片

Apr 27, 2007

eclipse"Activation.main: 警告"的解决办法

Activation.main: 警告: sun.rmi.activation.execPolicy 系统属性未被指定且 ExecPermissions/ExecOptionPermissions均未被授权。随后的激活尝试失败,原因是对ExecPermission/ExecOptionPermission 的权限检查失败。 有关如何配置 rmid 安全性的文档说明,请参阅:
http://java.sun.com/javase/6/docs/technotes/tools/solaris/rmid.html
http://java.sun.com/javase/6/docs/tooldocs/win32/rmid.html

English Version
The error may coursed by you right click the whole project and chosed "run as". After this, a dialog comes out that "Select java application";the defalt value is "**", but at last the project autoselected Activation-sun.rmi.server. So come out the error.
The solution is directly run the application file , or just restart Eclipse.

报这个错误可能是因为你对最外面的大的项目点右键run as运行为了,所以跳出来一个SELECT JAVA APPLICATION的选框,默认的是**,而最后它用的是第一个选项Activation-sun.rmi.server,因此会报错。
这时在maching types选择运行的项目名即可正常运行,或者点项目中的函数名,再run as如运行hello world,则需对HelloWorld.java下的HelloWorld下的main点右键再选run as。
简单的办法就是,关掉Eclipse重启,这个问题就没有了。

Eclipse 项目版本兼容性问题

Severity and Description Path Resource Location Creation Time IdProject CarsManage is missing required library: 'C:\Developing\Eclipse\eclipse\plugins\org.eclipse.core.runtime_3.1.1.jar' CarsManage Build path 1177604473993 17121
'C:\Developing\Eclipse\eclipse\plugins\org.eclipse.jface_3.1.1.jar' CarsManage Build path 1177604473993 17123

English Version
A quick way to solute the problem is that create a new project with the same type of the old one, and copy all the old files to the new project.

Eclipse的版本不断更新,一方面则体现了Eclipse官方的努力和勤勉,提供给当我们更好,更强大的工具;另一方面,却带来了版本之间兼容性的问题。比如,我们用低版本的Eclipse项目用高版本打开的时候的时候,常常会看到上面提示的这些错误。
这方面的具体机制我没有仔细考究,这个解决方法是什么呢?
按照上面的提示,缺少一些jar文件,那么就应该找到这些jar文件,然后加入库中。但是一般常常会提示缺少十几个或几十个文件,这样的话,确实有点麻烦。
有一个比较方便简洁的解决方法,那就是建立一个和原来项目类型相同的项目,然后,把旧版本的文件全部拷贝到这个新项目中,这样,就可以运行了。

SWT Error
Exception in thread "main" no swt-win32-****

Exception in thread "main" java.lang.UnsatisfiedLinkError: no swt-win32-3236 in java.library.path at java.lang.ClassLoader.loadLibrary(Unknown Source) at java.lang.Runtime.loadLibrary0(Unknown Source) at java.lang.System.loadLibrary(Unknown Source) at org.eclipse.swt.internal.Library.loadLibrary(Library.java:123) at org.eclipse.swt.internal.win32.OS.(OS.java:18) at org.eclipse.swt.widgets.Display.(Display.java:125) at com.ford.sai.LoginForm.open(LoginForm.java:44) at com.ford.sai.LoginForm.main(LoginForm.java:34)

English Version
Maybe most of SWT user meets this kind of problem, the console points out directly: no swt-win32-3236 file. This is because Eclipse lack of SWT running local file.
The sulution is simple: click 这里 to download swt-3.2.2-win32-win32-x86.zip.
The downloaded pack swt-3.2.2-win32-win32-x86.zip,extract it,there are five main files
swt.jar, swt-awt-win32-3236.dll,swt-gdip-win32-3236.dll,swt-wgl-win32-3236.dll, swt-win32-3236.dll.
The only thing we need to do is add swt-win32-3236.dll to the project(Just paste it in the root of the project)

这写代码用SWT的同仁们可能大多数遇到了吧。其原因控制台说的很直接了:no swt-win32-3236 。这是由于Eclipse的运行SWT的本地库文件缺少造成的。

解决方法很简单:去Eclipse官方网站,点击这里 下载 swt-3.2.2-win32-win32-x86.zip。
一般来说,下载日本,韩国的站点的速度快一点。本人下载韩国站点的,70k/s左右。

下载后的 swt-3.2.2-win32-win32-x86.zip,解压缩以后有5个主要的文件,
swt.jar,
swt-awt-win32-3236.dll,swt-gdip-win32-3236.dll,swt-wgl-win32-3236.dll,
swt-win32-3236.dll.
我们只需要把swt-win32-3236.dll 加入项目(拷贝到项目根目录中即可)

Apr 26, 2007

java生成随机数

  开门见山,问题:生成(-10,10)之间的保留小数点后两位数的随机数。
  解决方法:1.java中随机数生成函数Random r=new Random(); r.nextFloat();//生成(0,1)之间的浮点型随机数。将上述随机数乘以10,得到生成(0,10)之间的随机数。
  2.生成一个Boolean型的随机数用于控制数的正负:r.nextBoolean();
  3.保留小数位数两位的方法:Math.floor(n*100+0.5)/100;得到的数为double型。
  
  代码如下:
  import java.util.*;
  public class CreateRandom {
   public float numRandom(){
    float num;
    Random r=new Random();
    float value = (float) (Math.floor(r.nextFloat()*1000+0.5)/100);
    Boolean b = r.nextBoolean();
    if(b){
     num = value;
     }
    else{
     num=0-value;
     }
    return num;
    }
    public static void main(String[] args) {
     CreateRandom cr = new CreateRandom();
     float num = cr.numRandom();
     System.out.print(num);
    }
  }

Apr 24, 2007

编程控制标签显示的颜色

老江同志在联合国千年首脑会议上讲话中说,“世界是丰富多彩的……”确实,这个世界上缤纷的颜色,给我们带来了很多的愉悦,想想湛蓝的大海,碧绿的草原,清澈的湖水,火红的晚霞,“呀,呀,呀,呀,我们的大学生活,是多么美好啊”。

有人说,整啥玩意儿?装什么清纯呢?想说什么直说。

其实,在我们编程中,合理的利用颜色,也能够带来一点点的便利。


例如,我们知道,超文本链接,一般情况下,在没有点击之前是蓝色的,点击之后便成了紫色(具体颜色可以在CSS中设置),这很方便我们来区分哪些网页是访问过的,哪些没有。下面的问题是,如何在程序中用代码来控制颜色,给用户带来方便。




在上面的图中(由于工具的问题,显示的不清楚),当用户选择了某个纪录后,记录能够改变颜色,提醒用户该记录已经选择,就可以避免用户重复添加同一条记录的错误。

在DataGrid中,可以这么来实现:

当Label的ID是lblCourseName的时候,

Label mylblCourseName=(Label)mySelectedItem.FindControl("lblCourseName");

…… …… ……
mylblCourseName.ForeColor=Color.Red

当然你也可以指定Color.Blue,Color.Gray,等等。这里使用的是系统提供的颜色。系统提供了数十种颜色,基本上够用了。

也许有人会想,数十种,这哪儿谈得上“丰富多彩”啊。这里微软提供了另一种方法,通过Color结构的构造函数来实现,用的是FromArgb()方法,一般我用的是FromArgb(Int32, Int32, Int32) 的构造函数,三个参数分别表示红色分量值,绿色色分量值,蓝色分量值(0-255)。

例如,Color.FromArgb(123, 0, 123);

mylblCourseName.ForeColor=Color.FromArgb(255, 0,0);

效果是这个样子的:




Apr 23, 2007

外企小白领的英文名

现在很多人尤其是外企的小白领们都喜欢用英文名字,
现选几个英文名中文直译供大家参考

BELINDA---不灵大;LINDA--灵大;BEN---笨;

JACK---接客;FRANK---不拦客;

STEVEN---湿吻; SOPHIA---说谁呀;SUNNY---说你;

JASON---贼孙; GRACE--给累死;BRUCE---不如死;

TONY--拖你;WINNIE---喂你;RAINNIE---累你;HONEY---害你;

HENRY---很累;JERRY---姐累;JEFFREY---姐夫累;MARY---妈累;

JULIA---猪你呀?ANDREW---俺猪;

PAULA---跑啦;CLARA---渴了啦;

VIVIAN---喂喂俺;LILIAN---理理俺;

NIKO---你抠;NICOLE---你抠了;NIKOLAS---你抠死了;

JENNIFER---蛰你否? JENNY---蛰你;ANGELA---挨蛰啦;

LUCY---来塞;TRACY---特来塞;

MAGGIE---马甲 MICHELLE---没歇啊;MICHAEL---没吃啊;

CHERIE/CHERRY---吃力;

David---大胃

Apr 22, 2007

[搞笑]MM睡姿大全(转自IT168)

唯我独尊型





全身放松型

旁若无人型




必须有伴型


四脚朝天型




谁也不理型

小狗吃盒型



作威作福型

甜蜜可人型



遗体告别型

全国搞笑店名(转自IT168)







相当支持 小犬!

Apr 21, 2007

一起数着日子祈祷幸福[转]

爱情就是生活里的一个个片段,希望下面的图片能让大家回忆起当时的浪漫感觉…











费尽心思,只为你那一瞬间的惊喜……

春日带你去踏青,漫山遍野的花儿美的让你忘记了所有的烦恼……



隔离外界的喧嚣,世界只剩下我们两个和满满一屋的爱……
  

矛盾让我们看的见对方,却成了触不到的
恋人……



只要我们携手奋斗,美好的未来触手可及……



对全世界来说,我卑微渺小;但在你眼里,我就是你的公主……


我并不向往桥头的彼岸之花,一切的一切只为有你相伴。
     




无尽的等待只会让彼此的距离更加遥远,在爱情里要面子会让你错过更多美好的时光…

 

革命路上手拉手,我们一起向前走,幸福的终点在不远处向我们招手……

路过幸福小站时,停了脚步,彼此相拥,感动与珍惜的力量将带你我一直走到有云的天边。

终于等到你的承诺,我不再吝啬“Yes,I do!”

卡卡,C罗,无需再谈

一个好的球队当然需要好的球员,尤其是核心球员,具有带动全队、决定比赛的作用,因此队伍把目光集中在卡卡,C罗身上是很自然的。
这两人是新一代球员中的佼佼者,远的不说,上轮意甲联赛看了卡卡的表现,对于他在中场的穿针引线的能力还是很认可的,传了不少好球,比如禁区前在对方多人防守下很机敏的传给了吉拉蒂诺一个球,后者立刻获得了单刀的机会。C罗在冠军杯上的表现也是可圈可点。我们当然可以想,得到这两个人,皇马下个赛季问鼎欧洲,拿到11个欧冠头衔希望极大。
想是一方面,然而世界上两情相悦者少,一方单恋者多。看看现实的情况吧,贝老头把卡卡当成了镇队之宝,为了卡卡撕破脸皮骂我们是“强盗”。更是打起了如意算盘用“皇马买卡卡的钱”买“巴萨的小罗”,几乎是空手道赚了一个更强的小罗。(关于卡卡,小罗谁更强我想没有必要争论,见仁见智的问题)。而卡卡本人在上个赛季AC陷入困境的情况下都没有离开,现在AC在联赛,欧冠赛场上虎虎生威,焉有离开之理?去年卡卡要走的原因就是不想在一支没有欧冠比赛资格的球队踢球。
再看看C罗,C罗方面更是有点肥皂剧的感觉。上个赛季C罗表现不算好,和队友关系也不太融洽,经历过世界杯后,由于和鲁尼有了很深的矛盾,“我一刻也不想再留在曼联了”,然而当时皇马没有看中C罗的价值,重心也在卡卡身上,没有得到C罗,本赛季C罗表现脱胎换骨,这个时候人家曼联会放人吗?7000万的价格不说,即使在C罗签约后,米贾还宣称这不算数,要等到夏天才有结论。这到底是求贤若渴还是痴人说梦?
卡卡,C罗都是在出露峥嵘但未成大器的时候买来的,球队为了培养他们也付出了很大的代价,现在是收到回报的时候了。我们怎么没有培养出,或者挖掘出新一代的领军人物,现在羡慕其他队,都只能怪自己没有眼光。弥补的办法就是现在注重队伍目前的年轻球员的培养,同时也好好挖掘当今足坛其他有潜力的球员,风物长宜放眼量,如果还是停留在挖脚现在巨星球员的路上,那越走越窄,并不是上策。现在如果再把目光放在可能性甚小的卡卡C罗身上,更是徒费功劳。还是把精力、资源集中在现在的球队身上吧,这要有成效的多。
看看我们老对手巴萨,左路的阿比达尔,右路的阿尔维斯的谈判都已经接近尾声,阵容中的两个主要弱点——两个边路,中卫,已经弥补了2/3,我们如果再在可能性极小的事情上再枉费心机,那么不仅输在了起跑线上,更是输掉了以后的机会!
卡卡,C罗,无需再谈了,我们有很多有潜力的小伙子,这就是我们的希望!

Apr 20, 2007

上善若水

今日诸事不顺。不知何故。
若干小事,列举如下:

系统开发的好好的,突然无法访问一远程服务器,就好像你天天回你住的地方,突然有一天,那把钥匙开不了那把锁了;
.NET 1.1 和.NET 2.0冲突,仅仅IIS6.0能解决这个问题,而Windows XP 仅仅支持5.1,就如同一个病入膏肓的人需要服用冰山雪莲,而他病入膏肓又没有能力去跋山涉水;
坐在公交车上,突然脚上一阵热流,定神一看,原来一个乘客买了龙虾装在塑料袋里,塑料袋破了,流在我的鞋上,渗透到我的脚上。如果说我想吃龙虾还情有可原,难道我的脚趾头也想吃龙虾,还是龙虾想尝一尝我的脚?
进出公司的门卡突然被停用,For Security Reason,我是阿富汗的还是车臣的;
回到家,电脑键盘上的Z键突然失灵了,难道在公交车上,在电脑包里它?
如此这般,我只能默念,哦,不是天将降大人与斯人也,我的第一反应是:上善若水。水善利万物而不争。就是说上天善良如水,对万物有利而没有什么索求。(回来看看书才知道,上善若水的意思是:最好的处世方法就象水一样)

遇到什么不顺心的事,就平心静气的接受,做你能力范围内的努力,然后就心清如水般,默默的承受。正如所言,知止而后有定,定而后能静,静而后能安,安而后能虑,虑而后能得。



挂上一枚平安扣,安润四方……



Apr 17, 2007

.NET Framework2.0和.NET Framework1.1 兼容性

由于电脑空间小,Dell的机器啊,就20G的硬盘空间,不得已拿安装文件开刀。
看到.NET Framework 1.1占用了很多的空间,大概300M,心想.NET 都3.0了,Visual Studio 2005拿 .NET Framework 2.0使用还有情可原,你这个1.1的老古董再出来混也太不应该了吧,三下五除二,快刀斩乱麻:删之!同时我把.NET Framework2.0的英文版也删了。
结果出了两个问题:一是Visual Studio 2005不能用了,原来.NET Framework 2.0的中文版和英文版是Visual Studio 2005都需要的,重新修复立马解决问题。另一个就是,我原来用.NET Framework1.1开发的一个网站不能登陆了。
难道就非得装.NET Framework1.1吗?我想了想,微软是非常重视兼容性的,向下兼容是一个版本能够顺利代替先前版本的很重要的因素。到微软网站上一看,果然如此,2.0全面兼容1.0。我开始找无法兼容的原因。

IE显示编译错误,'CS0104: “Configuration”是ASPNET.StarterKit.Portal.Configuration”和“System.Configuration.Configuration”之间的不明确的引用'。这说明,2.0会创建两个对象,而这两个对象重名了,因此编译器不知道调用那个对象了,这还不简单?用全名来指定不就行了吗?我在Configuration前加上了ASPNET.StarterKit.Portal的指定,一下就OK了。看来2.0对于1.1的兼容性还是很不错的,出了问题可能是本身的写法上存在隐患。

Apr 5, 2007

“越狱高手”混进体育圈
   凭过人才能变“大腕”

越狱第二季大结局周二在网上浓情热播,倒霉的迈克·斯科菲尔德和其他几名主角因为不同的原因身陷环境恶劣的巴拿马SONA监狱。接下来他们又会干出什么令人吃惊的事,只能等半年后才知道了。
这段“赛季间隙”,越狱的主角们都在干嘛?从昨天开始,我们已经接到很多热心“体育迷”和“越狱迷”们的举报——原来,这帮拥有高智商、不安分、而又精力过剩的家伙,已经通过各种渠道混入了体育圈,凭借过人的才能,他们都已经混成了“腕儿”级人物,虽然他们多数已经进行过整容,但群众的眼睛永远是雪亮的,表情、神态、动作以至习惯,群众从蛛丝马迹中发现线索的能力,永远比“公司”的人要厉害。

来看看他们都悄悄进行了什么样的身份改换?



患有潜在忧郁症的大帅哥迈克·斯科菲尔德竟然会想到把那漂亮的头发拔掉,不容易。忧郁的齐达内向来十分内敛,但在世界杯即将光荣引退的重要时刻,却爆发式的头击马特拉齐,已经很能说明问题。



走路拽拽的“背包”T-bag,把骨子里的坏水和张扬的个性好好的收敛了一番,看看曼联的加里·内维尔,多么老实巴交的一个勤劳工作者。



“BOSS”布拉德,拥有狗一样灵敏的嗅觉,表现出来的“聪明才智”似乎永远比你预想的要高。一项极其痛苦的面部削骨手术后,难怪马特乌斯不苟言笑。



林肯·巴罗斯,混迹江湖脾气大的坏毛病,还真是不容易改变,曼联国王坎通纳,就正好是一个典型的见谁都火大的角色。



本杰明·弗兰克林,爱家爱生活的好男人,不知阿森纳的加拉在生活中是否如此。



老牌的联邦密探保罗,面带猪像心中嘹亮,不知道他竟然还有如此出色的赛车天份,凭借微笑着面对死亡的勇气,他根本不在乎是否曝露,所以也是整容手术做得最不上心的一个,看看F1里的巴里切罗,连眼神里都透露着保罗的那种狡猾。



“疯子”查尔斯,更简单,头发一染,直接就混进NBA,现名诺维茨基。



神经质的攻击型天才密探马洪,选择的却是一个防守型的角色,投身意甲,成为最有名的门将布冯。



LJ巴罗斯,很显然他老爸混江湖时,没注意他在足球上的天赋,消失无踪后,原来LJ已经改行踢球,改名梅西,光茫四射。

转自Tom,聊付一笑。