Welcome to Rolland Town which Record fire's life.
2004年02月25日03年9月-06年9月存档

评论关闭

Zippo

zippo的历史和现在
zippo的由来
  美国人乔治·布雷斯代(他的绰号“mr.zippo”)是zipp0的创始人,就是他创造了代表雄性美感的zippo打火机。
  1932年,美国人乔治·布雷斯代,看到一个朋友笨拙地用一个廉价的奥地利产打火机点烟后,为了掩饰那令人尴尬的打火机,耸了耸肩,对他说:”它很实用!”。事后布雷斯代发明了一个设计简单,不受气压或低温影响的打火机。并将其定名为zippo,这是受当时的另一项伟大的发明–拉链(zipper)的启发,以”它管用”为宗旨而定名的。在四年之后,zippo成功的获得美国的专利权,并依照它的原始的结构重新设计了灵巧的长方形的外壳,盖面与机身间以铰链连接,并克服了设计上的困难,在火芯周围加上了专为放风设计的带孔防风墙。
  四十年代初期,zippo成为美国军队的军需品,随着第二次世界大战的爆发,美国士兵很快便喜爱上了它,一打即着及优秀的防风性能在士兵中有口皆碑。 实际上,至今为止的65年中,zippo的外形并没有发生什么变化,而将这一专利发展的近乎完美。每一次在大风中打开机盖,点燃火芯的时候,你都会体会到zippo如此独到的防风设计。
  zippo防风打火机最初设计时就考虑到:它可以在任何恶劣的天气下和你所需要得时候都让你满意。事实也证明了这一点,在硝烟弥漫的二战战场上,在狂风暴雨中,在沙漠里,乃至任何你需要它的地方,你都会感觉到zippo优良的性能。像所有的zippo打火机一样,我们的zippo户外打火机系列具有以下几大特点:zippo坚硬的外壳可以抵御任何物质的碰撞。一名士兵因为zippo挡住子弹而保住性命,而那支zippo却依然好用。zippo可以经得起任何浸泡的考验(即使你的zippo完全被水浸湿,它的火焰也会令你满意)。当你点燃手中的zippo时,它就会一直燃烧下去。因此,即使在寒冷的冬夜,你的手指几乎完全麻木的时候,你也可以用它来点燃那救命的篝火。 zippo强劲有力而且安全可靠的火焰得自于它所用的特制的液体燃料(而非丁烷气体)。因此,在任何恶劣的天气下,它都可以被轻松地点燃甚至保持长久不熄。
  zippo的原则—绝不画蛇添足。我们从不借助任何”太空时代”的聚合材料和高科技的点火系统。我们的目标是”简单、坚固、实用”—在你需要的任何时候,zippo都可以为你提供安全可靠的火源。0.27英寸厚的镀铬铜制外罩,再加上0.18英寸厚的不锈钢内衬,构成了zippo坚固的外壳;玻璃纤维制成的火芯可以永久地保证燃烧的可靠性;可以使用73000次的燧石轮—无处不体现了zippo的简单、坚固、实用。
  巧妙的防风设计令zippo举世闻名。但实际上,zippo的关键性技术在于它的火焰本身。与其他品牌的打火机迥然不同得是,zippo并不是燃气型打火机,它的燃料是一种非常稳定的石油提炼物,由它燃烧产生的火焰不但安全可靠,而且异常洁净,不会产生任何污染。这种液体燃料就停留在隐藏在防风墙里面的玻璃纤维机芯上。
  实际上,zippo燃烧的方式就像是一盏油灯,这也是为什么zippo具有如此强的防zippo,水和抗风的能力的原因。

 

男人的英雄情结–访zippo第三代传人乔治.杜克

  zippo有很多传奇故事。流传甚广的一个发生在二战期间,一个美国大兵胸部中了一枪,子弹正打中他怀里揣着的zippo,这个大兵幸免于死,印象中zipp故事是男人的故事,英雄的故事。
  在美国大片中,英雄点燃烟,坏蛋点燃汽油点火,用的都是zippo。电影《幻影英雄》中有这样一个情切给我印象很深,施瓦辛格扮演的英雄背对着被他征服的地方,缓缓地掏出zippo ,点燃一支香烟,眯起眼睛望着前方,口里念着《哈母雷特》的台词to be or not to be;然后突然一甩手,把火柴扔向撒满了汽油的后 方 not to be。如今二战已成为回忆,施瓦辛格,史泰龙早就不流行了。那么zippo所代表的深藏在男人心中的英雄传奇是否也随着那根火柴一样灰飞湮灭not to be了呢?适逢zippo第三代传人-乔治.杜克先生到中国访问,《时尚.esqure》对其做了独家专访,与他谈zippo 谈谈对英雄的看法。
乔治.杜克先生是zippo的创造人布雷.资代的外孙,第一眼见到他,觉得他的样子很像”英雄”电影里的”反派”人物,乱蓬蓬的头发,肥硕的脸庞,魁梧而稍显臃肿的身材,两只大得出奇的眼睛让人联想起电影里反派人物的特写镜头。他说话很大声,嗓音沙哑,不停地抽烟,让人怀疑他时时刻刻为zippo在做免费广告。我采访的时候,他的脸因为吃饭而有些发红,烟抽得一根接一根,看得出,抽烟已成为他生活的一部分,抽烟时手里不时摆弄的当然是zippo,我们的采访就在香烟缭绕中开始。

