R在Mac上的一些配置

最近在Coursera上学一门数据分析的课程,因此得用用R。照例,总结一下Mac上的一些R配置,希望能帮到Mac的中文用户。

用Apple自己的包做并行加速

R的并行加速,最简单是用BLAS,也是其自带支持的;此外比较多人用的就是OpenBLAS和ATLAS。这两个都是需要单独编译包的。其实Apple自己就提供了并行运算的库,这里介绍的最简单方式就是直接使用每个Mac OS X系统里自带的库。

两条指令搞定:

cd /Library/Frameworks/R.framework/Versions/Current/Resources/lib
ln -sf /System/Library/Frameworks/Accelerate.framework/Versions/Current/Frameworks/vecLib.framework/Versions/Current/libBLAS.dylib libRblas.dylib

如果需要恢复调用R自带的库:

ln -sf libRblas.0.dylib libRblas.dylib

从实际效果来看,运行R-benchmark-25.R来对比,大概可以从30多秒下降到9秒多(Retina MacBook Pro 2013late高配)。有兴趣装OpenBLAS的话,应该还能进一步提升。

SublimeKnitr的安装与配置

Knitr 是目前我知道的、中国人对R世界的最大贡献,一般来说是在RStudio上安装这个包后,支持在编辑器里用markdown、latex语法,同时嵌入R代码,编译后代码块会送到R来执行,最终形成一份HTML的报告(当然在Mac上就非常方便转为PDF)。包括Cousera上Duke University的这门数据分析与统计推断课程,Project都是用RMarkdown写并最终提交PDF。

阅读全文

配置Apple TV同时使用盒子大师和曲径

盒子大师是通过劫持DNS,达到使用Apple TV直接在线观看网络视频的目的,除了支持搜狐、优酷等各大国内视频网站以外,还可以自定义自己的视频源,你接上自己在局域网内架设的视频源也OK。各位可以自己到盒子大师的论坛上看(最近好像在改版,所以不一定能登录)。

曲径,不多解释了,反正用了它,外面的世界很精彩。

昨天琢磨了一下,今早测试通过,同时使用盒子大师和曲径,最终效果是,可以看国内的视频网站,也可以直接打开Apple TV自身支持的Youtube等频道。方法很简单,咱们几步搞定:

大家在设置过程中记住完整填写家里WiFi热点名称、加密方式、密码、你的曲径URL就行了。因为接口很靠近,所以我用USB配置时必须拔掉HDMI线,这时候注意真正配置完成的标志是指示灯常亮、不闪烁,就可以换上HDMI线了。最后记得重启Apple TV,我第一次没重启,发现没生效。

  • Apple TV起来以后,我遇到了网络配置丢失的情况(此时主页上只有两个图标,电脑设置)。请先手工把网络配通,此时可以直接配上盒子大师的DNS,免得在下面一个步骤以后还得修改。
  • 设置——通用——描述文件里添加描述文件,输入http://t.cn/zRLJ6Js(务必注意大小写),确认后很快就添加成功。

大功告成,分别到预告片Youtube里试试吧。经我测试,不额外配置曲径的情况下,HBO Go无法使用,限制必须是美国本土地址。Netflix(持续看,得缴费)和一些新闻频道可以正常使用。

流量我还没有跟踪,但是曲径一般的设置是合理的,也就是说只有Youtube之类的会走代理流量,国内视频网站直连。反正大家用起来以后,为了避免悲剧,还是关注一下曲径的流量。

最后,转一下盒子大师设置文档的链接,上面的网址和DNS都可以在文档里看到。

购买Mac的那些事儿

Weiphone当版主的一个好处就是,信息来源多,有些东西不懂的也可以从网友的帖子里学到;一个坏处是,总有那么一些问题问来问去,或者形成传说中的“月经贴”。而在一个Mac讨论区里,最常见到的topic是什么呢,那就是关于买Mac。这种问题总是见仁见智,然后在每次Apple更新产品线的时候爆发,以致于我一般看到类似的标题,都不会点进去看。偶尔心情大好的时候,才去掺和一下。今天是春节假期最后一天了,拿出来做个小结,索性聊聊这个问题吧。当然,下面也都是个人意见,从一定程度上来说,肯定会不自觉偏袒Mac系统的,因为我也在用啊 :P

该不该买Mac?

