Tuesday, May 7

转帖: 搞搞真意思

罗大佑香港“搞搞真意思演唱会”归来
文/格格

闪亮的日子
  此文献给两个朋友以及和他们一样喜欢罗大佑的人
身边是山鹰社的同学,周围有白发的伯伯,少妇带着孩子,灯光环绕的前方有缥缈的钢琴声,演奏着东方之珠和明天会更好的旋律——这是2004年3月12日晚上八点半的香港红墈体育馆,我在等待一个人,他是罗大佑。
觉得从不听演唱会的自己够幸运,这么多年,罗大佑第一次香江个唱就让我赶上了。为此激动了十多天,终于可以如 愿。想起2002年的最后一天,罗大佑在首体围炉演唱会,一个朋友打电话给我,我在电话这段听见光阴的故事。后来他写了帖子贴在论坛上名字就叫《光阴的故 事》。终于理解了他,彼时彼刻的心情,但只怕他自己,也记不得那么多了吧。
1.每一个握手将不再犹豫,每一个生命将被珍惜。
罗大佑从舞台中心的井里慢慢升出来,全场并没有我想象中的沸腾,只有热烈的掌声,和音乐一起响起。这首写于去年 六月的歌叫做《伴侣》。2003年有太多的告别和永逝,让人唏嘘。“你看那序幕战火的开场/突变了世纪,飞沫里存亡/崭新的世界,陌生的旅航/迷失的春 天,告别要坚强/多少的付出的解脱/留下的才能够承诺/伴侣有一颗不能怨尤误解的心/付出了拿回来什么/到头来是,算对或是给错/伴侣是隔离的踪迹自我的 追寻/再一次日出太阳升起/再一次重逢问候之余/每一个握手将不再犹豫/每一个生命将被珍惜/如今的岁月将被记取/守望坚持与患难的伴侣/守望不知名患难 的伴侣”……陌生的歌词旋律,却又好像熟悉,战火,飞沫,旅航,春天,隔离。屏幕上出现杨利伟在香港受到热烈欢迎的场景,罗大佑闭着眼睛弹着钢琴,每一个 段落完毕,他习惯性地挥起右手又落下去,我看见他小指上一枚银色的戒指。
一时间我的眼睛和思想都无法聚焦,我不知道是应该专注地看罗大佑的一举一动,还是随着屏幕画面进入音乐的情绪。那个春天于我,又意味着什么呢?期望,惶恐,迷茫,被隔离。该过去的终于还是过去了,我在夏天告别了一些人和故事,开始新的自己,有点像涅磐。
  然而记忆却还会在艰难的时刻袭击我软弱的部分,肆无忌惮……就在这个时候,歌曲结束了。
2.爱人同志
罗大佑开始说话。他说,今天我们一半粤语一半国语,一半爱国一半“不爱国”。大家都笑了。几乎满座的红馆,去年 冬天刚刚上演过几出大戏,王菲唱过,梅艳芳唱过,然而今晚却和我想象中的不一样。可能是因为今天的主角属于另外一个时代吧,观众们少了追星族的疯狂,多了 人到中年的沧桑。我想那些头发花白的夫妇来听罗大佑,应该一半是青涩回忆,一半是暗淡惆怅。
咖啡色西装,黑色的衬衫,新剃了平头……罗大佑说,我不会跳舞,我不会换十件衫,我的演唱会叫“搞搞真意思”,只是想和大家说说话,搞搞真意思。
爱人同志的歌词从来都让我迷离:怎么都不能明白我不后悔/即使付出我青春的血汗与眼泪如果命运不再原谅我们/为了我灵魂进入了你的身体/让我向你说声抱歉----爱人同志
3. 人生难得再次寻觅相知的伴侣,生命终究难舍蓝蓝的白云天。
恋曲1990的前奏响起,情不自禁和大家一起击掌伴奏。这是我听的第一首罗大佑的歌。那时候太小,记不清前边缠缠绵绵的长句子,却一直喜欢那一声:生命终究难舍蓝蓝的白云天。
  一个凡人对生活的执著与眷恋,全嵌在那“蓝蓝”两个字里了。我见过多少种修辞来形容天空,可到头来还是最朴素的重叠,让人心动。
