Michael's profileMichael HUO's SpacePhotosBlogListsMore Tools Help

Blog


    上海的路和上海人的方向感

    上海的路大都是以国内各个地方的名字命名的,例如南京路、北京路、福州路、西藏路、河南
    路等。据说纵基本上以省名来命名,而横向基本以地名来命名,好像还大体上按照各个地方实
    际在中国版图的方位布置。不过无奈城市越建越大而国家行政区却因合并而日渐减少。于是浦
    东新区的路名就没办法了,于是在世纪公园附近,反正靠着花木就以花木来命名,如牡丹、梅
    花、木兰、樱花等路。而张江高科园干脆用国内外的科普科学家了,什么李时珍路、牛顿路、
    居里路,还有哈雷路等。可是还不够,于是混乱的路名来了,浦东、世纪、大道开始排列组合
    ,什么浦东南路、世纪大道、浦东大道、龙东大道,这几条路可都是交通枢纽,也不知道上海
    是道路规划部门的官员怎么想的,反正我是感觉一片混乱分不清楚。
    更郁闷的还在下边,一般一条路要么是东西走向要么南北走向,可是在世纪公园附近的路特别
    奇怪。命名是东西走向的路不一会变成南北的了。我拼命在记,梅花路和花木路平行的,花木
    路东西的,梅花路东西的,而玉兰路和海桐路平行的南北的。可能木质的路名是南北二草本的
    路名是东西的?后来发现这个地方东西南北总是搞不清楚,那个浦建路和锦绣路是垂直的,锦
    绣路和花木路是垂直的,可是都是不对。出了小区要坐地铁每次都要问一下该向左走还是向右
    走。以前自信自己可以做别人的导游,可是一到了这个地方真的是没脾气了。
    最有趣的是上上个主日我们想去浦电路上的福音堂礼拜,这个教堂靠近浦电路和世纪大道路口
    。我们坐车到东方路浦电路路口,下车后就晕了,发现北方和东方都是世纪大道,马上晕了,
    难道这个路拐弯?走到世纪大道然后向南走,终于看到一个地图,原来这条路是斜着的。再走
    到世纪大道和浦电路的十字路口时,看到路标上写着两条路都是东西走向。
    后来从浦建路回来时突然醒悟,原来在这里如果那条路没有拐过弯,那才是不正常。真的是太
    佩服上海人的方向感了。

    雾都伦敦 旅游景点攻略

    雾都伦敦 旅游景点攻略

    www.hexun.com  【2006.08.08 10:51】环球游报 

      今年恰逢英国女王登基五十周年。雾都伦敦,女王的领地上“日不落帝国”仍在延续着往日的辉煌历史。漫步英皇居住的白金汉宫、历代国王的加冕圣地西敏寺,寻访泰晤士河畔的大笨钟、国会大厦、伦敦塔桥和珍藏皇室宝 物的伦敦塔,还有倾帝国全盛时期的财力与热爱,汇集世界文明遗产而造就的艺术殿堂大英博物馆,累了可以在占地广大的皇室海德公园小憩一下,或是喝个悠闲的英式下午茶……

      皇室之旅从西敏区westminster、西堤区west bank、肯辛顿kensington三大区域展开,行程至少需要5天的时间。

      西敏区 westminster

      想一网打尽伦敦皇室风景明信片中最常出现的画面,来西敏区就没错了,英国皇室宫殿白金汉宫、大黑帽红制服的禁卫军、金碧辉煌的国会大厦、深沉洪亮的大笨钟,加上伦敦流动命脉的泰晤士河都聚集在西敏区内,相信这里一定会谋杀你相机的大量内存。

      白金汉宫buckingham palace

      地址:victoria green park

      开放时间:8,9月间

      电话:(0207) 799 2331,信用卡预约0171 321 2233

      票价:10欧元

      交通:公共汽车:2、8、9、10、11、14、16、19、22等;地铁victoria、st.jamess park、green park;hyde park corner。

      自1837年维多利亚女王迁居白金汉宫以来,此地就成为英国皇室的居所。居住在内的王室成员为伊丽莎白女王与其夫婿爱丁堡公爵,以及50名左右的王室职员。宫内有典礼厅、音乐厅、宴会厅、画廊等六百余间厅室,占地辽阔的御花园。想知道女王是否在宫中?其实很简单,抬头看皇宫正门上方,如果看到悬挂着皇室旗帜,则表示女王正在里面,如果没有的话,那就代表女王外出。白金汉宫在每年的8、9月间对外开放,可趁此时进入皇宫。开放参观的部分为王座室、音乐厅和国家餐厅等,经常一票难求,最好先用电话申请预约。位于宫殿南侧的女王美术馆和皇家马厩也开放供人参观。

      看点:

      禁卫军交接仪式于4月中至7月底,每天11:30举行一次。在10点半前抵达,才能在维多利亚女王纪念碑(queen victoria memorial)和皇宫前占到好位置。

      圣詹姆斯公园st. james's park

      交通:公共汽车:3,11,12,24,29,53,91,94,139等;地铁st.jamess park

      面对白金汉宫的圣詹姆斯公园,原本是圣詹姆斯宫的鹿园,17世纪时查理二世聘请法国景观设计师重新造景,19世纪初在英国著名建筑师纳许(john nash)进一步美化之下,成为伦敦市中心最美丽的公园,是市民与游客最佳小憩休闲之地,处处可见晒太阳、散步、野餐客。隔着林阴大道(the mall)的圣詹姆斯宫,为红砖都铎式建筑, 18和19世纪初曾经为皇室住所,现在则为接待国外使节的正式接待场所。

      看点:

      从桥上隔着湖水眺望白金汉宫,特别是晚上白金汉宫的夜景更为迷人。

      国会大厦houses of parliament 大笨钟big ben

      时间:下议院:周一、周二、周四14:30;周三9:30-14:00、14:30到晚上;周五9:30-15:00;上议院:周一至周三14:30;周四15:00

      票价:免费

      交通:公共汽车:3,11,12,24,53,77,88,159,211等;地铁westminster

      泰晤士河畔,金黄壮丽的国会大厦与精准报时的大笨钟前终日人潮不断,最佳欣赏角度是日落后天色将暗未暗时,从河的对岸眺望过来,映着光影的国会大厦最显肃穆与华丽。英国国会分为上、下议院,上议院以女王为首,多为世袭议员,国会开议式时女王会在宝座上发表演说;下议院由各政党的代表组成,议员数最多的政党组成政府,该党魁出任首相。除了欣赏国会大厦仿哥德式雄伟建筑外,参观议员们唇枪舌战的精彩议事讨论,更可亲自体会英国民主风范,议事时间从下午2点半开始,通常进行到晚上10点左右,每个星期三是首相质询时间。

      看点:

      只要国旗在国会大厦上飘扬,就是国会正开议中,可免费进入参观。位于国会大厦高塔上,就是大笨钟(big ben),每整点敲响一次,自1859年迄今每天提供精准的报时。

      西敏寺westminster abbey

      时间:中殿8:00-18:00;royal chapels

      周一至周五9:00-16:00,周六9:00-13:45

      票价:5欧元,另外2.5(chapter house、pyx chamber、abbey museum)

      交通:公共汽车:3,11,12,24,53,77,88,159,211等;地铁westminster

      英国皇室的重要正式场合几乎都在西敏寺举行,其中最重要的当然是英皇登基大典,从1066年迄今,除了两次例外,英国所有国王和女王都是在此地加冕,死后也多半长眠于此,西敏寺忠实地记录了英国皇族每一页兴衰起落历史。参观过全英格兰最高的中殿后,续往chapter house观赏著名的13世纪地砖,同时避开人潮,在幽静的气氛中好好观赏西敏寺兼具华丽与清朴的建筑特色。

      看点:

      西敏寺著名的诗人之角(poet's corner)有许多文学伟人的纪念碑与纪念文物,如莎士比亚、狄更斯等,也有许多纪念文物在此展出。

      西堤区 west bank

      西堤区隐藏了不少宝藏,如拥有世界第二大圆顶的圣保罗大教堂、谜一般的伦敦塔、壮观的伦敦塔桥,每一样都值得细细品味!圣保罗大教堂的建筑杰作和伦敦塔种种历史传奇,是西堤区最引人入胜的两大景点,从塔桥上更可欣赏泰晤士河沿岸建筑,若碰巧见到伦敦塔桥升起让船只通过的情景,则更为激动人心。

      圣保罗大教堂st.paul's cathedral

      地址:st paul's churchyard

      时间:周一至周六8:30-16:00

      票价:门票4欧元,登塔3.5欧元

      交通:公共汽车:4,11,15,17,23,26,76,100,172等;地铁:st paul's

      圣保罗大教堂是世界第二大圆顶教堂,仅次于罗马的圣彼得教堂。走进教堂你就会为那宽广挑高的中殿赞叹不已,圆顶下的唱诗班席是教堂中最华丽庄严之处,天花板上绘画细腻精致。要想尝试圣保罗耳语廊(whispering gallery)的神奇,要从教堂一侧爬上数百层阶梯,对着耳语廊的通孔说话,神奇回音效果在其他任一通孔都可以听到回声。从耳语廊再往上可抵达塔顶,是眺望伦敦市区的绝佳地点。教堂地下室设有名人英雄纪念碑。1981年戴安娜与查尔斯的婚礼大典就在此举行。

      看点:

      穹顶,壁画,圣保罗耳语廊。

      伦敦塔tower of london

      地址:tower hill

      时间:3-10月,周一至周六9:00-17:00,周日10:00-17:00。

      票价:成人10.5欧元、儿童6.9欧元

      交通:公共汽车:15,25,42,78,100,d1,d9,d11,rv1等;地铁:tower hill。

      曾作为城堡、王宫、监狱、博物馆、军械库的伦敦塔有900年历史,自然产生了许多精彩悬疑的历史故事,加上著名的伦敦塔守卫(yeoman warder),珠宝塔中的宝石王冠,成为伦敦最受欢迎的旅游点之一。其中历史最悠久的白塔(white tower),是英国国家兵器和伦敦塔博物馆。两位王子被谋杀的血腥塔(the bloody tower),作为监狱时期死刑犯船进入伦敦塔的叛徒门(traitor's gate),甚至于伦敦塔著名的乌鸦,各种典故都可以在伦敦塔守卫口中得到完整的说明。

      看点:

      女王在上议会开会时所佩戴的嵌有317克拉钻石的帝国皇冠(imperial state crown),以及镶有世界最大530克拉钻石“非洲之星”的十字权杖。

      肯辛顿区 kensington

      宁静安详的肯辛顿区人文荟萃,气质淳厚。海德公园和肯辛顿宫让肯辛顿绿意盎然,周围的各国大使馆和名品商店,也为该区带来贵族的气氛。

      海德公园 hyde park

      交通:公共汽车:2,9,10,12,36,52,70,73,74等;地铁:hyde park corner、knightsbridge、lancaster gate、marble arch等。

      海德公园是伦敦市区最大的公园,遇皇室重大庆祝活动,表示尊荣的41响礼炮就在这里鸣放。公园右上角的演说者角落(speakers' corner)每到周日就是观察伦敦民主风范的最佳时机,可以听到各式各样的怪诞言论。海德公园另一侧的肯辛顿花园原是肯辛顿宫的皇室庭园,对外开放后并入海德公园,夏天时是划船和游泳的热门场地。

      看点:

      蛇形湖北端的小飞侠彼得潘雕像,雕像北的喷泉和雕像富含古典气息。

      肯辛顿宫kensington palace

      地址:kensington palace state apartments

      时间:5月-10月10:00-17:00,

      票价:7.5欧元

      交通:公共汽车:9,10,12,27,28,49,52,70,73等;地铁:queensway,notting hill gate,high street kensington,gloucester road等

      肯辛顿宫位于肯辛顿花园西侧,是戴安娜亡故前在伦敦的住所,至今王宫门前仍有民众不时献上花束凭吊,目前肯辛顿宫state apartments部分对外开放参观,包括维多利亚女王受洗的房间和1760年迄今的皇室宫廷服饰展览。肯辛顿宫提供免费的录音导览设备,每个房间都有详尽的解说,其中丰富的皇室服饰收藏(royal dress collection)让人大开眼界。想象一下,衣香鬓影的上流聚会中,仕女绅士与王宫贵族身着豪华宫廷服,轻声细语的英国腔,仿佛来到电影情景中。

      看点:

      国王廊(king's gallery)精致的17世纪绘画极品也是参观重点。

      大英博物馆british museum

      地址:great russell street

      时间:周一至周六10:00-17:00;

      周日12:00-18:00

      票价:免费

      交通:公共汽车:1,7,8,10,19,24,29,73,134等;地铁:holborn,tottenham court road,russell square,goodge st

      1759年正式开放的大英博物馆,是世界上历史最悠久的国家博物馆,宛如一部浓缩世界文明史,现有一百多个展厅,馆藏丰富。以伊丽沙白皇后二世为名的迎宾大厅(the great court)的屋顶完全以玻璃精巧覆盖,把原来博物馆的内部庭园,还有世界知名的阅览室,全部转换成一个漂亮广大并且壮观的公共空间。位于此大厅中心的,就是大英博物馆珍贵的阅览室(reading room),马克思曾在此苦读了20多年。这个圆顶形状,建于1857年,拥有许多珍藏书籍的阅览室,原本只提供持有阅览证的人士做研究之用,目前也向一般大众开放,让所有游客得以一窥其真面目。

      看点:

      古西亚、古埃及和古希腊展区,从博物馆正门入口左侧书店进入,即可看到西亚亚述王宫的两个护门神兽,这里的文物都是大英博物馆考古挖掘所得,埃及的木乃伊和石雕等也都是最受注目的焦点。

    回家

    在北京待了将近半年,再次回到生活了12年的杭州,走进喧闹又宁静校园,突然有一种既熟悉却又陌生的感觉。哪里是我的家啊?海城/北京/上海/太原/杭州,每个地方都有一个家,每个地方又都不像真正属于自己生活之处,漂泊流浪难道是我的生活么?
    当下了车直接到了团契聚会的地方,当每到一个地方都能够遇到很多弟兄姊妹的时候,当坐在飞机上发现自己身边竟然是一个弟兄姊妹的时候,当到了一个异国的城市却遇到了很多基督徒的时候,突然不再有了一个人的孤独的感觉。
    想起思澄堂孙牧师一次讲道的内容,我们每个基督徒都有4个家,父母的家,自己的家,教会团契,和将来的天家。是啊,真的是很蒙福,不论到什么地方,只要有神的同在,只要有弟兄姊妹的团契,就不会有离乡背井的惆怅,就会感觉到真正的回家。
     
     
     
     
     

    北京市太阳村特殊儿童救助中心

    http://www.ertongcun.com
    通过认领枣树方式捐款救助特殊儿童
    太阳村认树指南
    近日,有很多爱心人士询问如何认树我们非常感谢,并统一答复。
    爱心人士若没有时间来太阳村,可从邮局汇款,现公布如下:
    邮编:101300
    地址:北京市顺义区赵全营镇板桥村
    收款人姓名:北京市太阳村
    爱心人士请留下自已的地址,邮编和电话,并注明认树,以便于我们寄收据.登记造册.
    并在网站上公布。感谢大家。
    北京市太阳村简介
    北京市太阳村儿童教育咨询中心是经国家有关部门正式注册,
    本着一切为了孩子为宗旨的非营利机构。主要为服刑人员无人
    抚养的未成年子女进行特殊教育,心理辅导,权益保护以及职
    业培训服务。使他们在一个相对安定温馨的大家庭里像其他孩
    子一样受到保护,得到教育,健康快乐的成长。
    这些孩子,因不属孤残,难以得到政府的资助。因父/母犯罪的
    背景得不到人们的同情。他们有的流浪,有的为人放牧,有的沿
    门乞讨,有的被亲属皮球般踢来踢去遭受虐待。更有甚者,已像
    父/母那样走上了犯罪道路。
    他们大部分失学,有的已年满十岁还没有进过学校的大门。他们
    被忽视,被冷落,被歧视,背负着沉重的十字架,生活在父/母的阴影里。
    父母有罪,子女无辜。这些孩子应该和其他孩子一样,在人格上平等,享有同等的权利。
    原陕西省监狱管理局高级警官张淑琴女士,因工作的关系接触了
    这一特殊的群体。十年来,她在社会各界的大力支持下,自筹资金,
    相继在陕西省、河南省新乡市、北京市顺义区、陕西省陇县创建了4所
    专门救助服刑人员未成年子女的儿童村。帮助了600余名服刑人员无人
    抚养的未成年子女渡过了最困难的离开父/母的日子。回到亲人身边,
    走上工作岗位,过着自食其力的生活。
    为了避免孩子们刑释后无家可归、无业可就的父母重新犯罪而再次危
    及到孩子。2001年,张淑琴女士在陕西创办了“女性刑释人员中途服
    务中心”,帮助她们顺利回归社会回归善良人生。5年来,200多名男
    女刑释人员得到寻找亲属,心理辅导,职业培训,安置就业等帮助。日前,北京市太阳村有115名1—18岁的孩子在这里生活,他们分别来
    自北京、河南、河北、四川、云南、江苏、湖南、宁夏等省市,102名学龄儿童。
    陕西省西安儿童村有孩子60名,学龄儿童58名。
    河南省新乡儿童村有孩子20名(下半年达40名)。学龄儿童19名。
    陇县孤儿院有孤儿22名,年底达40名。
    为了培养这些孩子的吃苦精神和自立能力,也为了对孩子们刑释后无业
    可就的父/母进行继续教育和过渡性安置,太阳村租赁土地260亩,建成种
    植基地,种植枣树和其他农作物,其产出弥补经费的不足。也为孩子们每
    年到狱中探望父/母提供经费的保证。
    太阳村所服务的孩子们是一个长期被忽视,有一定心理问题的弱势群体,
    也是一个无辜的需全社会关注的群体。太阳村本身是为了这个群体的需求
    应运而生。所需要的一切开支包括生活费、交通费、管理费、营销费都需
    要社会的资助。
    有人类就会有犯罪,有犯罪就会有这些孩子出现。
    希望全社会都来关心这一群体,使他们走出阴影,远离流浪,乞讨,失学,
    饥饿,疾病,虐待的威胁,和其他孩子一样,生活在和平与祥和之中。
    地址:中国北京顺义区赵全营镇板桥村,北京市太阳村儿童教育咨询中心
    邮编:101300
    电话:010-60443523(含传真)  60443524
    http://www.ertongcun.com
    E-mail:ertongcun@163.com
    帐户:  北京市太阳村儿童教育咨询中心
    开户行:顺义农行牛栏山分理处
    帐号:  120201040003617

    感恩在上海张江感恩堂

    听说中芯国际在上海张江建了一座教堂
    于是上个主日决定去那里礼拜,之前去过上海的人民广场的慕恩堂和浦东浦电路的
    福音堂,各有特色,没想到感恩堂实在是太棒了,真的很感谢主。
    在郭守敬路延长线的那条路上,教堂外面建得很漂亮,里面也非常好
    虽然现在没有牧师,只是一些教师和长老,义工也不是很熟悉,但是讲台信息
    实在是太好了,祷告、赞美等也很蒙恩。
    那天整个教堂几乎座无虚席,在欢迎新朋友的时候发现来自世界各地的好多弟兄姊妹啊
    教堂还没有进行感恩礼拜,现在是每天主日上午10:00礼拜,周二上午有祷告,周四下午
    有查经。以后准备改成主日两场礼拜。
    礼拜程序和其他教堂差不多,只是在讲道之后增加了一段时间的赞美,感觉非常好。
    中芯国际的老板张汝京是虔诚的基督徒,
    该公司内部也有很多的小组,我们参加过几次聚会
    之后问教堂招待这个教堂是否中芯国际建的,被告知它属于基督教两会和中芯国际共同
    建设的。
    真的很感谢主有建设了这么好的一个教堂,
    我真心的建议住在浦东或者在张江工作的弟兄姊妹能去那里聚会

    map<vector<int>, value> or vector<pair<vector<int>, value> >?

    Since map and set require that the key can be compared of larger or smaller,  while vector<int> does not provide such operator, so the former cannot be compiled correctly. The latter is to be used.

    树欲静而风不止,子欲养而亲不在

    又一个早上醒来就睡不着了,虽然昨晚睡得很迟。已经连续很多天了,但今天不是为了工作的原因。
    做了一个梦,我的一个亲人正在弥留之际,他身边只有他的爱人和医生陪伴,而我就在隔壁的房间繁忙的工作,连过去看他最后一眼的时间都抽不出来。过了一段时间,医生说他去世了,我仿佛看到他有血色的脸一下子失去了色彩,平静的呼吸一下子停止了,他的灵魂彻底的离开了我们,就好像那医生一下子把氧气开关关掉,使他结束了生命。没有人哭,因为大家知道他的灵魂已经进入了天堂;我哭了,因为后来才意识到那个人原来就是生我养我辛苦工作了一辈子的自己的父亲,我哭不是因为他的离世,而是因为在世时我没有做什么给他,甚至就连最后一眼都没时间看,最后一句话都没有时间去说。
     
    我醒了,发现是个梦,很欣慰,然而却更悲伤,泪水不停的涌出,现实中的我又何尝不可不是如此呢?只不过不同的是亲人还在。五点半,不再睡了,做这样的梦可能是因为最近一个亲戚的兄弟刚刚去世。
     
    死亡,所有的人都必须要面对,不知道什么时候就会临到自己的亲人甚至自己。我已经经历太多了,初中时祖父去世,高中时祖母去世,去年对我最好的外婆去世。自己的同学朋友,已经去世的,患了重症等待去世的也很多。对于已经灵魂得救的人,死亡本身并没有什么可怕,因为已经获得了永生,其亲人也不必过于担心难过。但是对于那些亲人还在却没有很好对他,等亲人不在时再追悔莫及的人来说,死亡却真是可怕,因为它虽然没有剥夺死者的生命,却彻底的剥夺了生者善待死者的权利和机会。
    有多少的子女在亲人去世时哭得死去活来,其实不是哭亲人,而是哭自己,哭自己没有能够好好的对待他们。
     
    树欲静而风不止,子欲养而亲不在。这是多么可悲的写照,却又在不断的重复上演在这个世界上。
     
    前两天和一个初中同学一个大学朋友通过电话,发现我们真是忙,是这个飞速运转的社会上的一个锈迹斑斑的零件,是金钱的彻底的奴仆。没有时间陪伴爱人,没有时间看望父母,没有时间生养小孩。这段时间我忙得连跟亲人打电话多说两句话的时间都没有。
     
    圣经旧约十诫上要我们孝敬父母,圣经中的第一个有条件的应许好像就是“当孝敬父母,好让你们在世的日子可以长久”。我们要摆正这世界上各个事情的先后顺序:配偶、子女、父母,然后才是工作。
     
    趁着亲人还在的时候,给自己个机会去善待去孝敬生养自己的亲人吧。
    止住 自己的眼泪,不要为昨天哭泣,要为了今天和明天好好做工。
     

    unsigned, size_t and size_type data type in C++/STL

    When developing on 32bit platform, int and long int are both 32bit length, unsigned is unsigned int, and size_t is a typedef of unsigned.
     
    size_type is defined in STL that is unsigned integral type in STL spec. Almost all the functions that return a number or size of a container, the return types of which are size_type in GCC, but size_t in VC.
     
    In GCC size_type is a typedef of size_t, while in vc it is typedef typename _Alloc::size_type.
     
    On 64bit platforms, in VC, size_t is typedefined as unsigned __int64 (in crtdef.h),
    while in GCC type of a 64bit integer is long long but the size_t is defined as UNKNOWN NOW.
     
    The following lines will be compiled correctlyon GCC, but with a warning on VS2005.
     
    vector<int> v;
    ....
    const unsigned size = v.size();
     
    The warning is : xxxx.cpp(xxx) : warning C4267: 'initializing' : conversion from 'size_t' to 'unsigned int', possible loss of data
    The reason is for 64bit platforms, in VC, size_t is typedefined as unsigned __int64 (in crtdef.h).
     
    The suggested solution is to replace unsigned with size_t:
     
    const size_t size = v.size();
     
    eg:
    #include <iostream>
    #include <vector>
    using namespace std;
    int main()
    {
        vector<int> v;
        v.push_back(0);
        const size_t len = v.size();
        const unsigned len2 = v.size();//warning on VC only
        cout << len << ' ' << len2 << endl;
        return 0;
    }
     
    This can be compiled without warning either with GCC or with VC.
     
     
     
    from MSDN:

    Error Message

    'var' : conversion from 'size_t' to 'type', possible loss of data

    When compiling with /Wp64, or when compiling on a 64-bit operating system, type is 32 bits but size_t is 64 bits when compiling for 64-bit targets.

    To fix this warning, use size_tinstead of a type.

    Example

    The following sample generates C4267.

    // C4267.cpp
    // compile with: /W3 /Wp64
    #include <Windows.h>
    void Func(int i) {}
    void Func2(DWORD i) {}
    void Func3(size_t i) {}
    
    int main() {
       size_t bufferSize = 10;
       Func(bufferSize);   // C4267
       Func2(bufferSize);   // C4267
       Func3(bufferSize);   // OK
    }

    C4267 can also be caused on x86 and this warning cannot be resolved in code, but can be ignored and suppressed with the warning pragma.

    In this situation, C4267 is caused by a limitation in /Wp64 warnings. On x86, std::cout<<range_index resolves to the overload of operator<< that accepts an unsigned int, since size_t is an unsigned int on Win32. C4267 occurs because you passed a size_t as an unsigned int argument, which would cause truncation on Win64 where size_t is 64-bit, but unsigned int is still 32-bit. This can be ignored because if you compiled for Win64, std::cout<<range_index would resolve to the overload of operator<< that accepts an unsigned __int64, since that's what type size_t is on Win64. The 32-bit compiler doesn't notice, so it warns.

    The following sample generates C4267.

    // C4267_b.cpp
    // compile with: /W3 /Wp64 /EHsc
    // processor: x86
    #include <fstream>
    #include <vector>
    using namespace std;
    
    int main() {
       ofstream outputfile;
       vector<char> vecbuffer(10);
       outputfile.write( &vecbuffer[0], vecbuffer.size() );   // C4267
    }

    The first marriage and family (Gensis 2:18-24)

    2:18    And the LORD God said, It is not good that the man should be alone; I will make him an help meet for him.
    2:19    And out of the ground the LORD God formed every beast of the field, and every fowl of the air; and brought them unto Adam to see what he would call them: and whatsoever Adam called every living creature, that was the name thereof.
    2:20    And Adam gave names to all cattle, and to the fowl of the air, and to every beast of the field; but for Adam there was not found an help meet for him.
    2:21    And the LORD God caused a deep sleep to fall upon Adam, and he slept: and he took one of his ribs, and closed up the flesh instead thereof;
    2:22    And the rib, which the LORD God had taken from man, made he a woman, and brought her unto the man.
    2:23    And Adam said, This is now bone of my bones, and flesh of my flesh: she shall be called Woman, because she was taken out of Man.
    2:24    Therefore shall a man leave his father and his mother, and shall cleave unto his wife: and they shall be one flesh.

    2:18    耶 和 华 神 说 , 那 人 独 居 不 好 , 我 要 为 他 造 一 个 配 偶 帮 助 他 。 
    2:19    耶 和 华 神 用 土 所 造 成 的 野 地 各 样 走 兽 和 空 中 各 样 飞 鸟 都 带 到 那 人 面 前 , 看 他 叫 什 么 。 那 人 怎 样 叫 各 样 的 活 物 , 那 就 是 它 的 名 字 。 
    2:20    那 人 便 给 一 切 牲 畜 和 空 中 飞 鸟 , 野 地 走 兽 都 起 了 名 。 只 是 那 人 没 有 遇 见 配 偶 帮 助 他 。 
    2:21    耶 和 华 神 使 他 沉 睡 , 他 就 睡 了 。 于 是 取 下 他 的 一 条 肋 骨 , 又 把 肉 合 起 来 。 
    2:22    耶 和 华 神 就 用 那 人 身 上 所 取 的 肋 骨 , 造 成 一 个 女 人 , 领 她 到 那 人 跟 前 。 
    2:23    那 人 说 , 这 是 我 骨 中 的 骨 , 肉 中 的 肉 , 可 以 称 她 为 女 人 , 因 为 她 是 从 男 人 身 上 取 出 来 的 。 
    2:24    因 此 , 人 要 离 开 父 母 与 妻 子 连 合 , 二 人 成 为 一 体 。 


     

     

     

    从被质疑的房价增幅看媒体、专家和官方的真面目

    昨晚在新浪上看到看到一篇报道说同一时间北京两个部门发布了大相径庭的两组北京房价增幅的数字,一个好像是统计局说长了百分之几,一个是建委的说长了百分之十几。遭到了老百姓的质疑,老百姓更相信统计局的数字。
    刚才再在新浪上找那篇报道没找到,不知道是不是被要求删除了。搜索之后看到的是另外一个质疑,是很多开发商和房产中介之一统计局的那个数字和质疑房价回落的数字。
    网上还有很多的砖家,有的说还要大涨且正在大涨,有的说空房子太多马上要跌。
    别的不说,就这两个官方数字会差这么多说明了什么呢?在中国到底还有什么官方的东西可以相信?那些人希望房价再涨?
    中国老说外国干涉中国的内政,说中国的人权状况好的不得了,而中国政府已经解决了中国人活着的权利。可是看到报道说70%的中国人买不起房,又有篇文章危言耸听说99%的白领将要破产。有饭能吃饱,有衣服能保暖、有住处能睡觉,这个是人甚至动物的最最最最基本的需求。仓廪实而知礼节,执政党说自己要(还是已经是啊?)代表最广大人民的根本利益,要求人民知荣辱要建立社会主义的荣辱观。可是经常看到报道说农民工月工资平均几百,很多案件都是民工没钱了突发歹意。媒体上每天看到的房价飞涨、天价药费、人民群众住房难、行路难、看病难,这些已经不是农民和下岗职工的专利,已经是很多所谓的白领和中产阶层的危机。
     
    哎,美国总统布什代表了军火商的利益,所以一上台就要打仗,但总是要维护美国人的利益,从打仗怕死人可见一斑。昨天和人讨论说绝大多数日本人很坏,不像官房说的绝大多数日本人民都是好的,否则这么好的日本人民不会选出这么坏的政府官员。
     
    中国的老百姓真当可怜,推翻了三座大山又背上了新的三座大山,谁又能真正代表他们的利益为他们说话呢?看看这些官方媒体的报道、听听这些砖家的分析,我们又能相信谁呢?
     
     
     
     

    难得的好天,没有扬沙,也没有沙尘暴

    又起了个早,走在路上发现阳光明媚万里无云,路旁的树都已经绿了,到处都是各式各样的花,有紫丁香,还有红的、黄的、粉的等多种我不知道名字的花。
    因为天气预报说今天有大沙尘暴,昨天吉林延边又下了大暴雪,突然发现这么好的天,北京的春天的早晨,心里真的非常高兴,不由自主感叹造物主的伟大和奇妙,也由衷的感谢他的美意,心想说人定胜天真是痴人说梦一般。
     
    印象中的北京气候及其恶劣,干燥、风沙大。据说解放前的北京风沙狂大,看到一张图片上说妇女出门全部都要戴着头巾。解放后的三北防护林听说也基本上是徒有虚名。不过很多人说近几年的北京和以前比环境已经好了很多。
    但是来京不久看天气预报上竟然出现了“扬沙天气”字样,长这么大还第一次听说这样的天气。小时候老家那边只是下过黄土,就是风从其他地方把土吹到这里来了,像下雨一样,但是一般都是发生在晚上。原来这个叫“扬沙”啊,这几天真是长了见识了,前面开过的汽车一边开一边扬沙、灰色的北京一夜之间变成了金碧辉煌的颜色,据说那土有几十还是几百吨、周围的汽车上面都涂了随机的黄色的花纹。
    到了晚上,那风真是鬼哭狼嚎一般的可怕,大白天也会天一下子变黄了。上次看报道说一辆从新疆进京的车的车窗都被打破了。看来这沙尘暴还真是厉害。
     
     
     
     
     

    《买房记》(转)

    信人: ros (老黑云), 信区: RealEstate       
    标  题: 《买房记》
    发信站: BBS 水木清华站 (Mon Dec 17 15:38:09 2001)

    买房记
    -------------
    Ryan 2001/05/27
    说起买房,本不是这一两天的事情,实则一年了。可是我的确在这一两天里完成了这项
    人生中的重大使命。
    我去年6月份的时候就考虑怡美这个地方了,不过MONEY实在紧俏,想想看还是亏了不少
    ,现在的价格已经涨了10%左右,相当于多支出5—6万。为我的Money默哀。
    前一阵子一位据称为房地产业内人士语重心长的跟我说,买吧,再不买就该涨价了。并
    引经据理的拿出三大买房理由,一是申奥以及WTO加入,势必价格上涨;二是银行将严格
    审批手续,这意味着贷款将不太好办;三是内部消息说10月份房价还要上涨。形式如此
    严峻,怎么办,三十七计,买为上策!
    怡美的房子看起来还行,当然不同人有不同的意见,我觉得满意就够了。不过相比较而
    言,怡美的售楼小姐实在是糟糕,水平和相貌一样让人瞠目。另外我发现如果你要带着
    老婆孩子去,小姐们屁颠屁颠的挺热情,如果自己一个人,那么要换取小姐的服务只有
    装做老板了。可惜这两条俺都不具备。俺通常都是独行狭,骑辆破自行车,往他们门口
    一放,总是遭小姐白眼。不过怡美的某些先生还是可以的。
    先入为主,我先看看人家怎么说,本人无钱,又非本市户口,但还是想住房,而且一定
    要新房,还要离上班近,其实我要的不多。还没等我把自己想要的两居说出来,就被告
    之这没有,那里没有,只有一个18号楼还能挑挑,其他的要么是1楼,要么是顶,怎么这
    么不顺。有没有其他选择,看看北面的城市花园,在看看网上的一锅粥似的论坛,看来
    只能选择18号2段的一处了,还要交房号钱,随着1000大洋的出手了,我从观望进入了紧
    张的考察阶段。花不花钱给人的精神就不一样。
    我可不会灌什么水,因为我压根儿就没种过地。不过我还是为我刚放上去的帖子更名为
    《买房记》。
    好在是公司刚搬到上地,而且离着怡美比较近,所以自己还是有机会到现场看看。考察
    第一日,便到一期已经竣工的地方看看。
    “还行,只能说还行”。一期的设施还不怎么完备,绿地刚刚铺好,有些施工人员正在
    修中心的园景,不过太俗气,而且也没看到什么能容纳大家共同休息健身的去处,挺让
    人失望的(起码是我)。家家户户都在装修。走了几家,看看布局什么的。还是那句话
    ,“还行,只能说还行”。
    还要看看周围的情况,搞环境的,一定要把这个因素考虑进去:
    怡美南面,是块庄稼地,售楼先生说这是市政绿地,今后是某某公司的工程,也是住宅
    楼。怡美东面是二炮大院,中间有条不太宽的路相隔,好象只有一路355(不知是支线还
    是什么),车次比三条腿的鸭子还少,怡美北面是长城学校和一大片未开发的荒地(据
    说是当代城市花园,还未动工),不过学校的条件也不是很好,而且与怡美是有围墙的
    ,所以从怡美的宣传图上让人向往的足球场仅仅是梦而已,你要想到里面运动一下儿,
    随便问个会走道儿的人,他的回答就和中国队能否冲击世界杯成功一样---“Where the
     Door?no,no door”,英语不好,不会翻译,呵呵。怡美的西侧,惨点儿,还有不少民房
    尚未拆迁,而且有一条又脏又破的铁路,而且不止是一条,南北双向,而且还有一条斜
    斜的用于检修的铁路。想象一下儿以后加上轻轨,天那,还想图个安生?
    还好,售楼先生保证的好,轻轨肯定不会扰民的,起码是在你睡觉的时候不会开的。另
    外检修铁路肯定要拆,原因是北面的清河火车站都拆了,难道南面的铁轨不会拆吗?我
    的智商不高,思索良久,觉得甚有道理。
    说起轻轨,两个车站一个在南,一个在北,还是南面的上地车站要近些,不过你需要从
    小区大门走出来,一直到南面的马路上,然后需穿越上地桥,走上一段才能进入车站,
    行程估计10分钟—15分钟,是否可以忍受?
    地形看过了,那么看看楼本身的情况,看看图纸,天那,18号楼的2段是在最西侧,东西
    朝向,而且离着铁路最近,而且一单元离南面的楼太近,大背阴;二单元带外挂电梯,
    里面简直暗无天日;四单元内嵌入17号塔楼,象Windows和IE一样密不可分;那么仅供选
    择的只有三单元了,挑来挑去我选择的是7层的一个房号。接下来我再次咨询了众多朋友
    ,包括Pyre,大家一致认为不可取,不过我Declare,不是我眼光不好,而是实在没有可
    选的了。没有别的选择,只能退房号了。
    山穷水复疑无路,柳暗花明又一村,村子倒没出现,当我打电话退房时售楼先生告之有
    一处别人退的17号楼,高兴之余赶紧去考察,我这次直奔工地,门卫还不让进,休与之
    多言,“我都交了10多万了还不让看看?”,冲着他吼一句然后大摇大摆地进去就可以
    了(施工入口处在怡美北面的路上,可从上地桥沿铁路前行300米左右西行即到,不过需
    要过一处积满臭水的地方,骑车是不大可能;也可沿怡美东侧的路直行600米左右向西转
    )。还是里面看着很清楚,建议买房的朋友一定要实地考察,房子的位置和图纸决不相
    同。看来那位老兄所退的房屋为三面可观景,可享受阳光之地,向北可看将来的创业园
    ,城市花园以及三分钟一次的呼啸而过(好象不会有噪音干扰了)的轻轨列车。向东可
    看到灰色的屋顶和远处的清河。向南可看到小区中心绿地,我的想象带“我飞了,越飞
    越高了,再也飞不起来了”(呵呵,喜欢崔健的朋友一定不会陌生)。
    明天就签合同!
    这两日里在公司总是“遭”到询问,不是我这个人爱张扬,嘴缝不住,主要是公司财务
    的几个小丫头片子都属于快嘴婆型的人物。从公司开据的材料很简单,需要一张公司营
    业执照副本的复印件,但需要加盖公章,同时需要一份个人收入证明,这个收入售楼先
    生同志说的很明白,不要开的太多呦,如果贷30万/20年的话,开具5000/月就可以了,
    如果多了银行有可能缩短你的贷款年限。乖乖,银行的哥们也太狠了点儿,如果5000块
    就能贷,那么每月除去还贷的2200元,物业的200员,水电等诸多杂事200元,日常生活
    费用2000元,整个一个底儿掉。我那梦寐以求的赛欧,呜呜。
    有时同事问我,怎么怎么,然后是“你可以呀...什么攒钱啦,过紧日子啦”之类的话,
    都他妈的扯淡,昨天刚请你们吃了顿烤鸭,今个儿就说我抠门攒钱,扯淡!我就是有钱
    买房又怎样?摸摸干瘪的钱袋,还需挺直了腰板说话。
    今天晚上老婆对我说,为了减少向银行交付利息,她向亲戚借了几万大洋。我忘记如何
    对她说的了,大概意思是“什么年代了咱们不求人,银行又不是不能贷”,但黑夜里摸
    摸老婆的手,好一阵感动。什么“跟我一起,可苦了你了”这类电影中常看到的镜头中
    出现的缠绵但很见效的话,很想跟老婆说,可话到嘴边出不来,老婆也明白,理解万岁
    ,够了!
    三天的考察期虽不长,但大多数都是从网上获得的消息,加上实地考察,我自认为是够
    用了。
    今天晚上和老婆也不睡觉了,看合同,列条目如何签合同,总之如何如何。早晨的太阳
    如此之好。我知道到了“关键”的一天。
    今天上午去银行取钱,我很喜欢招商行,不多的积蓄都放在一卡通里,可这次买房需要
    把钱转到工行帐户上,这让我有机会比较了一下儿两银行的效率。招商取25000,共计5
    分20秒,而工行存25000却用了16分多,而且在招行里喝了一杯冰水,顺便叼了块薄荷糖
    。我真的为招行鸣不平,为什么极少有房地产项目采用招行贷款,如果这样的话,我第
    二个拥护,因为我老婆是第一个。
    老婆代我去刻人名章,毕竟还是头发长些,我可不是说见识短,我老婆想的可长远了,
    你猜人家怎样,人名章没刻成,倒是刻了一个法人章,盖支票用的。我对老婆说起码目
    前来说我还没那么大的野心,有你那份期待自己一定不会辜负。
    到了怡美售楼处,人挺多,干脆再到里面转转,于是又把美丽的未来重新温习了一便,
    到了11点,我们坐在了售楼先生的对面。禾大壮说的果真不错,怡美的确很牛气,不讲
    价而且也不修改合同增加条款,亏的我们事前找了一位房地产方面的专家给我们看了一
    下合同条款,他说合同是最新颁布的合同,比老合同完善了很多,没有什么大问题。我
    们所想到的一些问题,售楼先生也在合同中找到了相应的条款,不过说的比较含糊。不
    计较也罢,早知如此,昨晚何必熬夜。
    一共两份合同,分为四本(正本副本),售楼先生只给我们写了一本作为范本,让我照
    此来写,他便起身招呼其他看房的人了,我看几个小姐都闲着,还时不时的吆喝几句,
    看来阴盛阳衰已经从国家体育队发扬光大到了地产业。终于签完合同,共计签名36处,
    今儿一天把这辈子要签的名都签完了,好象也没什么感觉,以前最多花钱是在万元以内
    ,今天出手就四十万,陡升了两个量极。这样看来自己还算得大量之人。有出息。最后
    售楼先生告之下周办理余款以及贷款事宜,看看表已经1点半了,签合同共计150分钟,
    还行!
    走出怡美,我是个有房的人了,想想未来,挺乱的,不想它了,带老婆去吃附近的“西
    蜀豆花庄”,不小心吃豆花鱼的时候被鱼刺卡住了,喉咙里疼了半天,好在我不算迷信
    ,没有拿这件事和什么进行Join;老婆讲以后这样的日子不多了,什么日子,说什么呢

    走出豆花庄,我下意识的要伸手打车,琢磨一下又把手缩回来,还是老婆好,握了我的
    手,一同向105公交车站走去,这一瞬间,我感觉很幸福。
    后记:自己这个帖子,本意想发出来供买房人参考,而后来则有些刹不住了,所以凌乱
    至极,不过既然写出来了也要对得起这凌晨三点,所以也就义不容辞的发了,见笑。
    我是Ryan,爱交朋友,前天才看到这个论坛,给我很多帮助,尤其是一些网友的颇有见
    地的意见很是启发。今天在怡美签了购房合同,17号楼14层,希望与大家都能成为朋友
    ,能上网的,能在上地买房的,基本上都是类似的,我很想认识你们,希望入住后到我
    家喝酒!Ryanly@263.net Http://www.pdazone.com.cn
    (怡美家园业主网站www.our-yimei.com)

    给荣丰公司的公开信和石经理的最新答复

    刚才打电话给石建国经理:他确认可以代表荣丰公司正式答复我,一个月内退款,我问超过一个月荣丰的违约责任怎么办,他说绝对不会超过一个月。我已告知他刚才的电话我有录音。


    北京荣丰房地产开发有限公司(以下简称荣丰公司或者贵公司):
    本人在2006年3月28日在荣丰公司售楼处现场选中了荣丰嘉园三期D3号楼14层05号房,签订了房产认购书(编号:2006.3.28-003)并当场交纳定金人民币两万元整,并同销售业务员关建章约定在2006年3月14日之前签预售合同。当时贵公司未能提供本人需要签订的合同或者样本,只是说合同是北京市标准合同,没有问题。在2006年4月7日周五,我们特意去确定可以在14日之前签约。于是和关建章约定2006年4月8日周六签约。当周六我们带齐所有文件去签约时发现合同条款有问题需要协商修改,而且除了合同及附件之外还有一个补充协议要签。我们发现合同和补充协议上有诸多霸王条款,但被客服部告知合同不能改并建议我同业务员联系,后者说他们销售经理石建国有修改合同的权利,但是石经理在房交会当天过不来。于是周六我们白跑,没签成合同。然后又和小关约定周二中午和他们经理谈修改合同条款问题,结果我带着我要求修改的文稿去了之后他们石经理不在,我于是和小关和他们销售主管李微微沟通了一下有问题的合同条款,协商成功后在4月13日周四再签订合同。(因为截止日期是4月14日周五,荣丰又只能在周二四六签约,我们只能在周四签约)。石经理到中午十三点左右过来后,说“只能改其中的两款,其他款和补充协议丝毫不能改”,“那我给你退房吧,我的房子不愁卖”,“我已经拿到你的书面更改要求了”然后就急冲冲的走了,委托销售主管李微微和我继续谈。
    因为荣丰公司的合同尤其是其补充协议存在太多不合理的条款(霸王条款),这些条款直接违背我们个人意愿、违背国家相关规定和相关法规、违背高院司法解释、条款权利义务不对等,荣丰公司又拒绝对那些条款进行修改,我们无法就合同条款达成一致意见,导致合同无法及时签订。于是我决定采纳石经理的建议选择退房。于2006年4月11日周二书面提交了退房申请和退回全额定金申请,经荣丰公司销售主管李微微转荣丰公司销售经理石建国提交给荣丰公司。
    之前间多次打电话给业务员关建章、销售主管李微微和销售经理石建国询问此事进展,但现在已经过了七天仍然没有收到荣丰公司的退回定金或者需要办理退回定金具体手续的通知。荣丰公司在交定金之前不出示有诸多霸王条款的合同,又不肯修改霸王条款强制认购者接受,在接受退房申请之后迟迟没有答复。
    请贵公司及时退还全额定金,我们保留索要赔偿双倍定金、定金的利息和滞纳金的权利。

    linux下面的调试器,想说爱你不容易

    在linux下面开发c++的应用程序,使用stl的库,发现还是不是很方便,尤其是其调试器。
    使用的是kdevelop集成环境,编编代码还算方便,编译也行,但是调试的话感觉特别不方便。它调用了gdb,但是为了调试方便自己又加了很多额外的命令导致很多信息会看不到。自己一直用gdb,有人用ddd,后者也是调用gdb,但是发现如果我的被调试程序也包含命令行参数可能会导致ddd或者我的程序不能正常运行,不知道什么原因。
    linux下面的sgi的stl实现由两个问题,一个就是vector<bool>即使bitset也是如此,在gdb中无法看到指定位的值,只告诉你该位的偏移量。第二个就是非vector的容器,调试时除了当前iterator指向的值和begin指向的值,无法察看其他元素的值,要看就只有改代码写打印语句。目前还无法解决。
    最近装了vs2005,发现付费的大公司的东西就是不一样,这两点做得很好。于是只有在linux面编辑/编译/运行,而在windows下调试了

    北京您早,公共交通真是天下第一啊

    前天看报纸说北京动物园百年华诞,创造了诸多全国第一,我看北京的公交可以说是天下第一了:
     
     
    因为有事情昨晚住在丰台,今天早上需要赶到上地上班。之前欣赏过周一早上上地环岛前的信息路作为超大停车场的壮观场面,于是决定不坐323或811直达,而坐公交到长椿街地铁站再地铁倒城铁再坐黑摩托到创业大厦的路线。
    听说七点钟之后北京的公交就要堵,于是6点多就起床,六点二十到达公交车站,本来以为很早呢,结果发现好多背书包的,拿公文包的,拿工具的已经很多人聚在车站,而每过来一辆车都是满满的,大家都好早啊。
    我有三个方案可选。坐748到五棵松经地铁一号线转车,嫌累。坐390到西便门然后走一站地,嫌远。坐301下车就是长椿街地铁站,选她,就是301要二十分钟一辆车得等。
    过了不到十分钟,来了一辆漂亮的,真高兴,我运气不差啊。可是车未到,售票员的声音通过喇叭先到,301区间,到六里桥北里。哎,我去六里桥北里倒811说不定会因塞车而迟到,等下一班吧。其间过去很多包括748在内的满载而归的车,实在等不了了。
    来了一辆390,心想算了走一站地就走吧,坐它。结果看到前门里面一排小姑娘堵在车门口在车上排队,俨然准备上车的架势。车一到,一开门,最外面的小姑娘竟然掉下来了。看来这车也上不去啊,即使背着涉嫌性骚扰的嫌疑。再等吧。
     
    六点四时了,终于来了一辆301。前后门都满满的,我心想就是拼了命也要上去,上车的人到不多可是作为最后一个的我,背着笔记本电脑,拎着拎包和一个旅行水壶,愣是卡在车门那,导致车门关不上,挤啊挤啊,车门终于关上了,严重超载的车晃悠着走了。在车上真是人挤人,远超过摩肩接踵的形容。我歪着脑袋(因为没有空间直不起来)被挤到车门上,心里还在暗自高兴,北京的公交车真是好,前后门都能上车,这样可以前门上女士,后门上先生,男女分开避免了上海地铁的性骚扰吵闹,也远优于杭州前门上车后门下车的尴尬。
    车形多站门没开,因为根本上不来人了。到了六里桥北里,我先被挤下来了。发现好多人下车好多人要上车。于是体验了早已听闻的吵架骂人,真是不绝于耳,有下车的和下车的指尖骂的,有上车的和上车的之间骂得,还有上车的和下车的指尖相互推搡辱骂的。要想了解北京市民或者居民素质的,千万别到这种地方免得您被指以偏概全。
    过了六里桥,终于可以不用歪着脑袋贴着车门了,还可以把车票买了。但是听到了非常响亮的钟声,告示着恶梦般塞车的起点已经达到,汽车开始放慢了脚步并经常停车小憩。我也非常后悔因为就只有两站地了就没有找个凳子坐下。
    到了长椿街地铁站,三个艘票窗口后各有一位工作人员,排了两大队人,可是只开了两个窗口,其中一个还是只换月票的。很多人抱怨这么多人买票怎么只开一个口啊。
     
    终于出了城铁上地站,心想我终于到站了。可是看到的两队排队买票等待在上地上成铁的人排出了门外五六米。真为他们的前面的路表示担心。听说早晨坐城铁南行,晚上北行都特别挤。一个同事说在上班时间,在回龙观能上去地铁,但是在龙泽就上不去车了,真是很担心如果以后住在昌平去城里上班怎么去呢。
     
    北京的公交还有很多可以申请吉尼斯世界纪录的趣事:同名不同站,同站不同名,同名不同地,比比皆是。就六里桥来说,有六里桥,六里桥北里,六里桥南里,六里桥北,六里桥东等诸多车站。公主坟也有三个站相距半站地到一站地之间。别说外地人就是本地人也经常搞晕。更有甚者就是站盘和车次不一致。我发现那个937有好多车,937,937支,937支3,937专。还有什么环线,快,内环线,有次在车上听说有个车已经到了支7路了。有一次我看着站牌上车结果上了高速坐到卢沟桥了。
    北京公交的好处是司机和售票员特别耐心且北京通,上车前一定要问一下哪里哪里到不到。除非要计算哪里倒车里数成本最低,否则别太在意那几十个站牌。
     
    还有个问题就是很多刚来的人搞不清楚目前是哪个车站,我一个新同事就问我这个问题,我也遇到过。后来他发短信给我说,终于明白了,原来所有站名位置都被小广告给盖住了,我看后大笑。看来真是这样,昨天我从前门出地铁沿着前门大街南行,发现路旁的公交站牌几乎所有都是这样。找了半天没找到北京市长热线,最后傍晚时找到了一个北京晚报的电话,打过去提建议:1。加大力度清理已贴的小广告,惩治乱贴广告影响视频正常出行的人;2。在每个车次的站牌上都标上当前站名,不要只在站牌最上面标。3。作为大国首都,世界都市还要办奥运会,小小站牌都这么不方便市民出行怎么行呢。接线员最后问了姓名和联系电话没说什么就挂了,估计这些事情他们可能已经见怪不怪了吧。
     
     
     
     

    有趣的北京联通人工客服

    听人说联通的up新势力是北京最便宜的手机了,于是就买了一个,之后发现两个问题,一个是充值和打电话均没有清单,打过n次电话都不提供。第二个就是发现其人工客服热线特别难打。三四个月了,基本上每次都要打半小时以上才能打通,而且每次接入只让等一次,也就是说两分钟内就联通就会你挂断。月初时,小姐说我们是月初特别忙,月中时说我们的客户特别多特别忙,半夜时说我们的客服少特别忙。于是某日我早晨六点钟刚好有个联通在信相关自费问题要咨询,心想这个时候大家都睡觉呢应该人比较少吧,打了15分钟实在没信心再打了。
    于是突发奇想,右手联通,左手用移动的手机拨进去试一试。果然,移动的的所有电话都是金牌VIP,根本不用等,而联通手机那边还是同样被歧视。本来想咨询的,变成了疑问,怎么回事?他这回说,噢,我们移动和联通的手机走的可能是不同的线路,绝对没有对联通的手机或者您的号码采取歧视政策。于是花了二十分钟的移动话费咨询了联通的问题。打完电话我想再试一试联通的手机,又花了近二十分钟(两分钟就要重新拨打一次,每次是10010,然后按一,按一,按0,等待,再按零,被挂机)才打通。到了白天九点多钟我想看看北京网通的客户被联通怎么待遇,用固定电话拨过去,发现和用联通手机待遇一样。
    看来作为中国移动用户真是到处都被礼遇。
    作为移动的动感地带客户,不论在杭州,上海还是北京,感觉客服电话都非常好,还有对客户的评价。单就北京移动而言,我就一次拨打1860人工电话时按了一次键等一次。其他每次都以一拨就灵。
    再反过来看看联通客服的态度,百般找理由不说,一次竟然跟我扯皮花了40多分钟,甚至谈到了什么是真理,什么是逻辑。把我气得都快话都说不出了,还被领导同事批评说你该省省你的电话费了。
     

    搜房网荣丰2008版主的总结

    Re:我特别感兴趣想知道一下现在是不是有很多开发商派人在各个论坛当版主控制舆论导向?不知道本版三个版主中是否有开发商的人?或者是不是很多站长就是开发商的人啊?<1570>字节
    你是不是觉得
    一个业主论坛的好坏
    要看里面楼盘负面消息的多少啊
    所以你才得出了新 浪焦 点更全面
    这里可能被开发商控制了的结论

    我觉得你的想法很偏激甚至偏执
    但我也理解你为什么会有这样的看法

    从你的发帖可以看出
    你最近最关心的就是签约
    在签约的过程里
    你遇到了很多的不愉快
    合同里的霸王条款
    开发商的生硬态度......
    所有的这一切
    让你希望在论坛里找到答案
    找到支持和同盟者
    结果却另你失望
    你的帖子应者寥寥
    大家好像对这些都漠不关心
    都在自顾自的聊天灌水
    这让你不太好接受
    你可能会想
    为什么大家会漠视这些应该非常关注的问题
    为什么不像你一样对这些问题感到激愤
    不应该这样
    是不是有人在操纵论坛
    论坛的斑竹是不是开发商的人

    同时
    另外几个论坛好像好些
    荣丰的负面新闻高高的置顶
    有很多人在破口大骂
    骂开发商骂物业
    看着挺痛快的
    像你心目中业主论坛的样子
    负面消息很多
    所以很全面
    你是不是这样想的呢

    如果你是这样想的
    那么我告诉你
    你错了

    为什么大家会对你发的帖子反应冷淡呢
    那是因为
    你现在所经历的
    大家都曾经历过
    你现在所想所为的
    大家都同样经历过
    而这一切的最终结果
    大家也都非常清楚的知道
    在这个坛子里
    曾经有无数的人重复做这些事
    无数的人来问过同样的问题
    大家也都无数次的回答过
    说实在的
    大家都看的说的疲了
    不愿意再看再说了
    所以就有人在回你的帖子时说
    历史在重演

    你如果愿意
    你可以认真的翻看以前的帖子
    你会看到你想看的东西的
    当然
    这是个工作量很大的任务
    因为这里的帖子实在是太多了
    为什么会有这么多的帖子呢
    这就说明这里的红火

    荣丰的业主论坛
    我知道的就不止五六个
    新 浪 焦 点 浩 友......
    但这里是最火的
    其他几个论坛每天的发帖量的总和
    还比不上这里每天被删除的广告帖数
    为什么会这样呢

    可以这样说
    来这里的人绝大多数是荣丰的业主
    哪一个没有去过另外的几个论坛
    有的还是那几个论坛的斑竹
    但为什么最后都集中到这儿来呢
    因为这里的环境好
    因为在这里交流的舒服
    正如有些曾经转了一圈最后来到这里的邻居说的
    这里才像个业主论坛
    才有家的感觉

    这个论坛有今天这样的局面
    是因为大家喜欢这里的环境
    而这里的环境好主要的一点
    就是大家都主动自觉的维护
    这里有这样的版规
    可以谈任何事儿
    但不可以骂人
    当然
    林子大了什么鸟都有
    也会有不自觉的
    但这样的人在这里是没有市场的

    话说回来
    如果你用负面消息的比例来衡量好坏的话
    这里的分数不会很高
    因为除了负面的东西
    这里的邻居朋友之间有更多可以交流的话题
    每天好几百上千帖的发帖量
    不会都是阶级斗争的

    另外
    大家都是这里的业主
    既然选择了这里
    还是更多的喜爱她
    自己的产业自己爱
    而且
    维护楼盘的名声
    也利于房子的升值
    是对自己资产的保护
    绝大多数人都明白这个道理

    对于你的问题
    我可以给你我的建议
    如果你真喜欢这房子
    那就闷头去签合同
    这也是我们最后的选择
    可以告诉你
    我们采取过各种方法和开发商较量
    你现在所用的招数我们都用过
    而且形式更多力度更大
    结果还是这样
    如果你觉得不能忍受这样的开发商和合同
    那么就想办法退房吧
    但不会很顺利的
    荣丰这方面的经验超级丰富

    如果你觉得这个论坛不好
    那么你可以像选择买不买这里的房子一样
    选择其他的论坛
    但是请你记住一点
    由开发商控制的论坛
    是不会被业主认可的

    如果你希望在这里和大家交流
    那么
    欢迎加入大家庭
    -----------------------------
         



    版主工具箱 [ 删除  精华] 编辑

    房子的笑话一则(转)

    房子的笑话一则<1301>字节
    买房意味着什么?意味着你拥有了一个属于自己的房子。是的,你是这样以为,但是在中国你并无法拥有这个房子,只是租给你而已。因为中国只有把土地使用权租借给你70年(有的地方是50年)。而房子通常情况下30年左右就会遇上拆迁或者旧房改造。也就是说你花了买房的钱,却只能得到租房的实际效果。当然这还不是最坏的。最坏的是,当几十年后你发觉上当了!有一群流氓冲进你用一辈子积蓄"买"下的房子,画上一个大大的"拆"字!然后把你的家当全部当垃圾一样的仍出门外,不顾你的苦苦哀求,甚至还在报纸上给你按一个"钉子户"的臭名,任大众辱骂的时候你就会知道什么叫做绝望!  
    形容中国的房地产有一个很有名的笑话是这样写的:  
    以前,有个地主有很多地,找了很多长工干活,地主给长工们盖了一批团结楼住着,一天,地主的谋士对地主说:东家,长工们这几年手上有点钱了,他们住你的房子,每月交租子,不划算,反正他们永远住下去,你干脆把房子卖给他们起个名堂叫做――――-公房出售!告诉他们房子永远归他们了,可以把他们这几年攒的钱收回来,地主说:不错,那租金怎么办?谋士说:照收不误,起个曰本名儿,叫物业费!地主很快实行了,赚了好多钱,长工们那个高兴啊!  
    过了几年,地主的村子发展成城镇了,有钱人越来越多,没地方住,谋士对地主说:东家,长工们这几年手上又有钱了,咱们给他们盖新房子,起个名堂叫做旧城改造,他们把手上的钱给我们,我们拆了房子盖新的,叫他们再买回去,可以多盖一些卖给别人,地主又实行了,这次,有些长工们不高兴了,地主的家丁派上用途了,长工们打掉牙只好往肚子里咽,地主又赚了好多钱。  
    又过了几年,地主的村子发展成大城市了,有钱人更多了,地主的土地更值钱了,谋士对地主说:东家,咱们把这些长工的房子拆了,在这个地方建别墅,拆出来的地盖好房子卖给那些有钱的大款还能赚一笔,地主说:长工们不干怎么办?谋士说:咱给他们钱多点儿,起个名堂叫货币化安置,咱再到咱们的猪圈旁边建房子,起个名堂叫经济适用房,给他们修个马车道让他们到那边买房住,地主说:他们钱不够怎么办?谋士说:从咱家的钱庄借前给他们,一年6分利,咱这钱还能生钱崽,又没风险,地主又实行了,长工们拿到钱,地主的经济适用房到现在才建了一间,长工们只好排队等房子,直到现在,还等着呢――――――  
    于是,长工们开始闹事了,地主有点慌,忙问谋士怎么办?谋士说:赶紧通知长工们,房子要跌价了,别买了,租房住吧,正好把我们的猪圈租给他们,结果,这么多年后,长工们的钱全没了,还在租房住,直到永远! ]  
      这个笑话虽然有点夸张,但实际上这何尝又不是事实呢?有人说既然如此?为什么中国人还要买房?疯了一样的买???为什么?还不是愚民教育的结果,就好象60年代,鼓吹人们必须购买三大件:手表、缝纫机、自行车才算是"成功人士"才可嫁人娶妻。70年代鼓吹人们必须购买新四大件:电视,冰箱,洗衣机,装电话才算是"出人头地"才可娶妻生子一样,记得当年装电话可是要几千块钱一部啊(人均收入不到200的小城),而北京上海更有上万一部的时候。还得排队买号搭人情,和今天的买房又何其相似?

    Seven habits of effective text editing

    Seven habits of effective text editing

    Bram Moolenaar

    If you spend a lot of time typing plain text, writing programs or HTML, you can save much of that time by using a good editor and using it effectively. This paper will present guidelines and hints for doing your work more quickly and with fewer mistakes.

    The open source text editor Vim (Vi IMproved) will be used here to present the ideas about effective editing, but they apply to other editors just as well. Choosing the right editor is actually the first step towards effective editing. The discussion about which editor is the best for you would take too much room and is avoided. If you don't know which editor to use or are dissatisfied with what you are currently using, give Vim a try; you won't be disappointed.

    [Vim commands and options are printed in this font]

    Part 1: edit a file

    1. Move around quickly

    Most time is spent reading, checking for errors and looking for the right place to work on, rather than inserting new text or changing it. Navigating through the text is done very often, thus you should learn how to do that quickly.

    Quite often you will want to search for some text you know is there. Or look at all lines where a certain word or phrase is used. You could simply use the search command /pattern to find the text, but there are smarter ways:

    • If you see a specific word and want to search for other occurrences of the same word, use the * command. It will grab the word from under the cursor and search for the next one.
    • If you set the 'incsearch' option, Vim will show the first match for the pattern, while you are still typing it. This quickly shows a typo in the pattern.
    • If you set the 'hlsearch' option, Vim will highlight all matches for the pattern with a yellow background. This gives a quick overview of where the search command will take you. In program code it can show where a variable is used. You don't even have to move the cursor to see the matches.

    In structured text there are even more possibilities to move around quickly. Vim has specific commands for programs in C (and similar languages like C++ and Java):

    • Use % to jump from an open brace to its matching closing brace. Or from a "#if" to the matching "#endif". Actually, % can jump to many different matching items. It is very useful to check if () and {} constructs are balanced properly.
    • Use [{ to jump back to the "{" at the start of the current code block.
    • Use gd to jump from the use of a variable to its local declaration.

    There are many more, of course. The point is that you need to get to know these commands. You might object that you can't possibly learn all these commands - there are hundreds of different movement commands, some simple, some very clever - and it would take weeks of training to learn them all. Well, you don't need to; instead realize what your specific way of editing is, and learn only those commands that make your editing more effective.

    There are three basic steps:

    1. While you are editing, keep an eye out for actions you repeat and/or spend quite a bit of time on.
    2. Find out if there is an editor command that will do this action quicker. Read the documentation, ask a friend, or look at how others do this.
    3. Train using the command. Do this until your fingers type it without thinking.

    Let's use an example to show how it works:

    1. You find that when you are editing C program files, you often spend time looking for where a function is defined. You currently use the * command to search for other places where the function name appears, but end up going through a lot of matches for where the function is used instead of defined. You get the idea that there must be a way to do this faster.
    2. Looking through the quick reference you find a remark about jumping to tags. The documentation shows how this can be used to jump to a function definition, just what you were looking for!
    3. You experiment a bit with generating a tags file, using the ctags program that comes with Vim. You learn to use the CTRL-] command, and find you save lots of time using it. To make it easier, you add a few lines to your Makefile to automatically generate the tags file.

    A couple of things to watch out for when you are using these three steps:

    • "I want to get the work done, I don't have time to look through the documentation to find some new command". If you think like this, you will get stuck in the stone age of computing. Some people use Notepad for everything, and then wonder why other people get their work done in half the time...
    • Don't overdo it. If you always try to find the perfect command for every little thing you do, your mind will have no time left to think about the work you were actually doing. Just pick out those actions that take more time than necessary, and train the commands until you don't need to think about it when using them. Then you can concentrate on the text.

    In the following sections there will be suggestions for actions that most people have to deal with. You can use these as inspiration for using the three basic steps for your own work.

    2. Don't type it twice

    There is a limited set of words we type. And even a limited number of phrases and sentences. Especially in computer programs.  Obviously, you don't want to type the same thing twice.

    Very often you will want to change one word into another. If this is to be done in the whole file, you can use the :s (substitute) command. If only a few locations needs changing, a quick method is to use the * command to find the next occurrence of the word and use cw to change the word. Then type n to find the next word and . (dot) to repeat the cw command.

    The . command repeats the last change. A change, in this context, is inserting, deleting or replacing text. Being able to repeat this is a very powerful mechanism. If you organise your editing around it, many changes will become a matter of hitting just that . key. Watch out for making other changes in between, because it will replace the change that you were repeating. Instead you might want to mark the location with the m command, continue your repeated change and come back there later.

    Some function and variable names can be awkward to type. Can you quickly type "XpmCreatePixmapFromData" without a typo and without looking it up? Vim has a completion mechanism that makes this a whole lot easier. It looks up words in the file you are editing, and also in #include'd files. You can type "XpmCr", then hit CTRL-N and Vim will expand it to "XpmCreatePixmapFromData" for you. Not only does this save quite a bit of typing, it also avoids making a typo and having to fix it later when the compiler gives you an error message.

    When you are typing a phrase or sentence multiple times, there is an even quicker approach. Vim has a mechanism to record a macro. You type qa to start recording into register 'a'. Then you type your commands as usual and finally hit q again to stop recording. When you want to repeat the recorded commands you type @a. There are 26 registers available for this.

    With recording you can repeat many different actions, not just inserting text. Keep this is mind when you know you are going to repeat something.

    One thing to watch out for when recording is that the commands will be played back exactly as you typed them. When moving around you must keep in mind that the text you move over might be different when the command is repeated. Moving four characters left might work for the text where you are recording, but it might need to be five characters where you repeat the commands. It's often necessary to use commands to move over text objects (words, sentences) or move to a specific character.

    When the commands you need to repeat are getting more complicated, typing them right at once is getting more difficult. Instead of recording them, you should then write a script or macro. This is very useful to make templates for parts of your code; for example, a function header. You can make this as clever as you like.

    3. Fix it when it's wrong

    It's normal to make errors while typing. Nobody can avoid it. The trick is to quickly spot and correct them. The editor should be able to help you with this. But you need to tell it what's wrong and what's right.

    Very often you will make the same mistake again and again. Your fingers just don't do what you intended. This can be corrected with abbreviations. A few examples:

    :abbr Lunix Linux
    :abbr accross across
    :abbr hte the
    The words will be automatically corrected just after you typed them.

    The same mechanism can be used to type a long word with just a few characters. Especially useful for words that you find hard to type, and it avoids that you type them wrong. Examples:

    :abbr pn penguin
    :abbr MS Mandrake Software

    However, these tend to expand to the full word when you don't want it, which makes it difficult when you really want to insert "MS" in your text. It is best to use short words that don't have a meaning of their own.

    To find errors in your text Vim has a clever highlighting mechanism. This was actually meant to be used to do syntax highlighting of programs, but it can catch and highlight errors as well.

    Syntax highlighting shows comments in colour. That doesn't sound like an important feature, but once you start using it you will find that it helps a lot. You can quickly spot text that should be a comment, but isn't highlighted as such (you probably forgot a comment marker).Or see a line of code highlighted as comment (you forgot to insert a "*/"). These are errors which are hard to spot in a B&W file and can waste a lot of time when trying to debug the code.

    The syntax highlighting can also catch unbalanced braces. An unbalanced ")" is highlighted with a bright red background. You can use the % command to see how they match, and insert a "(" or ")" at the right position.

    Other common mistakes are also quickly spotted, for example using "#included <stdio.h>" instead of "#include <stdio.h>". You easily miss the mistake in B&W, but quickly spot that "include" is highlighted while "included" isn't.

    A more complex example: for English text there is a long list of all words that are used. Any word not in this list could be an error. With a syntax file you can highlight all words that are not in the list. With a few extra macros you can add words to the wordlist, so that they are no longer flagged as an error. This works just as you would expect in a word processor. In Vim it is implemented with scripts and you can further tune it for your own use: for example, to only check the comments in a program for spelling errors.

    Part 2: edit more files

    4. A file seldom comes alone

    People don't work on just one file. Mostly there are many related files, and you edit several after each other, or even several at the same time. You should be able to take advantage of your editor to make working with several files more efficient.

    The previously mentioned tag mechanism also works for jumping between files. The usual approach is to generate a tags file for the whole project you are working on. You can then quickly jump between all files in the project to find the definitions of functions, structures, typedefs, etc. The time you save compared with manually searching is tremendous; creating a tags file is the first thing I do when browsing a program.

    Another powerful mechanism is to find all occurrences of a name in a group of files, using the :grep command. Vim makes a list of all matches, and jumps to the first one. The :cn command takes you to each next match. This is very useful if you need to change the number of arguments in a function call.

    Include files contain useful information. But finding the one that contains the declaration you need to see can take a lot of time. Vim knows about include files, and can search them for a word you are looking for. The most common action is to lookup the prototype of a function. Position the cursor on the name of the function in your file and type [I: Vim will show a list of all matches for the function name in included files. If you need to see more context, you can directly jump to the declaration. A similar command can be used to check if you did include the right header files.

    In Vim you can split the text area in several parts to edit different files. Then you can compare the contents of two or more files and copy/paste text between them. There are many commands to open and close windows, jump between them, temporarily hide files, etc. Again you will have to use the three basic steps to select the set of commands you want to learn to use.

    There are more uses of multiple windows. The preview-tag mechanism is a very good example. This opens a special preview window, while keeping the cursor in the file you are working on. The text in the preview window shows, for example, the function declaration for the function name that is under the cursor. If you move the cursor to another name and leave it there for a second, the preview window will show the definition of that name. It could also be the name of a structure or a function which is declared in an include file of your project.

    5. Let's work together

    An editor is for editing text. An e-mail program is for sending and receiving messages. An Operating System is for running programs. Each program has its own task and should be good at it. The power comes from having the programs work together.

    A simple example: Select some structured text in a list and sort it: !sort. The external "sort" command is used to filter the text. Easy, isn't it? The sorting functionality could be included in the editor. But have a look at "man sort", it has a lot of options. And it's probably a nifty algorithm that does the sorting. Do you want to include all that in an editor? Also for other filter commands? It would grow huge.

    It has always been the spirit of Unix to have separate programs that do their job well, and work together to perform a bigger task. Unfortunately, most editors don't work too well together with other programs - you can't replace the e-mail editor in Netscape with another one, for example. You end up using a crippled editor. Another tendency is to include all kinds of functionality inside the editor; Emacs is a good example of where this can end up. (Some call it an operating system that can also be used to edit text.)

    Vim tries to integrate with other programs, but this is still a struggle. Currently it's possible to use Vim as the editor in MS-Developer Studio and Sniff. Some e-mail programs that support an external editor, like Mutt, can use Vim. Integration with Sun Workshop is being worked on. Generally this is an area that has to be improved in the near future. Only then will we get a system that's better than the sum of its parts.

    6. Text is structured

    You will often work with text that has some kind of structure, but different from what is supported by the available commands. Then you will have to fall back to the "building blocks" of the editor and create your own macros and scripts to work with this text. We are getting to the more complicated stuff here.

    One of the simpler things is to speed up the edit-compile-fix cycle. Vim has the :make command, which starts your compilation, catches the errors it produces and lets you jump to the error locations to fix the problems. If you use a different compiler, the error messages will not be recognised. Instead of going back to the old "write it down" system, you should adjust the 'errorformat' option. This tells Vim what your errors look like and how to get the file name and line number out of them. It works for the complicated gcc error messages, thus you should be able to make it work for almost any compiler.

    Sometimes adjusting to a type of file is just a matter of setting a few options or writing a few macros. For example, to jump around manual pages, you can write a macro that grabs the word under the cursor, clears the buffer and then reads the manual page for that word into the buffer. That's a simple and efficient way to lookup cross-references.

    Using the three basic steps, you can work more effectively with any sort of structured file. Just think about the actions you want to do with the file, find the editor commands that do it and start using them. It's really as simple as it sounds. You just have to do it.

    Part 3: sharpen the saw

    7. Make it a habit

    Learning to drive a car takes effort. Is that a reason to keep driving your bicycle? No, you realize you need to invest time to learn a skill. Text editing isn't different. You need to learn new commands and turn them into a habit.

    On the other hand, you should not try to learn every command an editor offers. That would be a complete waste of time. Most people only need to learn 10 to 20 percent of the commands for their work. But it's a different set of commands for everybody. It requires that you lean back now and then, and wonder if there is some repetitive task that could be automated. If you do a task only once, and don't expect having to do it again, don't try to optimise it. But you probably realize you have been repeating something several times in the last hour. Then search the documentation for a command that can do it quicker. Or write a macro to do it.  When it's a larger task, like lining out a specific sort of text, you could look around in newsgroups or on the Internet to see if somebody already solved it for you.

    The essential basic step is the last one. You can think of a repetitive task, find a nice solution for it and after the weekend you forgot how you did it. That doesn't work. You will have to repeat the solution until your fingers do it automatically. Only then will you reach the efficiency you need. Don't try to learn too many things at once. But doing a few at the same time will work well. For tricks you don't use often enough to get them in your fingers, you might want to write them down to be able to look them up later. Anyway, if you keep the goal in view, you will find ways to make your editing more and more effective.

    One last remark to remind you of what happens when people ignore all the above: I still see people who spend half their day behind a VDU looking up at their screen, then down at two fingers, then up at the screen, etc. - and then wonder why they get so tired... Type with ten fingers! It's not just faster, it also is much less tiresome. Using a computer program for one hour each day, it only takes a couple of weeks to learn to touch-type.

    Epilogue

    The idea for the title comes from the successful book "The 7 habits of highly effective people" by Stephen R. Covey. I recommend it to everyone who wants to solve personal and professional problems (and who doesn't?). Although some of you will claim it came from the Dilbert book "Seven years of highly defective people" by Scott Adams (also recommended!). See http://www.iccf.nl/click1.html and go to "recommended books and CDs".

    About the author

    Bram Moolenaar is the main author of Vim. He writes the core Vim functionality and selects what code submitted by many others is included. He graduated at the technical university of Delft as a computer technician. Now he mainly works on software, but still knows how to handle a soldering iron. He is founder and treasurer of ICCF Holland, which helps orphans in Uganda. He does freelance work as a systems architect, but actually spends most time working on Vim. His e-mail address: Bram AT Moolenaar.net.

    site hit counter

    real world FIND usage

    real world FIND usage

    from: http://www.wagoneers.com/UNIX/FIND/find-usage.html
    sudo find / -type f -name *.jpg  -exec cp {} . \;
     
    find . -type f -size +10000 -exec ls -al {} \;
    find . -atime +1 -type f -exec mv {} TMP \; # mv files older then 1 day to dir TMP
    find . -name "-F" -exec rm {} \;   # a script error created a file called -F 
    find . -exec grep -i "vds admin" {} \;
    find . \! -name "*.Z" -exec compress -f {} \;
    find . -type f \! -name "*.Z" \! -name ".comment" -print | tee -a /tmp/list
    find . -name *.ini
    find . -exec chmod 775 {} \;
    find . -user xuser1 -exec chown -R user2 {} \;
    find . -name ebtcom*
    find . -name mkbook
    find . -exec grep PW0 {} \;
    find . -exec grep -i "pw0" {} \;
    find . -atime +6
    find . -atime +6 -exec ll | more
    find . -atime +6 -exec ll | more \;
    find . -atime +6 -exec ll \;
    find . -atime +6 -exec ls \;
    find . -atime +30 -exec ls \;
    find . -atime +30 -exec ls \; | wc -l
    find . -name auth*
    find . -exec grep -i plotme10 {};
    find . -exec grep -i plotme10 {} \;
    find . -ls -exec grep 'PLOT_FORMAT 22' {} \;
    find . -print -exec grep 'PLOT_FORMAT 22' {} \;
    find . -print -exec grep 'PLOT_FORMAT' {} \;
    find . -print -exec grep 'PLOT_FORMAT' {} \;
    find ./machbook -exec chown 184 {} \;
    find . \! -name '*.Z' -exec compress {} \;
    find . \! -name "*.Z" -exec compress -f {} \;
    find /raid/03c/ecn -xdev -type f -print
    find /raid/03c/ecn -xdev -path -type f -print
    find / -name .ssh* -print | tee -a ssh-stuff
    find . -name "*font*"
    find . -name hpmcad*
    find . -name *fnt*
    find . -name hp_mcad* -print
    find . -grep Pld {} \;
    find . -exec grep Pld {} \;
    find . -exec grep Pld {} \;
    find . -exec grep PENWIDTH {} \; | more
    find . -name config.pro
    find . -name config.pro
    find /raid -type d ".local_sd_customize" -print
    find /raid -type d -name ".local_sd_customize" -print
    find /raid -type d -name ".local_sd_customize" -ok cp /raid/04d/MCAD-apps/I_Custom/SD_custom/site_sd_customize/user_filer_project_dirs {} \;
    find /raid -type d -name ".local_sd_customize" -exec cp /raid/04d/MCAD-apps/I_Custom/SD_custom/site_sd_customize/user_filer_project_dirs {} \;
    find . -name xeroxrelease
    find . -exec grep xeroxrelease {} \;
    find . -name xeroxrelease
    find . -name xeroxrelease* -print 2>/dev/null
    find . -name "*release*" 2>/dev/null
    find / -name "*xerox*" 2>/dev/null
    find . -exec grep -i xeroxrelease {} \;
    find . -print -exec grep -i xeroxrelease {} \;
    find . -print -exec grep -i xeroxrelease {} \; > xeroxrel.lis
    find . -exec grep -i xeroxrel {} \;
    find . -print -exec grep -i xeroxrel {} \;
    find . -print -exec grep -i xeroxrel {} \; | more
    find /raid/03c/inwork -xdev -type f -print >> /raid/04d/user_scripts/prt_list.tmp
    find . -exec grep '31.53' {} \;
    find . -ls -exec grep "31/.53" {} \; > this.lis
    find . -print -exec grep "31/.53" {} \; > this.lis
    find . -print -exec grep 31.53 {} \; > this.lis
    find . -exec grep -i pen {} /;
    find . -exec grep -i pen {} \;
    find . -print -exec grep -i pen {} \; | more
    find . -exec grep -i pen {} \;
    find . -atime +6 -exec ll | more \;
    find . -atime +6 -exec ll \;
    find . -atime +6 -exec ls \;
    find . -atime +30 -exec ls \;
    find . -atime +30 -exec ls \; | wc -l
    find . \! -name '*.Z' -exec compress -f {} \;
    find . -name 'cache*' -depth -exec rm {} \;
    find . -name 'cache*' -depth -print | tee -a /tmp/cachefiles
    find . -name 'cache[0-9][0-9]*' -depth -print | tee -a /tmp/cachefiles
    find . -name 'hp_catfile' 'hp_catlock' -depth -print | tee -a /tmp/hp.cats
    find . -name 'hp_catfile' -name 'hp_catlock' -depth -print | tee -a /tmp/hp.cats
    find . -name 'hp_cat*' -depth -print | tee -a /tmp/hp.cats
    find . -name 'hp_cat[fl]*' -depth -print | tee -a /tmp/hp.cats
    find /raid -name 'hp_cat[fl]*' -depth -print
    find . \! -name '*.Z' -exec compress -f {} \;
    find . -name '*' -exec compress -f {} \;
    find . -xdev -name "wshp1*" -print
    find . -xdev -name "wagoneer*" -print
    find . -name "xcmd" -depth -print
    find /usr/contrib/src -name "xcmd" -depth -print
    find /raid -type d -name ".local_sd_customize" -exec ls {} \; 
    find /raid -type d -name ".local_sd_customize" \
       -exec cp /raid/04d/MCAD-apps/I_Custom/SD_custom/site_sd_customize/user_filer_project_dirs {} \;