这是最常见的问题了。大多数开始问这个问题的,那已经有点中毒了,为Mac机器的外表也好,为OS X系统的种种“神话”也好,为late Steve Jobs的个人魅力也好。反正,你在琢磨这个问题,其实天平已经比较倾斜于Mac一端啦。

我大致的想法是,选择Mac机器,多数情况下就是绑定了OS X系统,任何电脑都是工具,因此,回到你开始的地方,你究竟要拿这台电脑来做什么? 由于操作系统不同,软件支持就必然不同,在以下方面,OS X是不如Windows的:
阅读全文

如何让网站支持Retina屏幕

研究点儿技术问题还是挺花时间的。昨晚突发奇想,想起为本站增加retina支持(谁让我自己也用上rmbp了呢?)。结果一搜索,还真是比较麻烦的,简单说说吧。

基本原理

所谓Retina屏幕,其实就是在一定尺寸的屏幕内放进去了更多像素点,也就是分辨率更高,从而让图像看起来更清晰、锐利。操作系统(特别是Apple的MAC OS X)已经有非常好的支持,而且为了照顾字体大小(你不会愿意盯着个高清屏幕看芝麻大小的文字吧),一般将纵横各2个像素点当成1个来显示。但对图片采用同样的方法时,就会发现总有那么一点糊。而且如果你在RMBP上做截屏,直接放到网页上给普通屏幕电脑看,那图片又会变得离奇的大(准确的说是4倍,长宽各翻一番)。

所以,为了同时照顾retina和非retina屏幕,实际上我们需要不同大小的图片,只是让网页去判断究竟给读者呈现哪张。事实上,现在OS X和iOS上的App也是这样处理,会同时做Picture1.jpgPicture1@2x.jpg两张图,其中@2x就是Apple的一个命名规则。

说回网页的问题,现在对retina的处理还没有一个标准,所以不同的浏览器有不同的处理方式。但多数浏览器通过window.devicePixelRatio的值来判断是否retina屏幕,最新的Safari、Chrome都支持CSS中-webkit-device-pixel-ratio-webkit-min-device-pixel-ratio,此外W3C计划在HTML5中增加srcset特性(仍然是草案)。具体的情况可以参考这个WiKi页面

阅读全文

鼠须管的个性化配置方式

Rime输入法,或者在MAC上叫鼠须管(Squirrel),是个强大而简洁的中文输入法,开源、免费不说,还支持多平台、拼音五笔等多种输入方案。从实际使用来说,非常稳定。只有两点值得稍微吐槽:自带没有图形化的设置界面、词库得自己转。

词库方面我倒不是太介意,词库越大,输入法的效率(资源占用、速度)相对来说越低,从0开始调校并不困难;但是设置的不方便确实蛮困扰的。特别是发现每次修改好了,一升级,设置又丢了,得从头来过。今天终于想明白了这件事情,人家在开源说明书里已经说了个性化设置方法,但我用错地方了……

简单来说,和我以前一样修改default.yamlsquirrel.yaml这两个配置文件的,都错啦!(我也忘记是哪里看来的,反正记得不少帖子都是这么介绍的)其实Rime输入法官方的设置有点类似Sublime Text,有一个系统默认设置,有一个用户设置。系统默认设置(包括前面说的两个文件),在每次升级的时候可能会变动或者恢复成默认值。而个性化设置应该全部放在default.custom.yaml中,这里做的修改始终有效,官方发布包里根本不包含这个文件,因此一般也不会被覆盖。如果不放心,你也可以及时备份这个文件,随时覆盖回去以后重新部署一下就可以了。

多的不介绍了,首先,default.custom.yaml是一个需要你自己建立的空文本文件,然后切换到鼠须管,点击输入法图标——用户设定,放到打开的这个目录下,再点击重新部署就可以了。

其次,default.custom.yaml的结构应该是下面这样的:

patch:
  "一級設定項/二級設定項/三級設定項": 新的設定值
  "另一個設定項": 新的設定值
  "再一個設定項": 新的設定值

所以直接拷贝default.yaml后改文件名是不行的,还需要加个头(patch:),为每一行加2个空格的缩进。注意,整个配置文件里只出现一次patch:,别写多了。

最后共享一下我的文档,大家就能大概看懂设置些什么了。我的配置比较简单,主要是定义了字体、大小、标点符号等。

阅读全文