晓聪's profileLiLei和Han MeimeiPhotosBlogListsMore Tools Help

Blog


    1/9/2009

    穿越美国 1月8日

    早晨起来先去修车行给车换了一套机油+传动油,然后又找了一个shell加油站,加上V-power最高级的油,果然车辆有所改观,加速爬坡都爽歪歪。看来加油不能图便宜。
    翻过小山来到lake taheo,碧水白山。湖面非常大,四周都是白色的大雪山,雪山倒映在大湖中格外秀丽宁静。
    沿途欣赏美景,停车拍照,最后来到湖南岸的一家湖景饭店吃饭,饭很便宜,量很大,也很好吃,撑的我嗷嗷叫。吃饭的时候乌云来了,下雨,然后马上天晴,彩虹横跨大湖~~~~~~~~~~~~
    从湖区出来进入大山,发现一个adidas的专卖店,打折超多,狂买了一个多小时,满载而去。车上小睡2小时,晚上7点回到旧金山附近,然后我开车,狂奔7个半小时,下车的时候已经是美墨边境的圣迭戈,一晚上又纵穿了美国半次,就是这么牛。
    累的不行了,倒下睡,明天倒数第二站去圣迭戈海洋公园
    1/8/2009

    穿越美国1月4日至1月7日

    不是不想写,不是不想上传照片,实在是上网不方便加每晚累的一上床就睡着。趁着今天到宾馆早把最近四天行程简单总结一下。
    4日大家都起得早,两名成员去了san diego,我们就往旧金山进发了。这一天很悠闲,因为很清楚今天不可能到达旧金山,所以车开得不快,也很随意,想看什么就停下。沿着拉斯维加斯的I15向南开,一路都是荒山沙漠,阳光明媚,天空湛蓝。路上车多,车速不快,偶尔在车流中看到不同颜色的Nissan GTR,甚是养眼。中午饥饿,随意停在一个叫鬼城的地方,这是一个19世纪淘金者遗留在沙漠中的小城,矿工与淘金者早已不见,只剩下沙漠中饥饿的游客。小小体会了一下西部古老小镇以后继续上路。我心情好,不打算按照GPS开高速,于是随便挑了一条直向西的道路随意的开起来。这条路路面平整,但是地势高低起伏,两面都是沙漠。路上一辆车都没有,我把车开得飞快,每次过小山包都想坐过山车一样。爽着爽着,突然发现油快没有了,在这里一旦车抛了锚麻烦可大了,别说推车难找加油站,就算AAA来救援也不知道如何通报所处地点。我马上把GPS设置为走最近的路到最近的加油站,20英里!够远!循着GPS的路径就钻进了沙漠的土路。越向前开路越难走,地上石子沙土越来越多,车速越来越慢,最后竟然走成了,高矮不平的自然路,也就是鲁迅先生说的,世上本没有路,走的人多了也变成了路的那种路。这种路我还从来没走过,就算去年开大SUV钻山也没遇到过这么恶劣的情况。我小心的驾驶着我的corolla,争取四个轮子都能走在坑洼地的高处,很害怕一不留神把地盘卡住,彻底玩完。New York Local 之王就是强,以每小时不到1mile的速度向前挪动,车子上下颠簸左右摇晃,车前一片惨象,车后飞沙走石,油缸即将见底。有些地方实在没法过车,我就往长低矮植物的沙土上开。经过将近半个多小时的考验,我终于看到了前方有人的影子,随之路况也开始慢慢变好,等我开到近前发现,这个地方竟然是沙漠越野摩托训练场………………在这里的人都开有着半米高减震器的越野摩托和沙漠摩托,进来的汽车也是超大SUV或者大四轮皮卡。那些训练的人看到我开着红色的小花冠在他们训练场里颤悠悠的穿过都傻眼了。我不敢逗留太久,怕惹怒这帮英雄,迅速且灰溜溜的路过了……再过不久,又回到了高速路上,在油干之前来到了加油站。
    加满油,屡教不改的继续开小路一路向西,天黑后走出沙漠与大山,顺着洛杉矶西面的101公路向西南走,晚上在结婚圣地santa barbara吃了烤剑鱼,最后在Morror Bay的一间廉价海景房里沉沉睡去。
    5日一早从morro bay继续沿着1号公路向北。1号公路是美国另一条著名的公路,路东边是美丽的山林,路西是宽广的太平洋。我们在路上看到了海象海滩,一片海滩上,大大小小聚集了上百头海象在睡懒觉,海象虽然巨大凶猛,但是上百头凑在一起睡觉着实壮观,有些睡着了还能伸出小手挠痒痒,这种精彩的场面在动物园里是看不到的。再向前,车就进入了Los Padres国家森林,在这里我看到了我这辈子所看到的最美的风景,右手变是云雾缭绕青松翠绿的高山,左手边是百丈高的悬崖,悬崖下就是波涛汹涌的太平洋,小车就在外延曲折的山路上缓缓前行,我们不是被优美的风景吸引,停车拍照留念,有时大海蔚蓝平静,有时深黑且波涛汹涌,有时海面又被云层遮盖,像来到黄山之巅,而脚下有时海潮声。这条短短的山路我们留恋了6个多小时才通过。由于一路人烟稀少,我也有幸完成了“站的更高,尿的更远”的远大理想。等天完全黑下来的时候我们已经进入了旧金山市郊。顺着1号公路绕到金门大桥下,大桥已经下班,行人不得通过了。晚上在渔人码头吃了最著名的杀人蟹,饱腹后开上I 80east.这条路的最东边就是纽约的华盛顿桥,最西边就是旧金山的湾区大桥,走上I80 east 后我才真正意识到,我们已经驾车完全穿越了美利坚合众国~~
    晚上住在Fremont的宾馆,见到老友,心情很好,倒下又沉沉睡去
    6日早晨去硅谷华人聚集的狮子城吃了川菜,中午又回到了金门大桥,驾车穿过大桥,来到北湾的小山上俯视大桥与旧金山市,回想这个城市发生的点点滴滴小事,感受时光流逝。黄昏来到唐人街撒了撒野,早早回酒店斗地主去了。
    7日一早驱车绕湾区而行,瞻仰了google,微软后一路向北,回到曾经熟悉的UC Berkeley,在校园里留恋,买外套留念,我想这是我这辈子最后一次来UC伯克利了。下午来到伯克利北面的世界三大葡萄酒乡Napa品葡萄酒,品的晕晕乎乎没法开车,买了几瓶01年的Elu红酒做战利品,上车就睡了。等清醒过来已经进入加州与内华达交接的大雪山中。车已经很累了,累的加不上速了。我让车休息够了就把二号挤到副驾驶去,从小路直插Lake Tahoe边的Carson City.这里的山路没有1号公路那么蜿蜒,但是由于山势下降很快,开起来很有头文字D的感觉。几个大弯过的很爽,夜间的湖光山色无心欣赏,只盼明天一早快点到来。投宿与Carson City的Days Inn. 很累
    1/4/2009

    穿越美国2008.12.31-2009.1.3

    最近行程比较紧,加上太累,上网条件差所以好几天没有更新。现在集中说一说

    31日早晨从伤感的图森市出来,我们的车向南奔向美墨边境Nogales小镇,沿途上都是沙漠和高大的仙人掌,天气炎热,接近华氏80度,差不多摄氏20多度吧,我把车上的空调开了,还吃上了冰激凌,想想三天前还在南达卡塔的草原上顶着冰甲飞奔,觉得世界真的很奇妙。沿着19号高速往南开,小心的走到1A出口。如果再往前走就出美国了。从1A出口出来,有好几个路标,还好我眼快,从“Mexico Only”的道上左转回来,这才进了Nagoles小镇。这个小镇是完全墨西哥风格的,楼房,店面,行人,警察,噪音,天气,一律墨西哥风格。我们停车后走到边境检查站,检查站两边都是带着电网的高墙,墙外小山丘上的低矮破民房就是墨西哥了。一面红白绿相间的墨西哥国旗在烈日下懒洋洋的贴在旗杆上。一个个皮肤黝黑的“幸运的”墨西哥人,从检查站里鱼贯而出,脸上洋溢着高傲且得意的申请。而另一些墨西哥人只能扒着铁网往美国这边张望。我想,这就是国境了,国境之南未必比这边差,起码那边是墨西哥人的家。对面向这边望的墨西哥人也许心中想为什么当年美墨战争美国不把全墨西哥都侵占了,那多好。

    我们在边境检查站外拍照,结果引来边境警察。非让我们删了照片不可,我们欺负他是墨西哥裔,可能文化素质不高吧,假装删了拍的图片。真想不通为啥不让拍……

    Nagoles小镇上东西很便宜,一个大旅行包才3美金……,这跟国内的全部十元一律十元差不多了。小店铺里有一个兑换货币的,我用20美圆兑换了一大把墨西哥比索,服务的墨西哥小姑娘甜美漂亮,我给她20元毛爷爷当小费,她估计没见过毛爷爷,高兴的张大了嘴。照够了照片,晒够了太阳,开车往回,在快回到图森市之前,向西转上I8公路,这条路连接的是亚利桑那州的图森和加州的度假胜地圣地亚哥。I8公路绝大部分是长着烂草的沙漠,阳光毒辣。为了赶时间,我几乎I8全境保持90英里(160公里)的时速。路实在是直,车也少,不过寥寥几辆车里名车还真多,宝马奔驰都不算了,保时捷和Crovette我就超了两辆,还把人家Crovette给惹生气了,瞬间加速到200左右,在我前面怒吼着晃动。哈哈

    太阳从当午转向西又慢慢降到地平线,变成一个大火球,沙漠的天空被染成紫色、红色、黄色、深蓝色,沙漠也染成了五彩斑斓的颜色,怪不得这条路被称作Painted Desert.天黑透了,星星又跑出来了,一片一片的闪的我无心开车。黑暗中,我感觉爬山了,转圈了,又下山了,耳朵被忽高忽低的地势搞得很疼。当面前出现一大片耀眼的城市灯光,圣地亚哥是了。擦着城市边缘从I8公路转上I15公路,向北奔洛杉矶东边的Riverside而去,路上车辆很多,因为进入南加都市区了。一个多小时以后,在晚上9点半,我们到达了今天的目的地:小梅子家里。见到好几年没见的同学,又伤感了,当然也很高兴,小梅子夫妇给我们三人做了一桌子菜。不知是饿了还是小梅子手艺好,我吃了很多……

    南加人开车真猛,在ramp上就敢超车飙车,我心情好,不跟他们一般见识,否则弯道加速超车,那几个开小跑的毛孩子还真不是对手~~

    到了宾馆,我连脸都没洗,倒下就睡了,都忘了这是新年夜。我就是在睡梦中告别2008迎来2009

     

    2009第一天起床,太阳都晒到屁股了。南加的阳光过于明媚了,晒得人皮肤生疼。穿上夏天的衣服看着外面高大的棕榈树,心情格外爽。真想不到这是北方寒冬的一月。又来到小梅子家,小梅子正在包饺子,二号三号立刻加入包饺子的战斗,我加入吃饺子的战斗……二号西安男人,很是贤惠,竟然会用多余的饺子皮做拉面,沾醋很好吃。吃完后,五个人两辆车开奔东北方的内华达州的拉斯维加斯。拉斯维加斯离洛杉矶大约三个小时,路上还是沙漠,这个著名的赌城就建在沙漠中。这是个绝对灯红酒绿的城市,繁华妖媚到极致,路上每一个行人都面带奢侈糜烂的神情。我的小车在拥堵的车流中缓缓进入超五星级的Bellagio大赌场,门卫很有礼貌的对我微笑,微笑的很有些美元的味道。把房间开好以后五个人直奔楼下大赌场,到处都是老虎机,到处都是围桌赌钱的人。一到赌场大厅,五个人立马分道扬镳进入人群再也找不到了。我随便塞了20刀,玩玩Black Jack,一会就输光了,又塞了15刀,一会就剩10快了,看来十赌九输啊,哈哈。大家又聚到一起,去吃著名的自助餐,一人40刀,真贵。吃到撑死也没觉得多好吃。出来又回到赌场,二号三号都在赌桌上跟人赌Black Jack,我看了很久以后,也打算上桌尝试一下。不是打算赢钱,我在拿出50刀买筹码的时候就打算把它们都输进去的。50刀也就够玩5次的,按照我平时的运气和我对概率的掌握,我有信心跟别人赌,但是我相信在这里我绝对不会赢,果真,十几分钟,庄家就用超自然的高概率Black Jack把我的10个小筹码都收走了,呵呵。二号三号还一直抱怨庄家运气太邪,我才不抱怨呢,不输才不正常呢。拿着刚才剩下的10刀重回老虎机,拍了几局,算准了概率,三把就翻了三倍。拿着战果炫耀了一会,然后再扔进老虎机瞬间将它们都输进去后走人。我不想从赌场拿走一分钱,哪怕赢再多。二号三号已经输了几百了,还不死心。拽着所有人走出赌场看喷泉,Bellagio的喷泉宏大美丽,我不禁想起泉城广场~~在灯红酒绿的马路上转了很久也没有感兴趣的项目,二号嚷着看show,三号非要把钱赢回来,我去商店买了两幅扑克,和小梅子夫妇回到酒店房间里玩black jack,果然不出所料,在公平情况下,我赢小梅子夫妇所有的筹码,不到半小时。本想享受一下超五星级酒店的淋浴,结果有人在外敲门……洗了一分钟就作罢。夜里二号出去赌赢了160,据说一晚收支持平;三号虽然输了几百,不过买到了三号心仪很久的O show票。我极度劳累后睡得很香,超五星级的床垫软,超五星级的地板还不错~

    12日上午开一辆租来的Corolla 2009加上新加入的两位队员向东奔去,小梅子夫妇继续留在了赌城体验糜烂。不久来到胡夫水坝,这个水坝在北美洲占有几个之最,五个人噼哧扑哧的拍照留影,鼻子都冻的通红。我站在水坝顶端想把我的手机扔下去,看看他能不能变成“声波”。玩完水坝,继续向东,目标科罗拉多大峡谷。由于峡谷周围旅馆太贵,天黑后投宿峡谷外60英里的Williams小镇,小镇上的烧牛肉很不错,吃完回到宾馆小木屋里斗地主,一如既往,我又赢了几块钱~~

    13日一早告别小木屋向北进入峡谷区,路上开始下小雪。中午时分进入大峡谷公园,公园里雪很大,地上积满雪,车辆一压,奇滑无比。把车停在路边步行数十步,雄伟壮丽的科罗拉多大峡谷迎面扑来,冲破眼眶。这种雄伟绝对不是“决眦入归鸟”可以形容的。我无法想出语言来形容大峡谷的雄壮与美丽,只能感叹上帝造物的伟大。所以等我整理图片吧。如果有机会还是自己亲自来体验一下。今天峡谷下大雪,想走到谷底不可能了,主要是一行五人。非常遗憾。如果说有人想成为party中的女王,有人想成为赌场中的赌神,而我就希望能把自己放在这数十亿年的峡谷中,在里面挑战极限,努力生存。如果有一天我在大自然中迷路了,我的目标就是希望能做百兽之王。

    从峡谷出来天还早,大家讨论了一下决定继续往东,去看Meteor Crater陨石坑。弥补前几天没有看到的遗憾,向东开一路大雪,这种路当然是又我来开,虽然驾龄不长但是也有了上千公里开各种雪地的经验。到达陨石坑时天还很亮。兴奋地往里跑。被抢了15刀门票……坑没有想想中那么大,不过也是大的出奇了。大家都觉得失望,我觉得还好,顶着寒风看坑的形状:这个坑是5万年前一颗45米直径的陨石从东北往西南方向砸的,砸了一个将近2公里宽220米深的大坑,砸下去后,亚利桑那州大部分地方全都烧焦了。15刀门票,自得其乐。回程还有300英里,亚利桑那州境内,大雪纷飞,我小憩了一会,喝了瓶能量水,顶着大雪一路开回拉斯维加斯,赶上了3号晚上10点半的O show. 其他人又投入到灯红酒绿的夜生活中,我赶快回到酒店,洗了个热水澡,写写QZONE,准备睡觉。拉斯维加斯,不属于我,也没有任何交点。

    穿越美国第五天

    早晨10点就上路了,沿着最著名的66号公路穿城而出,albuquerque很快被抛在了身后,这座墨西哥风格的城市给我留下的印象就是墨西哥。向回望,albuquerque被雪山环抱,向前望一片长满乱草的沙漠高原,怪石山不时出没在道路两旁。为了走的更有意义,我们将车开上了历史上的66号公路,这是一条路面干裂甚至很多地方只有沙土的道路。66号公路曾经是美国最长的公路,从加州通到芝加哥,贯穿大半个美国。路上不时停车,触摸道路两旁的沙土和石头。中午到了Gallup镇,这里跟亚利桑那州交界。在镇上吃了墨西哥式的午餐,很撑很撑。饭后继续向西行进,傍晚到了一个巨大的陨石坑公园,可惜晚了半个小时,我们没法进入坑内,甚是遗憾。天黑下来,转上I17公路向南到凤凰城,这一路都是从高原往下俯冲,很快就降了1000米,耳朵难受的厉害。晚上8点半到了凤凰城,找了个地方逛街,随便买点东西后就继续往南,晚上投宿在最南部的大城市图森Tucson.来这里主要是为了见一个朋友。见到她回想起很多事情,不知道说什么好,很伤感,晚上还做了伤感的梦。明天去美墨边境看看,晚上回到达洛杉矶,跟大学同学汇合,明天是最后一天长途跋涉。之后就是短程旅游了。
    12/30/2008

    穿越美国第四天

    前天太累,结果今早晨睡到11点才起来。拉开窗帘,科罗拉多灿烂阳光驱散了疲惫的情绪。开车一上路就被城市西边连绵的落基山脉震撼。这是第一次看到高耸入云终年积雪的山峰。下午在山脚下的Golden City小憩,找了一家有情趣的Pizza店,面对着落基山吃Pizza,酒足饭饱后开车进入落基山脉。蜿蜒的公路在崇山峻岭中时隐时现,不过多久就会出现一个山中的小城镇。转入一个山中小镇,沿着羊肠小路将车开到山顶,终于在海拔2860米的小山顶,拍到了远处积雪的山峰。
    顺着盘山公路下山回到丹佛市外已经日薄西山,夕阳映照在丹佛市上,把一切染成金黄色,无怪乎丹佛被称为San Francisco之外的另一个淘金城。虽然只有短短的一下午,对丹佛留下了很好的印象:明媚的阳光,悠闲的小镇,好吃的Pizza,巍峨的雪山,繁华的城市,蜿蜒的山路。
    最后一丝阳光消失的那一刻,我们的车转上了I25公路,一路笔直向南,一路人烟稀少,路面有些发暗红色。周围一片漆黑,但是我们猜测我们已经进入沙漠地区了。夜里12点整到达新墨西哥州首府Albuquerque,一个很有墨西哥风情的城市。
    明天又是新的一天,明天不但沿途有怪石,史前巨型石刻,仙人掌,沙漠更重要的将会遇到多年没见的一个朋友。目的亚利桑那州Tucson.
    12/29/2008

    穿越美国第二、第三天

    第二天和第三天上午

    早晨9点起床,下楼吃点垃圾早餐,10点整上路。从toledochicargo大约有四个小时路程。这段路程我睡觉。因为没有出美东都市区所以一路上没有什么奇怪的,睡得还算安稳。快要出密歇根州的时候,时间向前拨一小时。因为进入了中部时区。下午2点左右到达芝加哥。直奔芝加哥市中心最好的牛排店。结果白天不上班。我们就把车停在超市门口进去购物然后出来溜达一小圈,几分钟回来后发现车没有了。被商店人通知因为超时停车,车被拖走了。太过分了,出了超市一共溜达了不到5分钟!!打电话问清取车地点,这是一辆出租车停在面前,很熟练的问我们是不是要去取车,20快钱!走了很久才到了拖车厂,什么都不想争论,交了170快钱取车走人!真是一个赚钱的产业链啊!回到牛排店,已经快黑天了。吃了一顿美国排名前十的牛排,很好吃很爽!因为吃牛排时摆弄一顶奥巴马的帽子,结果被服务员警告:非绅士行为…………

    吃晚饭冒雨在芝加哥市内转悠,随便拍了点照。感觉芝加哥真的好烂……人还坏(拖车事件)所以说如果你恨一个人就把她带到纽约去,如果你恨死她了,就把她扔到芝加哥吧!

    晚上720开车出芝加哥,目标南达塔卡州Sioux Falls市。因为第二天下午期望能够开到南达卡塔的rapid city然后去看总统头像巨石。结果车刚出芝加哥就开始下雨,走了3个小时进入威斯康辛州的时候天降大雪!看了好几天天气预报,应该是没有雪的。我判断,这是一场小范围短时间的大雪。如果加速冲出去一切都会顺利,如果被困住可能就要困两天。于是趁着地面还没有积雪,开足马力顺着I90向前冲。这样冲了一小时,地上终于积雪了,车速放缓,有些打滑。我远远地跟着前方大SUV的轮印,打开车内两个GPS和天气预报装置,趁着前方轮印没有被覆盖的时候向西继续行进。终于在夜里12点半冲到密西西比河畔。我预料的没错,到了密西西比和立刻雪就停了。面前出现黑乎乎一座大山……

    I90穿山很平稳,高度计显示我们的海拔一直在不断上升。耳朵有一些鼓胀的感觉。我的车很争气,一鼓作气冲出大山,这时已经夜里1点多离开芝加哥340英里(550公里)了,但是离Sioux falls市还有240英里(390公里)。立刻上网搜索Sioux Falls附近的旅馆,但是打电话预定都说明早10点必须要check out,这样的话我们如果4点到,简单休息几个小时就被赶出来,那第二天可怎么上路?

    我让二号驾驶立刻睡觉,养精蓄锐。我又向前开了1个小时,到了离Sioux Falls还有两个小时路程的时候,我换到后座睡觉。我的计划是今晚体力都好,都不累,大家都是夜猫子,所以尽量向前开。等我7点的时候被晃醒过来已经离目的地rapid city只有大约两个半小时了。我问为啥晃,竟然是压死了一只冲车灯跑来的小白兔。我自己已经很清醒了,让他去休息,我接替过来继续开。这时时钟显示早晨640,天还是一片漆黑。我想应该是改用GMT-7山区时间了,于是将表拨回540。他们又睡了,我找个国内的聊电话继续开。不久东方就鱼肚白了,隐约看到周围的空旷。停车下来一看原来是进入大草原了…… 四周都是地平线。草原日出特别美,周围的云彩都是紫色的。不知道怎么描述,改天看照片吧。凌晨3点外面的温度降到9F-13°c)车上蒙上了一层结实的冰甲。

     

    上午9点到达Rapid city,这是一个典型的中北部小镇,西南都是大山,东北是草原。城里看不到住宅,除了大卡车就是修车铺,可能是一个货物中转站吧。在这个城里找了一家沃尔玛把车油换了换,然后就像西南边的大山里开去,转了好久才找到我们来南达卡塔的真正目的地,Mt. Rushmore,就是有四个总统头像的大山。就像自由女神像一样,看过一次就再也不想去,但是总要去看一次。

    看完总统头,我们面临选择,是返回rapid city然后顺着I90西行绕过山然后再向南到丹佛,还是直接穿山走Route385去丹佛,区别是,穿山要370英里(600公里),绕山虽然高速安全,但是要走600多英里(966公里)并且夜里不好投宿,沿途城市太少。已经熬了一夜经不起折腾了。于是穿山。

    山路不像想象的那么难走,绕来绕去,绕的优美而温和,绕了一个小时就豁然开朗。这时我已经睡觉了。等被人叫起来的时候太阳已经往西边去了。两边是一望无际的大草原,草原上有一群群野生的牦牛,还有些走到了公路上,我们不得不停下来给它们让路。牦牛特别温顺,看到人也不怕,还摆出动作让人拍照。查了查地图才知道Route385两边是印第安人保护区。这个保护区长180英里(290公里)。保护区里我们看了日落还看到美丽的云彩。太阳落下去天全黑了以后,下车仰望星空,看到了壮丽的银河。原来~天上有那么多星星,我从来都没见过也不知道。

    开出保护区不久,就找到了I76通往丹佛的高速公路,上路走了一会我又睡着了。等醒来已经到了酒店,四星级的,还超便宜。进屋连饭都懒得出去买了,就想好好睡觉。

    27日早晨10点到28日晚上9点,我们从俄亥俄的Toledo到了伊利诺伊的Chicargo,往北在威斯康辛遇到大雪,突破封锁,穿过草原到达南达卡塔的rapid city,翻山去看总统山,穿越印第安人保护区最后直达科罗拉多的丹佛,总行程1608英里(2589公里)历时35小时。欣赏到绝世美景,克服重重困难,为接下来的行程赢得了大量富裕时间。在此像二号驾驶员李波和勤杂秘书nala致敬,向李波压死的小兔子至爱。

    明日目的地:新墨西哥州alburquerque!牛仔~我们来了!

    12/27/2008

    穿越美国第一天

    今天早晨起来吃饭,收拾,接人,送人,搞到11点半才出发,在唐人街转了一圈然后直奔我以前工作的餐馆,吃了最后一顿工作餐,然后在2点半正式上I80 west向西开去。一路风景无奇,就是普通的高速路,周围是小丘陵,好的风景都在后面呢。路上有时候下点小雨,有时候多云,但是基本都很惬意,车上得人不停聊天,一点都不困。本打算开到克利夫兰就休息,结果多开了2小时。到了俄亥俄的Toledo。这是俄亥俄与伊利诺交接的一个小镇,五大湖之一Erie湖的最西岸,离底特律和美加边境一小时路程。因为到这里是夜里12点整,下一点海港雾,所以风景要到明天早晨看了。
    体力好就猛跑,人好车也好。今天一个人开了597英里(960公里),并没有觉得疲劳。还带了一个按摩椅垫,能按摩背部,很舒服。

    明天看完小港口就直奔芝加哥,晚上争取出芝加哥在西边过夜。

    http://maps.google.com/maps?daddr=1154+Professional+Dr,+Perrysburg,+OH+43551&geocode=&dirflg=&saddr=3359+161st+St,+Queens,+NY+11358&f=d&sll=41.551258,-83.6063&sspn=0.008174,0.019312&ie=UTF8&ll=41.19519,-78.09082&spn=8.412844,19.775391&z=6

    点击查看今日行程
    9/13/2008

    test

    姓名:许晓聪
    性别:男
    出生:公元1981年9月9日17时35分(阳历)
    农历:一九八一年八月十二日酉时
    当月节气:白露(9月8日1:42); 中气:秋分 (9月23日10:57)
    生辰八字:辛酉年 丁酉月 庚寅日 乙酉时


    一、你的八字命盘

    下列是你的八字命盘。你是白虎,出生於白鸡年。 日天干代表你,所以你是属
    年 (祖先) 月 (父母) 日 (自己) 时 (子孙)
    阴金阴金阴金 阴火阴火阴火 阳金阳金阳金 阴木阴木阴木
    鸡鸡白鸡 鸡鸡红鸡 虎虎白虎 鸡鸡绿鸡

    八字命盘从阴阳干支三合历取得。上排是天干,由五行「金水木火土」轮流排列。下排是地支,用十二生肖顺序排列。十二生肖可转换成五行。

    二、你的五行得分和喜神

    下列算出你命盘中五行的分数
    五行 木 木 (日主自己) 火 火 (体智外泄) 土 土 (钱财享受) 金 金 (职位压力) 水 水 (保护求知)
    分数 17 13 0 60 0

    八字五行得分情况:
    土0; 金60; (同类得分:60)
    木17; 火13; 水0; (异类得分:30)
    相差:30  综合旺衰得分:30  八字过硬
    八字喜用神:八字过硬,八字喜水,就是此命的「喜神」。


    八字论命是在找五行阴阳的平衡。同类和异类得分基本相同时,五行阴阳较平衡,一生较顺利。当同类和异类得分相差过大时,人生八字就过硬或过弱,一生起伏较大。喜神的选择一般从得分最少的哪一类中选取,此类中值最少的五行就是你的「喜神」或称「有用之神」。当「喜神」来自流年或大运时,命盘的五行会较平衡。平衡的五行较不会打架。换言之,不愉快的事会减到最低点,那一年就会较幸运。八字就是从这个平衡理论,去分析人一生的起落。这里,我们就选当做此命的「喜神」。


    三、你的大运

    出生后从0岁6月19天上运,逢壬、丁年的惊蛰后第21日(公历3月27日前后)交运。
    在交运期前后您的命运将有重大的改变和吉凶极端的际遇,凡事宜谨慎!

    大运十神:  七杀  正财   偏财  伤官   食神   比劫  比肩   正印
    大运干支:  丙申  乙未   甲午  癸巳   壬辰   辛卯  庚寅   己丑
    交运年份: 1982  1992  2002  2012  2022  2032  2042  2052
    交运年龄: 1   11   21   31    41   51   61   71


    四、 近十年运气

    2005年 2月 4日~2006年 2月 4日:
    改换门闾事更新,锦衣玉食福乃臻。
    财源广进,工作顺利,好运。男性益妻。
    十神为正财:其表象范围大都与财产、金钱,以及父亲、男性的妻子或女友等有关。
    吉象:财运亨通,有比平时较多求财的机遇。父亲较有利,或容易交上女友,姻缘不错。
    凶象:易引起财产或金钱纠纷,意外破耗。财多伤母克妻,易发生感情破裂。

    2006年 2月 4日~2007年 2月 4日:
    牡丹原是百花王,开向人间分外香。
    工作浮动,防小人暗算,驾车谨慎,夜勿远走。
    十神为七杀:其表象范围大多与武职、军衔、诉讼、外敌、建筑,以及儿女、女性的情人等有关。
    吉象:做事干脆利落,工作效率高,较易文成武就。侠义助人受人感激,名声显赫,有地位或有权威。
    凶象:个性太张扬,聪明反被聪明误,自己容易受损失。生活起伏较大,身体易受伤残。女性早婚不利。

    2007年 2月 4日~★2007年 3月 27日:
    嫩竹出竿风势恶,全凭老竹傍其身。
    财源广进,有购置建设等好事。女性益夫。
    ★2007年 3月 27日~2008年 2月 4日:
    贵并刘宽富石崇,富贵能有几人闻。
    收入高,有购置建设等好事。女性益夫。
    十神为正官:其表象范围大多与职位、名誉、权力、事业竞争、上司,以及子女、女性的丈夫或男友等有关。
    吉象:职位权力易稳固或上升,官司易获胜诉或平反,学业或事业较顺利。男性较易获得子女尊重。女性的丈夫较有地位或权威。
    凶象:易遭诽谤财受损,易发生是非争执,影响职位、名誉,兄弟姐妹易发生刑伤。女性之丈夫或男友易有不利事。

    2008年 2月 4日~2009年 2月 4日:
    老之将至君不知,有灾有难侵人危。
    财源一般,防小人暗算,有钱宜购置,平运。
    十神为偏印:其表象范围大多与学术研究、爱好特长,以及长辈、 贵人、母亲等有关。
    吉象:较易得贵人帮助,爱好特长易发挥,学术研究较易有成就。
    凶象:学业或事业有波折,生活不安定,名誉有损,或母亲有事。不利子女,易发生交通事故。

    2009年 2月 4日~2010年 2月 4日:
    橘井泉香丹现色,杏花春暖玉生辉。
    财运通,威望高,有贵人扶持,幸运。
    十神为正印:其表象范围大多与学业、艺术,以及长辈、师长、母亲、女婿等有关。
    吉象:自己的天赋较易发挥,学业艺术方面有发展。
    凶象:劳神费心,工作受自己的情绪影响较大,女性不利子女。

    2010年 2月 4日~2011年 2月 4日:
    事须三思而后行,不可自作误聪明。
    运如浮萍,不凶不吉平稳。益同胞之运。
    十神为比肩:其表象范围大多与本身的事业、思想言行、决策、健康安全,以及兄弟姐妹、同学、同事、朋友、近邻等有关。
    吉象:个性张扬,事业心较强,勇于向不利环境挑战,在异乡较顺利,较得朋友之助力。
    凶象:易争强斗胜、独断专行,常遭小人陷害,或受兄弟姐妹、同事或朋友拖累而破财,合作事业易散伙,父亲受牵累。夫妻易生是非。

    2011年 2月 4日~2012年 2月 4日:
    不料支来蔽明月,谁知冷雪透衣襟。
    防体差,冲财忌远道求财,宜守旧业。
    十神为比劫:其表象范围大多与本身的思想言行、陈规陋习、决策计划,以及朋友、同辈、兄弟姐妹等有关。
    吉象:理想远大,进取心强,有主见,敢于与不良现象作斗争。
    凶象:不容易听取别人的意见,固执已见、独断专行,多招惹诽谤有伤名誉。做事没有恒心,说的多做的少。易染上酗酒赌博等恶习。男性要防婚变,女性婚期早不利。

    2012年 2月 4日~★2012年 3月 27日:
    早岁发财如饮水,中年得利似雷鸣。
    财运通收入高,办事能就,幸运。
    ★2012年 3月 27日~2013年 2月 4日:
    六阴极处水凝冰,造物分明未有形。
    大得幸运,财源亨通,谋事能就。
    十神为食神:其表象范围大多与开业迁居、文学写作、自由职业、专业技术,以及子女、学生、下属、性欲等有关。
    吉象:学业事业较易进步和成功,天赋较易发挥。爱情也较易产生和进展,易交桃花运。女性较易怀胎生育。
    凶象:聪明易被聪明误,产生矛盾,引起官司诉讼。外表光华内里平淡,防过度劳神而损身心;盲目追求爱情而有损名誉及事业。男女要防矛盾和婚变。

    2013年 2月 4日~2014年 2月 4日:
    红颜命薄一树花,春风已抱曲琵琶。
    冲财,防与人发生纠纷,生风波。女性损夫运。
    十神为伤官:其表象范围大多与理想追求、爱好特长、文学技术、公共关系、迁移调动,以及儿女、学生、晚辈、部属、性欲等有关。
    吉象:比平时有较高的智慧和才能,聪明智谋多,在音乐艺术、爱好特长方面较易成功。
    凶象:本性过度暴露,惹事生非好管事,易与人产生过节,孤独寂寞。男性易盲目追求爱情而有损名誉及事业。女性防婚姻不顺利。

    2014年 2月 4日~2015年 2月 4日:
    晓望山前雾色开,俄然风起雨又来。
    财运一般,有得有失,存款宜购置。
    十神为偏财:其表象范围大都与商业、财产、金钱,以及父亲、男性的情人、女性的婆婆等有关。
    吉象:人缘好口碑佳,生意买卖比较顺利,富裕发达。男性风流豪爽,易得女人喜欢。
    凶象:本地求财不易得,财虽多但不易存下,婚姻感情易变。

    2015年 2月 4日~2016年 2月 4日:
    良马努因离险路,梅花今已发阳春。
    有发展,树威信,财源通。男性益妻。
    十神为正财:其表象范围大都与财产、金钱,以及父亲、男性的妻子或女友等有关。
    吉象:财运亨通,有比平时较多求财的机遇。父亲较有利,或容易交上女友,姻缘不错。
    凶象:易引起财产或金钱纠纷,意外破耗。财多伤母克妻,易发生感情破裂。


    五、 近十二月运气

    2008年 6月 6日~2008年 7月 7日:
    风出不堪云淡淡,花开无奈雨淋淋。
    小伤威信,忌赌,守为吉。
    十神为偏印:其表象范围大多与学术研究、爱好特长,以及长辈、 贵人、母亲等有关。
    吉象:较易得贵人帮助,爱好特长易发挥,学术研究较易有成就。
    凶象:学业或事业有波折,生活不安定,名誉有损,或母亲有事。不利子女,易发生交通事故。

    2008年 7月 7日~2008年 8月 8日:
    风弄竹声惊犬吠,月移花影惹鸡鸟。
    工作顺利,财运通,有购置建设等好事。
    十神为正印:其表象范围大多与学业、艺术,以及长辈、师长、母亲、女婿等有关。
    吉象:自己的天赋较易发挥,学业艺术方面有发展。
    凶象:劳神费心,工作受自己的情绪影响较大,女性不利子女。

    2008年 8月 8日~2008年 9月 8日:
    终日持竿不得鱼,江中风雨草萋萋。
    平运,财源一般,青年时代有同胞好坏事牵涉本人财帛。
    十神为比肩:其表象范围大多与本身的事业、思想言行、决策、健康安全,以及兄弟姐妹、同学、同事、朋友、近邻等有关。
    吉象:个性张扬,事业心较强,勇于向不利环境挑战,在异乡较顺利,较得朋友之助力。
    凶象:易争强斗胜、独断专行,常遭小人陷害,或受兄弟姐妹、同事或朋友拖累而破财,合作事业易散伙,父亲受牵累。夫妻易生是非。

    2008年 9月 8日~2008年 10月 8日:
    花开遇雨无颜色,月明偶被黑云遮。
    冲财体差,宜守旧业,办事生挫折。
    十神为比劫:其表象范围大多与本身的思想言行、陈规陋习、决策计划,以及朋友、同辈、兄弟姐妹等有关。
    吉象:理想远大,进取心强,有主见,敢于与不良现象作斗争。
    凶象:不容易听取别人的意见,固执已见、独断专行,多招惹诽谤有伤名誉。做事没有恒心,说的多做的少。易染上酗酒赌博等恶习。男性要防婚变,女性婚期早不利。

    2008年 10月 8日~2008年 11月 7日:
    走过江山又是关,道途跋涉事艰难。
    有贵人扶持,收入高,工作顺序。
    十神为食神:其表象范围大多与开业迁居、文学写作、自由职业、专业技术,以及子女、学生、下属、性欲等有关。
    吉象:学业事业较易进步和成功,天赋较易发挥。爱情也较易产生和进展,易交桃花运。女性较易怀胎生育。
    凶象:聪明易被聪明误,产生矛盾,引起官司诉讼。外表光华内里平淡,防过度劳神而损身心;盲目追求爱情而有损名誉及事业。男女要防矛盾和婚变。

    2008年 11月 7日~2008年 12月 7日:
    虚名虚利而不成,浪足迹萍踪已半生
    。财运不通,对长辈不利或防官非,不可远道求财。。
    十神为伤官:其表象范围大多与理想追求、爱好特长、文学技术、公共关系、迁移调动,以及儿女、学生、晚辈、部属、性欲等有关。
    吉象:比平时有较高的智慧和才能,聪明智谋多,在音乐艺术、爱好特长方面较易成功。
    凶象:本性过度暴露,惹事生非好管事,易与人产生过节,孤独寂寞。男性易盲目追求爱情而有损名誉及事业。女性防婚姻不顺利。

    2008年 12月 7日~2009年 1月 6日:
    处处鸡鸟两分飞,拆断佳人不济眉。
    防财物丢失,收入一般,平运。
    十神为偏财:其表象范围大都与商业、财产、金钱,以及父亲、男性的情人、女性的婆婆等有关。
    吉象:人缘好口碑佳,生意买卖比较顺利,富裕发达。男性风流豪爽,易得女人喜欢。
    凶象:本地求财不易得,财虽多但不易存下,婚姻感情易变。

    2009年 1月 6日~2009年 2月 4日:
    龙下碧潭添秀色,虎逢山谷转精神。
    大吉大利,一航风顺,好运。男性益妻。
    十神为正财:其表象范围大都与财产、金钱,以及父亲、男性的妻子或女友等有关。
    吉象:财运亨通,有比平时较多求财的机遇。父亲较有利,或容易交上女友,姻缘不错。
    凶象:易引起财产或金钱纠纷,意外破耗。财多伤母克妻,易发生感情破裂。

    2009年 2月 4日~2009年 3月 6日:
    文质彬彬君子志,趋庭诗礼习儒宗。
    生风波,不可远方求财,驾车谨慎,夜勿远走。
    十神为七杀:其表象范围大多与武职、军衔、诉讼、外敌、建筑,以及儿女、女性的情人等有关。
    吉象:做事干脆利落,工作效率高,较易文成武就。侠义助人受人感激,名声显赫,有地位或有权威。
    凶象:个性太张扬,聪明反被聪明误,自己容易受损失。生活起伏较大,身体易受伤残。女性早婚不利。

    2009年 3月 6日~2009年 4月 5日:
    好似花开当午日,犹如嫩柳遇春风。
    一航风顺,财源广进。女性益夫。
    十神为正官:其表象范围大多与职位、名誉、权力、事业竞争、上司,以及子女、女性的丈夫或男友等有关。
    吉象:职位权力易稳固或上升,官司易获胜诉或平反,学业或事业较顺利。男性较易获得子女尊重。女性的丈夫较有地位或权威。
    凶象:易遭诽谤财受损,易发生是非争执,影响职位、名誉,兄弟姐妹易发生刑伤。女性之丈夫或男友易有不利事。

    2009年 4月 5日~2009年 5月 5日:
    风漾柳枝无气力,淡时月影未分明。
    防小人暗算,不可赌博,守为吉。
    十神为偏印:其表象范围大多与学术研究、爱好特长,以及长辈、 贵人、母亲等有关。
    吉象:较易得贵人帮助,爱好特长易发挥,学术研究较易有成就。
    凶象:学业或事业有波折,生活不安定,名誉有损,或母亲有事。不利子女,易发生交通事故。

    2009年 5月 5日~2009年 6月 6日:
    口念弥陀不脱尘,在家修道敬鬼神。
    收入高,有购置好事,但须防破失,守旧业为好。
    十神为正印:其表象范围大多与学业、艺术,以及长辈、师长、母亲、女婿等有关。
    吉象:自己的天赋较易发挥,学业艺术方面有发展。
    凶象:劳神费心,工作受自己的情绪影响较大,女性不利子女。


    六、 对你的忠言

    喜神是 趋吉避凶的忠言

    1、四柱喜水,有利的方位是北方(以父出生地为基准),不利南方,中南;其人喜黑色,不利黄色,喜居住坐北朝南的房子,床的放置南北向,床头在北。

    2、取名用字五行属水的有利。

    3、四柱喜水, 应从事与水有关的事业或职业为宜, 如外勤职务, 奔波流动性事业, 制冰, 冷藏, 行海, 旅游, 运动家, 记者, 旅社等。 事业发展利北、西北, 不利中南。

    4、吉祥数字为: 0 9

    5、吉利楼层末位数为:1 6
    8/3/2008

    空间暂时不用了

    因为好像被国内给封掉了,冤枉阿
     
    暂时用 11949155.qzone.qq.com
    谁要是在国内能访问这里就告诉我
    7/27/2008

    Java串口通信详解

    序言
        说到开源,恐怕很少有人不挑大指称赞。学生通过开源代码学到了知识,程序员通过开源类库获得了别人的成功经验及能够按时完成手头的工程,商家通过开源软件赚到了钱……,总之是皆大欢喜。然而开源软件或类库的首要缺点就是大多缺乏详细的说明文档和使用的例子,或者就是软件代码随便你用,就是文档,例子和后期服务收钱。
                                                                                        
         这也难怪,毕竟就像某个著名NBA球员说的那样:“我还要养家,所以千万美元以下的合同别找我谈,否则我宁可待业”。是啊,支持开源的人也要养家,收点钱也不过分。要想既不花钱又学到知识就只能借助网络和《程序员》杂志了J,我只是想抛砖引玉,为开源事业做出点微薄共献,能为你的工程解决哪怕一个小问题,也就足够了。
    虽然我的这个系列介绍的东西不是什么Web框架,也不是什么开源服务器,但是我相信,作为一个程序员,什么样的问题都会遇到。有时候越是简单的问题反而越棘手;越是小的地方就越是找不到称手的家伙。只要你不是整天只与“架构”、“构件”、“框架”打交道的话,相信我所说的东西你一定会用到。

    嵌入式系统或传感器网络的很多应用和测试都需要通过PC机与嵌入式设备或传感器节点进行通信。其中,最常用的接口就是RS-232串口和并口(鉴于USB接口的复杂性以及不需要很大的数据传输量,USB接口用在这里还是显得过于奢侈,况且目前除了SUN有一个支持USB的包之外,我还没有看到其他直接支持USB的Java类库)。SUN的CommAPI分别提供了对常用的RS232串行端口和IEEE1284并行端口通讯的支持。RS-232-C(又称EIA RS-232-C,以下简称RS232)是在1970年由美国电子工业协会(EIA)联合贝尔系统、调制解调器厂家及计算机终端生产厂家共同制定的用于串行通讯的标准。RS232是一个全双工的通讯协议,它可以同时进行数据接收和发送的工作。
    目前,常见的Java串口包有SUN在1998年发布的串口通信API:comm2.0.jar(Windows下)、comm3.0.jar(Linux/Solaris);IBM的串口通信API以及一个开源的实现。鉴于在Windows下SUN的API比较常用以及IBM的实现和SUN的在API层面都是一样的,那个开源的实现又不像两家大厂的产品那样让人放心,这里就只介绍SUN的串口通信API在Windows平台下的使用。
    到SUN的网站下载javacomm20-win32.zip,包含的东西如下所示:
    按照其使用说明(Readme.html)的说法,要想使用串口包进行串口通信,除了设置好环境变量之外,还要将win32com.dll复制到<JDK>\bin目录下;将comm.jar复制到<JDK>\lib;把javax.comm.properties也同样拷贝到<JDK>\lib目录下。然而在真正运行使用串口包的时候,仅作这些是不够的。因为通常当运行“java MyApp”的时候,是由JRE下的虚拟机启动MyApp的。而我们只复制上述文件到JDK相应目录下,所以应用程序将会提示找不到串口。解决这个问题的方法很简单,我们只须将上面提到的文件放到JRE相应的目录下就可以了。
    值得注意的是,在网络应用程序中使用串口API的时候,还会遇到其他更复杂问题。有兴趣的话,你可以查看CSDN社区中“关于网页上Appletjavacomm20读取客户端串口的问题”的帖子。
    这是用于描述一个被底层系统支持的端口的抽象类。它包含一些高层的IO控制方法,这些方法对于所有不同的通讯端口来说是通用的。SerialPort 和ParallelPort都是它的子类,前者用于控制串行端口而后者用于控这并口,二者对于各自底层的物理端口都有不同的控制方法。这里我们只关心SerialPort。
    这个类主要用于对串口进行管理和设置,是对串口进行访问控制的核心类。主要包括以下方法
    l         确定是否有可用的通信端口
    l         为IO操作打开通信端口
    l         决定端口的所有权
    l         处理端口所有权的争用
    l         管理端口所有权变化引发的事件(Event)
    这个类用于描述一个RS-232串行通信端口的底层接口,它定义了串口通信所需的最小功能集。通过它,用户可以直接对串口进行读、写及设置工作。
    大段的文字怎么也不如一个小例子来的清晰,下面我们就一起看一下串口包自带的例子---SerialDemo中的一小段代码来加深对串口API核心类的使用方法的认识。
    void listPortChoices() {
                CommPortIdentifier portId;
                Enumeration en = CommPortIdentifier.getPortIdentifiers();
                // iterate through the ports.
                while (en.hasMoreElements()) {
                    portId = (CommPortIdentifier) en.nextElement();
                    if (portId.getPortType() == CommPortIdentifier.PORT_SERIAL) {
                        System.out.println(portId.getName());
                    }
                }
                portChoice.select(parameters.getPortName());
            }
    以上代码可以列举出当前系统所有可用的串口名称,我的机器上输出的结果是COM1和COM3。
    串口一般有如下参数可以在该串口打开以前配置进行配置:
    包括波特率,输入/输出流控制,数据位数,停止位和齐偶校验。
    SerialPort sPort;
    try {
                sPort.setSerialPortParams(BaudRate,Databits,Stopbits,Parity);
                         //设置输入/输出控制流
                         sPort.setFlowControlMode(FlowControlIn | FlowControlOut);
            } catch (UnsupportedCommOperationException e) {}
    对串口读写之前需要先打开一个串口:
    CommPortIdentifier portId = CommPortIdentifier.getPortIdentifier(PortName);
    try {
                SerialPort  sPort = (SerialPort) portId.open("串口所有者名称", 超时等待时间);
            } catch (PortInUseException e) {//如果端口被占用就抛出这个异常
                throw new SerialConnectionException(e.getMessage());
            }
    //用于对串口写数据
    OutputStream os = new BufferedOutputStream(sPort.getOutputStream());
    os.write(int data);
    //用于从串口读数据
    InputStream is = new BufferedInputStream(sPort.getInputStream());
    int receivedData = is.read();
    读出来的是int型,你可以把它转换成需要的其他类型。
    这里要注意的是,由于Java语言没有无符号类型,即所有的类型都是带符号的,在由byte到int的时候应该尤其注意。因为如果byte的最高位是1,则转成int类型时将用1来占位。这样,原本是10000000的byte类型的数变成int型就成了1111111110000000,这是很严重的问题,应该注意避免。
    终于唠叨完我最讨厌的基础知识了,下面开始我们本次的重点--串口应用的研究。由于向串口写数据很简单,所以这里我们只关注于从串口读数据的情况。通常,串口通信应用程序有两种模式,一种是实现SerialPortEventListener接口,监听各种串口事件并作相应处理;另一种就是建立一个独立的接收线程专门负责数据的接收。由于这两种方法在某些情况下存在很严重的问题(至于什么问题这里先卖个关子J),所以我的实现是采用第三种方法来解决这个问题。
    现在我们来看看事件监听模型是如何运作的
    l        首先需要在你的端口控制类(例如SManager)加上“implements SerialPortEventListener”
    l        在初始化时加入如下代码:
    try {
                SerialPort sPort.addEventListener(SManager);
            } catch (TooManyListenersException e) {
                sPort.close();
                throw new SerialConnectionException("too many listeners added");
            }
            sPort.notifyOnDataAvailable(true);
    l        覆写public void serialEvent(SerialPortEvent e)方法,在其中对如下事件进行判断:
    BI -通讯中断.
      CD -载波检测.
      CTS -清除发送.
      DATA_AVAILABLE -有数据到达.
      DSR -数据设备准备好.
      FE -帧错误.
      OE -溢位错误.
      OUTPUT_BUFFER_EMPTY -输出缓冲区已清空.
      PE -奇偶校验错.
    RI - 振铃指示.
    一般最常用的就是DATA_AVAILABLE--串口有数据到达事件。也就是说当串口有数据到达时,你可以在serialEvent中接收并处理所收到的数据。然而在我的实践中,遇到了一个十分严重的问题。
    首先描述一下我的实验:我的应用程序需要接收传感器节点从串口发回的查询数据,并将结果以图标的形式显示出来。串口设定的波特率是115200,川口每隔128毫秒返回一组数据(大约是30字节左右),周期(即持续时间)为31秒。实测的时候在一个周期内应该返回4900多个字节,而用事件监听模型我最多只能收到不到1500字节,不知道这些字节都跑哪里去了,也不清楚到底丢失的是那部分数据。值得注意的是,这是我将serialEvent()中所有处理代码都注掉,只剩下打印代码所得的结果。数据丢失的如此严重是我所不能忍受的,于是我决定采用其他方法。
    这个模型顾名思义,就是将接收数据的操作写成一个线程的形式:
    public void startReadingDataThread() {
            Thread readDataProcess = new Thread(new Runnable() {
                public void run() {
                                while (newData != -1) {
                        try {
                                              newData = is.read();
                            System.out.println(newData);
                                              //其他的处理过程
                                              ……….
                                       } catch (IOException ex) {
                            System.err.println(ex);
                            return;
                        }
                         }
                  readDataProcess.start();
    }
    在我的应用程序中,我将收到的数据打包放到一个缓存中,然后启动另一个线程从缓存中获取并处理数据。两个线程以生产者—消费者模式协同工作,数据的流向如下图所示:
     

    这样,我就圆满解决了丢数据问题。然而,没高兴多久我就又发现了一个同样严重的问题:虽然这回不再丢数据了,可是原本一个周期(31秒)之后,传感器节电已经停止传送数据了,但我的串口线程依然在努力的执行读串口操作,在控制台也可以看见收到的数据仍在不断的打印。原来,由于传感器节点发送的数据过快,而我的接收线程处理不过来,所以InputStream就先把已到达却还没处理的字节缓存起来,于是就导致了明明传感器节点已经不再发数据了,而控制台却还能看见数据不断打印这一奇怪的现象。唯一值得庆幸的是最后收到数据确实是4900左右字节,没出现丢失现象。然而当处理完最后一个数据的时候已经快1分半钟了,这个时间远远大于节点运行周期。这一延迟对于一个实时的显示系统来说简直是灾难!
    后来我想,是不是由于两个线程之间的同步和通信导致了数据接收缓慢呢?于是我在接收线程的代码中去掉了所有处理代码,仅保留打印收到数据的语句,结果依然如故。看来并不是线程间的通信阻碍了数据的接收速度,而是用线程模型导致了对于发送端数据发送速率过快的情况下的数据接收延迟。这里申明一点,就是对于数据发送速率不是如此快的情况下前面者两种模型应该还是好用的,只是特殊情况还是应该特殊处理。
    痛苦了许久(Boss天天催我L)之后,偶然的机会,我听说TinyOS中(又是开源的)有一部分是和我的应用程序类似的串口通信部分,于是我下载了它的1.x版的Java代码部分,参考了它的处理方法。解决问题的方法说穿了其实很简单,就是从根源入手。根源不就是接收线程导致的吗,那好,我就干脆取消接收线程和作为中介的共享缓存,而直接在处理线程中调用串口读数据的方法来解决问题(什么,为什么不把处理线程也一并取消?----都取消应用程序界面不就锁死了吗?所以必须保留)于是程序变成了这样:
    public byte[] getPack(){
           while (true) {
                           // PacketLength为数据包长度
                        byte[] msgPack = new byte[PacketLength];
                        for(int i = 0; i < PacketLength; i++){
                            if( (newData = is.read()) != -1){
                                msgPack[i] = (byte) newData;
                                System.out.println(msgPack[i]);
                            }
                        }
                        return msgPack;
                                }
    }
    在处理线程中调用这个方法返回所需要的数据序列并处理之,这样不但没有丢失数据的现象行出现,也没有数据接收延迟了。这里唯一需要注意的就是当串口停止发送数据或没有数据的时候is.read()一直都返回-1,如果一旦在开始接收数据的时候发现-1就不要理它,继续接收,直到收到真正的数据为止。

    本文介绍了串口通信的基本知识,以及常用的几种模式。通过实践,提出了一些问题,并在最后加以解决。值得注意的是对于第一种方法,我曾将传感器发送的时间由128毫秒增加到512毫秒,仍然有很严重的数据丢失现象发生,所以如果你的应用程序需要很精密的结果,传输数据的速率又很快的话,就最好不要用第一种方法。对于第二种方法,由于是线程导致的问题,所以对于不同的机器应该会有不同的表现,对于那些处理多线程比较好的机器来说,应该会好一些。但是我的机器是Inter 奔四3.0双核CPU+512DDR内存,这样都延迟这么厉害,还得多强的CPU才行啊?所以对于数据量比较大的传输来说,还是用第三种方法吧。不过这个世界问题是很多的,而且未知的问题比已知的问题多的多,说不定还有什么其他问题存在,欢迎你通过下面的联系方式和我一起研究。 
    7/24/2008

    recommendation letter from BV

    The City Of New York

    Administration for Children’s Services

    66 John Street, 7th Floor, MIS

    New York, NY 10038

     

    July 24, 2008

     

    To Whom It May Concern:

    This letter is my personal recommendation for Mr. Xu Xiacong.  He was a CUNY intern from Institute for Software Design and Development (CISDD) while pursuit his Master Degree at CUNY.  I have been his immediate supervisor from 10/2006 to 12/2007 and found him to be consistently pleasant, tackling all assignments with dedication.

     

    On Subway map project, Xiacong analyzed, designed database in Oracle, constructed map layer, layouts, by using standard map-graphic techniques, map-tools such as Map Info and Map Guide Author.  Map-Graphic presentations are neat, clear, effective, and accurate.

     

    He provided technical knowledge in JSP program development and Oracle FORAC Database connection, by researching, analyzing problems, recommended solutions clearly, effective, efficient, and fully detailed technical assistance provided on a timely basis to MIS in meeting agency goals.

     

    Monitors Report Tracking system operation and performance, by checking, troubleshoots software in JSP, enhances data bases in Oracle, techniques, is appropriate and effective, in order to ascertain proper processing of data and initiate corrective action.

     

    Xiacong was a major contribution to our Subway map and Report Tracking projects.  I have received many compliments from our Program and Facilities Staff who rely on his map work.  He was a super innovative and self-starter, who rarely needs supervision, but willingly accepts it when offered.  He is punctual and typically exceeds our team expectations

     

    I strongly recommend Xu Xiacong for employment.  A professional worker of the high caliber who would make a great asset to any organization. 

    Sincerely,

    Boonpat Vattan, Application Development Manager.

    7/15/2008

    Li Lei都那么牛X了,hanmeimei还不喜欢他



       九年义务教育三年制初级中学教科书---英语---第一册(上) 1994年10月第2版,1996年1月第2次印刷

       关于初中英语课本的误区,我一直觉得Miss Gao和Jim Green他爸有一腿,然后LiLei在第一次去Jim他家见到Jim的妹妹Kate Green的时候就心怀不轨```反正我一直特讨厌李雷,觉得此男猥琐虚伪的要命。还有Jim家貌似很有钱的样子,回英国过圣诞节做飞机,家里还有苹果树```对了又想起来一个证据,有一次他们好像学农去摘苹果,韩美美爬在梯子上,Jim就很紧张的在下面喊Be careful!    

       可是韩美美长了一副那种妇女干部的样子,我也不太喜欢。Lucy和Lily里面我比较喜欢Lily。总觉得lily比较单纯,不像lucy那么有心机。(事实证明是我比较有心机```初中英语课本能联想这么多```)  

       想起来还是很令人回味的。还记得有篇课文是问个老太太的年龄,她最后的那句话语音像妖精。记得 偶当时汗死 她说的是 it is a secret   

       比较诡异的还有那个什么Uncle Wang,创造了一个什么可以飞的自行车,还有一个合成词叫什么来着?觉得他真是科学怪人。。。最最诡异的是有一个电话号码,6098724,是一个对话里面的,我一直记着,而且脱口就出。。。结果不幸在天涯看到竟然有人和我一样对这个号码念念不忘。。。      

       脱口而出的还有:How are you? Fine, thank you ,and you? I'm fine too. 我这个土人一直到现在见了人还老忍不住来这一套```觉得不这样简直没法外国人展开交流```印象比较深的还有李雷和jim玩飞盘那次,jim把李雷的头给砸了,当时觉得jim是成心这么做的,因为这个事情发生在借尺子事件没多久之后。 我无比惊喜的发现,竟然狂多人都跟我曾经有过共识,就是Jim喜欢Han Meimei,LiLei也喜欢Han Meimie,但是Lucy喜欢Lilei。我的证据就是有一课,我记得很清楚,“Can I borrow your ruler?”韩美美和李雷坐在第一排,韩美美问李雷借尺子,然后Jim在后面看着他们,眼神十分诡异,就是夹杂着嫉妒,羡慕阴险的目光```然后他旁边坐着Lucy,低着头,我当时觉得是因为Lucy不愿意看到面前的这一幕,因为是女生,不可能象Jim这么感情外露的```所以委屈的低下头```我当时还和我同桌讨论了半天。 Li Lei,Han Meimei,和Jim Green缠绵悱恻的爱情故事      

       这多少让80年代生人有无限的遐思,初中时代的美好回忆又如画卷般展现在了我的眼前。在回忆往昔的时候,我总是很惊叹人民教育出版社的叔叔阿姨们还有那位专到中国来编英语教材的Alexander先生,怎么会起了几个如此经典的名字,让几千万甚至上亿的中国学生反复传诵至今。        

       读初中时已然有了点朦胧的男女意识,从那时的观点看来,我就觉得英语课本讲述的就是一个缠绵悱恻的爱情故:HanMeimei是一个美丽大方聪明漂亮的女孩子,而LiLei和Jim,一中一洋;一个帅气活泼,一个潇洒不羁;少女情怀,谁人可知,据我分析小Han是有可能对LiLei芳心暗许了,而另一方面Jim对韩MM又情根深重,无法自拔。        

       这是有实例为证的:当年韩MM课外劳动摘苹果,和树下的李帅哥眉来眼去有点得意忘形了,此时被冷落一边的Jim大叫一声:“Be careful!”由此,关爱之情可见一斑。而韩MM除了简单报以“Thank you”之外,居然又自得其乐地跟李帅哥开始了聊天……         

       事情的发展峰回路转,初一下学期,班上转来了两位可爱的加拿大双胞胎——Lucy和Lily,LiLei从此移情别恋,离开了韩MM。综观整个初一下学期,课本上的对话确实以LiLei和双胞胎为主角的居多。此时的韩MM,方才发现了在身边已然默默注视自己有一个学期之久的Jim,从此二人携手走向了幸福的未来```        

       感谢岁月,感谢生活,也感谢人的记忆,能让我们总记得一些美好的过去,忘掉当下的一些不快,并能走向幸福的未来(就像Han Meimei和Jim一样)```       

    Li Lei 和 Jim Green的故事    

       LiLei,被翻译成李雷,中国男孩,平头短发,喜穿浅色T恤,一看就是那种正统的中国式好学生。不过他并不是那种死板的书呆子,他很喜欢玩,记得有一课里,他拿着球去玩,反而是Jim没做完功课,被关在家里。这种动静结合的性格,使得他在哪儿都吃香,既能和LinTao这样好学的人成为莫逆,也能和Jim这样好动的人成为死party。    

       Jim Green,全名是James Allen Green,被翻译成吉姆.格林(詹姆斯.艾伦.格林),在中国生活的英国孩子,一头棕色的卷发,喜欢穿深色的T恤,给人的印象是有活力、聪明,但是有些马虎,时常犯些小错误。    

       这一中一英两个男孩,就是这六本英文课本最主要的角色了。那么,他们中,谁是最大的男主角呢?我一直是比较欣赏Li Lei的(或许也是因为他是中国人?),和很多同学一样认为他是第一男主角。      

       后来,我做了一件极其无聊的事——统计了六本书里每个人出现的次数!    

       最终结果,Jim的出现次数略高于Li Lei。呵呵,这毕竟是英语课本,就承认Jim的第一男主角地位吧。        7+8:    

       统计的数据我现在没有,不过我还能记得最前面的那些孩子。最重要的七个同学组成了第一集团:     Jim Green     
    Li Lei     
    Han Meimei     
    Kate Green     
    Lucy King     
    Lily King     
    Ann Read     

    接下来的第二集团是八位同学:    
    Lin Tao     
    Wei Hua     
    Ling Feng     
    Sam     
    Bill     
    Bruce     
    Mary     
    Tom Read     

       说明一下,Tom的出镜率很低,但是出来的时候文章一般都比较长,何况他是Ann的兄弟,第一册第一张彩页上露脸的人,所以放第二集团不过份。 说一下第一册第一张彩页吧,我总觉得这有一种英雄排座次的作用。上面有四幅图,三幅是三个家族:Green家族(英国人)、King家族(美国人)、Read家族(加拿大人),每幅都是父母和两个孩子一共四人。第一幅图则是五人:Li Lei、Han Meimei和LinTao,外加老师Miss Gao(Gao Hui)和Uncle Wang。在这张彩页上,第一集团的七人全部在。    

       Green家族在书中风光无限,露脸机会最多,而且鸡犬升天,连鹦鹉Polly和小猫Mimi(这可是中国猫)都能频频上镜。    
       相比之下,Read家族就比较惨了,只有一个Ann撑场面,Tom身为彩页上九个孩子之一,在书中几乎消失,真是够郁闷的。      

    重要人物:    

    Han Meimei     

       如果说谁是第一男主角还存在争议的话,第一女主角就当仁不让的是Han Meimei。这个齐耳短发的中国女孩,文雅温和,智慧善良,几乎是所有女性美德的化身。在书中,她更像是一个姐姐的身份,帮助同学们排忧解难。    

       很多人都觉得,Li Lei和Han Meimei天生一对。然而我经过统计发现,其实HanMeimei和Jim一起出现的时候更多,尤其是后期。想想也是,排除国际友谊因素,Han Meimei和LiLei的性格是相似的,而跟Jim却是互补的,更适合在一起。           
    Kate     

       Kate Green,Jim的妹妹。和哥哥一样,Kate也是昵称,全称是Catherine(凯瑟琳)。同样是一头棕色卷发(不知怎么,Jim和Kate总让我想起哈里.波特中的罗恩和金妮,Han Meimei则让我想起赫敏)。    

       Kate很活泼可爱,后来戏份也越来越多。我奇怪为啥她不和同年龄的小朋友们玩,要和大几岁的哥哥的朋友们玩。        
    Lucy and Lily     

       可爱的双胞胎姐妹,来自美国。两个人长得一模一样(美工偷懒,哈)。开始的时候,两人都是同时出现,不过到后来,编者有意扩大她们之间的区别,也经常会单独出镜。        

    Ann     

       Ann是加拿大人,一头金色长发,标准的西方血统。她和Jim、Lilei他们不在一个班,但是和Han Meimei是好朋友,另外她还有一个中国好朋友Chen Hua(女孩)。    

       Ann在书中最重头的一次出场是她的生日,重要人物几乎全部出场参加。从此我知道了Fried Chicken,Fish and Chips这两种食物。不过当时没有概念,直到我们家乡出现了肯德鸡……         

    Lin Tao     

       作为在彩页上出现的人物,LinTao还是很重要的,不过不知为什么他在很长一段时间内都不出现,硬是被挤到了第二集团。作为书中唯一的眼镜男孩(大人不算),LinTao长着一副睿智的知识分子模样。不过,不要以为他很文弱,初三课本中,他可是参加了运动会接力跑的冠军成员。        

    Sam and Bill     

       这两个是Jim的死party,沾了不少光。他们三个在一起,1班的体育水平就能提高一个台阶啊。没说的,都是调皮鬼。        
    Wei Hua     

       Han Meimei的好朋友。我发现L、H、J、A四巨头都有各自的好朋友。Wei Hua又是一个热情贤淑型中国女孩,不过感觉不如Han Meimei成熟。        

    Ling Feng     

       跟其他中国孩子相比,Ling Feng显得比较成熟而独立。后期他出现的次数很多,但我最记得的还是他第一次出现时候被Jim的飞盘砸中了脑袋……         

    Bruce     

       澳大利亚男孩,因为在中国看到下雪的圣诞节而欣喜不已。之后他还有多次露面,最有趣的就是和一大群人去猴岛旅游了。        
    Mary     

       很晚才出来,又是一个西方式长发美人。我似乎记得她姓Smith。        

    其他人……     

       除了以上15人之外,还有一些让人记住的同学。比如MaLili,初一初二她都出现了,而且都是喊“起立”的那一个。看来,她就是1班里学号1号的学生了。还有Sun Huimin、Li Ming、LiuMing、Fang Xiaoling、Bob White……等等。        

       现在想起来,仿佛他们就是我们当初的同学一样……         

       记得最后一课(澳大利亚的那座大石头山)结束后,结束框里就简简单单一句话:Goodbye everyone,Goodluck!我学到这里不禁热泪盈眶……
    7/10/2008

    Google Maps - DIY Real Time GPS Tracker

    Instructions

    You can create a real-time GPS tracker using Google Maps API. Don't worry about having a GPS device, you can emulate a garmin using GPSGate. Then later you purchase fancy gps devices and a JunxionBox.

    First, install the following free software:
    1. Python (xmlrpclib, pySerial, pyGPS, Zope)
    2. GpsGate (gps simulator, 14 day trial)
    3. MySQL
    4. Get a Google Maps API key.

    Get the big picture first.

    1. A laptop connected to the internet continually reads the COM port, parses NMEA sentences, and sends updated GPS coordinates via XMLRPC to our Zope server.

    2. The Zope server stores the incoming coordinates to a MySQL database.

    3. When a visitor requests the tracking page, Zope serves up a static HTML page encoded with javascript actions.

    4. The visitors browser executes the javascript and asynchronously requests more information from the Zope server and Google Maps.

    5. Google Maps receives requests for pan or zoom and responds with needed map data.

    6. The Zope server receives requests for the latest coordinate and responds with an XML encoding that the user's browser parses and displays on the map.

    Python Code

    This is a quick implementation of a GPS reader in Python using pySerial and pyGPS that passes latitude and longitude to a database via XMLRPC. We remotely call a Python script in Zope that inserts the data into a MySQL database.
    import NMEA
    import serial
    import xmlrpclib
    import urllib
    
    ser = serial.Serial(1, 4800)
    
    while 1:
        lat,lon=0,0
        while lat==0 and lon==0:
            line = ser.readline()
    	nmea = NMEA.NMEA()
    	nmea.handle_line(line[:-1])
    	lat=nmea.lat
    	lon=nmea.lon
    	print lat,lon
    
        try:
    	server = xmlrpclib.Server("http://conversationswithmyself.com/")
    	server.maps.tracker.receiveCoords(lat,lon)
        except:
    	print "Server Time Out"

    Zope Code

    Using Zope as our remote XMLRPC server, we use a Python script to call a ZSQLMethod that inserts the data into our database. To generate the XML file for Google Maps, we use a DTML method.
    receiveCoords (Python script)
    context.GmaplocsInsertMethod(lat, lon)

    GmaplocsInsertMethod (ZSqlMethod)
    insert into gmaptracker 
    	(lat,
    	lon)
    	VALUES (<dtml-sqlvar lat type=float > ,
    		<dtml-sqlvar lon type=float > )

    data.xml (DTML Method to populate Google Maps XML data)
    <?xml version="1.0" encoding="UTF-8"?>
    <markers>
    <dtml-in GmaplocsPkSelectLastAdded>
    <marker lat="<dtml-var lat>" lng="<dtml-var lon>"/>
    </dtml-in>
    </markers>

    MySQL Database

    We have a few extra fields (category, name) for future use in the database that are being populated with dummy data at the time.
    # Host: localhost
    # Database: gmap
    # Table: 'gmaptracker'
    # 
    CREATE TABLE `gmaptracker` (
      `id` int(8) NOT NULL auto_increment,
      `locName` varchar(100) NOT NULL default '',
      `category` varchar(100) NOT NULL default '',
      `lat` double(7,6) NOT NULL default '0.000000',
      `lon` double(7,6) NOT NULL default '0.000000',
      PRIMARY KEY  (`id`)
    ) TYPE=InnoDB; 

    Javascript code

    <script type="text/javascript">
        //<![CDATA[
    
        var status = "running";    
           
        // Map Setup
        var map = new GMap(document.getElementById("map"));
        map.centerAndZoom(new GPoint(-92.275189,  34.743682), 1);
        map.addControl(new GSmallMapControl());
        map.addControl(new GMapTypeControl());
    
        // Stops and starts the tracking function
        function toggleStatus()
         {
           if (status == "stopped")
        {
         status = "running";
         document.getElementById("statusLink").value="Running";       }
        else 
        {
         status = "stopped";
         document.getElementById("statusLink").value="Stopped";       
        }
          }
    
        // Refresh map function
        function refreshMap(map)
        {
        if (status == "stopped")
          {
           window.setTimeout(function(){ refreshMap(map)},6000);
           return;
          }
    
        // AJAX XML Data Download and marker placement, straight 
        // from Google API documentation
        var request = GXmlHttp.create();
        request.open("GET", "data.xml?RANDOM=”"+Math.random(), true);
        request.onreadystatechange = function() {
          if (request.readyState == 4) {
        var xmlDoc = request.responseXML;
        var markers = xmlDoc.documentElement.getElementsByTagName("marker");
        
        for (var i = 0; i < markers.length; i++) {
          var point = new GPoint(parseFloat(markers[i].getAttribute("lng")),
                     parseFloat(markers[i].getAttribute("lat")));
    
          // Sets a marker to the last point added in the database
          var marker = new GMarker(point);
          map.addOverlay(marker);
        }
         // Recenters map to last point added
         map.centerAtLatLng(point);
          }
        }
        request.send(null);

        // Reloads map every 6 seconds   
        window.setTimeout(function(){ refreshMap(map)},6000);
        }

        refreshMap(map);

        //]]>

        </script>
     

    论智商与人品的关系

    查看与此联系人的全部对话记录
     
     wingwing  说:
    大晚上不睡觉
    辛巴 说:
    刚打完麻将回来
     
     wingwing  说:
    晕,这么有瘾
    辛巴 说:
    最近几天没事,就打,平时不打,今天赚了10块
     wingwing  说:
    好么~~厉害,为什么大家都会呢
    辛巴 说:
    你不会?
     wingwing  说:
    不会,我现在能认全了就不错了
    辛巴 说:
    那你应该先从小学3年级算术学起
    辛巴 说:
    我打麻将赢得多主要用概率论算
     wingwing  说:
    啊?
     wingwing  说:
    好么这还有概率
    辛巴 说:
    数学无处不在
     wingwing  说:
    我讨厌数学,我从来就没闹明白过
    辛巴 说:
    你喜欢什么
     wingwing  说:
    上学的时候我特喜欢语文课,但我永远不明白古文,我也喜欢音乐课,但五音总也唱不准,还喜欢美术课,努力的练过,但老师说一般般,所以最后我喜欢了自习课
    辛巴 说:
    我以前特讨厌语文,作文不及格,被老师赶出教室
     wingwing  说:
    啊?我作文也不好,老师说我说话没个中心,但我喜欢听故事
     wingwing  说:
    每篇课文就是一故事,但是听完,就完了
    辛巴 说:
    后来突然高考前有一天我语文就变得超好,几乎是班里前几名,作文篇篇都是范文,还上报纸
    辛巴 说:
    就一两天
    辛巴 说:
    老师开始超喜欢我
     wingwing  说:
    是啊,那是为什么呢?
    辛巴 说:
    然后就毕业了
    辛巴 说:
    人品的增长大大挖掘了智商的潜力
     wingwing  说:
    晕倒~这两者有联系吗?
    辛巴 说:
    科学家研究的
     wingwing  说:
    晕,那我现在智商那么低,那起不是人品不行吗
    辛巴 说:
    也不是
    辛巴 说:
    过低的智商可能会把很好的人品降低,最后都无限趋近于0
     wingwing  说:
    啊?看来我要提高智商
    辛巴 说:
    如果人品已经被坠的趋近于0了,提高智商是无意义的,智商是分子,人品是分母
     wingwing  说:
    。。。。。。。。。。。。。
    辛巴 说:
     
     wingwing  说:
     无论我怎么看,怎么理解,都像觉得我人品次呢,冲这个我也得说自己智商高
    辛巴 说:
    不是
    辛巴 说:
    你人品受到智商比较严重的影响,智商的潜力因为人品不高所以受到压制,总体来说不是你的错,是一种恶性循环
     wingwing  说:
     。。。。。。。。。
    辛巴 说:
    不过也不是没得质
     wingwing  说:
    怎么治
    辛巴 说:
    找人打麻将,使劲输钱
    辛巴 说:
    算作一种慈善捐助,并且给别人带来快乐,每一次输就提高一点点人品,并且在输得过程中总结经验提高智商
    辛巴 说:
    相辅相成,大约2年就离正常人不远了
    辛巴 说:
    明白了么?
     wingwing  说:
    呃~~~好像明白了,但好像不太容易做,你用过这种方法?
    辛巴 说:
    不是阿,跟我打麻将的人都用这种方法治疗,我每晚治疗三个人,
    辛巴 说:
    第一天晚治疗了4块钱的病人,第二天2块,第三天4块,今天是第四疗程,也是最后一个疗程,所以要下猛药,就治疗了9块钱的
     wingwing  说:
    晕~~ 你真能拜,要不说大眼说你能忽悠呢
    辛巴 说:
    不忽悠,真的有效,他们几个都变聪明了
     wingwing  说:
    对,都聪明了,下次就聪明的记住不和你打牌了
    辛巴 说:
    对,今天三人一起发誓说绝对不再和我打牌,
     wingwing  说:
    晕,受不了了
     wingwing  说:
    这三人碰上你,也够倒楣了
    辛巴 说:
    智商人品都大幅提高,
     wingwing  说:
    是啊,照你的论点,除了钱包大幅度下降,其它的还是有所提高的
    辛巴 说:
    随时准备为您服务
    7/2/2008

    Talking about 爆笑语录转载

     

    Quote

    爆笑语录转载
    为什么中国是世界上最神秘的国家?
        
        因为国家主席是who,总理是when
        
        屁股泡的茶叫什么茶?
        
        菊花茶
        
        
        一个和尚挑水喝,两个和尚抬水喝,三个和尚没水喝,四个和尚斗地主,五个和尚可以去扮福娃了
        
        
        
        喝洋酒要喝强尼走着
        
        
        
        先生,麻烦您给我一例煎饼果子,七分熟,少少辣,多一些sauce,嗯,还有,extra egg,谢谢。
        
        
        
        听君一席话,圣斗士念书。
        
        
        明月几时有,自己抬头瞅
        
        
        短篇小说我爱你母亲的上半部分,今天就播送到这里,明天同一时间请继续欣赏,我爱你母亲的下半部分……
        
        
        
        你有什么不开心的事? 说出来让大家开心一下.
        
        
        【雅典娜手下最厉害的圣斗士是青铜
        
        什么白银啊黄金啊的圣斗士中看不中用
        
        星矢啊~~永远不会倒下
        
        紫龙啊~~总把眼睛弄瞎
        
        哦~~耶 冰河啊~~你不要再想妈妈
        
        阿瞬啊~~一辉啊~~ 是亲哥儿俩……】
        
         ——转中文版圣斗士星矢主题歌歌词
        
        
        
        
        女人是水做的,男人是泥做的,李俊基李宇春都是水泥做的。
        
        
        
        哀莫大于星矢。
        
        
        他年方二五,英年早泄。
        
        
        
        用iphone的人都有个共同点:就是不好意思说不好用。
        
        
        用Mac的人雍容华贵,用Sony的人衣着光鲜,用ThinkPad的人风度翩翩,用HP的人神态安然,用Dell的人简单平凡,用文曲星的人是我是我。
        
        
        
        生子当如孙仲谋,找爹就找金日成。
        
        
        
        你知道金庸写的14本书可以连成一个对联吗? “飞雪连天射白鹿,笑书神侠倚碧鸳”
        你知道J.K.罗琳写的7本书也可以连成一句话吗? “哈哈哈哈哈哈哈”
        
        
        
        螳螂捕蝉,女娲捕天,亡羊捕牢,取长捕短——四大名捕
        
        
        
        这小伙子长得,把脸挡上跟个演员似的…
        
        
        
        对联一则:顶叶纸虎啸山林,卧槽泥马勒戈壁
        
        
        
        世上无难事,先来对烤翅。世上无难事,只要不去想。世上无难事,只怕豁出去。
        
        
        
        A:福娃是男的还是女的?
        B:木有小JJ,看不出来。
        C:要么全男,要么全女,你看他们五个在一起那么久了,也没见多出一个小福娃来。
        
        
        
        孟姜女哭倒长城干红,白娘子水漫金山词霸。
        
        
        
        此恨绵绵无绝期,要多傻逼多傻逼……
        
        
        
        祖传牛皮癣,专治老中医。
        
        
        
        有刺青的不一定是流氓,他可能是岳飞。
        
        
        
        “你要是嫁人,不要嫁给别人,更不要嫁给我......”
        
        
        
        One nightstand 一个床头柜
        
        
        
        情同手足口蹄疫
        
        
        
        您真是贱人多忘事啊
        
        
        
        披着凉皮的狼
        
        
        
        捷克斯洛伐克,又名,Jack,Slow Fuck
        
        
        《哈里波特与火焰山》
        《哈里波特与凤凰自行车》
        《哈里波特与哈里路亚》
        《哈里波特与哈姆雷特》
        《哈利波特与哈根达斯》
        《哈里波特与阿拉法特》
        
        
        钻石方片五
        钻石打老虎
        钻石王老吉
        
        
        
        身体发福,受之父母。
        
        
        
        以泪洗面奶
    6/29/2008

    告全党全军全国各族人民书

    久经考验的国际主义战士Acer笔记本因长期超负荷工作,积劳成疾于二零零八年六月二十八日下午不幸逝世。中年两岁零十个月。
    Acer同志于2005年8月参加工作,其间任劳任怨,疯狂工作,为朕做出了不可限量的贡献。在他的主持下朕获得了今生第一个、最后一个、也是唯一一个A.
    Acer同志的逝世是令人悲痛的,我们应该化悲痛为力量,迅速挑选出Acer同志的接班人,晚成他未竟的事业。
    Acer同志逝世后,小acer、dell、Asus、sony、hp、lenove先后发来唁电并献花圈。
    Acer同志治丧委员会现已成立,现在接收各界捐赠和吊唁。



    6/27/2008

    本人的穿越美国网站将在周日开通

    本人计划于2008年7月15日-7月22日之间驾车横穿北美大陆,起点太平洋西岸纽约市,终点加利福尼亚州太平洋东岸硅谷圣何塞,全程3000英里(5000公里)目的:搬家
     
    其间穿越游记、视频、照片将及时发表于我的穿越网站,敬请关注。
     
    本次穿越接受各界老少爷们兄弟姐们爱心捐赠,捐款网站 http://donate.xuxiaocong.com
     
     
    谢谢昂~
    6/21/2008

    VC++实现GPS全球定位系统定位数据的提取

    引言

      卫星导航技术的飞速发展已逐渐取代了无线电导航、天文导航等传统导航技术,而成为一种普遍采用的导航定位技术,并在精度、实时性、全天候等方面取得了长足进步。现不仅应用于物理勘探、电离层测量和航天器导航等诸多民用领域,在军事领域更是取得了广泛的应用--在弹道导弹、野战指挥系统、精确弹道测量以及军用地图快速测绘等领域均大量采用了卫星导航定位技术。有鉴于卫星导航技术在民用和军事领域的重要意义,使其得到了许多国家的关注。我国也于 2000年10月31日和12月21日成功发射了第一颗和第二颗导航定位试验卫星并建立了我国第一代卫星导航定位系统--"北斗导航系统",但由于起步晚也没有得到广泛应用。目前在我国应用最多的还是美国的GPS系统。本文就针对当前比较普及的GPS系统,对其卫星定位信息的接收及其定位参数提取的实现方法予以介绍。

      定位信息的接收

      通常GPS定位信息接收系统主要由GPS接收天线、变频器、信号通道、微处理器、存储器以及电源等部分组成。由于GPS定位信息内容较少,因此多用RS-232串口将定位信息(NEMA0183语句)从GPS接收机传送到计算机中进行信息提取处理。从串口读取数据有多种方法,在此直接使用 Win32 API函数对其进行编程处理。在Windows下不允许直接对硬件端口进行控制操作,所有的端口均被视为"文件",因此在对串口进行侦听之前需要通过打开文件来打开串口,并对其进行相关参数配置:

    m_hCom=CreateFile("COM1",GENERIC_READ|GENERIC_WRITE,0,NULL,OPEN_EXISTING, FILE_FLAG_OVERLAPPED,NULL); file://以异步方式打开COM1口
    SetCommMask (m_hCom, EV_RXCHAR ) ; file://添加或修改Windows所报告的事件列表
    SetupComm (m_hCom,READBUFLEN/*读缓冲*/,WRITEBUFLEN/*写缓冲*/); // 初始化通讯设备参数
    // 清除缓冲信息
    PurgeComm (m_hCom, PURGE_TXABORT | PURGE_RXABORT | PURGE_TXCLEAR | PURGE_RXCLEAR) ;
    // 对异步I/O进行设置
    CommTimeOuts.ReadIntervalTimeout = MAXDWORD ; file://接收两连续字节的最大时间间隔
    CommTimeOuts.ReadTotalTimeoutMultiplier =0; file://接收每字节的平均允许时间
    CommTimeOuts.ReadTotalTimeoutConstant = 0 ; file://接收时间常数
    SetCommTimeouts (m_hCom , &CommTimeOuts) ;
    file://获取并设置串口
    GetCommState ( m_hCom, &dcb) ;
    dcb.BaudRate = CBR_4800;
    dcb.ByteSize = 8;
    dcb.Parity = ODDPARITY;
    dcb.StopBits = ONESTOPBIT ;
    SetCommState( m_hCom, &dcb);

      在成功打开并设置通讯口后,可采取轮询串口和事件触发两种方式对数据进行接收处理,本文在此采取效率比较高的事件触发方式进行接收处理,通过等待EV_RXCHAR事件的发生来启动ReadFile函数完成对GPS定位信息的接收:

    while(true){
     WaitCommEvent (m_hCom,&dwEvtMask,NULL);
     if (dwEvtMask&EV_RXCHAR == EV_RXCHAR)
      if(ComStat.cbInQue>0)
       ReadFile(m_hCom,m_readbuf,ComStat.cbInQue,&nLength,&olRead);
    }
     
      提取定位数据
     
     
     GPS 接收机只要处于工作状态就会源源不断地把接收并计算出的GPS导航定位信息通过串口传送到计算机中。前面的代码只负责从串口接收数据并将其放置于缓存,在没有进一步处理之前缓存中是一长串字节流,这些信息在没有经过分类提取之前是无法加以利用的。因此,必须通过程序将各个字段的信息从缓存字节流中提取出来,将其转化成有实际意义的,可供高层决策使用的定位信息数据。同其他通讯协议类似,对GPS进行信息提取必须首先明确其帧结构,然后才能根据其结构完成对各定位信息的提取。对于本文所使用的GARMIN GPS天线板,其发送到计算机的数据主要由帧头、帧尾和帧内数据组成,根据数据帧的不同,帧头也不相同,主要有"$GPGGA"、"$GPGSA"、"$ GPGSV"以及"$GPRMC"等。这些帧头标识了后续帧内数据的组成结构,各帧均以回车符和换行符作为帧尾标识一帧的结束。对于通常的情况,我们所关心的定位数据如经纬度、速度、时间等均可以从"$GPRMC"帧中获取得到,该帧的结构及各字段释义如下:

      $GPRMC,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>*hh

      <1> 当前位置的格林尼治时间,格式为hhmmss

      <2> 状态, A 为有效位置, V为非有效接收警告,即当前天线视野上方的卫星个数少于3颗。

      <3> 纬度, 格式为ddmm.mmmm

      <4> 标明南北半球, N 为北半球、S为南半球

      <5> 径度,格式为dddmm.mmmm

      <6> 标明东西半球,E为东半球、W为西半球

      <7> 地面上的速度,范围为0.0到999.9

      <8> 方位角,范围为000.0到 359.9 度

     

     <9> 日期, 格式为ddmmyy

      <10> 地磁变化,从000.0到 180.0 度

      <11> 地磁变化方向,为E 或 W

      至于其他几种帧格式,除了特殊用途外,平时并不常用,虽然接收机也在源源不断地向主机发送各种数据帧,但在处理时一般先通过对帧头的判断而只对 "$GPRMC"帧进行数据的提取处理。如果情况特殊,需要从其他帧获取数据,处理方法与之也是完全类似的。由于帧内各数据段由逗号分割,因此在处理缓存数据时一般是通过搜寻ASCII码"$"来判断是否是帧头,在对帧头的类别进行识别后再通过对所经历逗号个数的计数来判断出当前正在处理的是哪一种定位导航参数,并作出相应的处理。下面就是对缓存Data中的数据进行解帧处理的主要代码,本文在此只关心时间(日期和时间)和地理坐标(经、纬度):

     

    for(int i=0;i<DATALENGTH;I++){
     if(Data[i]=='$') file://帧头,SectionID为逗号计数器
      SectionID=0;
      if(Data[i]==10){ file://帧尾
    }
     if(Data[i]==',') file://逗号计数
      SectionID++;
     else {
      switch(SectionID){
       case 1: file://提取出时间
        m_sTime+=Data[i];
        break;
       case 2: file://判断数据是否可信(当GPS天线能接收到有3颗GPS卫星时为A,可信)
        if(Data[i]=='A')
         GPSParam[m_nNumber].m_bValid=true;
         break;
       case 3: file://提取出纬度
         m_sPositionY+=Data[i];
         break;
       case 5: file://提取出经度
         m_sPositionX+=Data[i];
         break;
       case 9: file://提取出日期
         m_sDate+=Data[i];
         break;
         default:
         break;
      }
     }
    }
      
       现在已将所需信息提取到内存,即时间、日期以及经纬度分别保存在CString型变量 m_sTime、m_Data、m_sPositionY和m_sPositionX中。在实际应用中往往要根据需要对其做进一步的运算处理,比如从 GPS接收机中获得的时间信息为格林尼治时间,因此需要在获取时间上加8小时才为我国标准时间。而且GPS使用的WGS-84坐标系也与我国采用的坐标系不同,有时也要对此加以变换。而这些变换运算必须通过数值运算完成,因此需要将前面获取的字符型变量转化为数值型变量,这部分工作可放在检测到帧尾完成:
     

    ::strcpy(buf,m_sTime);
    str.Format("%c%c",buf[0],buf[1]);
    GPSParam[m_nNumber].m_nHour=(atoi(str)+8)%24; file://提取出小时并转化为24小时制北京时间
    file://buf第2、3字节为分钟,4、5字节为秒,提取方法同上
    ……
    ::strcpy(buf,m_sDate);
    str.Format("%c%c",buf[0],buf[1]); file://提取出月份
    file://buf第2、3字节为天,4、5字节为年,提取方法同上
    ……
    ::strcpy(buf,m_sPositionY);
    str.Format("%c%c",buf[0],buf[1]);
    PositionValue=atoi(str);
    str.Format("%c%c%c%c%c%c%c",buf[2],buf[3],buf[4],buf[5],buf[6],buf[7],buf[8]);
    GPSParam[m_nNumber].m_dPositionY=PositionValue*60+atof(str); file://提取出纬度
    ……
    ::strcpy(buf,m_sPositionX);
    if(m_sPositionX.GetLength()==10) file://经度超过90度(如东经125度)
    {
     str.Format("%c%c%c",buf[0],buf[1],buf[2]);
     PositionValue=atoi(str);
     str.Format("%c%c%c%c%c%c%c",buf[3],buf[4],buf[5],buf[6],buf[7],buf[8],buf[9]);
     GPSParam[m_nNumber].m_dPositionX=PositionValue*60+atof(str); file://提取出经度(单位为分)
    }
    if(m_sPositionX.GetLength()==9) file://经度未超过90度(如东经89度)
    {
     file://处理方法同上,只是buf的第0、1字节为度数,2~9为分数。
    }

      
      到此为止,已将时间和经纬度信息提取到GPS结构数组GPSParam中的各个变量中去,后续的处理和高层决策可根据该结构中存储的数据作出相应的处理。

     

      小结
      
      
    本文结合主要的相关程序代码对GPS全球定位系统的定位导航信息的接收和参数数据的提取进行了讨论,同时也对串口的程序设计作了简要的讲述。通过本文的设计方法可以将GPS定位导航信息从GPS接收机完整接收,通过对定位参数的提取可将其应用于其他高层应用决策如各种GIS、RS系统等。本文程序在Windows 98下,由Microsoft Visual C++ 6.0编译通过。