慢慢长大,自己也经历了“黑漆漆的孤枕边寂寥的心情”,也曾“怎么也难忘记你离去的转变”,却没有寻寻觅觅常相 守的脚步,而是选择了苍茫茫天涯路的漂泊。好像不再做梦,好像不再哭,只会在每一个轰隆隆的雷雨声敲打窗前的夜晚醒来,重温那无怨无悔的双眼。真的是这样 么?可我还是喜欢那埋在心底深深的期盼,应该是倦鸟归巢,夕阳西下,湛蓝天空在渐渐转暗之前,漂浮着大朵大朵的白云。我站在树下凝望,远山青葱,我唱,我 笑,我歌哭。
青春痴狂的罗大佑,一袭黑衣的罗大佑,即使显得再酷,再愤世嫉俗,但因为这首歌,我也总相信他有个美好明媚的心灵。因为只有心灵里有阳光的人,才能写出这样纯粹、温暖的句子。
4.不明白的为何人世间总不能溶解你的样子
《你的样子》是电影《又见阿郎》的片尾曲,同来山鹰孩子的最爱。
我们听到的是《你的样子》的粤语版《也许不易》。其实,罗大佑的许多歌对于热爱它的人来说,看不看词已经不重要了。只要那熟悉的旋律响起,自己身体里早已被感染的那一部分就会立刻被调动起来,和音乐产生共振。
每次听你的样子,我都会想起几个晃动的人影。一个是走在茫茫夜色里的朋友,正值隆冬,北风呼啸,平安夜宽阔而笔 直的城府路上车辆稀少,只有昏黄的路灯照亮前方,他的步伐很快,平稳而坚定,聪明的孩子提着心爱的灯笼;一个是父亲载着我骑车的背影。我长得再大,我骑的 路再远,总还是眷顾坐在父亲自行车座上没有风雨的温暖;还有一个,就是罗大佑他自己,他就是那个造物的恩宠。在我梦里呜咽流淌的小河,在我看似满不在乎转 过身去,在这个忘情的世界里,总不能溶解他们的样子……而我的样子,却不断在变,长大,告别,成熟,远行,最后,也会老去。
5.台北不是我的家,我的家乡没有霓虹灯。
唱《鹿港小镇》之前,罗大佑卖了一个关子,他说他1987年4月1日来到香港。他说他知道如今香港人的祖辈或父 辈也是移民游子。他说每一个人的生命里,都会有离开家乡的经历与感怀……我便知道,他是要唱《鹿港小镇》了。以前不喜欢听这首歌,因为总觉得他唱“台北不 是我的家,我的家乡没有霓虹灯,鹿港的街头,鹿港的小镇,妈祖庙里烧香的人”的时候,有一种痛苦的乡愁和无奈。但是当真的有一天自己也离开家,从一个有霓 虹灯的地方到了另一个有霓虹灯的地方,我也常想说,这里不是我的家……家是一个多元的概念,它是你有了喜怒哀乐都第一个拨通的电话号码,它是你撕去一切伪 装打滚儿撒欢儿的地方,它是你挂云帆、济沧海累了的时候,一转过身,就可以依靠的臂弯,它是每一个人的归宿。
6.不知不觉这城市里历史已记取了谁的笑容
罗大佑请来的嘉宾之一是袁凤瑛,她说自己从罗老师那里学会了用心唱歌。然后,她唱起了粤语版的《追梦人》。原本 是写给三毛的作品,却因放在《雪山飞狐》的片尾而常被人曲解。青春吹动的长发,深藏的红颜,流浪的足迹,沙漠的笔记……没有读过三毛的人要有怎样的想象力 才能把这首歌明白?可还是有那么多对我说,他们喜欢这首歌,虽然记不起谁唱的谁写的,也忘了是哪部电视的插曲……也许打动人的旋律真的不需要情节点缀的, “青春无悔不死,永远的爱人”真的不需要解释,也许每一个爱过绽放过的追梦人都有过那样值得被记取的笑容。也许无关城市的历史,但这世上,总应有那么一个 人,至少一个,记得你,冰雪不语隔夜时难隐藏的光彩。
7. 来易来,去难去,数十载的人世游
    分易分,聚难聚,爱与恨的千古愁