时尚:您平时随携带几个zippo?
乔治:2个,都是很简练的设计,1个是铜的,一个是金的。
时尚:您家里收藏有多少款zippo?你应该是收藏zippo最多的人吧?
乔治:全世界有很多zippo的收藏者,我自己就认识几个,但很抱歉,我不是收藏zippo最多的人。
时尚:zippo 的设计几十年不变,是不是有些保守?
乔治:simple(简单)是zippo一贯的设计风格。zippo不是高科技的东西,但这也正是很多人喜欢它的原因。电子产品很容易出故障,但是zippo不会,zippo是玩不坏的。
时尚:时尚的变化在zippo身上有体现吗?
乔治:当然有。中性化是现在一个趋势。很多女人不再随身携带很女性化的东西,而带一个zippo,因此zippo是超性别的。
时尚:说到性别,现在女性烟民越来越多,zippo有女性设计的款式吗?
乔治:我们注意到了女性吸烟人数上长的趋势,所以在50年代就推出了专为女性设计的袖珍款zippo。
时尚:有些人不吸烟,只把zippo当作照明工具使用,他们抱怨说zippo的燃烧时间太短了。
乔治:我们没有把zippo的机身容量加大,但我们增添了一个便携带的燃料罐。
时尚:zippo在美国是一个大众品牌,但在中国价格却偏高。
乔治:我们的产品现在主要在中国大中城市的高档市场有销售,随着中国人生活水平的提高,会有越来越多的人买得起zippo。
时尚:有人说,现在很多中国市场上有很多仿冒的zippo,是这样吗?
乔治:单从外观上很难辨别真假,辨别zippo的真假一是看差价,价格低得离奇的自然是假的:二是所有真的zippo都享有终身保修服务。一旦出了故障,真的zippo会修好后还给你,而假的我们不会修,当然也不会没收。zippo也曾花很多钱打假,比如在中国的上海,我们建议大家到挂有特别经销商牌子的店里去买。
时尚:现在一次性打火机充斥市场,很方便很便宜,人们还会买zippo吗?
乔治:一次性的打火机很便宜,但不如zippo好用,而且一次性的东西再方便,人们还是会买些经典的东西,比如说作为礼物送人。
时尚:zippo这个品牌的内涵是什么?
乔治:zippo对不同的人有不同的含义。我不认为自己是回答这个问题的最佳人选。每个人都可以有他很个人化,个性化的解释。
时尚:zippo对您个人意味着什么?
乔治:他是我祖父留给我的一个记忆。我的祖父也就是zippo的发明人。在我的印象里是一个很特性的人,我从会走路的时候就开始接触zippo了。
时尚:您希望你的孩子继承你的事业吗?
乔治
:当然,因为zippo很美妙,很有趣。
时尚:您也希望他们抽烟吗?
乔治:不,我不希望。这是一个很不好的习惯,很难改。
时尚:现在反吸烟运动在世界范围内都是一个趋势。您怎么看反吸烟运动?您认为这会影响zippo的生意吗?
乔治:反吸烟运动在美国很盛行,投入了几百甚至上千万美元支持反吸烟运动。与烟草有关的商业有所衰落。但是不知道是什么原因,抽烟的人数越来越多。我个人认为未来20到25年内,吸烟的人数会有所下降。但我不认为这会对zippo有大的影响。因为我们一直在告诉人们――zippo不仅用来吸烟,他们买它用来收藏。或者是当作野外活动的火种和加热工具。日本的年轻人购买打火机就像购买时装一样。
时尚:您能形容一下佩带zippo的男人是一个什么样的男人吗?
乔治:很有意思的问题。这样的男人也许很tough很manly,就像电影里的硬汉,谁知道?
时尚:有人认为喜欢zippo、吉普、哈雷摩托的男人身上有一种英雄情节。这种英雄情节其实潜在于每个男人的心底。
乔治:有关”英雄”的话题是一个很老的,很普遍的话题。不同的时候人们对什么是英雄的判断有不同的角度。总的来说,人们把那些勇敢、坚强、有独立人格的男人定义为英雄。就像电影里施瓦辛格、史泰龙、布鲁斯.威利斯那样的角色。但也有另外一些人认为,英雄不必有很外化的表现,主要在于内心。
时尚:zippo在二战争时尚有很多传奇故事,人们购买zippo是不是因为生活在和平年代有一种英雄无用武之地的失落感?
乔治:zippo在四五十年代有过很辉煌的日子。人们购买zippo也许是在缅怀那段辉煌。但历史很长,我们应该寄希望于未来。
时尚:很多人认为现在这个时尚代已经没有英雄了。即使像施瓦辛格、史泰龙塑造的那些现代生活的英雄,您认为他们在现实生活中存在吗?
乔治:说实话,我不相信他们存在,而只是在电影里。但是我认为英雄不是非要在非正常的事件中才能产生出来的。在现实生活中通过生活的磨练,从个人情感中发出来的那种坚强、坚韧、独立、果敢同样是一种英雄情怀。我认为现在这种英雄在现实中是确实存在的。
采访结束前,乔治说他在中国买了一件大衣,质量、款式都很好,他很得意地穿上:看我像不像布鲁斯.威利斯?”我看了看,觉得还是像反派。

如何zippo真假zippo真假
  目前市场上假的zippo打火机特别多,辨别的方法也很多。
  首先看外观,真的zippo打火机 连接处上下各有一个圆形的凹印,机壳上压合叶的两个园形痕迹确实在仿制机上很难做到完全相同的,也可以作为判断依据。
  真zippo底部都有制造年份。
  1932—1956年生产的均用正楷书写“zippo”字样
  1957—1976年生产的使用斜体书写“zippo”造型
  1977年起使用的是加入火焰图案的商标造型。
  另外,由1957年开始,所有zippo打火机底座均刻上代表制造年份的记号,方便收藏家辨识。商标的右边以罗马数字表示制造年份(ⅱ代表1986,ⅲ代表1987)左边以英文字母代表制造月份(a代表1 月,b代表2月)在此之前的产品, 只能靠s编号或设计类型来判别。在上述特征中,假的zippo打火机一般没有或不全,印制也很粗糙。性能、质量、外观都无法和真的zippo相比。
  另外我们还可以通过真假zippo的实际使用来对比。
第一:重量
  真的zippo一般都比仿造品要轻一些,这是因为假zippo打火机是用刚或铁材料制造,不是zippo专用材料;
  一些不法生产商为追求外壳坚硬而增加了厚度。
第二:看火焰、耐热程度
  zippo仿造品燃烧时冒青烟,火焰忽明忽暗,且燃烧不到4分钟整个机身就全着了。而真zippo打火机一直烧到燃油耗尽也不会引燃机身。这是因为假的zippo刚制外罩太厚,散热效果差;机内的储油棉芯质量差,易漏机油。
