星期五, 一月 25, 2008

牛B的数学家和他牛B的故事

很多人都有这样的经历:在车站等公交车,久久不来,不耐烦之际想走却又担心一走开汽车就到了,于是天人交战,犹豫不决。
数学家显然也在考虑这个问题,加州理工大学的Justin G. Chen和哈佛大学的两位数学家用数学公式推导是“等”还是“走”才是上策?他们的结论是:如果想准时到达目的地,最好是乖乖等车。哈佛大学的Kominers指出懒人有懒福,耐心等公车基本上是正确选择,可以节省体力与时间。只有一种特殊情况例外:公交车在一个小时内都不会来,而目的地距离在一公里之内,这时你就不妨大步向前迈进。他们的论文已刊登在arXiv.org上。
论文还很搞笑的将数学演绎与故事串联起来,Justin要去Kominers家讨论问题,他选择乘公交车,他计算出等待是最优方法,于是在车站傻傻的等待....Kominers在家里左等右等,最后干脆出门去找他,碰到他后告诉他今天没公交车。

星期二, 一月 15, 2008

星期日, 一月 13, 2008

openvpn

其实这次问题并没有解决,先把已经做好的部分写下来。

在windows里假设openvpn服务器。
参考:http://www.cublog.cn/u/2389/showart_73461.html

照着做即可,一遍成功。

在osx里设置openvpn的客户端。
客户端用tunnelblick,一个免费软件,http://www.tunnelblick.net/

客户端的设置安装上文即可。要把客户端的remote设置成openvpn服务器的地址。

服务器和客户机可以相互ping到,vpn的设置基本就成功了。但是这样还是无法共享上网的。

接下来怎么做我就不知道了。

星期四, 一月 10, 2008

关机,launchd,StartupItem

关机:
instanelymac上有人说是双核不被正确操作造成的,ovof提供了一个工具onecore来关掉核心,只留下一个。我写了个脚步让它在关机的时候自动运行
编译onecore需要CHUD.framework,xcode中没有,需要另外下载。
gcc -framework CHUD -F/System/Library/PrivateFrameworks onecore.c -o onecore
下载

ps:pcbeta上有朋友说这个仍然不能做到完美关机,还是有关不掉的情况。我还要再试试看。


launchd:
Leopard的daemon管理程序,用于取代传统的rc,不过我看了一些文档后,发现它不能在关机动作中插入一些程序。这就比较麻烦了。

StartupItem:
Leopard中已经不再被推荐使用,都用launchd代替了,不过StartupItem可以用来保持和传统rc的部分兼容。
cat /Library/StartupItems/shutdownfix/StartupParameters.plist
{
Description = "Shutdown Fix";
Provides = ("shutdownfix");
OrderPreference = "None";
}

官方文档上说StartupParameters.plist可以用新的格式也可用旧格式,我用新格式没成功。这个是旧格式。
其中Providers设置就是要执行的脚本。
cat /Library/StartupItems/shutdownfix/shutdownfix
#!/bin/sh

. /etc/rc.common

# The start subroutine
StartService() {
# Insert your start command below. For example:
sleep 5
# End example.
}

# The stop subroutine
StopService() {
# Insert your stop command(s) below. For example:
FN=`date`
touch "/var/tmp/$FN"
/sbin/poweroff_fix
sleep 5
# End example.
}

# The restart subroutine
RestartService() {
# Insert your start command below. For example:
sleep 5
# End example.
}

RunService "$1"


我把要执行的东西写在了StopService里。

星期二, 一月 08, 2008

从ubuntu的邮件列表上转一篇: 终于可以在ubuntu上养驴了

https://lists.ubuntu.com/archives/ubuntu-zh/2005-August/000159.html

1. P2P 软件

推荐使用MLdonkey(http://mldonkey.berlios.de/),支持edonkey、bt、gnutella等多种P2P网络。

1.1. 安装运行

MLdonkey上提供了各个OS上的二进制版,无需安装,下载解压后运行mlnet即可。

mlnet启动后会自动在当前用户目录下生成.mldonkey目录,所有的配置和下载的文件默认都保存在这里。

1.2. 配置和使用

1.2.1. 默认管理接口

MLdonkey自带了一个web服务器,默认端口4080,可以通过web浏览器进行管理。

你也可以通过telnet进行管理:

telnet localhost 4000

在downloads.ini的Interfaces部分有关于这些管理接口的配置,允许你指定端口、允许访问的IP等,默认只允许本机(127.0.0.1)访问。

1.2.2. Sancho:使用GUI进行管理

Sancho(http://sancho-gui.sourceforge.net/)很好用,也和MLdonkey一样,解压即可使用(运行sancho)。注意要下载那个“linux binaries - gtk”版本的,“linux binaries - fox”版会有乱码。

第一次使用会引导您进行一些配置,如配置文件夹的位置(默认是用户目录下的.sancho)等,最贴心的是你可以指定mlnet的位置,使你每次启动Sancho的时候自动启动MLdonkey,而关闭Sancho的同时也关闭MLdonkey。如果你没有运行MLdonkey,这时会出错,关闭后再次启动即可。

Sancho软件自身的一些配置

* 为了方便使用,可以在面板上添加Sancho的启动器,Sancho目录的distrib子目录下自带了一些图片,选择sancho-32.xpm作为图标应该正好。

* Sancho软件自身相关的配置基本上都在tools->Preferences菜单的sancho:xxx条目中,另一个条目就是Paths,就是在这里你可以指定mlnet的位置

* 如果你知道某个MLdonkey配置项的名称,你可以选择All条目,在这里你可以通过搜索快速定位配置项。

* 最小化到系统托盘:sancho:Main->General标签,选择“On minimize button: minimize to systray”。

* 悬浮窗口:右键系统托盘图标->Toggle DND box

使用MLdonkey

* 命令: 以下用到的命令是MLdonkey自己的一套管理命令,在web管理接口选择Help+->LongHelp,可以看到完整的列表。

命令必须通过管理接口运行。telnet接口是命令行界面,直接输入运行;web接口在Input框中输入;Sancho中切换到Console,在窗口底部有长条形窗口可以用来输入命令。在Console中你还可以查看MLdonkey的输出,比如连接服务器出错的原因等。

* 服务器

选择eDonkey服务器很重要,通常决定了你能下载什么文件。服务器列表在server.ini文件中,默认是空的。使用如下命令导入eMule的server.met

servers "/home/username/server.met"

在Sancho的Console中查看连接服务器的信息,许多服务器都会提示“ERROR : Your edonkey client is too old, please update it”和“WARNING : Your 4662 port is not reachable. Please review your network config”,后一条好像对连接没什么影响,出现前一条则说明你无法连接该服务器了,我连接195.245.244.243就是这样,Verycd上发布的国内的东西(非转帖自国外)根本下不了(没有源)。我不知道如何解决,有人说这是MLdonkey对服务器不友好,我看是服务器对MLdonkey不友善,幸好现在有了Kad和Overnet,使我们不在那么依赖服务器

* Kad和Overnet

Kad和Overnet使我们不再依赖服务器而能连接到Kad(Overnet)中的每头驴。显然需要一些已知的主机来开始我们的Kad之旅。这些主机就是boot peers,也都记录在server.ini中,默认是空的。准备好nodes.dat(eMule自带的Kad peers数据文件)和contact.dat(在downloads.ini中的web_infos配置项可以找到下载地址),用如下命令导入到 MLdonkey

ov_load "/home/username/contact.dat"

kad_load "/home/username/nodes.dat"

接下来,还需要在MLdonkey中激活Kad和Overnet,配置项是enable_kademlia和enable_overnet。

好了,现在你已经可以下载Verycd的资源了,虽然搜索源时好象有点慢

* 带宽控制

默认的带宽控制可能有点保守,下载只有50K,在Bandwidth中,自己改吧

* 其它P2P网络

在Sancho界面的左下角有一排按钮,是用来激活其它P2P网络的,你甚至可以用来下载http、ftp文件(fileTP)

* 文件名乱码

Sancho提供了改名功能:右键菜单->Rename

* 添加下载

MLdonkey对Firefox有很好的支持,在MLdonkey目录的子目录ed2k_mozilla下有一个xpi文件,用Firefox打开来安装插件,重启Firefox后就可以直接点击ed2k链接来添加下载了。

在Sancho界面的右下角有一排按钮,鼠标放上去都会有提示,fileTP是用来输入http、ftp下载地址的,“Open the link Repper”允许你输入一个网页地址,然后自动帮你找出该网页上的有效下载地址,不过功能似乎较弱,“Toggle link entry window”可以让你输入ed2k、torrent等地址

几句话:与我在同在一个内网的另一台XP上的eMule(中国驴版)相比,速度是慢了些,当然这也有可能是我在XP上开了VNN之故,而且这些客户端据说也对针对国内用户做了优化,而MLdonkey使用没多久,许多参数可能没有设置好。Anyway,驴儿跑起来了,虽然是慢跑(20-30k)的样子

为什么不apt-get?版本都比较老了,而且也不象会及时更新的样子,而用过eMule的都知道,几个月就更新一次
aMule更接近eMule,可能速度更快,但apt的也已经很久没更新了,gtk1的东西用起来总是很不爽,纯粹个人喜好

星期日, 一月 06, 2008

终于用上了leopard

在买了一块新硬盘之后,终于决定进军leopard了。我选择的是iATKOS v1.0i+r2的ppf补丁。
安装很顺利,选了pcEFI,第一遍设置卷名称的时候中间有空格,结果最后log上写着fdisk报错了,估计装efi的脚本有问题。
第二遍就成功了,和装10.4.9的时候一样,选好nvidia驱动,装上后ci/qe都是打开的,然后屏幕就不停的闪。装tiger的时候,用了一套不知道谁弄的1.5.0版的nvidia的kext+OpenGL.framework解决了这个问题,不过在leopard上就没那么幸运了,一个问题是那套破解没我有64bit的,另一个问题是版本太低,leopard的都是1.5.6以上了,不过我也试了试,图形界面能起来,但是显示不了桌面。我甚至一度决定要换显卡,不过最后还是没有换,从mvktech.net上找了个影驰7600GS的bios,用刷bios的方法解决了。上次试过华硕的和XFX的,都不稳定,看来还是刷同品牌的最安全。

这次不用再装网卡驱动了,直接改AppleYukon2.kext/Contents/Info.plist就可以,内容比较靠后,第一次找没有找到。声卡驱动还是那个alc888。

装好后,重启有问题,关机也有问题。下载了个Vanilla_ACPI_fix解决了重启的问题,关机的问题试过很多方法都没有解决,最后看到有人说只要先log out然后再shutdown就可以了,试了试,果然如此,算是解决问题了。

装上maya,IONetworkfamily也不用破解就可以,也许已经破解过了,GF7系列上不显示cv点的问题解决了,很好。mr的batch渲染有问题,不过暂时没有影响,渲染都留给我的64位FC6去做吧。
adobe cs3只装了个premiere,现在已经有针对leopard的更新,运行了一下,没问题。
看来这些软件对leopard的兼容性还可以。

替换about mac的图标也就罢了。我不明白iATKOS为什么还要删掉那张极光的壁纸。