《滚滚红尘》是部有传奇色彩的电影。罗大佑为秦汉和林青霞的电影写了主题曲《滚滚红尘》,两位演员倾情出演的, 是三毛的剧本;而三毛讲述的,又是半个世纪之前,张爱玲与胡兰成的聚散来去……胡兰成把自己的情感历程写成《今生今世》,文笔甚好,可我恨这样一个薄情寡 义的人却给书取了个那么个信誓旦旦十分执著的名字。不过他有句话我喜欢,“爱玲是我的不是我的,也都一样,有她在世上就好。”也许他是真心爱她从未改变过 的,只是滚滚红尘里的匆匆与胶着都由不得自己,守不住的感情放她离去,只要还有这个人存在世上,便应觉得欢喜了吧。
罗大佑一边弹着钢琴一边与袁凤瑛对唱。那低沉的男声让我想起在大讲堂看过的情节。林青霞赤脚踩在秦汉的皮鞋上翩 翩起舞,夕阳落平台,红裙轻摆。几年以后,香港人潮汹涌的的码头挤散两个人,秦汉的身影淹没在要渡过台湾海峡的轮船。这一去,是永别,只留下世间隐约的耳 语跟随他们的传说……
不知怎么,我居然哭了。
8.情到深处人孤独
我的眼泪很快止住,而罗大佑还在不知疲惫地唱着。只是在歌曲开始之前,他会不停地饮水。
《是否》是一首充满布鲁斯情调的歌,缓慢而低沉,像是一个人在雨里,一边撑着伞,一边漫无目的地走路。
  是否,这次我将真的离开你
  是否,这次我将不再哭
  是否,这次我将一去不回头
  走向那条漫漫,永无止境的路
  是否,这次我已真的离开你
  是否,泪水已干不再流
  是否,应验了我曾说过的那句话
  情到深处人孤独
记得高中曾和几个同龄的少年合出过一本随笔集子。每一个人那部分开始之前,有一篇人物介绍。那个编书的女孩儿和我有些交情,送给我了一句话就叫做:情到深处人孤独。不知是感慨还是怜惜。那时我还没有听过《是否》,只是一直回味这句话,觉得也有些道理。
来听演唱会之前,到处找人同听,可是总被看成异类:罗大佑啊?那么老你居然喜欢,真让人惊讶……我无奈地笑笑,转身走开。终于找到同样和我般欣喜若狂的女孩儿,北大的女孩儿,生科的学生,山鹰的孩子……她说,也许我们和大多数同龄人有代沟吧。
我不觉得孤独是可耻的,因为情到深处而已。
9. 别时多珍重 别后见真情
    海阔天空心 常比日月久
《弹唱词》是个歌谣,每一句话都可能是罗大佑的一个故事,一段往昔。高高低低抑扬顿挫地唱了好多句,让我想起李 宗盛的《凡人歌》。李宗盛写歌拿捏人心也是很到位的,你想不感动都难,但是他输给罗大佑,输在他的创作不够有集大成者的气魄。而罗大佑像《船歌》那样的歌 谣写得,像《明天会更好》这样专给世界和平年的大部头也写得;《京城夜》这样的坚硬写得,《海上花》这样的柔情也写得;《之乎者也》带着冷嘲热讽让台湾全 省来了次大反省,《思念》里的款款深情又真的能让每一个听他的女孩子“脸上羞涩泛起红红的光”……
  用高晓松形容罗大佑的话来说就是,他既有“花退残红青杏小”的缠绵,又有“大江东去”的豪情。也许罗大佑作为一个诗人,是不能和苏轼相提并论的,但是作为一个歌者,他是足够开阔而细腻了。