第三:防风能力
  将真假zippo放在距电风扇40厘米处扇,将电扇开到最大风力,仍然吹不灭真zippo打火机的火焰。而假的zippo打火机在电风扇只开最小风力的时候就被吹灭了。这是因为真zippo打火机的防风墙高;通气孔的设计科学合理;专用火芯吸油好。
  机壳—真正的zippo的黄铜机壳工艺细腻,壳底压出的标识清晰工整,而假货的外观工艺粗糙。而且,拿真正的zippo一比还能观察到,假货的外型其实也有明显破绽。
  机胆—材料上差异不大,但真zippo上有机刻的商品信息,而假货则是手写的。
  燃烧室—拿出100只zippo,他们的燃烧室的对缝永远是工整的,缝隙均匀一致。而假货的缝隙则或宽或窄,还有点歪斜。
  打火轮下面的火石托,真品一定是黄铜色的,假的经常是一起镀银白色的。
赝品的内胆有的时候做的反而要比真品亮度高,所以要学会排查掉金玉的外表看其本质
还有其他几种方法:
1. 分辨zippo真假
  1) 要判断zippo是否为美国原厂制造,得由有经验的zippo用家进行,而完全未接触过zippo的人却无法办到。
  2) 最明智的分辩真假方法
向总代理直属的经销商/零售商所经营的商场中zippo零售点或商场外专卖店购买,要求单据。有疑问直接向总代理提出。
  3) 一般的zippo消费者,用触觉、视觉、听觉和感觉比较相近型号的真品,查证于文字和图样的记录,甚至单纯比较以往使用过的相近型号真品,靠经验和记忆并配以逻辑和常识来判断真假。
  4) 对于高一级的zippo用家或者是zippo收藏迷,只需用心和感情即可分出真伪。
2. 分辩真假步骤
 1) 放置手中,感觉重量。一般真品较重,赝品较轻。
 2) 开合几次用触觉、视觉、听觉去感受。
 3) 擦打打火轮几次。
 4) 抽出内胆,观察大小、形状、表面电镀、挡风罩及其他焊接点的细节。
 5) 观察打火机机底原厂打印。
   翻转火机的底部,便可一清二楚。1932-1956均用正楷书写1957-1976使用斜体书写“zippo”造型。1977起加入火焰图章“zippo”商标制造。从1957年开始,所有zippo打火机底座均刻上代表制造年份的记号,方便收藏家辨识,制造年份记号有四种:“·”–1957年起用;“│”–1966至1979年用;“/”–1974至1981年用;“\”–1982至1986年用每种记号使用八年,最多出现八个,分别刻在zippo商标左右两边。1986年起,在年份外,更加入了月份的记号。商标的右边以罗马数字表示制造年份(ⅱ代表86,ⅲ代表87),左边以英文字母代表制造月份(a代表1月,b代表2月)。

  如至此都与真品无异,无需再比较防漏棉,储油棉花、火石、棉芯、固定火石弹簧,因已属矫枉过正,干脆拿票全换回真品好了。

  3. 分辨稀有、绝版、珍贵、收藏、旧品的真假:
   除了用上述1和2外,一般珍贵的限量珍藏型号都应有特别包装或某些原厂证书,整套是不会伪造的,如果再加上购买单据和发票,则更妥善安全。

  市面上所谓越战时期供美军使用的珍贵品的判断:
  1) 出处不可靠:
    由非zippo经营者自称涉足或回国者于国外搜购到小量,向zippo经营者兜售。
  由部分批发商向zippo经营者摊销,宣称供应源源不绝。宣称该批打
火机已经美军使用,又称该批打火机是在美军军需品署仓底找出。
  2) 表面大量生产
  表面圈样及字体或有不同,但明显属同批加工及大量生产。与当时个别美军自刻或找不同工匠手工处理不符。
 3) 机底打印不能查证:
  全部机底打印模糊不清,模式近似,证明有意将整批处理得难以辨别真假。
由此可推断:
  ※ 此并非越战时期美国zippo生产的供美军使用的zippo打火机。
  ※ 属于现代模仿美军图样同批大量生产的伪品。
  ※ 鉴于以上两点及高昂的售价,该批打火机是否真zippo已无须考虑,因为这些添加的造工不会将价值提高,反而将真品的价值完全”贬值”至无价值。

关于zippo的购买.

  从使用上的角度我推荐大家用古银材质的机子,耐磨,不怕划痕,而且手感很好,时间长了你会发现与新的古银机子有很大的材质差异,老机子机面光滑又不失那种古银的沧桑感,很有味道。如果你的银子有限,又想买个性价比高的zippo,长期使用,我强烈推荐古银!如果你是送礼,想花最少的钱又能显出档次,我推荐送黑冰,黑冰系列属于抛光材质,表面光滑细腻,尤其在灯光下确实很玄!显得高贵典雅,但是使用上有它的缺陷——就是划痕明显,容易留下手印,手感一般。如果你不吝惜银子,送上档次的zippo礼品,建议你选择日本版的镀银系列,日本版的zippo以其做工精细,设计独特不同于美国版的粗矿奔放的风格,送礼来讲是不错的选择,缺点就是价格高,通常在400元以上。以上是我对于即将选择zippo的朋友的一点点参考!


zippo几种机身的比较.
  zippo最常见的几种机身材料为200(经典铬)205(细磨沙)207(仿旧碎花)250(抛光面)150(黑冰)121fb(古银面)其他的面由于不太常用在此就不细说了!就划痕这个问题,从这几个常见面中,本人认为首选207包括207g(铜制),因为机子本身是碎花的,掩盖了划痕。其次是121fb,前期效果不好,因为会掉漆,但用常了你会发现,机子会越变越新!至于什么样子,自己体会吧!之后依次是200,205,250,150,最后说说150的黑冰面。新机子那绝对是爱不释手,但我想每一个买家不全是把zippo摆在你家橱窗吧!用过一段时间后,一旦出现划痕,由于150面也属于250抛光面之列,划痕会很明显,再也找不到当初的感觉,甚至羞于拿出手了,请各位注意了!

