我了解到的挪威

相比熟知的中西欧国家,北欧对于国内的朋友较为陌生,比如我有的朋友从来记不住我去的是挪威,分不清瑞典与瑞士的也大有人在,不独国人,距一位美国同事说,他的同乡一直以为他去的是南卡罗来纳周的 Norway。近期见诸媒体的有一些关于北欧的报道,比如南方周末的这篇《[高物价高税负,丹麦为何走得比美国好](http://www.infzm.com/content/79787)》和纽约时报的《[Investors Seek Out Safer Shores](http://www.nytimes.com/2012/08/07/business/investors-face-tough-search-for-financial-safe-havens.html?pagewanted=all)》也算是管中窥豹。来挪威已经两年,别的北欧国家不敢说,至少对于挪威可以略谈谈我自己了解到,而国内甚少报导的部分,权作参考。

* 常说挪威是个“社会主义国家”,从我们中学学到的定义“国家控制经济命脉”来说,确实如此,挪威的核心产业基本上都是国家控制或者大力扶持,个人独资的企业极少,比如石油是国家石油公司 ([Statoil](http://www.statoil.com/en/Pages/default.aspx)) 占了绝大多数的份额、铁路是 [NSB](http://www.nsb.no/?lang=en_US)、航空业老牌的北欧航空 ([SAS](http://www.sas.no)) 虽然受到很多挑战,但仍占最大份额。
* 相比其他北欧国家,挪威对于农产品有非常大的贸易保护,传统的渔业不说,乳业是由国内的巨头 [Tine](http://www.tine.no) 控制的,去年因为 Tine 对雨季后产奶量的错误判断造成了整个国家的“黄油危机”,整个圣诞季全国的商店都没有足够的黄油,只能用人造黄油替代,而进口黄油很难进入挪威市场,Tine 不仅是最大的乳业销售商,同时它还占有行业规范制定者的地位,类似“裁判下场打球”,所以国内对此有[很多批评](http://www.newsinenglish.no/2012/08/31/consumers-punish-dairy-regulator/)。禽业则来自 [Prior](http://www.prior.no) 占据了超市绝大部分的鸡蛋货架。
* 与工农业的贸易保护同时的,是零售业的封闭,整个挪威的贫富差距虽然较小,但是最富有的人往往是国内的零售业巨头,如 [Rimi](http://rimi.no) 等。[有观点认为](http://paulamdeangelis.blogspot.no/2012/08/buying-it-on-amazon.html),高物价其实很大部分来自零售业的贪婪,同样的产品,如果在中东超市销售,价格就比常见的联锁超市链的售价要低很多。
* 从中国到挪威,最不习惯的也许是巨大的人力成本差异,从网上购物的邮费或者快递费动辄数百不说,技术工人的收费更是令人咂舌,电工和水管工一小时的收费可以轻易上千,房屋、汽车的维修费用也极高,例如安装汽车尾部的拖车装置就要花费上万。在国内这是很难想象的。
* 虽然整个挪威地广人稀,但首都奥斯陆的人口密度却比北京更高,高人口密度很大程度上来自移民滥用了福利制度。如[最近的报导](http://www.newsinenglish.no/2012/08/28/guest-workers-pay-off-in-norway/)认为短期来挪威工作的人对社会的贡献要比长期的移民多得多,因为短期的工程师等往往有较高工资,纳税但基本上享受不到福利就回去了,而长期移民却有许多长期享受失业和生育福利但从来不工作的。
* 同时这也带来了很多不稳定的因素,来挪威两年,遇到过三次在公交车上偷窃的行为,据办公室的同事说,这在十来年前的挪威是很难想象的,当时的城市用“路不拾遗”形容也毫不夸张。再比如奥斯陆警察以巡逻不必佩枪自豪,但最近大部分的警察也开始佩枪了,当然治安的不稳定因素也不只是移民造成的。
* 挪威的 IT 产业相比美国和许多其他欧洲国家都更陈旧和封闭,相比邻国瑞典对创业的扶持都远远不及,整个产业最多的是 Java、.NET 的企业咨询,应用新技术的创业公司极少,招聘国外的员工也很少。最近见到的负面新闻有整个国家的银行登录系统 BankID [坚持使用 Java applet](http://translate.google.com/translate?sl=auto&tl=en&js=n&prev=_t&hl=en&ie=UTF-8&layout=2&eotf=1&u=http%3A%2F%2Fwww.digi.no%2F901593%2Fbankid-vil-beholde-java)、投入巨资开发,处理整个国家人口与税务数据的 Altinn 系统[闹了大笑话](http://www.reuters.com/article/2012/03/22/us-norway-tax-idUSBRE82L10X20120322) 等等。
* 北欧的医疗保障体系广受赞誉,但身在挪威的人反映这个体制的主要问题是医疗处理的缓慢,造成许多人不夸张病情就无法就医,情况要比在中国糟糕得多。同时也有人利用体系的漏洞,比如[威胁转到私立医院](http://www.newsinenglish.no/2012/03/05/37858/)来加快就医的速度,或者不得不支付高昂的私人保险来减少排队时间。从某种程度上说,这个体制对于大病是很好的防护网,但对于小病和急诊的待遇其实不如中国的情况。

以上看起来写的都是负面的情况,但都是我自己亲身了解到的,中国国内的报导甚少触及,可以给对北欧有兴趣的人作为参考。

基于 Mac 的媒体中心

iOS 4.3 新增的一个重要的功能是对 [home sharing](http://support.apple.com/kb/HT4557) 的支持,这样你可以在一台安装了 iTunes 的机器上共享任何视频和音频而不需要同步到对应的 [iDevice](http://en.wikipedia.org/wiki/IDevice) 中。这给打造基于 Mac 的家庭媒体中心带来了很大的便利。先前介绍过用 [XBMC](http://xbmc.org) 构建媒体库的方法,安装了 XBMC 的 Mac mini 是我目前主要使用的视频播放设备,自从 Mac OS X 开放了[视频硬件解码支持](https://developer.apple.com/library/mac/#technotes/tn2267/) 之后,用低配置的 Mac mini 播放高码率的 1080p 视频也完全不是问题了。而且对于 iPad 2 和 iPhone 4S 以后的设备,因为已经支持到 H.264 的 [High Profile 4.1](http://www.apple.com/ipad/ipad-2/specs.html),所以正常情况下,网上所有能下载到的 MKV 封装的视频,都只需要重新封装一下就可以无损地播放了。这里介绍一下我的配置。
Continue reading “基于 Mac 的媒体中心”

奥斯陆买房记

这周把买房和贷款的合同签完,买房这件事情算是告一段落,也可以来写点总结了。从真正决定买房到拍下房子,总共花了将近两个月的时间,对于我这样消费不怎么犹豫的人来说已经是出奇的长了。其实去年找租房的时候就有同事推荐买房,这几年搬家至少每年一次,每次租房实在有诸多不便,而且奥斯陆房价也在世界前列,增长的速度丝毫不见放缓,[最近的数据](http://www.newsinenglish.no/2012/01/03/housing-prices-rise-most-in-stavanger/)是奥斯陆的房价自 2005 年来增长了 62%,年增长率大概是 10%。房价变化虽然不能和国内相比,但基数已经太高,奥斯陆的平均房价在 4.5 万/平米左右,所以增长一点都让工薪阶层更吃不消。何况买房还可以退税,所以在向同事打听清楚之后,今年年初就开始策划买房的事宜。

在挪威买房的第一步是选择一个贷款的银行,不同的银行允许贷款的额度和利率都不同,但大体策略是类似的:面向 35 岁以下的头一次购房者优惠最多,如果拥有别的房产或者年纪更大的人就享受不了那么多优惠了。以往头一次购房者可以 100% 贷款,虽然去年底开始挪威也收紧了房贷限制,要求至少首付必须占房价的 15%,但大部分人靠存款、父母支持或者卖房的收入还是可以付得起这部分的。此外国家的银行可以提供更优的房贷,但对于有稳定工作的人来说申请到的可能性不大。

选择银行一般是通过电话或者网站向银行约谈,我的办公室楼下就是 Sparebank1 的办公室,也是我平时使用的银行,所以就先找他们谈。基本上谈话内容就是了解我的年收入、债务等经济情况,打算买的房子的大致价格范围,用来计算我还款的压力,然后给出一个包含贷款额度和利率的具体 offer。如果我觉得可以考虑,就可以把我打算用作首付的钱放在这个银行的一个存款账户内,他们就可以做正式的贷款担保,有了这个担保就可以进入下个环节。一开始 Sparebank1 答应给我贷款 210 万,但利息不算最优,只能给 3.9%,而大多数银行可以给 3.6% ~ 3.7%。所以后来又联系了 DnBNor 和 Nordea 这两家。不过最后选择的还是 Sparebank1,一来是考虑操作的便利,二来是它在我的要求下最后答应给我 3.65% 的利率。

第二步,也是耗时最长的一步,是网上选房和实地看房,在挪威卖房不需要自己去找中介,因为所有的房源都在 [finn.no](http://www.finn.no/finn/realestate/homes/browse1) 这个网站上列出了,有详细的房屋介绍和照片,包括房屋的建造年份、每月的公摊费用、维护情况、以前维护欠下的贷款等等。这些广告会附上一般两次的实地看房时间,叫做 visning。visning 一般安排在平时晚上下班后或者周末,每次一小时。大体也就是看看房屋的使用状况,和中介谈谈周边环境和房子的细节问题。如果看完以后感兴趣,就可以留下名字和联系方式,准备进入竞标买房的环节。在挪威选房子和国内区别,主要是这里更看中房子的西向,因为这样可以在下午到晚上获得尽可能长时间的阳光,这在阳光稀缺的国度尤其重要。如果房子朝西,有个大阳台,又是不受遮挡的顶楼,那肯定能卖出好价格。

两次看房结束后的一天内,中介就会组织竞标,竞标一般是早上开始,尽可能在中午 12 点之前结束,开始的出价一般会比房主的要价稍低,然后随着是否热门层层上升,最多时我见过比要价高出 50 余万成交的。竞标的过程都是由中介组织远程完成,第一次出价必须填写一个书面的表格并签字写明过期时间,后续出价就可以直接通过电话口头作出。我参加了三次这样的竞标过程,头一次没有其他人竞争,不过我觉得房主要价 260 万稍贵,就想压到 250 万内成交,可是房主坚持不肯,后来就放弃了这套房子,房主也只能重新组织下一轮的看房和竞标了。第二次的房子竞争者把价格炒到了 280 万以上,超过了我可以接受的最高限度,只好放弃,估计这套房子的成交价在 285 万左右。最后一套房子大家出价都很谨慎,要价 239 万,出价从 220 万开始,两万三万地增加,最后我出到 250 万没有人再加价,可是房主还试图要我出到 255 万,并许诺如果是这个价格就立即卖出,在我拒绝了以后他只好接受了我 250 万的出价。

之后的过程就很简单了,中介发来合同,签字,和银行签好贷款合同,最后这个月底正式过户,完成整个买房的全过程。在一开始同事跟我说买房注定是个非常痛苦的过程,其实觉得倒也还好,中间是会有选择与放弃的痛苦,尤其在喜欢的房子没买到的时候,所以我觉得最有用的一句话是“don’t get too emotionally attached to the one you didn’t get.”就算是喜欢的,放弃了也不应该再想,因为好的房子总是会出现的。

Tools for a typography hacker

一直想写篇 blog 介绍一下常用的、跟字体技术相关的开发调试工具,我一般用 Mac OS X 或者 Linux 开发,所以工具也集中在这两个平台下,也有的是跨平台的。这里只说我自己常用的,欢迎补充。

* [UnicodeChecker](http://earthlingsoft.net/UnicodeChecker/)

Mac OS X 下完美的 Unicode 字符查看工具,可以根据 UTF-16 编码 (10 进制、10 进制)、UTF-8 编码来查找,或者直接复制粘贴字符进去,可以选择不同的字体查看该字符对应的字形,包含完整的 Unicode 字符属性数据库,可以自动下载安装 Unihan 数据库。几乎是每次开发和调试问题的必备。Linux 下有 [gucharmap](http://live.gnome.org/Gucharmap) 实现类似的功能,但要弱很多。

* [ttx](http://www.letterror.com/code/ttx/)

将 TrueType/OpenType 文件按照指定的表 dump 成 XML 格式,或者反过来,所以既可以查看也可以修改。非常方便分析 OpenType 的 GPOS/GSUB 特性查找表。这是一个命令行工具。更简单一点的 TTF/OTF 分析命令行工具还有 [lcdftypetools](http://www.lcdf.org/type/) 里的 [otfinfo](http://www.lcdf.org/type/otfinfo.1.html),可以直接列出字体的特性,但没有细节显示。

* [FontForge](http://fontforge.sourceforge.net/)

大部分 TTX 的功能也都可以用 FontForge 实现,虽然界面是基于 Xlib 的相对老旧,但它的功能实在是强大,不过我一般也就用来编辑字体的 name table 和 OpenType feature。

* [hb-view](http://cgit.freedesktop.org/harfbuzz/tree/util)

[harfbuzz-ng](http://freedesktop.org/wiki/Software/HarfBuzz) 提供的工具,可以用指定的字体、指定的 OpenType 特性,将 HarfBuzz 排版好的内容以 FreeType 渲染出来,方便对比测试特性字符串的布局正确性。当然,通常我还会用常见的浏览器、文本编辑器等来比较,尤其现在 Firefox 和 IE10 TestDrive 支持 OpenType 特性指定了,测试起来就更方便。

* [fc-list](http://ftp.x.org/pub/X11R7.0/doc/html/fc-list.1.html), [fc-match](http://linux.die.net/man/1/fc-match)

[fontconfig](http://www.freedesktop.org/wiki/Software/fontconfig) 提供的工具,主要用来分析 Linux 下的字体匹配,在阅读它的[用户文档](http://www.freedesktop.org/software/fontconfig/fontconfig-user.html)之后,善用 `-v` 和 `-a` 参数,可以直接获得不少字体的信息。

* Pixie

Xcode 自带的屏幕放大镜,用来分析 subpixel antialiasing 非常给力。别的平台下当然也有类似的工具,比如我在 Linux 下用 KDE 的 [kmag](http://www.kde.org/applications/utilities/kmag/)。

* [The Font Game](http://fontgameapp.com/), [Kerning Game](http://type.method.ac/) 和 [letter shaping game](http://shape.method.ac/)

三个制作非常精良的字体相关小游戏,第一个是 iOS 上的字体辨识,后两个则是体验对间距形状把握的 HTML5 在线游戏,适合在开发之余放松一下大脑 😉

Qt 的文本渲染技术

Qt 的文本渲染技术

去年 12 月中在北京的 Qt 开发者大会上,我做了一个关于 Qt 的文本渲染技术的讲座,兼谈及了一些文本渲染的基本概念和过程,和四年前在清华 thossclub 讲的《[文本渲染技术的一次短途旅行](http://blog.jjgod.org/2007/12/04/text-rendering-tech/)》相似但又有些新的内容,有兴趣的朋友可以看 [slides](http://jjgod.org/docs/slides/TextRenderingWithQt.pdf),等有录像视频时我也会加上链接。