10.香港的童年,所有人的童年。
很多人了解罗大佑,都是从《童年》开始的。一天又一天,一年有一年,各种各样的童年。它打动我们,不是因为那些 “朱克斯朗和魔鬼党”本身,而是听到它,你会想起自己小学校操场边秋千上的阳光,自己小时候的那些美好的愿望。说的俗一点,一千个听众就会有一千个童年, 这种情绪集中在一起,叫怀旧。
罗大佑来香港,带来了香港的童年。大屏幕上,是这座城市上个世纪初的稚气的脸,没有维多利亚港的灯火辉煌,没有 半山的高楼林立,黑白相片记载着的,是她漫长成长中的奋斗与艰辛。罗大佑并不着急演唱,而是诚恳地弹奏着童年的旋律。他特地用普通话说了两遍,说给我们这 些在香港已经出落成惊艳的少妇时候到来的异乡人:香港的今天,来之不易。
11.断肠字点点,风雨声连连,似是故人来
灯光从罗大佑的身上移开,大屏幕上不再有人影出现,一个熟悉而遥远的女中音仿佛是从天上飘下来——那是梅艳芳的 声音,在演绎罗大佑为她写的《似是故人来》。苍凉而委婉,字字泪垂,还未来得及叹息,早已成了绝响。而罗大佑固执地用不太地道的广东话说,阿梅没有走,她 还在这里,两岸三地,只有她,最能代表香港的精神!
我再次环顾这著名的香港红墈体育馆,这去年十二月,梅艳芳病重时,打吗啡止痛开了足足八场演唱会的地方……
12.海上花
罗大佑自写自唱的歌有时没有他给别人写的歌那么出名。甚至很多人都不知道那些好听的歌是谁的作品。比如周华健《最真的梦》,潘越云《野百合也有春天》,还有那首《沧海一声笑》,其实也是罗大佑与黄沾合作的结果。
  我想是因为罗大佑的嗓音并不出色,有些歌曲需要更细腻的演绎。
  尤其是这首《海上花》,完全用古乐的宫商角徵羽谱曲,歌词起承转合得精妙,那“睡梦成真,转身浪影汹涌没红尘”一句,就像是一波波的浪层层叠叠拍打在心上。这样曼妙的歌,罗大佑自己不演绎了,他请来合唱团的男孩儿女孩儿们,在蓝色的灯光里,荡漾出完美的和声。
现场,再次陶醉。
13.亚细亚的孤儿在风中哭泣,没有人要和你玩儿平等的游戏。
合唱团唱完《海上花》,接着就唱《亚细亚的孤儿》。气氛以下从静谧祥和转为悲怆。西风在东方唱着悲伤的歌曲,黄色的脸上有红色的污泥,黑色的眼珠有白色的恐惧……
这样的时代似乎已经远离了,而罗大佑还在以他特有的方式呐喊。他说,共创香港新精神,共塑中国新形象。这样的话,纵然是有着许多种解析,但无论哪一种,都让我觉得罗大佑,不单单是个歌者。
14.挪威的森林:伍佰来了。
当伍佰唱了《挪威的森林》,然后开始和罗大佑在舞台上对弹吉他的时候,从他俩陶醉的表情里,我仿佛看到了笑傲江湖里曲洋刘正风共奏《笑傲江湖曲》的场景。仿佛是江湖风雨,飘零英雄,惺惺相惜……
15.请别忘记我永远不变,黄色的脸
当《东方之珠》和《皇后大道东》的旋律响起的时候,罗大佑已经不需要在唱了。他坐在钢琴旁,弹着不知道重复了多少遍的旋律,听诺大的体育馆所有人,唱他们不知听了多少年的歌曲。每一个字,都记在心里。
  是啊,这就是为香港写的歌,一个曾经在香港住了九年,放弃了医生职业的台湾人,对东方之珠的眷恋与热爱。还能有哪一种形式的表达,能在短短的三五分钟内,让所有年轻的,年迈的香港人,说出他们对这片港湾的款款深情?
虽然没有尖叫与呐喊,但是,香港人用另一种形式纪念了属于他们的青春的血汗与眼泪。
  而我,作为一个单纯因为喜欢罗大佑而来到人,也受到了这样气氛的感染。
最后的最后,《伴侣》的音乐又在响起,间奏用的却是《明天会更好》。罗大佑在自己的歌声里走下舞台,而他的听众 却不肯离去。罗大佑的脚步始终是轻快如飞的,罗大佑的曲风也是迥异多变的,罗大佑的歌迷早已告别了“告别的年代”,拖儿带女两鬓斑斑,而罗大佑却永远年 轻,看着这个世界上演我们所不能了解的事。
我想几十年后,还是会有人把《光阴的故事》唱起,想起一个歌者和他引领的时代。因为香港也好,大陆也罢,那些歌词,是每一个人青春与人生的注脚,标记在不同的单词与段落。而音乐,则是背景,渲染难以磨灭的回忆。
风轻轻地吹,夜沉沉地醉。
我在海风吹拂的凌晨归去,激动的心情释然了许多。过去的就让它都过去吧,把无限留恋都压缩在歌声里纪念,而如今与将来,定然也会是——闪亮的日子。
我来唱一首歌 古老的那首歌
  我轻轻的唱 你慢慢的和
  是否你还记得 过去的梦想
  那充满希望灿烂的岁月