如何让机子一打就着
大家都有过这样的经历,机子有时很难一下子打着,其实解决这个问题,我们必须先了解zippo的燃烧原理。
  zippo是靠在空气中挥发机油,遇到火星(火石与燧火轮摩擦产生)得以燃烧的。一般而言,如果你的机子密封合格,开机时的机壳内挥发的机油密度最高。一旦开机,我们总是马上打火,我想谁也不会等5分钟再打火的,此时产生的火星足够点火了,其实是点火了,我们总是看到一团瞬间即灭的大火,有时火机盖内侧都有火。但是,瞬间即灭,因为不能持续燃烧,这是因为已经挥发的机油燃烧后,在棉芯周围形成短暂真空,后续的机油没有挥发出来,或者是后继挥发出来的机油达不到持续燃烧需要的数量,也就是说燃料不能持续供应,火就灭了。此时需要你多打几次,直至打着为止,有时这事特烦人,特丢银,呵呵!
  为什么会出现这种情况?简而言之就是为什么燃料不能持续供应,我总结了一下,除去一些诸如油用完、假货配件之类的白痴原因,只有一个,积炭!即火机里面黑黑的物质,这些就是由于不完全燃烧以后形成的积炭。大家一定要问,zippo油品质一流,怎么会不完全燃烧?不完全燃烧其实很简单,任何优质的机油,只要在不具备完全燃烧的条件下燃烧,就处于不完全燃烧状态。最简单的例子,当你合上机子时,机子还在燃烧,直到你完全合上,其实还在燃烧,直到附近的氧气耗尽才熄灭,只是我们看不到而已。火机处于不完全燃烧时,机油作为碳氢化合物的混合物,氢跑掉了,碳留下了,附着在棉芯、燧火轮、机芯上,在前两者上面的积炭就会使机子不能一打就着。
  1、刚用的棉芯绝对是白色的,随着机子的使用,越来越黑,其实棉芯里面还是白的,黑的只是表面,而这个表面上的积炭就是阻止燃油迅速持续挥发的重要原因。
  2、燧火轮上的积炭表现在你的手指上,有积炭的燧火轮总是让你打火机的手指漆黑一片,而且由于和火石的接触面积相对减少,打出来的火星小,机子当然就不容易点着。

  知道了以上,我想就很简单了,机子一下子打不着,就应该清洁机子了。最后一个可能原因就是机芯内部油路不畅,这个其实很好解决,只要s型安装棉芯,保证棉芯和棉心的充分接触即可。

品味zippo问与答
  georgeg.blaisdell是zippo的创始人,(1895-1978)绰号 “mr.zippo”。
就是他创造了代表雄性美感光和热的zippo打火机。它除了实用性和防风的妙处外,每款zippo都是一件艺术品具有收藏价值。
  如果你认为自己是一位极具品味的烟民,嘴里叼着再昂贵的烟卷儿,但手中却不握一只zippo实在没有说服力。

  一)为什么以zippo命名?有特别原因吗?
  答:30年代,[拉链](zipper)是其中一件令人类赞叹的新发明,亦令创造zippo的乔治·布雷斯代(george g
blaisdell)深深着迷,因而取其谐音—zippo,为自己创造的打火机命名。


  二)zippo打火机是否真的具有防风性能?
  答:美国zippo公司曾于1979年举行了一项科学性的实验—[zippo可以抗拒多大强度的风?]。实验以200型号之zippo为测试对象,结果显示其耐风性为时速32英哩(即风速14.2公尺)。总括而言,zippo的抗风性决定于(1)防风墙的尺寸及构造,(2)防风墙上的通气孔的数量及大小,(3)棉芯的构造,及(4)专用电油的沸点等四项因素。而zippo打火机的防风墙设计更取得专利权,由此证明zippo是精密设计而成的高科技打火机。

  三)除了燃点香烟外,zippo打火机还有其他用途吗?
  答:zippo不仅是一只打火机,更是一件轻巧的随身工具。例如在户外活动时,不论天气好与坏,zippo可协助燃起营火、炭烧炉,也可当作电筒帮助寻找失物或路线,紧急时更可利用火光作求救讯号。


  四)zippo打火机是否必需配用zippo专用电油?
  答:只有配合zippo打火机专用电油、棉芯、火石,zippo打火机才能发挥出最佳性能。zippo打火机专用电油沸点以华氏180度(摄氏87.7度)固定后,专用电油的蒸发作用与棉芯的点火特性互相结合,达到最理想的燃烧状态,一打即着。

  五)听说zippo打火机专用电油有去污功用,真的吗?
  答:没错!zippo打火机专用电油性质较温和,可用作去除衣物、玻璃、汽车或机器上的污渍,包括沥青、香口胶、胶贴所造成之污渍等。另外,zippo打火机专用电油也可作炭火的助燃料或暖手器的燃油。我觉得普通的一次性火机没有以上的特点吧?

 

  最后留个地址,里面还有一些——http://www.mingph.com/zippo.htm

偶得

  早上来看订阅的blog,找到我一直都没有搞清楚的Tackback Ping和blog的相关东西。摘录如下——

  Tackback Ping 是 blog 一个十分重要的功能,由做 Moveable Type 的人发明的。他们说 TrackBack 是 “a framework for peer-to-peer communication and notifications between web sites”。

  Blog 4——blog 是在网上写日记。可是,就象用 web 浏览器不是唯一看 blog 的方法一样,用 web 浏览器登陆 blog 服务器去写作也不是唯一的写作办法。写作 blog 可以用专门的写作工具,称为 desktop blog editing tool 或者 posting tool。它们具有更好的类似 word 的操作界面,来更加容易直观控制排版。还可以把 blog 文章、草稿保存到自己机器的硬盘上。甚至还有些有趣的功能,例如,把 windows media player 里面正在播放的音乐信息,插入到你的 blog 中。

  中文 blog 写作的工具,并不多见。这里是国人自己的一个—
WB Editor

  用 WB Editor 连接 donews blog 的全攻略

?

2004年02月24日03年9月-06年9月存档

评论关闭

