Skip to main content

(zz) 我为旅行狂---三周年暨毕业纪念旅行――冰山国家公园(2009/8/13)

2009731的下午5:00,经过三年的艰苦奋战,我终于完成了在MSU的双硕士征程.期间辛苦,万般无奈,快乐时光都已然默默结尾. 最好还是不要总结,回顾起来太过丰盛,不免遐思.总归结果很好,学习有所终,学术有所为,学位有所得,学仁有所长,学外有所丰富的生活.很好.
回归游记本质.在熊的"耳鬓厮磨"和涂同学的诱惑下,我们三人与8110日进行了一场空前耗时耗体力扩空间的旅行.美其名曰毕业纪念旅行,为的是不 让自己在疯狂出游的事实面前太过惭愧.我安慰自己说,反正献身PhD之后就不太会有时间这样潇洒了.
81:一整天耗时在空中,晚上到达西雅图.
82:白天对大名鼎鼎的pike place market进行了全方位考察.去之前很多人告诉我们这个market超大啊超大,大到不可想象,里面的东西从吃到穿应有尽有,是全美极具特色的另类 market.我们到了以后,的确觉得很大,不过其性质完全就像国内的小商品批发市场嘛.从海洋一般的花市到鲜品横飞的海鲜市场再到各式各样的饰品衣物, 整个市场贯穿seattle downtown好几个街区,最繁华的地段.有特色的在于海鲜市场里鲜品的买卖是靠人们徒手抛货物完成的,这个成为了一大看点.不经意的熙熙攘攘了,就会 有各种大小的鱼类从你头顶飞过来飞过去.所以这个市场也叫飞鱼市场.
            晚上,我们乘坐amtrack,经过10几个小时的忍耐,于次日到达了蒙大拿印地安区,冰山国家公园.
            83:修整队伍,入住,了解地形,补充登山装备及能量.
            84:征服来回12mile的山路,耗时7个半小时,成功看到了传说中的冰湖奇观: Glacier Grinell Lake.震撼,还是震撼!上山一行的感受还好,除了山路旁边没有护栏,一路上都是悬崖峭壁之外,野花,野生动物会经常出现在视野之内.空气自然好的不必 多说,更别提山腰上的湖水,一会儿翠绿状,一会儿碧蓝湾,真是惹眼.山峰上百年未融的积雪似乎快要化成了岩石,泛着耀眼的白光.真是人入美景,情不自禁.辛苦了半天,到了冰湖,整个人傻掉了.这番景象从未见过.一圈的山峰维护着这片融不掉的冰雪,冰面一眼望不到边,与天相接与山峰相连与云相融合.那颜色难 以形容,从白到紫的种种变化它都有.实在不敢靠近,怕太近会被魔力吸走,不走过去又实在不甘心,这样的美景不去亲手触摸还是不太真实.据说因为大气污染和温室效应,Glacier的冰湖奇观15年后将不复存在.我们一路感叹,一路惋惜,一路回盼.
            85:踏上鲜花漫野的Logan Pass.征程6mile.这是一个山谷,巨大的山谷.山谷里开满了各色的野花,遍流着清澈的小溪.来回走上3个小时,还是不能看到花谷的尽头.好像人就变成了花,在浩瀚的花海里看蓝天采云端.这一番美是彻底不一样的,好像梦里经常出现,没想到现实中真的存在.Pass的尽头是个小小的山峰,可以俯瞰到 Hidden Lake,像镜子一样安然地躺在山谷里给每日的清晨唤醒日光的照耀.身边就有雪白的羚羊成群地走过,她们习惯了游客的到访,安然地过自己的生活,一点也没 有被打扰,这种和平的共处让人心生温暖.
       86:寻找Upper Two Medicine Lake.征程4mile.这个湖不太一般.因为地理的因素,使得它的湖面异常的平静,甚至静过平地,镜子,还有一切可以想到的平面.湖水四周是 2000m以上高度的山峦,高高得耸立着,万年不变.这样一个巨大的谷底汇集的山泉变成了我们眼中神秘的世外桃源.安静,浩然,洞天之外,仿佛可以容忍一 ,海纳万物.
            晚上,我们结束了三天的蒙大拿冰山之行,踏上了返回西雅图的火车.
            87:白天修整队伍,冲到Chinatown大快朵颐晚上跑去看夜景.著名的space needle,西雅图夜未眠嘛.
88:惊险的一天.我们首次体验了在陌生的城市租车,上车流不息的n车道高速,在重雾迷蒙的山腰上,在没有护栏的危险山道上缓行,终于到达Mt Rainier NP的顶峰,看到了冰山,云峦和山峦三者相伴就在手边的奇异镜像.感受很多,不能用一句一览众山小的诗句概括,景致很浩大,人很渺小,很美,很强大.此外,涂同学为未名空间祸害,强烈建议吃过桥米线.我们依靠强大的GPS找到此店,果然名不虚传啊,真的很好吃.

            89:UW探访以及China town重温.在精神食粮和物质食粮两方面上得到又一次富足.
            810:返回.
丰富丰富,图片为证.很好的毕业留念礼物,算是送给自己.至此点上句号,期待好的新开始.

Comments

Popular posts from this blog

Oracle ORA-01000 maximum open cursors exceeded

Several days ago, I wrote a piece of program in C#/.Net to import some records into oracle database. It is windows version 10g XE. When the program is running, I got a run-time error which is ORA-01000 maximum open cursors exceeded. Here is the Oracle docs about ORA-01000: ORA-01000 maximum open cursors exceeded Cause: A host language program attempted to open too many cursors. The initialization parameter OPEN_CURSORS determines the maximum number of cursors per user. Action: Modify the program to use fewer cursors. If this error occurs often, shut down Oracle, increase the value of OPEN_CURSORS, and then restart Oracle. In order to solve this problem, I increased my OPEN_CURSORS by using: ALTER SYSTEM SET open_cursors = 5000 SCOPE=BOTH; You can use SQL/PL client and "connect" command to login the database system by using "system" user to change the open_cursors. If you are using .NET, DBA, and Java programming, please remember to close all the re...

Comparison == vs equals() in Java

In java, we have two operations (" == " and " equals() ") to check the equivalence of String s. It is important to understand that the difference between them.    == The == operator compares the two objects and checks to see if two objects are exactly the same object (refer to the same instance). .equals() The equals() method compares the characters in the two different objects. Two strings may be different objects , but can contains the same values (exactly the same characters). public class Main {     public static void main(String[] args) {         String s1 = "Shangshu";         String s2 = new String(s1);         System.out.println(s1 + " == " + s2 + " is " + (s1 == s2));         System.out.println(s1 + ".equals(" + s2 + ") is " + (s1.equals(s2)));     } } The output of the above code is:...

Tips about sizeof() function in C and C++

The unary operator sizeof is used to calculate the sizes of datatypes in Bytes in modern luanguages in the programming languages C and C++. It is an useful operation in memory allocation. In order to use it right, some tips that you may want to know: sizeof() is a compile-time function (macro-like function), not a run-time function. Therefore, you can declare array as: int arr[sizeof(int)]; because sizeof() is a compile-time function, the equation in sizeof() function will not be calculated. For example: int i=3; int a = sizeof(i++); the value of i will not be changed after sizeof(i++);  because sizeof() is a compile-time function, it can not help you determine the size of an array parameter. The following code will print out size 12 and 4. void test_sizeof(int arr[]) { cout << "sizeof(arr) = " << sizeof(arr) << endl; } int main() { int arr[3]; cout << "sizeof(arr) =" << sizeof(arr) << endl; te...