你我为了理想 历尽了艰苦
  我们曾经哭泣 也曾共同幻想
  但愿你会记得 永远的记得
  我们曾经拥有闪亮的日子
——罗大佑演唱会归来,夜不能寐,遂成文。写给朋友,也写给自己。
(来源:闪亮的日子)

Thursday, May 2

mysql note: IsNumeric() functionality

Situation: There is one text field "old" in the table a, and it can be:
?
NON
2+
0
4.0
-0.3
=======
The task is to identify the numbers (the last 3 items) and put the numbers into a double filed "new". This field is currently set as default (null) at this moment. So the new field would be:
(null)
(null)
(null)
0
4.0
-0.3
=========
I can't use "update a set new = old". The result is:
0
0
0
0
4
0.3
========
So the idea is to use a "IsNumeric()" function to "update a set new = old where IsNumeric(old)", so only the last 3 items that are numeric are being updated.

There is such a function in MS Sql Server, but not in mysql. The first Googled page gives one way:
update a set new = old where old = concat( '', 0 + old )
The result is:
(null)
(null)
(null)
0
(null)
-0.3
========
The reason is that when they are converted to string, 4.0 does not equal to 4.

Another Googled page claims to have "MySQL Equivalent of ISNUMERIC()", and the solution is using regex:
update a set new = old where old  REGEXP ('[0-9]');
The result is:

(null)
(null)
2
0
4.0
-0.3
========

Because this regex is looking for any string that contains number, the "2+" is selected, and that is wrong.

A popular regex to verify number is '^[-+]?[0-9]*\.?[0-9]*$', but when it is being used, the result is not right:

update a set new = old where old  REGEXP ('^[-+]?[0-9]*\.?[0-9]*$');
The result is:

0
(null)
2
0
4.0
-0.3
========


I can't understand why '?' and '2+' can pass the regex verification. Maybe the regex implementation of mysql is not quite standard.

Finally, this regex gives out what I need: '^(([0-9+-.$]{1})|([+-]?[$]?[0-9]*(([.]{1}[0-9]*)|([.]?[0-9]+))))$' (From this page)

I am sorry, this regex is too long to understand, and I am exhausted already. Please check that page to understand what's the meaning if interested. For now, I can just use it as:
update a set new = old where old  REGEXP ('^(([0-9+-.$]{1})|([+-]?[$]?[0-9]*(([.]{1}[0-9]*)|([.]?[0-9]+))))$');

(null)
(null)
(null)
0
4.0
-0.3
=========

Problem solved.

BTW, the regex in mysql can only be used for validations like this case, can not be used for string replacement, such as retrieving number from a string. That limits the moves we can have. I hate that.

Wednesday, April 17

Being forgetful

Morning. In the kitchen. Two slices of bread were in the toaster, and a cup of milk was in the microwave.

I looked at the counter. There are a bag of bread, a bottle of peanut butter, a banana, a plate and a knife. Since I didn't have too many things to do while waiting for the toaster and microwave, I could clean the counter a little bit.

I already took out two slices of bread from the bag, so the bag of bread was not needed any more. I put the bag of bread to the cabinet.

Wait a minute. The bread should go to the fridge. The cabinet was where I got the bottle of peanut butter from. So I took out the bread, and put the peanut butter inside.

Now in the counter there are a bag of bread, a banana, a plate and a knife. Something is wrong.
... I should put that bag of bread into fridge... done.
... I would need the knife and plate for the toasted bread to apply peanut butter... Why did I put the bottle of peanut butter into cabinet already?

Will Windows Start Menu be back?

I got sources telling me that Microsoft is seriously considering taking the Start Menu back. I welcome this move.

Microsoft made a bold move to remove the Start Menu from Windows 8, because it wanted to push people from desktop to "Metro style". It insisted that even after getting a lot of complaints from internal/external testing users. I understand that thought and admire that insist. But the reality is, this move is getting negative feedback from most users. I've never heard of anybody liking this change.

