T60下的hackintosh

有词云:

在河之洲, 月上柳梢头, 独上兰舟. 问君能有几多愁, 却道天凉好个秋 ......

大三有些课程实在是无聊的很, 自觉前途黯淡, 不禁心生悲凉 ... 于是花了一个晚上装了一个hackintosh, Snow Leopard, 10.6.3. 三年前的机器, 跑起来也还算顺畅. 安好以后简单修修kext, 打开QE/CI, 就算ok了. 下了MacTeX和R装好, 预计不久以后就可以迁移到OS X下写TeX和R了. MacTeX绑的鸟distribution是TeXLive 2010, 中文支持神马的应该还要配置一下.  苹果捆绑的开发环境Xcode在安装盘里精简掉了, 这下可好, darwin内核的unix-like系统里连GCC都没有了 .. 于是傻傻的下了一个高达2.3G的安装包, 后来转念平时不用也不会用C, 作罢.

snowleopard_tex_r

MacTeX绑定的一干编辑器里, TeXShop还算是可以的. 只是界面过于简洁, 让人不知所措. 不知道那个能用鼠标点选希腊字母的东西怎么才能调出来, 不会是没有吧 ... 所有程序的安装和使用也都极度傻瓜, 卸载就是直接拖到废纸篓, 真是令人发指啊. 这样看来, Windows下的DLL那一套, 早该用奥卡姆剃刀剃掉了.
Grapher, 一个OS X自带的图形计算器, 很好很强大. 画个简单的数学图完全冇问题, 方程形式多复杂, 带参数, 隐函数解不解得出, 还是微分方程, 直接打公式就可以了. 下面是以前邱兄用R画过, Matrix67用Mathematica画过, 俺用Matlab画过的3D heart. 这次再增加一个无聊的实现.
macosx_grapher
前段时间还看过一个文章说的是两个开发人员被解雇以后秘密潜回Apple并地下开发图形计算器的传奇过程, 查了一下, 这个Grapher似乎就是前一代那个图形计算器的替代品了.

Mapping CRAN Mirrors using R

CRAN_mirrors_map
昨天突然想看一下怎么用maps包画地图, 就做了一个CRAN镜像的地理位置数据试了一下. 城市地理位置数据主要来自maps包中的数据集world.cities. 画图时用到了maps和tripack这两个包, maps用于呈现地图, 而tripack可以根据给定点坐标计算并绘制Voronoi图/Delaunay三角剖分. 相比主流的C或C++甚至Python下的实现, 在R中做这种事情可以说是简单无比了. 同时也要慨叹R的扩展性是如此之好. 不过目前R中和计算几何相关的包似乎不多, 据我所知还有rcdd(cddlib在R中的接口)和geometry. 比如geometry包, 可以计算n-维上的Delaunay三角形, 等等. 如果某天哪位大牛可以替最强的计算几何算法库CGAL在R中做一个接口就好了.

CRAN_Mirrors_Voronoi

Voronoi Diagram of CRAN Mirrors on World Map [PDF(Vector), 120KB]

CRAN_Mirrors_Delaunay

Delaunay Triangulation of CRAN Mirrors on World Map [PDF(Vector), 120KB]

从图中看, 多数CRAN镜像分布在沿海地区, 内陆较少, 也极不均匀. 西欧密集分布了约30个镜像, 面积是其几倍大小的东侧大片内陆只有寥寥3、4个镜像. 非洲、南美洲的情况大致相同. 北美的镜像分布呈现比较均匀的态势, 至少看上去比较稳定, 不多也不少.

Dataset & R Code [Gzip, 1,932 bytes]

有两个问题是不得不考虑的:

  1. 地球是椭球体, 在球面上绘制Delaunay三角和Voronoi图, 需要通过计算三维空间中的凸包来实现 .. 但考虑到事实上太平洋中间没有CRAN的镜像, 正好十分自然地将现有镜像隔得很远, 就无视这个了 ..
  2. CRAN镜像发挥的影响力与各地光缆铺设情况的关系更紧密, 这时用地理意义上的世界地图就显得略不给力了 .. 使用能够体现网络分布情况的"地图"才是正解.