基于 Mac 的媒体中心

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

奥斯陆买房记

这周把买房和贷款的合同签完,买房这件事情算是告一段落,也可以来写点总结了。从真正决定买房到拍下房子,总共花了将近两个月的时间,对于我这样消费不怎么犹豫的人来说已经是出奇的长了。其实去年找租房的时候就有同事推荐买房,这几年搬家至少每年一次,每次租房实在有诸多不便,而且奥斯陆房价也在世界前列,增长的速度丝毫不见放缓,最近的数据是奥斯陆的房价自 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 这个网站上列出了,有详细的房屋介绍和照片,包括房屋的建造年份、每月的公摊费用、维护情况、以前维护欠下的贷款等等。这些广告会附上一般两次的实地看房时间,叫做 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

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

  • ttx

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

  • FontForge

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

  • hb-view

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

  • fc-list, fc-match

    fontconfig 提供的工具,主要用来分析 Linux 下的字体匹配,在阅读它的用户文档之后,善用 -v-a 参数,可以直接获得不少字体的信息。

  • Pixie

    Xcode 自带的屏幕放大镜,用来分析 subpixel antialiasing 非常给力。别的平台下当然也有类似的工具,比如我在 Linux 下用 KDE 的 kmag

  • The Font Game, Kerning Gameletter shaping game

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

Qt 的文本渲染技术

Qt 的文本渲染技术

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

这个夏天

改好 DictUnifierLion 支持已经将近九点,在奥斯陆的公寓窗外望去,天色已经深沉,地上依旧湿漉漉的,想是小雨还间或下着。这个时节的奥斯陆,气温已经在十度上下徘徊,虽然周围的树叶草坪还绿,冷风已经带上些寒意了。一看上次更新 blog 还是七月下旬,转眼一个多月过去,夏天已经结束了。

去年夏天我结束了三年的研究生学业,一个人跑到远隔万里的奥斯陆来工作,对于生活确实是个极大的变化,但诸般变化总还在计划里,慢慢也就适应了。然而今年夏天对于我生活的影响也许比去年还要大,既然如此,不妨暂且放下这个 blog 向来只更新技术内容的习惯,多记上一笔。

在这个夏天里,我邀请父母来奥斯陆,在我自己布置的公寓住了一个多月,一起游览了挪威的海边小镇 Ålesund、乘船到 Geiranger 峡湾、爬上 Preikestolen;还逛过了巴黎布拉格,自己则两次到柏林出差,虽然匆忙,也算走过了许多地方,最适合旅游的暑假没有浪费,当然更重要的是在自己安排下带父母出门,这还是平生头一次,其中也有遗憾,但总算走下来了。

这个夏天里我还遇上了自己喜欢的人,认真地开始一段感情,长时间一个人的生活,到现在这种时常牵挂另一个人的心境,其实还颇有一点不大适应,但总归要慢慢学习和成长。

如果要说最大的遗憾,应该是没有花更多时间陪父母,尤其是花在旅程上的时间上多了,计划得略显匆忙,交流其实反而少了。二是因为工作繁杂,生活变化也大,很多原来坚持做的开源项目都没有更新,随着 Lion 的推出都应该陆续完成的,目前已经完成了 TextEdit 和 DictUnifier 的更新,希望接下来继续。

套用《甲方乙方》里那句话,这个夏天过去了,我很怀念它。