Microsoft guys told me that when the mouse is moved to the lower left corner, there is a little icon shows up. When that is clicked, the Metro panel shows up to list common used items. "It acts like the Start Menu". No, that is very different from Start Menu, because when that icon is clicked, I can't see my current windows, and that makes me nervous.

At least, give us costumers the options to vote for Start Menu please.

Windows Blue was rumored as "Windows 9" in March; now it is likely to become "Windows 8.1" as an update of Windows 8, which was released less than 6 months ago. It is good that Microsoft lower the ambitious plan and face the reality.

People keep saying "PC is dead". It is true that the smartphones and tablets (Kindle, iPad...) are very convenient, but PC is still a very productive tools in a lot of scenarios. At least, I don't want to type this blog in a smartphone. Staring at the soft keyboard of iPhone, moving out the thumbs to locate the small keys, that aren't the correct way to type.

Sunday, April 14

昨天行程


昨天行程

前几天订机票的时候,查了到三藩市或者圣荷西的飞机,只有两个经盐湖城转机的便宜;其它的都双倍、三倍的价格。这两个选择中,一个是早上6点,另一个早上8点。因为我还要在机场海关办手续需要时间,选6点的航班的话,我就没时间睡觉了。

早上5点起床,6点到了机场。海关有规定:只有起飞前两小时的乘客才可以过海关,所以我这个时间正好。

一进机场,傻眼了,排队checkin的人很多!我已经把登记卡打印好了,所以一般到这里都忽略这个队伍,可是今天我有行李要托运,就必须过这一关!我估计一下,基本上要20到30分钟。嗯,生命很宝贵,时间很重要。我找了一个维持秩序的大妈,告诉她我进去后还要在海关办手续,时间比较紧;她把我带到vip通道马上把我的托运行李票打出来,问题解决了。

第一关:通过。

然后到海关门口,守门的确认一下我的机票是两小时内起飞的航班,让我进去了。里面按例是很长的海关的排队,这个跟我无关,我有Global Entry的卡,又是VIP通道:到Kiosk里扫描一下护照,印一下指纹,1分钟就到海关官员前了。

第二关:通过。

跟海关官员说了我今天要办的手续,他就把我带到“黑房子”里。这也是惯例,我去年办过。把行李放在外面,机票、护照交给海关官员,就进去等着吧。
黑房子里只有一个官员和一个年轻人。我低头填表听见官员问:你有没有被逮捕过?年轻人犹疑了一阵,我就想:有情况!竖起耳朵,果然听见年轻人说:以前因为开快车被逮捕过。
年轻人应该是6点的飞机(这时候已经6点了),和兄弟一起飞到休斯敦,转机到costa rica度假一星期的。这一次也并非他第一次去美国,怎么就被拦下来了呢?只能说是luck了。一个多小时之后,他终于被放了,官员还帮他调到8点半到休斯敦的飞机,所以他可以在那里赶上兄弟,然后一起度假。Have fun!
在此期间,进来一个西装革履的地球物理博士生,是那种在茫茫人海中一看就知道可以用普通话交流的那种。他是第一次办这个手续,公司请了律师,所以海关官员居然在办理我之前先办理他了。在等待时我告诉他没有什么好担心的,上次我办理的时候,第一个问题是到哪个城市,第二个问题就是我打算如何交申请费用,是用现金还是信用卡。果然,在年轻人离开之后,官员用了半小时,把他的事情也解决了。他也是到休斯敦,和那个年轻人同一个航班。好吧,留下我一个人,你们远走高飞吧,祝你们,春梦了无痕啊!

读者你要是keep track of time,你会发现时钟已经将近8点了。我的航班已经开始登机,才终于轮到审查我的案例。申请材料甚至还在我手上呢。
到办理的时候,其实没有什么好说的。去年我已经办过一次,是公司请律师办好了文件,我拿到这个黑房子里办的;今年我换了一个雇主,所有材料都是我自己按照去年的文件收拾的。官员翻着材料,在一些关键点上打钩,表明这些都满足他的要求。看完之后,还是相同的问题:你打算如何交申请费?接着顺便更新了Global Entry卡的资料,甚至主动告诉我,我拿到了3年的批准;我的护照只有两年半的有效期;他已经做了批注,到我换新护照的时候跟海关提一下就可以继续用到3年整了。这么好的服务,我还能说什么呢?

