拉斯维加斯游记

    周末刚去拉斯维加斯玩了一圈。
    我这次去拉斯维加斯非常的仓促,所以准备的不是太好,有很多地方需要借鉴的。首先是订旅馆,我以前听别人说斯维加斯旅馆很便宜,也很好订到所以这次订旅馆订的特别晚。虽然去拉斯维加斯的机票差不多两个月前就定好了,可是我并不是一个对旅游非常有热情的人,一直拖到一个星期前才想起来去订旅馆。结果网上一查,居然所有便宜的旅馆都没有了。天哪,我正好赶上了最火的旅游旺季。结果我能找到的最便宜的旅馆是两天455美金 :'(
    我的计划是在拉斯维加斯停留两晚,周六和周日。这又是一个失算。周末是旅游的高峰,旅馆的价格都跟着涨了,比如我订的旅馆周六是250美金一晚。可是如果我订一个月后工作日,就只要50美金一晚。我的假期不是问题,又不喜欢凑热闹,就应该工作日来的。还有就是两天时间太短了,根本不够。我最想看的是大峡谷。可是后来才发现,大峡谷离拉斯维加斯还是有点远的。开车大概要四个小时,这样两天就来不及去了。所以这次只在拉斯维加斯的Strip转了转。
    不过有遗憾是好事情,这样我可以有理由再去一次 :)
    飞机准备在拉斯维加斯降落的时候,是我所遇到过的最惊险的降落。飞机一直大幅度的振颤。即便是这样,飞机还在胡夫大坝的上空做了了两个大转弯,也许只是为了让乘客在空中欣赏一下它的壮美景色。但是,乘客的紧张心情显然影响的观景兴致,大家一片肃静。直到飞机后轮着陆的那一刻,才听到全飞机的人都长出一口气,大家才有开始说笑了。我想这也许是因为拉斯维加斯处在一片盆地,周围又都是沙漠,气流速度又高又不稳定造成的。
    形容一个地方机会好,叫做“遍地是黄金”。拉斯维加斯虽然没有真的遍地是黄金,但“遍池塘都是美金”。这算一个特色吧,虽然在美国其它城市,已经长在喷水池里见到硬币,但拉斯维加斯这里是我见到的规模最大的。但凡有水池的地方,池底一定堆了厚厚的一层硬币。我当时一直有个邪恶的念头,就是趁人不注意,下去捞点出来,补偿一下我在旅馆租金上的损失。不过为了不给中国人丢脸,最后还是放弃了这个念头。
这让我联想到了无锡的二泉,好多年没去过了。但是小时候的印象还很深刻,游客或许是为了许愿,或许只是想试试二泉水的张力,经常丢硬币到二泉里。真没想到往水力丢硬币这个文化也是跨越国界的。
    拉斯维加斯真是个让我感到亲切的地方,令我想起家乡的不只是硬币,还有路边发小广告的老墨们。走在通往Strip的路上,不断有人把名片大小的小广告塞到你手里,让我觉得仿佛走在上海商务大厦的门口。只不过这里的小广告主要是色情表演方面的,比国内那些飞机票广告诱人多了。
    美国人民很热情的,和陌生人搭话是再平常不过的。当我准备离开拉斯维加斯的时候,一起等车的一个大叔问我:“你赢了钱没?”
我说我对赌博没兴趣,没玩。
他又问我:“泡到靓妞没?”
我说我比较传统,不乱来的。
    他听了之后,十分惋惜的对我说:“你真是白来拉斯维加斯一趟啊!”
我的拉斯维加斯相册:由于我是一个人去的,所以只有风景照,没有自己的照片。
2006.04 Las Vegas

用 LabVIEW 编写 Wizard 类型的应用程序 1 (LabVIEW 6.1 之前)

    Wizard 向导类型的程序,指的是可以类似安装程序那样,一步一步地指导用户完成功能的应用程序。这类程序极为常见。它一边要求用户提供必要的信息,一边给用户发出指导性的意见和反馈。这样,即便是新用户也可以轻松完成任务。但是,向导类型的程序虽然方便了用户,却是增加了开发人员工作的复杂度。
   在过去的七年里,我编写过各种各样的 LabVIEW 应用程序,其中大部分程序的界面都是向导类型风格的。这种风格的软件确实是用途广泛。
在这里,我把曾经用到的编写 Wizard 的各种方法作一简介。随着 LabVIEW 程序的不断改进,以前用过的有些方法今天看来或是十分笨拙、或是已经失去了意义,以后再也不会使用。我记叙下来只是作为对自己过去这一段工作的怀念吧。
 

一、页面为独立 VI

    我在编写第一个程序时,首先想到的就是一个最直观的编程方案:为 Wizard 的每一个步骤编写一个独立的 VI。关闭当前的 VI,打开一个新的 VI,程序就自然而然从一个页面跳到另一个新页面了。完成后,就发现这并不是一个好主意。因为每个页面都是独立的,数据的交换和状态的控制都不方便。比如说,原来的面板在屏幕左边,按一下Next键,面板突然蹦到屏幕的右边了。
 

 二、借助 Windows API

    于是,就考虑是否可以采用框架式的结构。当时 LabVIEW 还没有 sub panel 控件,做框架只能借助 Windows API 的帮助,把一个 VI 的面板当作子窗口,插到框架VI的界面中去。当时公司的一些产品就是采用了这种方法。但是,我并不喜欢。它的主要缺点是只能够支持Windows,无法跨平台使用。再者,我是一位地地道道的 LabVIEW fans,怎么能利用 Windows API 呢?我应该寻找一个纯G语言的解决方案。
 