雪儿,分手周年快乐!

  

  其实最近两天挺忙的,但是今天上午用FoxMail收邮件的时候,无意之间打开关于我上一段爱情的相关信件,我才发现,今天是我和前任女友分手一周年…………

  在2003年2月23日 22:40 分手,我们一共相恋两年零两个月左右(开始时间2000年12月20日左右,时间记得不是很清楚了)

  不管是谁,都不可能绝对的忘记什么,只是会淡忘,但是不经意间的东西又会勾起相关的回忆……

  刚才又看了一遍我写的mail,真的感觉说话的都不是我,这说明什么呢??其实现在我不愿意去分析我的前任女友思想如何,对不对,这于我都没有任何的意义,可刚分手时的我就对此很感兴趣,我摘录一点——
  整个封建思想的根深蒂固,养成了一种希望安稳的思维定势。加上这种思想作祟,说你年龄这么大了等等……你就是不愿意想那么多的问题,认为船到桥头自然直。说的不客气一点,但是为了你自己好——你从来都没有认清过自己……

  俨然教父形象,呵呵。现在自己都觉得搞笑,我的思想怎么能强加给别人呢?现在想来,我回忆起这个,也许更多的是从中吸取经验,让我知道该怎么对待我现在的mm……我还应该很感谢你,雪儿!是这样一段经历让我明白了更多的事情。

  雪儿,分手周年快乐!
  我一年来长大了不少,我感觉自己的路还很长,要学习的东西太多,也许我一辈子都学不完;我有了新的mm了,我会好好待她,也许是我该学着不那么自私,为别人放弃一点自己的时候了……
  你还好么?恋爱了么?结婚了么?工作都还顺利吧?……

  既然你躲着我,那就让我们淡淡散散的相处,就像街头擦肩而过的路人…………

2004年02月23日03年9月-06年9月存档

评论关闭

软件一体化集成——求助

  上午接到一个油田上的项目,就是将他们原有的62个软件系统集成在一起,全部做成B/S方式的。相关描述——

  • 这62个软件中,既有C/S的,又有B/S的;
  • 只有一个使用DBF的数据库,其他全部是Oracle的;
  • 包括了报表、技术资料查询、油田专用绘图、webGIS等;
  • 原有这些软件用到了VB、ASP、Delphi、C++Builder、PB、Lisp、CAD、JavaApple;
  • 油田可提供其中61个软件的源代码。

  现在要做的就是将这62个软件集成起来,全部用B/S的方式来实现。现在头儿叫我写一个方案——说明该如何实现,哪些地方是技术难点等。如果方案通过,也就是说全部重做,但是每一个部分的功能都必须和原来一致。实际上这62个软件功能可以说根本不搭界,他们就是要做个新的,方便维护等

  我不知道该怎么入手,很多东西从来没有接触过,希望大家一起帮我出谋划策,fire在这里先谢过大家了!

2004年02月22日03年9月-06年9月存档

评论关闭

「无用之用」

  看台湾高焕堂先生写的“应用架构入门与实例”一书,刚才看到这样一段,摘录如下——

  小树的用途少﹐人们不理睬它、不砍伐它、才有机会长成有用之巨木﹐此为「无用」之用﹗老子说过﹕「人皆知有用之用﹐而莫知无用之用」﹐这与架构观念是一致的。

   数千年前﹐老子提出了这「有、无」哲理﹐从无为状态中创造出有为的积极效果。像房子的中间、门、窗皆是空的﹐才能供人们进出、居住与透透空气。其积极效果是﹕日后依新环境的条件而加以调整、充实﹐创造出多样化的用途。例如畚箕的中间是空、虚的﹐才能装泥土、垃圾等各式各样的东西。此外﹐畚箕的空无﹐创造了畚箕的重复使用性(Reusability) ﹐装完了泥土﹐倒掉之后﹐还可拿来装垃圾等﹐不断重复使用之﹐一直到坏掉为止。

  不仅上述的树木、房子、畚箕等东西深含虚无之用哲理﹐在人们的精神修养上也常见同样哲理。例如古之贤者常教导年轻人应该「虚」怀若谷﹐才能不断虚心求教﹐不断吸收新知识﹐不断充实与成长﹐成为有用之人。反之﹐志得意满的年轻人﹐常不愿虚心吸收新知识﹐常在不知不觉中变为新环境中的古典人物﹐为不断变化的潮流所淘汰。

   应用架构中的主角──抽象类别﹐并非具体的类别﹐不能用来诞生对象﹐看似无用的东西。可是它可衍生出无数个具体子类别﹐可诞生出无数种对象来﹗抽象类别中的「虚」拟函数(Virtual Function)常是空虚的让抽象类别能虚怀若谷﹐让应用程序员不断充实它﹐其子孙类别就个个精明能干﹗抽象类别发挥无用之用的效果﹐应用架构则更进一步地发挥这种效果。

  人们易于得意骄傲﹐不易虚怀若谷。同样地﹐易于创造具体类别﹐而不易创造出抽象类别。不过﹐当您懂得善藉眼前的「无用」来换取长远的「有用」时﹐创造与使用抽象类别就易如反掌了。

 

  看来,程序与做人处世之间真的密不可分,软件架构也不是我之前想的那么简单。路真的好长……

折腾我的2k3

  大鱼儿给了我2k3,我也趁机把2k抛掉,仔细感受一下。在测试版的时候就装过,可由于一上来就和XP一样,所以没有仔细了解。

  让我唯一很难受的是,我的sis645dx主板板载声卡sis7012始终安装不上驱动,sis也没有for 2k3的驱动,用for xp的驱动根本就不行,所以我现在还是无声世界。开始的时候很郁闷,现在想想,无所谓了,正好可以专心工作,音乐不停也罢。说到这里,2k刚出来的时候也一样,呵呵。

  每次装系统,真的很麻烦,很多东西要装不说,加上我眼里容不下一点沙粒,所以有一点点地批次我就会全部重来。所以大学那会儿装2k,得到一个雅号——系统狂人。这两天,我数数,总计装了12次2k3,每次几乎都进行到所有需要的软件安装完。说到这里,我就想说绿色软件了,真的给重装系统带来太多的方便。它们根本不需要重装,发一个快捷方式就好。

  现在稳定了,我也可以认认真真地搞些其它东西了。

 

  大鱼儿给我的,自己实现dispose的那部分,我觉得不太好,所以还是决定要向sdk学习,去自己实现IDisposable 接口,这也许才是正道。等我全部搞定了,共享出细节。

 