第三关总算通过了。

半个小时后,办妥出门。不用说,飞机已经起飞,连我放在外面的行李上面帖着的的单子都被已经撕走:也就是说,航空公司已经意识到这件行李(和它倒霉的主人)不可能赶上这趟飞机。官员说:抱歉让你误了飞机。然后把我送到Global Entry的门口,让我出去找航空公司去。
我自然知道今天两趟经盐湖城转机的都已经飞了,跟航空公司小姐一说,她查证之后果然说今天不再有到圣荷西的航班,可以帮我调到明天同一航班中。这样就完全打乱我的计划了。明天我还有安排呢。我想了想,镇静下来,跟她说:1,我明天早上还有一趟航班从三藩市出发;2,今天如果没有到圣荷西的,有没有到三藩市的?我愿意补上差价。她对换目的地比较踌躇,就打电话给总部请示一下,结果成功了!
最后,我不需要补差价,就坐上了原来我所看到的三倍费用的直飞三藩市的航班,三小时后出发,比我原计划转机的航班提前10分钟到达


最后一关也成功了!Mission Accomplished!

我把行李拉到旁边椅子旁,给已经定好的接机的机场巴士打电话,改一下机场;然后放下电话,感觉少了什么东西,站起来摸摸兜里;航空公司小姐过来问我:你是不是丢了什么?我还没想好怎么回答,她把手上的东西亮给了我:我刚才放在柜台上的护照和钱包居然忘记拿了!
OK,这是我今天犯的唯一的错误。

在机场闲等着的时候,又见到了早上那个机场大妈。我主动跟她解释了海关误了我的点,所以我现在还在这里。她说,那以后你要提前3小时来才行。我指着"less than 2 hours of your depart time"的横幅说,可是提前来,海关也不让进啊。好吧,以她的丰富的生活经验,她也表示这个问题无解。
(当然,下一次,我一定会提前三小时来,泡一泡守门口的,告诉她我要进去办手续,应该能搞定。)

三小时后,因为已经办好了行李单,直接用Global Entry进海关,然后也用它加塞过安检,10分钟后我已经到登机口等着了。


Monday, March 25

I don't like facebook

Yesterday I rejected a friend request:
Do I know you? I avoid adding strangers into my friend list. I don't think I know you in person, and I don't find anything interesting in your facebook page.
People always feel obliged when being requested to "be friend". That can be exploited by malicious. Actually there is one independent incident 12 hours after my rejection, and this incident proved my paranoid way is correct:

My facebook got a notification that a friend is tagged in one message, so of course I checked that message. As a friend, it's a courtesy to check on friends' activity, isn't it? Anyway, that message is a total non-sense commercial message without any value, but what makes it distinguished from other message of the same kind is: that author tagged all "friends" in that message, so all friends of those "friends" are getting notification, including me. I replied that message asking my friend: Do you endorse this commercial message? One person of the "friends" replied and say this author will be de-friended. If that person followed my way of adding friends, she wouldn't add that author as friend in the first place.

Compare to facebook, I like Google Plus better. I know that Google+ is described as "Ghost City" at this time. It is not that friendly, and there is not that many tricks to play, so it is not getting too much attention. But in each notification email of "xxx added you on Google+", you can see the reminder saying that if you don't know that person, you don't have to follow her back. That is a very heart-warming reminder because it takes the obligation off your shoulder.

