全部,或者选择州和城市...

    阅读网志,Metamorphosis... in 奥芬堡

    生日快乐

    @2010-8-24 17:39 -07:00

    今天,八月二十五日,是Priscilla的生日。Priscilla是在过去三年里和我一起环游欧洲,渡过幸福时光的人。祝你生日快乐!

    明天,八月二十六日,是鬼树Tracy的生日,鬼树Tracy是我大学时代的学姐,兼具才学与美貌,曾经写下许多触动我的文字。祝你生日快乐!

    大后天,八月二十八日,是Tulip的生日,Tulip是我从初中到现在的挚友。初中的时候,我有三个人可以当做知己,而现在,一个已经不再往来、另一个东渡扶桑杳无音讯,只有你还一如既往、不离不弃。祝你生日快乐!

    还有,八月二十八日,也是Iorisucal的生日,Iorisucal是我的高中同学,也是我最好的兄弟之一。祝你生日快乐!

    另外,八月二十八日,还是Elaine同学的生日,我们虽然没见过面,但是聊过许多事情,尽管陌生,却感觉亲切莫名。祝你生日快乐!

    星期天,八月二十九日,是戴嘉的生日,戴嘉是我的大学学长,是我认识的最幽默、最善良、最会做饭、最会赚钱的绅士。祝你生日快乐!

    下周三,九月一日,是拉朵的生日。拉朵是我认识大约五年的网友,大概也是这个世界上说话最无需遮拦的朋友之一。祝你生日快乐!

    下周五,九月三日,是Yandream的生日。Yandream是我在flickr上结识的第一个人,希望有机会也能在现实生活中见面!我代表肛中央和舒core,向您的生日致以最诚挚的祝福,祝你生日快乐!

    如此盛大的一周,我却要去旅行,通讯不便,不能在当日给你们祝福,十分懊恼,所以写下这些,希望你们能看到。

    我爱你们。

    琐事19.1

    @2010-6-26 17:32 -07:00

    书接上回。在巴登巴登的家中略作休整,十五号去泡温泉,十六号闲晃一天,十七号一大早我与Priscilla又赶赴火车站,坐上开往巴塞尔(Basel)的ICE,开始计划已久的瑞士之行。嚷嚷着要去从小就莫名心仪的瑞士,是从零九年瑞士加入申根协定开始,而且作为一个伪物理爱好者,位于日内瓦的欧洲核子研究组织(CERN)也一直令我十分向往。在LHC摧毁世界的担忧风传的那段时间里,我去拜访CERN的网站,才发现他们其实对公众免费开放参观,只是需要提前预订。后来我和同在德国、Geek味相投的.问号鱼同学提及此事,他当即表示了他与夫人即便跷课也愿意前往拜访的决心。于是在今年一月底,我在网上预约到六月份的参观──世界上的Geek果然真不少,预约参观要提前六个月──那时候我并不知道Priscilla会在六月份来德国休假,但是冥冥之中有某种力量让我在“访问人数”一栏之中填了“四”。

    从巴登巴登到巴塞尔这段铁路,几乎是笔直地沿着黑森林与莱茵河南下,ICE只需要一个半小时,就可以走完大约150公里的行程;从巴塞尔到日内瓦的这段铁轨却不得不在阿尔卑斯山北侧的皱褶中蜿蜒,200公里左右的距离要跑两个半小时,而且弯道颇多,车厢总是倾斜,坐完全程,多少有些不适。到达日内瓦已近下午两点,在车站换了一些瑞士法郎,等了一会儿,乘飞机从纽伦堡来的问号鱼夫妇翩然而至。四人上次见面还是零八年五月的事情,一晃两年真是很快。

    当下大家一起奔赴青年旅馆。路程不远,大概走十钟就到,可巧进去之后就开始下大雨。接待处坐了个中年妇女,也不管面前有多少人排队,只是自顾自地用瑞士法语叨叨地和同事聊天,做事慢得要命。青年旅馆本身还算过得去,位置不错,也挺干净,虽然数一数我们住过的正儿八经的国际青年旅,维也纳、康斯坦斯、图宾根、加上日内瓦这四家,日内瓦也许是最差的一个吧。把行李放下,窗外的雨也略停,大家轻装上阵,先去吃了顿土耳其肉夹馍,然后奔赴日内瓦湖边……

    呃,接下来的剧情请关注问号鱼的blog,我就只拣些零散的感触来写好了。毕竟十天的行程全都记录下来也挺累的,可是若晚些再写又难免遗忘很多。

    日内瓦是个挺有趣的城市,名字有好几种拼法,德语“Genf”,法语“Genève”,意大利语“Ginevra”,英语“Geneva”,词源也许来自原始印欧语的“Genava”,意即“河口”;也有说法是来自法语“Genévrier”,“刺柏”,也就是说,和杜松子酒“Gin”同源。她三面都被法国环绕,以前也曾是法国勃艮第地区的首府,一直被主教管辖直到十六世纪,直到宗教改革后驱逐主教,变成一个共和国。约翰·加尔文更是移居于此,使得日内瓦从此成为基督教“新教的罗马”。不过这里的教堂并没有罗马那么稠密,市区的建筑也比罗马素雅得多──素雅到了有些寒酸的地步,建筑都看起来旧旧的,倒也因此多了几分生活气息。

    日内瓦去洛桑的船上

    日内瓦湖很漂亮,清波碧水,如果时间充裕,可以从日内瓦坐船到洛桑,耗时两小时四十五分钟,早上十点十五分出发,抵达洛桑后正好吃午饭。游船并不是直线到达,而是沿岸一个个小城停靠过去,每个小码头都各具特色。

    日内瓦去洛桑船上
    Nyon码头

    在船上我们拿出富士Instax照相,过了一会儿有几个老头叫住我,问“Parlez-Vous Français?”,我骄傲地用法语回答“Non!”,他愣了一下,又问“那英语咧?”我答“yes!”,然后他问我那个相机是啥,是不是什么山寨宝丽莱。我解释了一番,他表示感谢,末了问我从哪里来。我再次骄傲地回答:“China!”,他笑笑,悄声问了一句:“Which China?”,我十二万分宇宙霹雳无敌骄傲地回答:“The commi one!”。

    洛桑依山而建,面朝日内瓦湖,风景极好。奥林匹克博物馆坐落于此,体育迷值得一看。洛桑的老城区在山上,从湖边爬上山去颇有段路程,懒人或者赶时间的话可以坐地铁。城区看起来很好逛,可惜时间不够,大约晚上七点钟我们就乘火车赶回了日内瓦。

    Olympic Museum
    在洛桑的合影

    CERN是此旅的重头戏,19日一早我们便出门奔赴CERN总部,傻乎乎地从公车站旁边的入口往里闯,被尽职的门卫拦下。原来CERN开放参观的部分其实只有极小一部分,在Reception的那栋楼里看个影片,然后去ATLAS看一下监控室而已。非常幸运的是,当天的导游是ATLAS项目发言人咨询委员会成员任忠良博士,在讲解结束之后,他带我们去参观了Web诞生的地方:

    Where the web was born

    20日去了联合国总部,无奈大门紧闭,想来是周日不办公吧。绕到湖边打算坐船去对岸看花钟,但是当日风力很大,只好慢慢从岸边坐车绕过去。过去一看才发现传说中的花钟只有很小一点,而且其实就在我们第一天来时已经路过的雕像背后……

    瑞士法郎的十元钞票上印着科布西耶,也就是朗香教堂的设计者。瑞士的硬币是世界上流通年份最为久远的硬币之一,两法郎的硬币从1874年至今从未更变过样式。手中握着两枚同样的五法郎硬币,一枚年份1968,另一枚2009,感觉相当奇妙。可惜欧元目前汇率不好,瑞士本来就贵,钱真是花了不少。

    Confoederatio Helvetica

    美食美景,不知下次再见会是何时。如果人生能有两三年在这里居住上一阵子,该有多好?

    日内瓦

    琐事19

    @2010-6-24 14:28 -07:00

    六月十二日早晨九点多,有人按门铃。打开大门一看,有个美女站在门外,背着一只眼熟的Osprey登山包,一手撑伞,另一手拖一只同样眼熟的小熊图案红色旅行箱,一双妙目瞪着我,正是花貌如昨、无奈胖了一圈的Priscilla女士。她走进屋来,叠声抱怨自新加坡一路而来的旅途疲倦,飞机上身旁坐了怎样一个大胖子,左前方的人怎样地哮喘发作,不得不落地时被直接送上救护车运走。我静静听她讲话,一时间仿佛回到了十个月前的平常日子。整理一番行李,两人出去取了钱,在Leopoldsplatz吃了早午饭,便匆匆上车,奔向这次旅行的第一站,科尔玛(Colmar)。

    阿尔萨斯大区(Région Alsace)本是德意志民族神圣罗马国领土,十七世纪三十年战争后割让法国,普法战争后归还德国,一战后重属法国,二战初为德国夺回,战后再次为法国所有。它南北分为上、下莱茵两省,东侧与德国相接,南面则紧邻瑞士,是法国除去法兰西岛之外最为富庶的大区,其辖三大城市之首的斯特拉斯堡(Strasbourg)与德国小城奥芬堡(Offenburg)隔莱茵河相望,是以前我们上学时常去游玩的地方;第二大的米卢兹(Mulhouse)远在南端,尚无暇一去;而第三大的科尔玛距离适中,却直到今天才首次前往。

    我们一路驱车南下,在奥芬堡附近跨过莱茵河,进入法兰西境内,也就来到了以鹤为象徵、以白葡萄酒为特产的阿尔萨斯。科尔玛是周遭葡萄酒庄的中心位置,一路上所见丘陵都在林间有绿茵片片,依稀都是葡萄园。开到科尔玛边上的一处环路,猛然见到一座缩小版的自由女神像矗立其中,下面有三五人抱着几面吐蕃旗帜,悠闲地踱步嬉笑。

    福瑞踢拜colmar

    开到柯尔玛市区,在预定的旅馆住下。这间叫做Hotel Primo 99的旅馆没什么别的好处,就是门前有个巨大的免费停车场,然后走路去市区也只需要十分钟。科尔玛没什么工业,是个彻头彻尾的旅游城市,一路上全是饭馆,咖啡馆,旅馆,然后就是纪念品店和无尽的游人。游人虽然无尽,倒也不觉得拥挤,因为大家都东张西望,脚步悠闲──走在十七世纪的街巷小楼、广场教堂、小桥流水、鸽子繁花之间,谁又舍得加快脚步呢?

    colmar

    这座名为普菲斯特酒屋(Vinum Maison Pfister)的古旧小楼位于科尔玛的市中心,是建于1537年的富人住宅,后来在1841年被卖给商人普菲斯特,后来变成葡萄酒店。小楼的木头栏杆都旧得看不出本色,上下绘了几个德国皇帝、教士和圣经人物。店员很热情,用英语跟我们连比带划地聊了大半天酒,推荐我们买了一瓶05年的Riesling。结账时我想不起地窖怎么说,冒出一句“We have a Keller”,他发现我们会说德语,又用德语聊起来,语速一下子比英语快了许多。从酒屋出来,去一家小糕饼店买了两份现在已经想不起名字的袖珍“蛋饼批萨”,等待加热的过程中我们一直在听店里的两个老太婆用方言对话,阿尔萨斯的方言很奇特,听起来明明就是德语,却又掺入了大量法语词汇,实在听不太懂。

    colmar

    科尔玛被称为“法国的小威尼斯”,就是因为这条小河,还有临河的那些个客栈酒肆。虽然我很想吐槽说,如果这样就可以算小威尼斯,那凤凰大概就是湖南的威尼斯,没有“小”。不过这条小河当然还是很美的,风和日丽之下信步走到一座小桥上,我们请一个路人用富士Instax帮我们照了张像,结果引得他的一群意大利同伴围过来看照片怎样慢慢显影。Polaroid还是很有市场的啊,看来。

    colmar

    晚上走饿了,去这家La Brasserie côté COUR吃了顿大餐。临行前恶补的法语多少在看菜单时派上了点用场,点了这道美味的牛排。必须感谢iPad 和 Motion X GPS HD 这个 App,或者应该说感谢OpenStreetMap,别的饭馆那么显眼都没标出来,唯独这个需要绕过教堂转角的咖啡店、躲在一处天井里的清幽餐馆在地图上很是醒目。

    饭后继续闲晃,在纪念品店门口的明信片上寻找自己尚未见到的名胜,发现还有这个“人头屋”(Maison des Têtes)没去:

    colmar

    这间屋子也曾是个富人的宅子,建于1609年,与那普菲斯特酒屋同属德意志文艺复兴时期的风格,正立面上刻了十来个人头,最顶上的小人像却是巴托尔迪(Frédéric-Auguste Bartholdi)所做──他是纽约自由女神像的设计者,科尔玛是他的故乡。

    第二天周日,一早从科尔玛前往朗香圣母礼拜堂(Chapelle Notre-Dame-du-Haut de Ronchamp)。第一次知道这个教堂是因为零八年四月份学建筑的海豚兄来德国的时候,曾特意去参拜了一下。那时我与Priscilla还是穷学生,要实习,要上课,所以未能同往,这次大概也算是追寻故人的足迹吧。朗香是个很小的镇子,上山的坡路很陡,于是很囧地熄了一次火,才终于爬到山顶上。教堂比照片上看起来舒适得多,进去适逢一场弥撒,更是感觉到其妙处。也不好多评论什么,只是感觉那些充斥术语的建筑评论,“布局”、“肌理”、“容器”云云,实在远逊于替代亲身经历。

    Ronchamp

    从山上下来喝杯咖啡小憩一会儿,我们掉头北上,驶向此行第二站:南锡(Nancy)。一开始在乡间公路上开了近一小时,从一个村子开到另一个村子,经过的人家门户或洞开、或紧闭,可是只见街道空旷,一个人影都没有,加上天色阴沉,多少觉得有些诡异。及至上了高速公路,看到些同行的车辆,方能确认自己没有迷失于时空的间隙之中。然后第一次见到了收费站──德国高速公路都是免费的,法国则是局部收费──不知道要收多少,开到面前发现是机器付款,收了两块八。又开了一小时,终于到达洛林(Lorraine)大区的首府南锡

    公元843年,凡尔登条约分裂查理曼帝国为东、西、中三份,而中法兰克王国又于855年再次被其国王洛泰尔(Lothair)分给三个儿子:路易二世获得意大利北部,查理获得普罗旺斯,剩下的部分被分给洛泰尔二世,命名为洛泰尔的领地,也就是洛泰尔尼亚(Lotharingia),今天的洛林即得名于此。洛林着在三十年战争中曾被法国占领,十七世纪末归属神圣罗马帝国,十八世纪先是成为波-立联邦国王斯坦尼斯瓦夫·莱什琴斯基(Stanisław Leszczyński)放弃王位后所获的封地,在他死后并入法国。普法战争时洛林同阿尔萨斯一起被割让德国,1919年凡尔赛时归还法国,二战时同样被德国占领,二战后又回到法国,所以这里不像阿尔萨斯,德语是不通的。

    住在市区的Hôtel Américain,也不知道和美国有啥渊源。房间有点旧,不过看得出昔日的豪华。从旅馆出来奔向市区,首先值得一看的自然是世界文化遗产、硕大的斯坦尼斯拉广场(La Place Stanislas),其中竖立着一座雕像,就是设计者斯坦尼斯瓦夫。广场最近一次大规模翻修是在2005年,看起来很气派,鎏金的栅栏,漂亮的喷泉,一道拱门通向沙土铺就的林荫大道,其尽头是昔日的王宫。王宫侧面的小巷子在那天正是跳蚤市场,热闹非凡。

    La Place Stanislas
    斯坦尼斯广场

    王宫旁边的跳蚤市场
    王宫旁边的跳蚤市场

    南锡大学科学院
    南锡是法国东部的大学城,三所公立大学,漂亮的大学楼散落在老城北侧。

    逛累了在广场上吃了顿饭,回到旅馆看世界杯。第二天起身又去逛了逛商店,然后驱车前往斯特拉斯堡。久违的斯特拉斯堡仍旧是那么热闹,我们把车停在火车站,去买了两只Ronchamp,回来发现一排车都被贴了罚单,自然也包括我们的,35欧元!必须抱怨一下,一条十几米长的单行道,两侧都有空地,一侧可以停车另一侧不可以,却没有任何标识。我人生的处女罚单就这样出现在了法国,而且重点是根本不知道怎么交罚款。拦住路人问了问才知道,要去香烟店(!)买邮票一样的罚单票贴在罚单上,然后寄给管理部门。偏生身上的现金不够了,只好开车去对岸,熟悉的Kehl小城取了钱再回来,找到一家香烟店付款了事。然后转去斯特拉斯报的宜家买了点家具,这才辗转回到巴登巴登。

    插播吐槽时间。凭心而论,我对法国所知不多。读过一点点皮毛历史,去过两次巴黎,在斯特拉斯堡闲晃过十几回,哦,还有接触过一段时间的三五个法国人,两个留法的中国学生,以及不可不提到的貝太の法國不浪漫生活blog,大概就是我对法国的全部经历。所以每每想要写点对法国的观感,总是觉得不够资历、不能深入,不过看到许多来欧洲打个照面、时差还没倒过来就回去的人照样可以大写“某国如何如何”、“某民族如何如何”这样往死里面一概而论的想当然文章,却又觉得还是有点底气。从纯粹的观感来说,我接触过的法国,是个让人喜欢不起来的国家。法国的许多细节让我感到迷惑和不适,比如公路标牌的形状,字符的kerning,层出不穷的限速牌和无处不在的测速器,换道不打灯的法国车;再比如法语的联诵、乱七八糟的附加符号、瓮声瓮气的鼻音;还有法国人莫名其妙的自豪感──和我朝很像──也不管社会有多少问题,近代有多窝囊。

    当然这次法国感觉还是很美好的,而且南部还没去过,今年是不行了,以后等有机会吧。

    琐事18

    @2010-5-27 10:23 -07:00

    终于等到了《EVA新剧场版·破》,积蓄已久的御宅原力得以宣泄出来。小时候我是不相信看动画片会让人严肃的,现在我也不相信。EVA成功地改变我的人生观,让绝望和存在主义深植心底,这样一来的结果就是,对什么东西都严肃不起来,而且很容易进入A.T.Field全开的自我保护状态。有时候我想,当初如果不是G同学这个家伙拖着我看EVA,现在的我一定不会是这副没心没肺、如履薄冰的样子,也不会觉得世界上最美的微笑,不是来自蒙娜丽莎,而是绫波丽。很难想象G先生现在已经念到博士,整天周旋于北大校园里的一只猫,一群教授和一串学妹之间。不知他是否也会偶尔想起自己初中时曾经挥舞着一册《家用电脑与游戏机》合订本,给我讲述使徒是如何来袭时神采飞扬的脸。就像新剧场版中多了大波眼镜娘和精心准备的杀必死,少了几十秒的定格镜头和晦涩的心理分析,长大的人总是要变的,作为容器的心灵,容积横竖也就是那么大而已,想要装进别的东西来,旧的东西就要拿出去。所以一场主角是十四少年的哲学荒诞剧,最适合观赏的年龄大概就是十四岁。而对我来说,那就是暗淡无光的一九九七年。


    几年前P.S.第一次到欧洲,是在伦敦做交换生;她去了布拉格,在卡夫卡故居拍了一张照片。今年P.S.第二次到欧洲,是和男朋友来德国参加一场婚礼,然后去巴黎玩。于是我终于有机会去路德维希斯堡见到了她。很难相信我们已经认识了至少十年之后才第一次见面,这段网友史久远得我们自己都已经不记得当初是怎样彼此认识。反正大约是跟Quake 3有关的什么东西,那时候她叫Amakusa──可能还有别的一个什么 ID──是个伶牙俐齿,会很厉害的photoshop,雷神之锤打很棒的小姑娘,总是只言片语就让网络这一端的我讶异加折服半晌。虽然很久之后我已经忘了当初她究竟说过些什么,只有那种整个人都被oversmart掉时产生的错愕与钦佩感,历久弥新。有一段时间她在网上消失了踪影,我怅然若失,直到二零零三年的某个夏天午夜,我在长沙烂泥冲的一个龌龊网吧里打开QQ,才又一次看到她在线。你在哪儿?我问。我在美国,改名叫In$@n1tY的她说。崇敬立刻又一次淹没我,尤其是当我再次注意到她有个六位的QQ号。后来我开始blog,也发现了她的blog。我去留言,她回我的留言。她与我讨论过维特根斯坦,帮我写过personal statement,在xbox里和我并肩作战,办了个公司并且给我一个工作。若总结说是她指引了我通过许多人生的迷途,想来并不为过。我的联络工具从QQ换到了MSN,又从MSN换到Gtalk,很幸运的是她一直在我的好友列表里面,即便其他人都开始渐渐消失不见。所以很高兴在世界的另一个维度上渡过的十年,如今终于在现实中有了个投影点。尽管谁也不知道下次再聚到一起是哪年哪月在哪里。翻翻自己的blog,在我第一次去巴黎的那篇里居然提到了P.S.,所以,理论上,如果我在这里提到波士顿,是不是就可以再次造成巧合呢?


    像Nehan这样强行用表格实现直排文字的缺点显而易见,比如标点被替换成了图片,文字的流向被打乱导致复制粘贴很成问题,中英文混排总是不能令人满意等等。在VerTick的使用中,我还面临着无法预先确定标题容器大小的困难。为了在局部解决上述这些问题,我试验了一个多少有点疯狂的方案,就是用在非IE浏览器中使用css transform来对文字进行旋转。基本想法很简单:所有汉字逆时针旋转九十度,然后将文字容器顺时针旋转九十度。细节问题在于并不是所有的标点符号都需要旋转——比如冒号和分号——以及大部分字体的标点旋转之后都有可能错位。不过这些都是可以解决的,我过了一边unicode字符集中东亚的部分,手工挑出了需要旋转、需要旋转和调整、不需要旋转但是需要调整的字符,用javascript实现了一下,效果并不完美,不过还是可以接受。代码可以在这里看到。

    这个东东做中英文混排的效果还算不错,但是缺点也很明显,比如容器内的html tags都没了,而且可能导致firefox解析不正常,症状是当anchor标签套在block级别标签的外侧时,firefox会自动将block级元素内侧的字符重复套上带有_moz-rs-heading的anchor标签,我的理解是,根据标准,block级别的标签是不应被anchor标签包裹的,所以会导致这个奇特的问题。理论上HTML5是允许这么做的,但是我试过仍旧不行。想看bug演示的话,用firefox去这里找一个不是全英文的标题试一试鼠标hover即可。


    这个五月过得很是匆忙。除了见到ps的那天阳光出奇地充沛,雨水似乎从未停歇过。公司里数据库升级,每天鸡飞狗跳。巴登巴登市政厅外墙上的紫藤开过繁花,生出绿叶。又打穿了一次Portal,始终对其游戏引擎究竟是如何实现这种物理特效的原理充满好奇。Wonderfulmore结婚了,并且要迁居深圳。Sukie姐在日本生活得自得其乐。几乎每天都有很多令我烦扰的新闻出现,每一则都让我觉得像吃了苍蝇一样恶心。看了一个月的HDH Invitational,开始担心自己的电脑跑不起来Starcraft 2。预定了一台iPad,六月七号之前希望可以拿到它。生活不知道该走向何方,不过好像去哪里也都一样。

    琐事17

    @2010-4-16 18:11 -07:00

    四月初,我终于听凭冲动的引领,在苹果的网站上订了Mac Mini一台,想看看购物的欣悦感能否把过去一个月的难过劲冲淡一下,但是效果并不算好。倒不是说我有多难过,而是发现购物其实并不能给我带来多少欣悦感,至少不能和旅游相比。而这台Mac Mini加上一台BenQ显示器花掉的钱,足够我去希腊、英国或者荷兰好好玩上一个礼拜。不过还是挺喜欢的,毕竟是心仪已久的东西。

    在苹果网站上订购Mac时,我将2G内存升级到4G,网站提示送货时间会从24小时变为三天,我觉得可以接受,就买了。结果收到确认的电子邮件竟然说要16日才能送到,上网google一番才发现,拜全球化所赐,这个小小的升级改动就意味着机器必须先在中国组装,运往捷克布拉格,然后才会快递到德国。还好,最终收到机器的时间提前了两天,包裹上面还赫然贴着荷兰中转的字样。我入个水果教,引发了全球这一番折腾,实在是过意不去。

    Mac Mini入手的感觉就是小,虽然已经在水果店看了很多次,摆在自己家的桌子上还是觉得小。有一瞬间想过把桌上的其他东西都撤了,只放它、显示器、键盘和鼠标,装一次Minimalist的逼,不过最终还是没折腾。家里其他地方乱得像入室盗窃的现场,一张桌子的整洁又怎样能拯救我。从大学时代开始我渐渐发现一个定律,就是一个人居住环境的整洁程度往往与其电脑上文件系统的整洁程度成反比,毕竟,越是在电脑前面折腾虚无的目录树,越是容易忽略现实里没有能够自动排列袜子的衣柜。当然不排除有人只保留很少的东西,不管是虚拟的还是现实的,这样才能有余裕两边都整理。自然也有人两边都放任其乱,比如我。

    因为我那台windows笔记本上的东西很多,本来以为迁移过程会比较痛苦,结果发现其实真正需要整理一下并且拷到新电脑上的只有一些mp3、图片和书而已,其他东西要么就在移动硬盘上,要么就在cloud里,在gmail、flickr、dropbox和自己的服务器上,所以迁移的成本很小。常用的软件现在都有Mac版本,核心要用到的其实就是Chrome加上Adobe的老三样,还有为了打开愚蠢的doc文档而装的Office。源代码编辑器方面装了TextMate试用中,大家都说好,想必不会有问题。IM客户端在用Adium,发现自己很久没用QQ,已经不记得密码了,也罢。唯一的困难是暂时还没找到很好的lingoes替代物,迫切需要一个堪用的德-英-汉辞典软件,最后就买了这个德语助手,质量不错,有英德中三向的翻译和变位表格,售价也合理,只要98人民币……

    使用Mac OS的感触,总结来说就是命令行很亲切,GUI很陌生。有一些根深蒂固的使用习惯被Mac所挑战了,其他的我都可以理解,唯有两点不能适应:

    1. 文件不能通过剪切/粘帖来从一个地方移动到另一个地方。更可笑的是,Finder的edit菜单里的确有一个cut选项,但它是灰色的,导致我一开始疑心是有什么地方不满足可以被剪切的条件,比如文件被锁之类,google了才知道mac根本没这个功能,这也就意味着 Ctrl+X - Alt+Tab - Ctrl+V这个Windows / Gnome之下最基本的文件操作连续技在mac里没用,必须用鼠标完成。很多事情在Mac OS下都必须要依靠鼠标来完成,比如安装软件drag and drop那一下,再比如移动窗口和改变窗口大小*。我并不是说windows下面的这些功能快捷键设计的就很好,但是至少windows下用户可以通过键盘来完成这些工作,而不需要装插件、写脚本。
    2. 鼠标加速,也就是快速移动手中鼠标的时候,屏幕上的指针会移动得比慢速移动较远这个功能,是关不掉的。也许这在触摸板上很有用,但是我不希望用一个外接鼠标的时候,光标在屏幕上移动的距离与鼠标在桌面上移动的速度有任何的关联。苹果的设计也许自有它的道理,比如不用很大动作就可以将指针从屏幕的一端甩到另一端,但是这破坏了我经年累月建立起的对于鼠标的机械记忆,需要花很长的时间来习惯。而且我很怀疑这个特性会严重影响我Mac版星际争霸的游戏水平。Google一番发现我并不孤独,这个解决方案的评论里满是和我一样的人……

    除了上述两处不适之外,Mac OS的其他感觉都很好,软件硬件都很漂亮。可能是出于缺啥补啥的心理,我对好看的东西比较执着。很久以前有段时间总会把windows的主题改得和Mac一样,现在终于不必了。系统功能方面,Automator是很强大的东西,管道加脚本的Unix理念,延伸到GUI层面也能做得这么漂亮又简单,实属不易。Xcode也比Visual Studio好太多了,当然这个对比可能不太恰当,不过我的初体验是,如果在VS上开发软件可以用“很方便”来形容,那么在Xcode上开发软件简直就是一种享受。此外还要严重表扬的是这个电脑开机大约1分钟,关机只需要不到10秒,虽然不知道是否会随着时间逐渐变慢……

    小提示:Mac Mini的line in不能直接插普通的麦克风,因为它是个line level的接口,麦克风信号对它来说太弱了。解决方案是要么买个usb的麦克风,要么买个USB转接口,比较常见的是iMic(乔布斯为什么不告他侵权商标?)30欧元左右。没错,和Mac相关的一切外设都很贵,30欧元用来买一个用来插麦克风的东西其实挺不合适的,还是去弄个USB麦克风好了。此外不管是line in还是line out其实都有光学信号输出,见这里的解释


    从明天起,做一个幸福的人
    写代码,打游戏,周游魔兽世界
    从明天起,关心Geek八卦和业界新闻
    我有一台Mac,面朝大海,春暖花开

    从明天起,阅读twitter上的每一个陌生人
    阅读他们的幸福
    那幸福的自言自语告诉我的
    我将retweet给每一个人
    给google maps上的每一条河,每一座山,发一条温暖的buzz
    陌生人,我也为你祝福
    愿你有一个灿烂的前程
    愿你有情人终成眷属愿
    你在尘世获得幸福
    我只愿面朝大海,春暖花开

    苹果条约

    @2010-4-9 13:57 -07:00

    UPDATE:

    有位叫做Lee Brimelow的Adobe雇员,号称Flash传福音者(Evangelist)。我最开始知道他,还是因为那篇提醒你包括成人网站在内的许多站点都会因为iPad不能浏览flash而出问题的blog。此次他在最新的blog之中痛陈苹果的这一行为“扇了开发者的耳光”,并且在文末直截了当地用“Go screw yourself Apple”来结尾。虽然他的个人blog不会代表Adobe官方的反应,但是Adobe显然不会比他高兴到哪里去。

    我始终认为,彼此不兼容的虚拟机标准越少越好,如果一定要有,应该是一个开放的、不属于任何人的标准。未来的web不应该被Flash / Silverlight / Java Applet这样的东西占据,如果一个浏览器必须装上七八个不同厂商的插件才能上网,该是多让人悲哀的一件事情。

    按照Lee Brimelow的说法,不同意他的都不是真·开发者。好吧,看来我是个伪开发者。


    为了使用iPhone OS SDK给iPhone或者iPad开发软件,程序员必须在安装之前接受iPhone Developer Program License Agreement这个协议。此前这一协议的第3.3.1节是:

    3.3.1 — Applications may only use Documented APIs in the manner prescribed by Apple and must not use or call any private APIs.

    翻译过来就是“应用程式只能按照苹果规定之方式使用官方API,并且不得使用或呼叫任何私有API”。

    而刚刚发布的iPhone OS 4 SDK预览版则将这一节扩充为:

    3.3.1 — Applications may only use Documented APIs in the manner prescribed by Apple and must not use or call any private APIs. Applications must be originally written in Objective-C, C, C++, or JavaScript as executed by the iPhone OS WebKit engine, and only code written in C, C++, and Objective-C may compile and directly link against the Documented APIs (e.g., Applications that link to Documented APIs through an intermediary translation or compatibility layer or tool are prohibited).

    亦即“应用程式只能按照苹果规定之方式使用官方API,并且不得使用或呼叫任何私有API。应用程式必须原本以Objective-C,C,C++或者在iPhone OS WebKit引擎上执行的JavaScript写成,且仅有以C,C++和Objective-C写就的源代码可以编译并直接链接到官方API上(例如,通过一个转译中间层或者提供兼容性的中间层而链接到官方API上就不行)。”

    用正常人(相对于程序员)的话来解释这一修改的意义就是,将来你若想给iPhone、iPad写个程序,就得用苹果规定的编程语言来写。世界上有多少种编程语言?数得出来的有超过五六百种。苹果允许你用几种?四种。而且其中三种的关系大致可以这么理解:C++和Obj-C是C向两个不同方向的变异、进化、升级版本,C是Obj-C和C++的始祖,也是两者的交集。如果你对自然语言学有点概念,这三种语言的关系很像拉丁语(C)、意大利语(Obj-C)和西班牙语(C++),不过这个类比最大的缺点在于拉丁语基本上死了,而C活得好好的。苹果允许你使用的第四种语言JavaScript——虽然名字里带Java这个字,但其实跟Java的联系并不比樱木花道和樱花的联系多——跟前面三种语言的差别相当大,最大的不同就是它只能在WebKit,也就是Safari用来把网页显示出来的组件上面运行。

    这个规定非常有趣,因为在我的记忆里似乎还从没有什么人这样做过:用户很少、机能低下的冷门平台根本不必这么做,能有人愿意给它们开发程序就已经很不错了;而比较大众一点的平台都忙不迭地标榜自己的开放性,总结成四个字就是:任君调戏。呃,调试。看看诺基亚的S60就知道了:C++能跑么?能。Java能跑么?能。Flash (ActionScript) 能跑么?能。满足了?等等,你若觉得不够,它还能跑Python呢,而且如果你想写个能让XX语言也在上面跑的编译器,S60绝对欢迎。正常人都会试图提供更多选择以吸引开发者,而不是反其道而行之,将自己平台的开发方式加以严格限制。“我是个Java程序员,平生最讨厌的就是垃圾收集。你只让我用C++开发?那好,此地不留爷,自有留爷处。”——普通人是不希望开发者出现这样的想法的。

    但乔先生不是普通人,iPhone也不怕没人开发程序。自iPhone发布伊始就有人哭爹喊娘的要给iPhone开发程序,没有SDK,自己黑一个出来也要做。看到粉丝的这种热情,教主决定让iPhone就此解禁,而一群人利用早先的SDK淘到第一桶金的成人励志故事,更是让诸多人打了鸡血一样投身到闯关App Store的独木桥上去。数量的增加往往会带来问题,其中之一就是质量的下降,这和世界上的很多事情都相通——比如,识字的人多了,书面语就会开始变得通俗,文言渐渐成了白话,后来连现代诗都变得人人会写,最终就产生了手机黄段子。

    iPhone的问题是,当开发者变多之后,尽管有令人生厌的审核程序,App Store里还是挤满了垃圾应用。虽然这些应用没有android的market place里垃圾得那么纯粹,但仍旧是垃圾应用。这样的应用是怎么开发出来的呢?很大程度上是对于iPhone OS 的进一步“封装”和“转译”而来。请我的亲爱的忠实读者兼geek们回忆一下上一篇blog之中两个图灵机的视频。乐高图灵机和纸笔图灵机尽管工作原理不同,能完成的工作都是一样的:读0和1,并按照给定的规则写0和1。所以给乐高图灵机写的程序必然能转换给纸笔图灵机执行,反之亦然。这种性质叫做图灵等价,而各种计算机语言其实就是一台台看不见摸不着的图灵机,只是构造不同、理念不同、效率不同、封装点不同而已。所以我们可以做这样的事情:将一种计算机语言翻译成另一种,就像自然语言一样,一切可以说的,用各种语言都可以说。一切不可说的,我们应该保持沉默。不过,一如自然语言中从甲语言翻译到乙语言的过程总是会丢失一些东西,从别的语言转译,乃至用别的技术“自动生成”到iPhone OS上所产生的程序,通常会比较烂,尤其是那些对编程者的要求不高的搭积木式的工具。所以苹果此一限制的目的,实际上就是明确地说,为了保证原生程序的质量,请用原汁原味的苹果认可技术。为了不让其他更加流行但是容易质量低下的技术在iPhone os上出现,java和flash这样的翻译官也都当作汉奸,一律驱逐出境。你想开发Web应用,就用有标准,不受控的HTML 5和JavaScript。

    一时间开发者界对此议论纷纷。有些人觉得老乔很过分,摧毁了一些他们喜欢的东西,或者干脆认为他疯了。但是最为中肯的评价,我觉得还是来自这一条文更动的发现者,以及这位文笔犀利的仁兄。如果你没什么编程经验,也不必去看了,只需要知道,这两位都觉得老乔这么做,没什么不对。

    封装(下)

    @2010-4-9 8:19 -07:00

    人类的先进或曰悲剧之处,在于积累知识和制造工具。故而历史上必定有过某一个时刻,一切被记录下来的知识还有被制造出来的工具,从此超越了人类穷尽一生能够掌握的界限。于是世上不再可能有真正的通才,而很久之后,当扔向天空的一根骨头变成了航天梭,我们发现自己面临着怎么向别人解释自己的职业这一难题。尤其是从事的职业缺乏可见成果时,能精确扼要地告诉外人自己的工作内容,几乎可以算是一种才华,正如把自己掌握的知识传授给别人同样是一种才华。

    曾经给我买玩具的爸爸如今已经老了,也不再显得那么全知全能,虽然好奇心还是存在的。去年刚找到工作的那会儿,他老人家每次打电话时都会问,你的工作是干什么的?你的工作具体是干什么的?你的工作到底是干什么的?而我支支吾吾的回答永远无法令他满意:

    “呃,我的公司是一个市场调研集团下属的…… 数据处理公司…… 我的职业是开发人员…… 嗯,就是写程序的。写…… 呃,结构化查询语言代码…… 和,唔,一种…… 脚本语言的代码。为什么要用两种语言?啊,好问题…… 不,代码不一定是程序…… 或者说代码不等同于程序,取决于你对程序这个词的定义。我用什么软件?和写字板差不多…… 不,不是word…… 我讨厌word,你最好也别用了…… 我做什么软件?这个…… 你听说过甲骨文吧…… 对,那个数据库公司…… 我跟他家的产品打交道。我写的代码在那里面跑。啊?那我为什么不去甲骨文?!呃,这个,我会用Google并不意味着我就具备能去Google工作的资质吧……”

    凡此对话往复若干次,终究让爸爸放弃理解我的工作细节的努力。虽然后来我意识到,这些问题背后,他最好奇的那个元问题其实是:“你回国的话,能找到工作吗?”,而且这个问题的答案,并非我说他就会信,而必须是经由他自行分析我提供的信息得出来的才可以。这种行为背后的逻辑,就是遇到想要了解的东西,能拆开的一定要拆开,能追问的一定要追问。我不能幸免地继承了这个打破砂锅问到底的习惯,这造成了我人生的许多困扰,也导致我在修电脑、做好人的泥潭里越陷越深,只因电脑作为一口砂锅,可以碎成太多块了。

    在你面对的这台电脑里面,有一根或者几根内存条,每一根上面都有几十亿个晶体管。在某一刹那,两个彼此相邻的晶体管,一个存放着1,另一个也存放着1。或许这一个里面正在流通的电子总量要少于那一个,但对于内存控制器来说,它们都是1。不过,尽管它们彼此紧邻,值亦相等,却有可能一个属于你正在看的那张美女图的敏感部位的一个像素的绿色分量,另一个则属于你正打算完成的那篇金融学作业的电子文档的脚注。从硅片上的电路到荧幕上的色块之间发生了很多事——因为实体内存有限,而你的贪欲无限,所以计算机被设计得极为复杂,以便让有限的资源满足你又要听歌又要看美女又要写作业的多任务需求。在单独一台计算机上进行所谓“多任务”其实是相当虚妄的东西,因为在某个特定时刻,一颗CPU只能做一件事。所幸欺骗人类大脑很容易,与电影院每秒播放24帧静态图像就能让观众产生“动画”的错觉原理相似,操作系统高速地在不同的程序之间切换,你就产生了它在同时做许多事情的错觉。但是,为了高速地在不同的程序之间切换,内存条必须在逻辑上被分割开来供给不同的任务使用,比如浏览器甲使用二百兆,字处理软件乙使用八十兆,音乐播放器丙使用二十兆。但是浏览器和字处理软件和音乐播放器都不是省油的灯,我的意思是,省内存的软件,以为用户服务的名义,它们都不觉得再多要一点内存有什么错。“操作系统先生,我是chrome,用户打开了一个叫做pornhub点com的网站,请再给我十兆内存,谢谢。”“操作系统先生,我是flash,chrome告诉我说用户要播放一个视频,请再给我二十兆内存,谢谢。”操作系统先生忙得面红耳赤,心神不宁,眼看着实体内存就要用光了,而手下还有一堆嗷嗷待哺的后台进程,只好瞒天过海,把那些之前以用户目前没有在使用的程序所需要的内存内容先放到硬盘上,等用户切换回去的时候再把它们调回来。但是这一切都不能让程序们知道——对于每个程序来说,能使用的内存空间都是从0到某个2的n次方值,可是这只不过是操作系统捏造的假象罢了。数据事实上被存放在内存条的哪里,什么时候被移到硬盘上,什么时候又会被移回来,都是它们不可知的事情。于是内存上的两个小小的可怜的不起眼的晶体管明明彼此相邻,但是命运让它习惯向左走,它习惯向右走,它们始终不曾相遇。

    问题是,除了病毒木马之外,普通程序对于实体内存的分配结构也的确毫无兴趣——它们自己有更多需要操心的事情,比如怎么解压那段mp3,怎么给这列单元格求和,怎么发现你输入的那个单词拼错了,还有很头痛的怎么跟别的程序通信。这些东西,经过层层包装和抽象,已经和那两个小小的晶体管没什么关联,就如同写在书上的思想同化身为纸张的那些树木没有什么关联。0和1不一定要用晶体管或者真空管存储,用乐高积木也可以:


    乐高积木做成的图灵机

    或者干脆就写在纸上:


    最为接近原始设计的图灵机,使用纸带和笔

    而且计算机并不一定得是二进制的,世界上也有过三进制计算机,如果当初这玩意能幸存并且发展下来,没有什么理由怀疑有什么事情二进制计算机能做到的它却不能做到。因为高层的东西不依赖于底层而存在,底层向高层封装自己实现的细节,这是一切计算机设计的基本理念。作为科学的计算机学和作为工程学的计算机制造业之间的耦合因此其实很松散,Computer science is no more about computers than astronomy is about telescopes,荷兰科学家Edsger W. Dijkstra曾经如是说。

    当计算机告别它那个用户全都是程序员的襁褓时代,程序员们发现自己除了要理解比较低级的封装,还要制造更高级的封装,而最终目的就是如何让非程序员的用户们不必去理会什么内存管理、任务调度和网络通信,而是简单地按下一个按钮就能完成一项工作,从而让克拉克第三定律——any sufficiently advanced technology is indistinguishable from magic——锦上添花。不过,这群程序员“协同”得并不轻松,因为每个程序员对“封装点”或曰“抽象层级”的容忍程度都是不一样的,所以喜欢和电脑打交道的层次也不一样。对于许多人来说,超出其舒适范围的抽象点都是可鄙的,不管更高还是更低。代表性的言论比如:“我亲手写代码,架构师那套都是花架子” vs. “我只负责设计,写代码是民工的事。”,或者“JavaScript 是玩具” vs. “写C的都活在石器时代”。一个比较泛化的版本是,“某某工具吸吮”,这里的工具可以是代码编辑器,或者某种编程语言,或者某种编程范式(programming paradigm)。吸吮的原因一二三四五,必然有跟复杂性隐含太多/暴露太少相关的一条,就好比美女穿衣服,登徒子会觉得穿太多,卫道士会觉得穿太少。

    我朝出过很多古人,说过许多经典的话,可惜我最喜欢的一句不知道是出自谁口。这句话是:自己撒泡尿照照镜子。我喜欢这句话的原因是,除了能够用来嘲笑他人之外,这句话尚有很强烈的自省作用,盖因撒尿是很私人的事情,便溺又是龌龊的东西,所以默念这句话,可以提醒我要在私底下看到自己的龌龊。每当我心底涌起一股对超出自己容忍范围的封装点之嫌恶,我就会默念这句话,提醒自己所知甚少,阅历不够,这种情绪对步入中年人生于事无补。

    当然,嘲笑他人同样是非常重要的。何况我们多数情况下只是想要吐槽罢了。这世界上有许多事情是我们没有精力和兴趣去弄明白的,如果连笑一下都不行,还不如去革命算了。

    封装(上)

    @2010-3-13 11:21 -08:00

    我觉得小孩子对待玩具乃至“器物”的态度,归类来说就是两种:爱惜型和毁坏型。继续细分当然也是可能的,不过作为人类二分法专家,我倾向于认为最基本的就是这两类。有些人五岁买的布娃娃可以保留到三十岁,虽然褪色但是干净而完整,这样的孩子属于爱惜型·珍藏派;另一些人则可以把祖传三代的闹钟拆到不能继续分解为止,也许还能装回去,但是最后会多出几个零件来,这样的孩子属于毁坏型·分解派。毫无疑问,爱惜型的孩子养起来比较省钱,也很可能比较省心。我的父母当初是多么地希望我是爱惜型,我清楚地记得六岁前后的一天,我爸爸指着我的玩具箱——某个巨大无比的日立电视机包装箱——痛心疾首地说:“你看看这里面的玩具,有一个完整的么?”,而我只能羞愧地低下我的头。

    我倒并未因此就失去了继续得到新玩具的资格,这一点我必须感谢我的父母。而且有时候我想要的玩具并不是他们的工资能承受的,可最终他们还是给我买了。我知道世界上有很多这样的故事,所以不再赘述这里面蕴藏了多少爱。我想强调的是,让孩子按照其自由意志成长是很重要的事情,如果你的孩子是毁坏型,就不要试着把他强行转化为爱惜型,因为那就和强行要求左撇子用右手写字一样残忍。童年是毁坏型的人长大之后,或许留不住一件可堪传给后代的玩物,不过除非他属于毁坏型·凌虐派,否则他很可能从拆拆装装之中获得了一种能力:解构。

    旅游书上说德意志博物馆至少需要一天时间,可我在慕尼黑的时候只有半天时间留给它,所以不得不放弃了很多东西,只是着重看了航空馆和印刷馆。航空馆激动人心的Me262和F104略去不提,在印刷馆里,大致按照编年顺序,有印刷业使用过的工具从古至今一一陈列。古代的工具很好理解,甚至可以用文字记录和解释,比如原始雕版印刷的工序:

    1. 用蜡蒙住一张金属板,用炭灰将蜡层涂黑
    2. 在蜡层上刻以文字或者图像,深及金属板表层
    3. 将金属板浸泡在腐蚀性液体之中,蜡层被剔除的部分即被蚀刻
    4. 融去蜡层
    5. 在金属板上涂墨
    6. 压纸,印刷

    现场有一个微缩模型来展示这个过程,但其实仅凭这段文字记录,也已经足够将整个流程复原。不过,接下来的几件展品,包括活体字模和一台有着若干曲柄、平板、橡皮滚筒、皮带轮,顶端还有一个圆盘的机器,就不太能直观地看出来运作原理。所幸我之前看过这样的一个视频,所以大概能明白各个部件的作用:


    KLUGE from Northern Lights on Vimeo.

    此时的工具已经相当复杂,但还是可以被我理解。与其并列的若干机器,尽管复杂性逐渐增加,也仍旧只需要阅读一下说明,仔细观察一下它的结构,理想情况下如果能让我拆开来,就可以大致明白它的运转状况。比如这台排字机器:

    Monotype Typesetting Machine
    Monotype Typesetting Machine
    The Monotype Corporation Limited
    Salfords, Surrey, England, 1965.
    德意志博物馆

    Update:碰巧在youtube上看到了它的工作状况:

    问题是,当这样一台机器摆在面前的时候,我就很难明白它是如何运作的了:

    Photo Typesetting Machine Digiset 400T2

    主要的困难在于,这台机器被一个方盒子装了起来。功能性的部件被包裹,从外部可以看到的就是这么一个硕大的方盒子,以及那一小块控制面板。与它裸露着金属骨骼的前辈相比,这个东西看起来很神秘,而复杂的感觉,倒是大大降低了。虽然这是一个假象:盒子里面的东西其实非常复杂。这个玩意很显然是用电的,所以里面会有布线。这是一台光学排版仪器,就还可以推定里面有磨制好的透镜和相应的机械部件。简而言之,方壳子下面是一套高度复杂的机电设备,制造这样一个东西的难度,会比那台Monotype排字机器高很多。但是因为这个盒子的存在,这一切被隐藏了起来,留给用户的只是那个控制面板,当然还有相应的输出口。操作这台机器的难度和它的前辈相比已经降低了——比较古老的机械设备需要手脚并用,并且很显然需要花一些力气,精神也需要集中。而到了这台机器的时代,这个过程只需要按几个按钮。不过,这台机器的使用难度的降低,也同样就意味着其维护难度的增高:在电影《Seven Pounds》里,威尔·史密斯花一整夜的时间修好了一台机械式印刷机。试想如果那台机器是这样一个东西,恐怕这样的情节就不太符合常理。

    也难怪这台机器之后的展品只有一件:一台苹果计算机。印刷业与电子计算机的结合,乃至许许多多其他传统工艺与电子计算机的结合,都多多少少造成了这样的一个尴尬境地:对细节和复杂性的封装到了如此高度,以至于没有什么可以展示的了。乐器博物馆里能够展出竖琴提琴羽键琴,人们会仔细观赏它们的美。模拟电子合成器也值得一看,毕竟它还有那么多旋钮和发光二极管。但是到了电子键盘和电子计算机的组合之后,又还能展示什么呢?虽然音乐技术显然没有就此停滞不前,但是它发展的方向和技术进步的程度,已经超越了普通人的认知范围。

    电子计算机本身的发展同样如此,只不过,和六十年前的印刷机相比,六十年前的电子计算机已经属于常人不能通过观察、依靠简单常识而理解的东西。虽然从本质上来说,电子计算机的工作“概念”和用手指计算数字并无区别,就如同印刷机的工作“概念”和用手在纸上按一个指纹并无区别,但是“计算”这件事是个抽象的过程,“数字”也是抽象的概念,认知抽象概念的能力,乃至认知抽象概念之变形的能力,都需要知识的积累和一定的智力,故而理解什么是二进制,比理解什么是凸版印刷要困难一点。有些人,比如我,可能一辈子都没办法弄明白“虚数”或者“自然对数的底”这种东西的意义,即便其定义看起来是清晰的。除去教育的原因,智力也是个问题。

    童年终结之后(虽然有些人认为男性的童年永远不会终结),拆东西的习惯被我保持了下来。经验告诉我,把尚能正常运作的东西拆开会遭到人类社会的惩罚,我必须忍耐着直到它们坏掉,才能去拆一拆以探究竟。但并不是每天都有东西会坏掉,我故而不得不通过组装东西来转移自己的注意力,由此开始喜欢做模型。直到后来我有了一台PC——也许可以算是父母给我买的最后一件玩具。和我此前拆过的那台山寨Apple II的中华学习机不同,这个玩意拆起来很容易,装起来也很容易,但是,过来人都知道,拆拆装装过几次,你就会觉得厌烦,因为没有什么挑战性可言,而且通常需要拆的电脑里面都很脏。拆电脑遂变成了一件体力劳动,甚至不及拆一只walkman更有成就感。当然,以拆电脑为借口去女生宿舍参观另当别论。

    电脑修得好 好人当到老

    拆计算机很容易,是因为计算的各个组成部分都被做成了独立模块,彼此通过各式各样的接口连接在一起,而这些模块本身又是由更小的模块构成。换言之,计算机的每个组件都试图将自己的实现细节对其他组件隐藏起来,两个相关组件只需要通过预先约定好的方式互动,或者说,每个组件都被“封装”了起来。这并不是什么特别的事情,许多东西都是如此,但是电子计算机是非常极端的一个例子。不妨数一数,这样的封装有多少层:

    1. 电子在半导体(硅)上的晶体管中流动,晶体管构成的逻辑门将其封装为两个离散的状态:高电压和低电压,分别代表0和1。
    2. 若干逻辑门构成一个逻辑电路单元,比如可以做二进制加法的加法器,或者可以保存状态的存储单元。
    3. 包含若干逻辑电路单元的硅片与金属引脚相连,包上一层塑料或者陶瓷,成为一块芯片。
    4. 芯片和芯片彼此通过印刷电路板相连,形成最基本的硬件核心。
    5. 依据芯片所提供的可以接受的指令集,在硬件核心上存入一些预先编好的简单程序。
    6. 用这些比较简单的程序生成其他的更加复杂的程序。
    7. 某个程序可以检测到你的手移动鼠标。某个程序可以在屏幕上画图。另一个程序可以从网上抓一段数据下来。

    这些封装使得你能够点几下鼠标,然后在youtube看一段笨猫钻箱子的视频。对于最终用户来说,电脑呈现在面前的,只有鼠标、键盘、显示器、音箱而已,一切不需要你关心的细节,都被隐藏到了用户界面的后面。甚至可以说,当细节不得不被暴露出来的时候,往往也就是普通用户最痛苦的时候——

    Windows Error Message

    不过,对于喜欢拆东西的人来说,知道哪些东西被封装了起来,乃至知道封装的方式与思路,是很有趣的一件事情。

    (未完待续)

    慕尼黑

    @2010-3-4 16:38 -08:00

    由于阿尔卑斯山北侧吹下的燥热焚风(Föhnwind),阴雨天气很难在巴伐利亚州落脚,晴朗通透的蓝天白云,总是主导着这个德国面积最大也最为富庶的联邦州。正因如此,巴伐利亚州的旗帜才是蓝白相间,巴伐利亚马达制造厂,也就是宝马公司,才会有那样的logo。

    Munich & Alps HDR
    阿尔卑斯山的焚风吹散天际的乌云 / 摄于慕尼黑新市政厅塔楼

    巴伐利亚人的性格或许也是受到这样的天气影响,不似德国其他地方的人那样保守而阴郁,而是多了几分爽朗和自由——须知曾经普鲁士治下的北德意志联邦旗帜颜色是黑与红,铁与血。只可惜一百四十年前,那个曾经的巴伐利亚国王路德维希二世,在普法战争之后拱手将普鲁士威廉一世推上德意志帝国的王座,巴伐利亚才成为了德国的一个邦,直到今日。除了这桩赔本生意,路德维希二世得以留名于世,更主要是因为他修的一座城堡。

    