2004年02月16日03年9月-06年9月存档

评论关闭

编码能力和规范还要继续加强

  刚才和大鱼儿谈到系统日至中的一个ASP.NET的错误——aspnet_wp.exe (PID: %1) was recycled because memory consumption exceeded the %2 MB (%3 percent of available RAM). 实际上这个错误已经包含在微软公布的错误日至中(ASP.NET相关系统错误日志)。我一直苦于为什么系统会强制回收内存,大鱼儿给我了答案——

  • 系统使用的2k,IIS5不支持对ASP.NET的内存调整;
  • 程序没有对使用的对象手动释放内存;

  解决办法就针对上面的两条——

  • 采用2k3,IIS6就支持ASP.NET的内存调整;
  • 把程序过一下,手动释放内存;

  最后请示了一下,决定用2k3,头儿说如果可以暂时抵挡一下,就不管了,因为还有其他的开发要做,不能耽搁进度。回过头来想想,其实也是自己编码的问题,看来还要继续学习、加强才行!

  再次感谢大鱼儿!

小游戏,呵呵

  刚才调试完最后的程序,休息的时候,一个朋友问了我一个问题——有AB两个盒子。一个球。开始计时,球在A盒中。N/2秒后,把球从A盒中拿出来放到B盒中。N/2+N/4秒后,再把球放回A盒。N/2+N/4+N/8秒后,把球放到B盒。N秒时,球在哪个盒子里?

  其实这种题网上很多,但是自己从来没做过,而且刚好休息,也就顺便做着玩儿,我想了想,就用ASP.NET(VB.NET)给他做了一个,12行代码,感觉还不错。下面就是我的代码——

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim i As Integer = 0
        Dim n As Integer = TextBox1.Text
        Dim s As Double = 0
        Do While s = n
            s = s + n / 2
            i = i + 1
        Loop
        If (i Mod 2) = 0 Then
            Label1.Text = “球在B盒中”
        Else
            Label1.Text = “球在A盒中”
        End If
    End Sub

  想通了其实很简单,2/n,n/2+n/4,n/2+n/4+n/8……。这实际上是一个极限等于1的等差数列,只需要计算出等于1的时候经历了多少次循环,然后判断这个循环的次数是奇数还是偶数就可以了。

  有更好解的朋友贴出你的代码来看看,呵呵


补记:
莲花说道——s=1/2+ 1 / 4+…..
有穷多次后,s比较接近于1 ,这时候由于双精度数已经无法表述出1和s之间的差,所以 1==s返回true,循环结束 。
也就是说我这个程序在s=n的地方不准确,我同意他说的上面这段话,但是他还说这个题目没有解,我就不赞同了,待续……….

细微的区别还是概念错误!已更新,留意最后的更新内容

  今天在MS-SQL写一个SQL语句时,发现一个细微的区别——
  语句1:case when (totalled is null) then 0 else 1 end
  语句2:case totalled when null then 0 else 1 end

  熟练SQL的朋友可能一下子就能看出来区别,我当时写的语句2,后来发现和我想得到的结果不一样,然后改写语句1,结果出来的就是我要的。然后我仔细查看了联机丛书,还是不清楚。下面我把联机丛书上写的贴出来,有兴趣的朋友和我一起讨论一下

CASE

计算条件列表并返回多个可能结果表达式之一。
CASE 具有两种格式:

  • 简单 CASE 函数将某个表达式与一组简单表达式进行比较以确定结果。
  • CASE 搜索函数计算一组布尔表达式以确定结果。

两种格式都支持可选的 ELSE 参数。

语法

简单 CASE 函数:

CASE input_expression
  WHEN when_expression THEN result_expression
    [ ...n ]
   [
    ELSE else_result_expression

  END

CASE 搜索函数:

CASE
  WHEN Boolean_expression THEN result_expression
    [ ...n ]
  
[
    ELSE else_result_expression

  END

结果值
简单 CASE 函数:
  • 计算 input_expression,然后按指定顺序对每个 WHEN 子句的 input_expression = when_expression 进行计算。
  • 返回第一个取值为 TRUE 的 (input_expression = when_expression) 的 result_expression
  • 如果没有取值为 TRUE 的 input_expression = when_expression,则当指定 ELSE 子句时 SQL Server 将返回 else_result_expression;若没有指定 ELSE 子句,则返回 NULL 值。
CASE 搜索函数:
  • 按指定顺序为每个 WHEN 子句的 Boolean_expression 求值。
  • 返回第一个取值为 TRUE 的 Boolean_expression result_expression
  • 如果没有取值为 TRUE 的 Boolean_expression,则当指定 ELSE 子句时 SQL Server 将返回 else_result_expression;若没有指定 ELSE 子句,则返回 NULL 值。

 

2004.02.16更新——
  我昨天和一个朋友详细讨论了一下,结果是这样的,我摘录如下——前一个Case判断(data is null),
而后一个判断(data = null) 。所以遇到data为null值的时候会有所不同 。(data is null)和(data = null)两者不能划等号,因为从关系代数的角度讲,后一个表达式的值是什么,有学术争议,到现在没有哪一方能说服另一方,因为Null本身代表的是“不确定”,就像量子论中的波包状态,在没有塌缩时,它有可能是任何值,可以说直接原因是Null值的比较操作。Case只是表象而已,可以说直接原因是Null值的比较操作!

 

2004年02月14日03年9月-06年9月存档

评论关闭

ASP.NET相关系统错误日志

  今日kbAlertz.com的所提供的MS知识库新文章,相信对很多使用ASP.NET的朋友有用。

The following list describes the different types of event log entries that you may experience when you use ASP.NET:

  • MessageId=1000
    Severity=Error
    aspnet_wp.exe (PID: %1) stopped unexpectedly.
  • MessageId= 1001
    Severity=Error
    aspnet_wp.exe (PID: %1) was recycled because memory consumption exceeded the %2 MB (%3 percent of available RAM).
  • MessageId= 1002
    Severity=Error
    aspnet_wp.exe (PID: %1) was recycled because the number of queued requests exceeded %2.
  • MessageId= 1003
    Severity=Error
    aspnet_wp.exe (PID: %1) was recycled because it was suspected to be in a deadlocked state. It did not send any responses for pending requests in the last %2 seconds. This timeout may be adjusted using the <processModel responseDeadlockInterval> setting in machine.config.
  • MessageId= 1004
    Severity=Informational
    aspnet_wp.exe (PID: %1) was recycled after %2 seconds.
  • MessageId= 1005
    Severity=Informational
    aspnet_wp.exe (PID: %1) was recycled after being idle for %2 seconds.
  • MessageId= 1006
    Severity=Informational
    aspnet_wp.exe (PID: %1) was recycled after serving %2 requests.
  • MessageId= 1007
    Severity=Error Symbolic
    aspnet_wp.exe could not be launched because the username and/or password supplied in the processModel section of the config file are invalid.
  • MessageId= 1008
    Severity=ERROR
    aspnet_wp.exe (PID: %1) was recycled because it failed to respond to ping message.
  • MessageId= 1009
    Severity=Error
    aspnet_wp.exe (PID: %1) failed to startup because the synchronization event could not be initialized. Error code: %2.
  • MessageId= 1010
    Severity=Error
    aspnet_wp.exe (PID: %1) failed to startup because the synchronous pipes could not be initialized. Error code: %2.
  • MessageId= 1011
    Severity=Error
    aspnet_wp.exe (PID: %1) failed to startup because the asynchronous pipe could not be initialized. Error code: %2.
  • MessageId= 1012
    Severity=Error
    aspnet_wp.exe (PID: %1) failed to startup because the .NET Runtime could not be initialized. Error code: %2.
  • MessageId= 1013
    Severity=Error
    aspnet_wp.exe (PID: %1) failed to startup because CoInitializeEx failed. Error code: %2.
  • MessageId= 1014
    Severity=Error
    aspnet_wp.exe (PID: %1) failed to startup because CoInitializeSecurity failed. Error code: %2.
  • MessageId= 1015
    Severity=Error
    aspnet_wp.exe (PID: %1) failed to startup because the aspnet_isapi.dll could not be initialized. Error code: %2.
  • MessageId= 1016
    Severity=Error
    aspnet_wp.exe (PID: %1) failed to startup because of failure to create the thread for answering ping messages. Error code: %2.
  • MessageId= 1017
    Severity=Informational
    Start registering ASP.NET (version %1).
  • MessageId= 1018
    Severity=Error
    Failed while registering ASP.NET (version %1) in IIS. Error code: %2.
  • MessageId= 1019
    Severity=Informational
    Finish registering ASP.NET (version %1). Detailed registration logs can be found in %2.
  • MessageId= 1020
    Severity=Warning
    Updates to the IIS metabase were aborted because IIS is either not installed or is disabled on this machine. To configure ASP.NET to run in IIS, please install or enable IIS and re-register ASP.NET using aspnet_regiis.exe /i.
  • MessageId=1021
    Severity=Informational
    Starting %1.
  • MessageId=1022
    Severity=Informational
    Stopping %1.
  • MessageId=1023
    Severity=Informational
    Restarting W3SVC.
  • MessageId=1024
    Severity=Error
    Failed while restarting W3SVC. Error code: %1.
  • MessageId=1025
    Severity=Informational
    Finish restarting W3SVC.
  • MessageId=1026
    Severity=Warning
    During unregistration (version %1), a clean uninstall was done because the process failed to get the next highest version. Error code: %2.
  • MessageId=1027
    Severity=Informational
    Start unregistering ASP.NET (version %1).
  • MessageId=1028
    Severity=Error
    Failed while unregistering ASP.NET (version %1) in IIS. Error code: %2.
  • MessageId=1029
    Severity=Informational
    Finish unregistering ASP.NET (version %1). Detailed unregistration logs can be found in %2.
  • MessageId=1030
    Severity=Warning
    Updates to the IIS metabase were aborted because IIS is either not installed or is disabled on this machine. To completely uninstall ASP.NET from IIS, please re-enable IIS and unregister ASP.NET using aspnet_regiis.exe /u.
  • MessageId=1031
    Severity=Informational
    The current version at the IIS root is %1.
  • MessageId=1032
    Severity=Warning
    Registration (version %1) will not register the DLL in the scriptmap properties of any IIS website because the version is not high enough to replace the existing one at the root. See help for the explanation of version comparison during installation.

    Note The words “Web site” are capitalized incorrectly in the message.
  • MessageId=1033
    Severity=Error
    Registration failed when trying to find the highest version installed on the machine. Error code: %1.
  • MessageId=1034
    Severity=Warning
    Failed reading registry key %1 for value %2. Error code: %3.
  • MessageId=1035
    Severity=Warning
    Failed while verifying that the ASP.NET DLL (Path:%1) (Version:%2) exists. Error code: %3.
  • MessageId=1036
    Severity=Warning
    Failed while verifying that the ASP.NET DLL (Version:%1) exists. Error code: %2.
  • MessageId=1037
    Severity=Warning
    The ASP.NET DLL (Path: %1) (Version:%2) is missing.
  • MessageId=1038
    Severity=Warning
    Failed while getting the version of %1, which is found in a scriptmap in IIS. The file could be missing. Error code: %2.
  • MessageId=1039
    Severity=Warning
    Registration failed to find the highest installed version from the registry. As a result, registration will use the IIS Default Document, Mimemap settings and ISAPI Filter DLL path from the current version. Error code: %1.
  • MessageId=1040
    Couldn’t create app domain.
  • MessageId=1041
    Unhandled exception in managed code.
  • MessageId=1041
    Failed to assign request using process model.
  • MessageId=1042
    Cannot queue the request.
  • MessageId=1043
    ASPNET_ISAPI.DLL can not run in DLLHOST.EXE. Please, re-register ASPNET_ISAPI.DLL.
  • MessageId=1044
    Managed code failure while executing this request.
  • MessageId=1045
    Worker process stopped unexpectedly.
  • MessageId=1046
    Server Unavailable.
  • MessageId=1048
    Server Application Unavailable.
  • MessageId=1049
    The web application you are attempting to access on this web server is currently unavailable. Please hit the “Refresh” button in your web browser to retry your request.

    Note The word “Web” is capitalized incorrectly two times in the message.
  • MessageId=1050
    Administrator Note: FONT>
  • MessageId=1051
    An error message detailing the cause of this specific request failure can be found in the application event log of the web server. Please review this log entry to discover what caused this error to occur.

    Note The word “Web” is capitalized incorrectly in the message.
  • MessageId=1052
    Worker process was recycled.
  • MessageId=1053
    Username and/or password supplied in the processmodel section of the config file are invalid.
  • MessageId=1054
    Worker process was recycled because it exceeded the configured time limit.
  • MessageId=1055
    Worker process was recycled because it exceeded the configured idle time limit.
  • MessageId=1056
    Worker process was recycled because it exceeded the configured requests limit.
  • MessageId=1057
    Worker process was recycled because its request queue exceeded the configured limit.
  • MessageId=1058
    Worker process was recycled because its memory consumption exceeded the configured limit.
  • MessageId=1059
    Worker process was recycled because it failed to respond to ping message.
  • MessageId=1060
    <html><body><h1>Server is too busy</h1></body></html>.
  • MessageId=1061
    ASP.NET does not support /3GB memory mode.
  • MessageId=1062
    Severity=Error
    It is not possible to run two different versions of ASP.NET in the same IIS process. Please use the IIS Administration Tool to reconfigure your server to run the application in a separate process.
  • MessageId=1063
    Severity=Warning
    Failed while reading the ASP.NET client side script files to be copied to each website. Error code: %1.

    Note The words “Web site” are capitalized incorrectly in the message.
  • MessageId=1064
    Severity=Warning
    Failed while creating the ASP.NET client side script files directories under %1. Error code: %2.
  • MessageId=1065
    Severity=Warning
    Failed while listing the ASP.NET client side script files directories under %1. Error code: %2.
  • MessageId=1066
    Severity=Warning
    Failed while copying the ASP.NET client side script files (Source: %1) (Destination: %2). Error code: %3.
  • MessageId=1067
    Severity=Warning
    Failed while copying the ASP.NET client side script files (File: %1). Error code: %2.
  • MessageId=1068
    Severity=Warning
    Failed while copying the ASP.NET client side script files to directories under %1. Error code: %2.
  • MessageId=1069
    Severity=Warning
    Failed while removing the ASP.NET client side script files to directories under %1. Error code: %2.
  • MessageId=1070
    Severity=Warning
    Failed while removing the ASP.NET client side script files directory (%1). Error code: %2.
  • MessageId=1071
    Severity=Warning
    Failed while setting the access for the ASP.NET client side script files directory (IIS Application path: %1) in IIS. Error code: %2.
  • MessageId=1072
    Severity=Warning
    Failed while removing the access for the ASP.NET client side script files directory (IIS Application path: %1) in IIS. Error code: %2.
  • MessageId=1073
    %1.
  • MessageId=1074
    Severity=Error
    An error occurred in while processing a request in state server. Major callstack: %1. Error code: %2.
  • MessageId=1075
    Severity=Error
    State server socket timeout thread exits because of repeating error. Error code: %1.
  • MessageId=1076
    Severity=Informational
    State server starts listening with %1 listeners.
  • MessageId=1077
    Severity=Informational
    State server stops listening.
  • MessageId=1078
    Severity=Error
    The state server has closed an expired TCP/IP connection. The IP address of the client is %1.%2.%3.%4. The expired %5 operation began at %6/%7/%8 %9:%10:%11.
  • MessageId=1079
    Severity=Error
    (For debugging) State Server expiry thread is closing a socket. The IP address of the client is %1.%2.%3.%4. The expired %5 operation began at %6/%7/%8 %9:%10:%11.
  • MessageId=1080
    “Provides support for out-of-process session states for ASP.NET. If this service is stopped, out-of-process requests will not be processed. If this service is disabled, any services that explicitly depend on it will fail to start.”
  • MessageId=1081
    “ASP.NET State Service” .
  • MessageId=1082
    Severity=Error
    Installation failed because the user does not have administrative rights on this machine.
  • MessageId=1083
    Severity=Error
    Uninstallation failed because the user does not have administrative rights on this machine.
  • MessageId=1084
    Severity=Error
    aspnet_wp.exe could not be started. The error code for the failure is %1. This error can be caused when the worker process account has insufficient rights to read the .NET Framework files. Please ensure that the .NET Framework is correctly installed and that the ACLs on the installation directory allow access to the configured account.
  • MessageId=1085
    ASP.NET Machine Account.
  • MessageId=1086
    Account used for running the ASP.NET worker process (aspnet_wp.exe).
  • MessageId=1087
    Failed to execute request due to internal failure. Error: %1.
  • MessageId=1088
    Failed to execute request because the App-Domain could not be created. Error: %1.
  • MessageId=1089
    Failed to execute the request because the ASP.NET process identity does not have read permissions to the global assembly cache. Error: %1.
  • MessageId=1090
    Failed to execute request because QueryInterface for ASP.NET runtime failed. Error: %1.
  • MessageId=1091
    Failed to execute request due to unknown error. Error: %1.
  • MessageId=1092
    Deadlock detected.
  • MessageId=1093
    Unable to get the private bytes memory limit for the W3WP process. The ASP.NET cache will be unable to limit its memory use, which may lead to a process restart. Error: %1.

REFERENCES

For more information about event log entries in ASP.NET, visit the following Microsoft Developer Network (MSDN) Web site:

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vbcon/html/vbconintroductiontoeventlogcomponents.asp

返回顶部