Another thing that is different between Facebook and Google+ (and the other reason why I don't like facebook) is that Facebook put all friends together, while Google+ allows you to create different "circles" to separate your friends. To maintain the friendship in Google+ is not a trivial task, same as maintaining friendship in reality. Facebook simplified this structure, but I don't think that is a good thing.






Wednesday, March 20

DateDiff function in SQL Server

This DateDiff function in SQL Server might not be working as you expected.

For example, now we are looking for records that are older than 4 hours, you would think to do it like that:

select * from table where DateDiff(hour, CreateDate, getdate()) >=4
but that is not correct. Assume the CreateDate is 05:59 and the current time is
09:00 , you will find that the this record is selected, as if this 3 hours and 1 minute record is "older than 4 hours."

We can easily confirm that using these 2 queries:



 select datediff(hour, '2013-03-19 05:59', '2013-03-19 09:00')

The time difference is 3 hours and 1 minute, so I would expect this query to return “3”


select datediff(hour, '2013-03-19 05:00', '2013-03-19 09:59')

The time difference is 4 hours and 59 minute, so I would expect this query to return “4”

Actually, these two queries both return “4”.

So this DateDiff function is simply using the "hour" part of the 2 datetime to do the calculation. It use the "9" of the second datetime to substract the "5" of the first datetime to achieve "4".

Back to our initial question: How to look for records that are older than 4 hours? Use DateAdd:

Select * from table where DateAdd(hour, 4, CreateDate) >= getDate()

This will give a precise calculation of 4 hours.





Friday, February 15

Hacker's spirit: bypass iPhone passcode.

There is a trick to bypass iPhone passcode to access your contact list, pictures, if the iphone is physically accessed by others. I am reluctant to give out the link here, because I think it actually works, and it is dangerous.

1. Hacker's exploration is endless. The trick includes pressing different buttons and making uncommon calls. I am fascinated how the combination can be found! That is the hacker's spirit: exploring the world that common people don't usually look at.

2, Protect your phone properly. Don't think the passcode is good enough. Sure, passcode is still important.

3, Apple will deliver patch soon to fix this problem.

Sunday, February 10

Is Macy your friend?

晚上丫丫拿我的手机乱翻,看到了一个多月前Macy's 发来的广告信: Merry Chiristmas!
她想,来信祝我节日快乐的,肯定关系不一般,就问:
Is he your friend?
好吧,为了省得她接着问,我就承认了算了:
Yes.
她接着问了:
Is he your best friend?
不算best吧...Macy's 并非我的特别favorite,Target离我更近一些。所以我就回答:
No, not best friend.
她还有问题:
Does it sit with your all the time?
这个问题...一定要否定
No, not all the time.
Sometimes?
Yes. 好吧,我被你打败了。


Friday, January 4

做一道小学数学题

“用1到8这八个自然数组成两个四位数(不可重复使用),其中一个四位数是另一个四位数的4倍,请问这两个四位数分别是……” 这确实是一道小学四年级的数学题,你知道怎么做吗?前天,重庆大学大三学生赵旭婷也很犯难,因为这正是弟弟的一道假期作业题。无奈之下,她只好求助同学,结果一算就是半个小时……
让我们用小学数学来解决它!

首先看个位数 :如果第一个数的个位数是1,那么第二个数的个位数必然是4,才可能成为第一个数的4倍。如此类推,我们可以得出7个可能的组合:
xxx1 - xxx4
xxx2 - xxx8
xxx3 - xxx2
xxx4 - xxx6
xxx6 - xxx4
xxx7 - xxx8
xxx8 - xxx2

先看第一个组合:xxx1 - xxx4
第一个数的千位数不能为1(已经被使用了),所以只能为2,才能让第二个数的千位数是在1-8之间,可是第一个数的百位数最小也只能是3,那么第二个数的千位数连8都不够了。因此,这个组合不能实现。

第二个组合: xxx2 - xxx8
根据上面的讨论,第一个数的千位数只能为1 (2已经被使用)。
看十位数,只能有这两个组合:
1x42 - xx68
1x62 - xx48
因为1x32会产生 xx28,而2重复;
1x52会产生xx08,0是非法字符;
1x72 会产生xx88,8重复。
现在看1x42-5x68组合:
1342*4=5368, 3重复,不可用。
1542*4= 6168
1642*4=6568
1742*4=6968,不可用。

第三个组合:xxx3 - xxx2
第一个数的千位数必然为1。百位数大于或等于4,因此第二个数的千位数可以是6或7。
看十位数,只能有:
1x43 - xx72
1x63 - xx52
现在看1x43 - xx72组合:
1543*4=6128, 1重复
1643*4=6572
1843*4=7372
都不可以。
现在看1x63 - xx52组合。第二个数的千位数只能是7,那么第一个数的百位数只能是8才能凑够:
1863*4=7452。 成功!


可以继续用下面4个组合把所有可能的配对都找出来。