三、变动控件位置

    下面,就来介绍一个早期的纯 LabVIEW 的解决方案:通过挪动界面上控件的位置来达到界面切换的效果。具体说,就是当用户按下 Next 键,程序就把当前界面上的控件往旁边挪动一段距离,移动到用户界面的可视范围以外,用户就看不到它们了;与此同步,把那些原来在可视范围以外的、而下一页应当显示的控件,挪到可视范围内。这样,用户的感觉就是切换了一个页面。
    这里有一个用这种方法编写的示例。程序的功能是把一个文件分割成几块,或者把已经分割成几块的文件再合并起来。下载地址:
 
    从范例中可以看出,这种方法十分麻烦,每一步操作都要考虑如何挪动每一个控件。如果程序太大,就难以维护了。也许现在不会再这么编写程序了,然而在当年 LabVIEW 还不支持 Tab 控件与事件处理结构(event structure)时,这个方法还相当流行的呢。
 

 

 

去休斯敦看球

    有几个同事是体育爱好者,于是约了我一道去休斯敦看姚明的比赛。从我这里到休斯断不算太远,开车3个小时就到了。
    姚明的比赛在星期天下午,我们几个人觉得既然来回路上都要6个小时,只看一场球赛太亏了。于是决定周六一早就出发,在休斯敦停留两天,到附近其它的景点参观一下。休斯敦比较出名的景点一个是NASA航天中心,一个是Galveston岛。
 
    周六一早就起来了,不过我们几个人磨蹭了一会,大约九点钟正式开始上路。到休斯敦我们预定的宾馆差不多正好12点。我们的计划是星期六下午参观NASA,所以宾馆订到离NASA很近的地方。中午在宾馆随便吃了点东西,就直奔NASA。
    NASA里参观的基本都是领着小孩的,像我们专门来看热闹的成年人倒不多。很多人年纪大了,就对这些东西失去兴趣了,我有好多同事参观过NASA后都说很没劲。还好我童心未泯,或者因为从小就对太空充满了向往吧,这次在NASA转了一圈,还是觉得颇为值得的。
    NASA里有一块月亮上的石头,可以让有人摸。于是我赶紧凑过去摸了两下,也算是摸过月亮了。还很多模型,这是我给月球车模型照的相。
 
    从NASA出来,就差不多该吃晚饭了。大家都没来过休斯敦,于是决定到市中心去找一件饭店吃晚饭。到了市中心才发现,这是个很傻的决定。市中心都是办公楼,没什么居民,又是周末晚上,几乎看不到什么人,有那么几家餐馆也都打烊了。最后还是把车看到郊区,我们宾馆附近吃的Lubbys。
 
    第二天上午去Galveston岛。这个海滨小岛漂亮的没法用语言形容了,当然是我没法用语言形容,我语文比较差,想表达点什么常常想不出词来。好多小别墅临海而建,楼下就是沙滩。住在这种地方,每天在阳台上看看书,到沙滩上散散步,或者去海里游游泳,日子过得简直太惬意了。尤其是这种日子在美国并不是只有资本家才过得起的,那些别墅里的人,大多数这是美国中产阶级,和我在国内干的事情差不多。但他们过的生活,我在没来美国亲眼目睹之前,是想都想不到的。我们几个人在车里一边嫉妒美国人民的生活竟然如此腐败,一边盼望下次飓风快点吹过来,好让我们这些平时吹不着海风的人也有点优越感:)
    一路上还发现了好多旅馆是面朝大海的。于是大家就后悔,为什么不在岛上订旅馆呢?
 
    中午,另外几个同事打来电话,说他们到了,在姚餐厅等我们。那几个人专程来看球,所以第二天才来。于是问们开始急匆匆地开始赶回休斯敦市区。
    这是我在姚餐厅门口照的相:
 
 
 
    姚明开的餐厅,随然名气大,但里边的饭菜实在是不敢恭维。我一进屋,里边几个同事已经在等了。我望他们桌子上一看,已经有几盘一模一样黑乎乎的菜在那了。于是我就问,咱们这不是到中餐馆来吃饭来了吗,怎么还是按照美国的习惯分盘吃啊? 他们无奈的一笑,说你仔细看,这儿是六盘不同的菜。我仔细看了看还真是,不过他们的色香味,不论哪一样,不仔细辨别,都还真差不多。
    像我这种不是球迷的中国人,是绝不会再来第二次了。
   
    赶去球场的路上同样是匆匆忙忙。休斯敦道路状况是比较差的,由于堵车,我们到体育场的时候,球赛已就开始15分钟了。
    这是丰田体育中心,休斯敦火箭队的主场:
 
 
   球赛气氛不错,姚明表现的也甚好,只不过火箭队最近太衰了。本来还领先十几分,再快终场的时候被对手追平,然后的加时赛输了两分。
 
 
    我不太喜欢体育,所以这次是我头一次现场观看的体育赛事。现在才知道为什么客场作战不利,原来观众们对客场的球队真是一点都不客气。每次敌方得球,观众席上都是一片嘘声。尤其在对方球员罚球的时候,篮板后面的观众全都站起来起哄。还有球迷会的人组织起哄的,谁的起哄声最大可以得到一件T血作奖励。
 
   球赛结束已经6点多了。于是启程回来。
   这是从丰田体育中心往外看:
 
 
 我的休斯敦相册: