MacOSX 时间的自动调整

所谓的时间自动调整,就是比如iPhone在任何国家都会得到校准(联网的情况下)。

其实MacOSX也可以,在10.8中,设定步骤如下:

System Preferences-> Security & Privacy-> Location Services
首先启动全球定位功能

然后
System Preferences->Date & Time->Time Zone->Set time zone automatically using current location.

Mac mountain lion的SVN

从Mac OS Mountain Lion开始,系统不绑定SVN。也就是说没有这个功能了,即便是从Lion升上来的,一样会失去这个功能。

要恢复/安装这个功能一共两个办法:

办法一:
在App Store里面下载Xcode这个IDE工具。
然后Xcode > Preferences > Downloads > Command Line Tools > Install.
这个办法最大的缺点在于,Xcode差不多1.5G,而且如果不搞Mac开发,装Xcode没意义。

办法二:
登陆:
https://developer.apple.com
然后注册激活成为Mac的开发者,这个可以免费做到。
接着到下载页面
https://developer.apple.com/downloads/index.action
下载
Command Line Tools
就可以了。
这样子就能避免下载庞大的Xcode了。

所谓的蒙特卡罗法

蒙特卡罗法(Monte Carlo method)是一种使用统计概率的方法来解决问题的一个思路。

这个统计概率的方法可以是传统的频度论的统计概率,也可以是贝叶斯理论、贝叶斯统计。

蒙特卡罗法的基本思想比较简单,举个圆周率π的例。

假设不知道π的值,现在要求π。

从图中已知:圆的半径为1。所以通过面积公式 S=π*r^2 就可以知道 S(圆)=π 。

同样,正方形的面积也可以知道为 S(正)=2*2=4 。

既然知道了正方形和圆的面积,那么圆比正方形就可以明白了。 圆:正=π:4=pi/4

接下来,按照蒙特卡罗法的思路来求pi。

基本的蒙特卡罗法的思路就是:
1,生成随机数;
2,计算随机数;
3,反复计算(为了更精确)。

随机生成m个座标点,图中蓝色的点为位于圆外、正方形内的随机座标(n个),红色为圆内。

那么,用概率论的思想来说,生成的m个点中,落入圆内的概率p就是 P=n/m 。

这个概率应该是等于圆与正方形面积比的,所以可以知道

π/4=n/m

那么,就可以求出

π=4n/m
(考虑到精确度,m的值越大,求出来的π也就越精确。)
程序列:

个随机值被生成时,π=这个值。

以上就是蒙特卡罗法的基本思路。(顺便一说:例子里面,判断随机点是否为圆内可以用到(0,0)的距离是否大于半径来做判断之类等等。)

通常蒙特·卡罗方法通过构造符合一定规则的随机数来解决数学上的各种问题。对于那些由于计算过于复杂而难以得到解析解或者根本没有解析解的问题,蒙特·卡罗方法是一种有效的求出数值解的方法。一般蒙特·卡罗方法在数学中最常见的应用就是蒙特·卡罗积分。

另外,随着理论的发展出现了很多蒙特卡罗法的“变异体”,这些“变异体”对蒙特卡罗法做了调整从而使得计算速度更高、结果更加精确。

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

如果使用贝叶斯理论

贝叶斯理论的关键,在于生成的随机点位于圆内的概率,使用的是事后概率。

P(H|D)=[P(D|H)*P(H)]/P(D)

所以,如果使用贝叶斯的理论那么就应该是

π/4=P(H|D)

π=4*P(H|D)

这个方法的好处在于计算的过程是反复更新的,因为随着点的增多,P(H|D)也会趋向于频度论的最终收束值。

其次,由于贝叶斯理论的思考过程类似于人脑的思维模式,所以在解决一些决策或者正在调研中的问题的时候可以使用贝叶斯理论。

这样子,结果可以随着试验次数的增加而越来越精确,等同于是把一套复杂的试验给分解了。

Facetime & iMessage’s Apple ID

发现苹果的产品,果然还是很好用的,只是随着设备的增加,使用服务时,这个账户管理比较混乱,今天测试整理了一下,下面来写个报告。

首先是Apple ID的问题,我至今碰到唯一的问题是国际化不够理想,比如我同时要登陆美国市场和中国市场,切换起来相当费劲,唯一解决的办法是注册两个ID,一个注册到美国,一个注册到中国。

测试环境:
 三台设备:Mac OSX、iPhone iOS.5.1.0、iPad wifi model iOS.5.1.1

 三台设备上面都有Facetime(以下简称FT)和iMessage(以下简称IM)功能,MacOSX上面的iMessage是beta版的。

 首先在iPhone上面,FT和IM的ID可以是电话号码(要加国号),也可以是Apple ID(Email),并且可以设置为同时存在,就是无论对方发来的iMessage是对电话号码还是对Email地址都可以收到。

 在iPhone上,ID可以只设电话号码不设定Email(激活FT或者IM功能的时候不要登陆Apple ID就可以了),但是好像不可以只设定Email不设定电话号码。在测试环境中,iPhone上面电话号码和Email都设定了,并且iPhone上FT和IM的Caller ID选择了Email。

iPad和Mac上面FT和IM的ID都是Apple ID。

Facetime
 当三台设备呼叫地址以及被呼叫地址都为Email时(不可能都为相同电话号码),不可以互相呼叫。
 
 拿了一台朋友的机器来测试,当朋友FT我Email地址的时候,三台设备都会显示正在被呼叫,当其中任何一台接听,另外两台都会自动挂断。
 
 iPhone是必然会显示的,Mac和iPad两台设备,记录肯定有,只是正在被呼叫的时候有时不跳提示,只留记录。
 
 由于三台设备相同ID时,不可互相呼叫,我尝试修改iPhone的Caller ID为电话号码,没有成功,但是觉得理论上可行。后来想想,应该是在iPhone上面去掉Email地址,只留下电话号码作为ID,应该可行。
 
 另外,还有一个终极大绝招解决三台设备之间Facetime,那就是再申请其他账号,分别使用不一样的账号就行了。

iMessage
 当三台设备中的任何一台设备向Email地址发送IM的时候,三台设备都会收到,发送的设备会显示两条相同的信息,一条是发送出去的,一条是收到的。
 
 当其他设备,例如朋友的手机发送IM,发送到Email的时候,三台设备都会收到,只是有时会有很大延迟(当然也有即时收到的),测试下来延迟的时候,iPhone最先收到,iPad其次,Mac最后,相隔都在2、3分钟。
 
 如果有设备想电话号码发送IM,那么自然只有那个拥有这个电话号码的设备(iPhone)才会收到。

另外,在iPad上面,IM有时候会碰到发送不出去,就是发送按键为灰色,原因没找到。我解决的方法是先以目标地址为源发送一个IM到iPad上面,然后iPad再次发送就OK了。

服务器的转移2

之前说道了SVN的问题。

当配置完成SVN+Apache之后,访问时出现500 Internal Server error

出现了这个问题,说明是Apache这个环节出了问题。

为了要解决问题,首先要知道问题出在哪里。

#tail /var/log/httpd/error_log
查看错误日志,用tail是因为最新的东西在最下面。
[error] [client *] (13)Permission denied: Could not open password file:
[crit] [client *5] configuration error: couldn’t check user. No user file?:
发现错误如上。

总的来说是权限配置问题,修改以后就好了。

这两天纠结就是纠结在这个权限的配置上,我修改了Svn一下所有问题的权限,但是忘记修改进入到SVN所在目录的目录权限了。。。

接下还有一个能算问题,也能不算问题的问题

[warn] NameVirtualHost *:80 has no VirtualHost

在 Apache2.2 中,由于定义了多个 NameVirtualHost 所以才会出这个警告。

我在 site.conf(自己配置的文件中)有一个 NameVirtualHost。

但是在 httpd.conf 里面没有找到第二个。

当我把 etmt1.conf 里面的 NameVirtualHost 注视掉以后就没有这个问题了。另外Apache和网站访问也正常。