剪刀石头布的策略

最近国内三位研究者公布了一篇论文,研究“剪刀石头布”这个游戏,和相应的策略。

他们的研究表明,一局中的赢方,将赢的动作保留到下一轮的可能性较大;而输了2轮以上之后,败方会变换动作,换成可以击败对方之前动作的机率更大。简单来说,如果A用剪刀赢了B的布,A在下一轮更可能保留出布;而B输几次,之前一轮是石头输给了布,那么这一轮B出剪刀的可能性很大。

好,小伙伴们,颤抖吧,对策出炉:

  • 如果你输了第一轮,那么第二轮应该出能赢对方刚才动作的招式。比如对方刚才石头赢了你的剪刀,这一轮你最好是出布;

  • 如果你赢了一轮,那么别保持不动,最好是改出能赢你自己刚才动作的招式。比如你刚才剪刀赢了对方的布,这一轮你出石头吧。原理?自己算一下呗。

如果你们俩都看了这篇论文,或者是这篇博客,嗯……你们俩可以琢磨琢磨写篇新论文。

本文受Ars Technica启发,他们首先介绍了这篇论文。

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页面

阅读全文