Neuschwanstein
    新天鹅堡 / 作者:jeffwilcox

    在迪斯尼之前,完全从审美而非实用性角度出发所设计的城堡,也许并不只有新天鹅堡一座,但新天鹅堡想必是最为著名的一座。不过德国人自己似乎并不怎么热衷于这座城堡,我出发前向同事提起行程,做了十几年神谕开发的老头呵呵一笑,说:那地方是日本人的。我去时也许是因为时间太早,尚不觉得,进去之后参观完出来,才看到果不其然,停车场里一辆又一辆巴士驶来,成群结队下车拜山头的,都是衣着光鲜,表情呆板的东洋人。新天鹅堡在早逝的国王心目中从来不应该对公众开放,而是他臆想中自己作为一个中世纪国王之禁脔。可惜他到死都没有看到城堡的所有房间完成装修,而这个金玉其外的半拉子工程在他死后不久就对公众开放,一直延续到了今天。讲解员MM和蔼可亲,德语略带着有趣的巴伐利亚口音。城堡内部说实话其实没什么可看的,仅以奢华而论,也就是我朝穷困县的一座政府大楼水平。看来在挥霍民脂民膏这方面,德国人从古至今都很逊。

    路德维希2的阳台
    新天鹅堡中王座厅窗外的景色

    后来我就去了慕尼黑,一路上白雪覆盖的丘陵与丛林,映衬着远处的山岩,美不胜收。

    副驾驶最好看风景

    慕尼黑是个有活力的城市。青年旅馆的前台mm会说日语。宝马博物馆的售票处中文告示缺几个字。入夜之后在Hofbräuhaus里喝到酩酊。夕阳西下中在奥林匹克公园里走到腿断。被冠以“德意志”这个头衔的博物馆居然只有自然科学和工程方面的展品——这是一个怎样的工程师民族啊!

    不过我还是觉得科隆更好。也许是因为去科隆时是个夏天。也许是因为科隆与这座百万人的村庄相比更像个城市。更有可能的是,虽然这是Priscilla来过的城市,而我仍旧在因为未能与她同来而感到遗憾。

    琐事16

    @2010-2-18 9:42 -08:00

    小时候我家住在兰州,而且因为父母都是化工厂的工人,实际上是住在兰州的郊区。我爸爸还小的时候,奶奶就已去世,而我出生之后未满一岁时,爷爷也去世了。所以大周末的时候我们三人常常会去姥姥家住一晚,春节的时候,也肯定都会去姥姥家过年。姥姥家离市区比较近,我们总要坐大概两个小时的公共汽车才能到。大部分时候是我和妈妈周六去,然后周日再回家。

    那时候老人们的身体还不错,姥爷是个钓鱼爱好者,经常骑车几十公里往返,带回来几条跟我差不多高的鲶鱼。姥姥腿脚也还利索,会给我做很多好吃的,还会带我去楼下的公园玩。姥爷和姥姥非常重男轻女,有三个儿子,一个女儿。因为儿子多,对女儿就不太在乎。我妈妈总是回忆说,小时候哥哥弟弟们都吃完了饭,才能让她去看看锅里还有没有剩的。自然也没有新衣服这种概念,都是穿兄弟们打了补丁的旧衣服。被教训起来也是毫不留情面。后来连爸爸妈妈的婚事,姥爷也是很反对,因为他是根正苗红的贫农出身之解放军师长,我娘好歹也算个高干子女,而我爷爷却是个地主,我爸爸还没有娘,看起来家教不良。爸妈结婚之后,老丈人家和女婿的关系也很紧张。不过事情的发展总是很戏剧性的:后来长子生了个孙女,次子也生了个孙女。我妈排行老三,生了个儿子。于是我父母回姥姥家的时候,待遇就略微提高了一点;而最终我的小舅舅也给二老生了个孙女。我爸爸说,我表妹降生的那个周末,他带着我去姥姥家,一进门就感觉到气氛有微妙的变化。他们两人在姥姥家的地位,从此得到了彻底的改善。后来我渐渐长大,也感受到了姥姥重男轻女,我和姐姐吵架,姥姥总是向着我。我不高兴,就会得到软语相劝,我承认错误,就会被欣然原谅,而我姐姐就会被冷落和痛批一顿,respectively。我年幼的ego被严重地膨胀了,现在想起来,愧对我姐。

    我姐总是带着我去吃好东西,打游戏机,逛街。我妈说那还不是你姥姥给你十块钱,你姐就赶紧想办法沾你的光一起花掉。我说这也是不错的事情啊,至少我也吃到了好吃的,玩得很开心,而且最重要的是我一个人想出门是不可能的,必须我姐带着。第一次打电动就是我姐带我。还有第一次去有迪斯科的溜冰场也是。过年自然更要一起出去放炮。小时候我怎么那么喜欢放炮呢,两口袋里揣满拆散的大地红,炸翻一切路上能见到的空罐头和啤酒瓶。用彩明珠当机关炮,表现出严重的攻击性。如果不是我姐劝着我,也许早就把自己的眼睛炸瞎了。

    后来到了九三年,我十岁。姥爷身体不如以前了,姥姥也渐渐地足不出户。爸爸妈妈申请了去天津建设新化工厂的名额,直到批下来才告诉姥姥和姥爷。好像也是被阻挠了一阵子,不过父母还是毅然决然地决定要搬家。我停了学,被放在姥姥家一个礼拜。他们包了一个集装箱,所有的家当都装进去运走,于是当我再回到家时,家里已经什么都没有了。然后三个人和其他十几个一起调动去天津的人坐在火车上,花两天三夜坐到天津。天津大港那时候还是个很荒凉的地方,我们在一个小宾馆里住了几周,等集装箱到了,才搬进公司分的新房子里去。那是个新建的家属区,周围什么都没有,站在阳台上向东望去,只能看到无边无际的鱼池和芦苇荡。九四年第一次没有在姥姥家过年,觉得很新鲜。从兰州来的五六家人都是在天津举目无亲的状态,所以就凑在一起,包饺子,看春晚。那时候我是多么地爱看春晚。

    然后我独自回了一次兰州,大概是九五年。还是住在姥姥家,除此之外似乎也没什么别的地方可以住。姥爷的身体已经差得不成样子,瘦得皮包骨。姥姥也只能拖着一条不灵便的腿,在三个屋子和厨房之间慢慢地走来走去,照顾姥爷,张罗家务。去以前的家门口晃了晃,铁门紧锁着,我也没敢敲。然后回到天津,别人问我天津和兰州哪边好,我还是坚定地说,兰州。

    后来又和妈妈一起回了一次,哪一年也记不得了,只记得是个冬天,发生了非常严重的不愉快的事情。妈妈哭着回了天津,那也是我最后一次见到姥爷。我高中的时候,姥爷去世了,好像是个冬天,妈妈自己飞回兰州去参加葬礼。后来我考上了大学,去长沙念书。大学二年级的时候,已经瘫痪在床的姥姥被接到天津,在我家住了一段时间。我从学校回来,看到躺在床上、一目失明、四肢枯萎的姥姥,抱着她痛哭了一场。后来姥姥被送回兰州,几年后在那里去世。妈妈就又回去了一次。而我再也没有回去过,而且似乎连回去的理由也就此断绝了五成。那时候姐姐在北京上学,还来过我家两次。后来她又去了广州。最后,大舅去世了,她就回了兰州,陪着我舅妈。那些年的春节都是三个人过的,仍旧去邻居家吃饭,不过散了席,终究是一家人过。零四年我离开家去学校,再回家时,自己住了两年的小房子已经被卖掉。零五年,我家搬到了另外一个小区,过去春节会在一起的人,也都分散了。全家团聚这个词汇曾经代表的盛景不复,我也早已不再觉得春节有什么意思。从家里有了一只56k的调制解调器开始,我似乎就宁可在大年夜等待网页的缓慢刷新,也不想去放炮或者看春晚。 零六年九月,我来了德国,到今天为止的四次春节,我都没有和父母在一起过。我甚至不太记得前三个春节我都在哪里,做什么。哦,零九年一月二十六日,正月初一,我上午监考,下午跑去海德堡面试。我记得这件事并不是因为它有多令人难忘——虽然它的确比任何一场春晚或者任何一顿饺子更令人难忘——而是因为我写了blog来记录这件事。你看blog是多好的东西,有助于我在这永远没办法理清头绪的人生里刻舟求剑。遗失的春节是没办法找回来的,虽然主观上我没有什么找回来的愿望,我仍旧希望明年可以不必再遗失。

    这个二月,德国一直在下雪,从早到晚,硕大的雪片纷纷而落,无休无止。大年初一那天,我出于无聊,决定去附近的一个水库转转。水库在黑森林腹地,联邦大道500号转州道83号,30分钟车程。天气阴霾,一路上在山间旋绕。路过热闹的滑雪场,满是兴高采烈的大人带着一群孩子。你说我要是也有个兄弟姐妹多好呢,不至于独自在外冷冷清清,父母在家也是冷冷清清。

    let it snow

    回家的路上终于出了太阳,银装素裹的林木,和掩映在山间的村庄屋顶,都罩上一层金色光辉。可惜美景只有一瞬,五分钟之后,那个铅灰色的德国天空又回来了。

    大家春节好。

     1 2 3 >  Last ›