Mount & Blade webgame

详情见这里,弄了这么大一个坑,只能自己往里面跳了。初期就XHTML吧,后期再加XMLHttpRequest好了,囧。

在这样的时间里,果然得找点东西让自己有存在的意义。

Update @ April 7, 2008:

游戏已经命名为Project Phate,详见此页面

如何绕过Firefox在addon安装时版本及兼容性检查

现在转用Firefox 3 Beta了,很多FF2的插件不能用了,安装的时候会提示版本不兼容。其实有时候只是作者没有更新新的版本到兼容列表而已。这个时候怎么办呢?两个办法。

方法一,在about:config里新建两个布尔键,名称分别为为 extensions.checkCompatibility和extensions.checkUpdateSecurity,值都设为false. 就关闭了插件系统里面的兼容性检查和升级安全性检查。但是有时候不喜欢乱改系统怎么办?

方法二,在插件里面添加进对新版本FF的支持(同时还可以添加对Flock以及其他Mozilla系浏览器的支持)。首先,下载插件的XPI,将扩展名改为ZIP(XPI其实就是ZIP,文档里面这样定义的哈),解压之。打开的文件里面有个install.rdf,文本编辑之。找到如下几行

<em:targetApplication>
    <Description>
        <em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id>
        <em:minVersion>1.5</em:minVersion>
        <em:maxVersion>2.0.0.12</em:maxVersion>
    </Description>
</em:targetApplication>

我们要改的就是em:maxVersion的值,将其设为3.0b3即可支持现在的3.0 Beta 3了,当然也可以改到4.0,看个人喜好了。如果要添加对Flock / Songbird之类的支持,只用复制上面的几行,然后将em:id和版本号改为对应程序的即可。Flock的id为:{a463f10c-3994-11da-9945-000d60ca027b},所以看起来应该像:

<em:targetApplication>
    <Description>
        <em:id>{a463f10c-3994-11da-9945-000d60ca027b}</em:id>
        <em:minVersion>0.5</em:minVersion>
        <em:maxVersion>1.0+</em:maxVersion>
    </Description>
</em:targetApplication>

改完之后,将文件打成ZIP,然后将扩展名改为XPI就行了。如果安装出现问题的话,一定是你将整个文件夹打包了,应该只对里面的文件打包并改名就不会有问题了。

—以下无关本文主题—

IE 8.0的beta出来了,看了下feature,对标准的支持更好了。前几天还看见有人说对IE输出单独的CSS是鄙视IE,哈哈,笑死了。我们费那么大的劲在CSS里面hack原来是要鄙视它呀。作者还大言不惭地说“用FF就用FF,不要摆出一幅瞧不起ie的嘴脸,没ie你哪什么下FF。”当然,像Windows这种排外的系统,当然要把什么都集成自家的东西才好啊,你别说,我想卸载IE还卸不掉呢。

收购,又见收购!

IT这一行从来就不缺乏收购,而最近几年是愈演愈烈,当然其中Google做出了不少“贡献”。今天看到消息说MSFT有意收购YHOO,刚刚查看一下股价,GOOG开盘瞬间下挫,YHOO暴涨……

我其实只关心Rasmus Lerdorf的下落,PHP整合进微软的产品线是没希望了,如果什么变化都没有的话就太让我失望了。再说,不整合一下优势的话,对Google完全没有震慑性啊……

期待YHOO对MSFT的答复。

国外虚拟主机选购简易指南

应Childe之约,准备写一下如何在没有review以及一些其他信息的情况下对主机商做出客观的判断。希望大家都能找到适合自己要求的主机。(本文仅针对Unix类主机,Windows主机可以参考)

首先,使用国外而不是国内的主机有这么几个优势:

  • 不用在信产部备案,不受国内法律制约。这也是很多X站使用国外主机的原因
  • 国外主机和国内主机相比成熟许多,客服完全不是一个档次,技术程度也相对较好。
  • 国内分电信网通两大主要ISP,但是互通问题一直很严重,如果不想用CDN的话,国外主机是个比较好的办法,虽然没有CDN快,但是比互访还是要快一点的(当然要会选)。

优势介绍完了,下面来谈谈不足之处:

  • 速度比不上国内网站。当然也有相当快的,就看自己发掘了。
  • 虽然不用备案,但是可能被BAN。不过GFW有点琢磨不透,有时候封IP,有时候封域名。当然在虚拟主机(share hosting)里面我们希望它封域名,因为N个主机一个IP,要是封了和你同IP的站,你也遭殃,到时候换IP麻烦。

到这里,你对自己是否应该使用国外虚拟主机应该有初步的认识了,下面我就来讲讲如何选择虚拟主机来放大它的优势而削弱不足。

Read the rest of this entry »

Login form for phproxy

自从回国以后我对于不能访问Wikipedia的不爽日益增加,导致我对phproxy的依赖越来越强。很可惜的是原作者(Abdullah Arif,中东人士)迫于压力停止了开发,版本号现在依然是0.5b2。作为目前最好的web proxy,稳定的服务却比较难找,虽然每次可以在google上用”intitle:phproxy”或者”PHProxy 0.5b2″来搜索一些公开的服务,但是如果你有自己的服务器(unGFWed),那么自己开个目录就更好了。我一直想在自己的站上面放一个,但是我又怕公开之后流量过大导致空间被ban,我又懒得每次上线都更改.htaccess来给自己访问权限,于是就想稍微修改一下原代码,加入cookie认证。然后刚才无聊就写了一个,几天没写,手又笨了,几次括号都打错,简单的逻辑也卡壳了……下面是详细的方法:

  1. 下载PHProxy 0.5b2的代码
  2. 解压到一个文件夹内,下文设此文件夹名为phproxy
  3. 进入phproxy文件夹,创建一个php文件,文件名随便,下文设为authorize.php
  4. 用文本编辑器打开authorize.php,将下面的代码复制并粘贴与文件内,并将第二行引号内的phproxy改为你的密码,文件内除密码之外所有内容应该与下面列出的一样
    <?php
    define("POXY_PASSWORD",md5("phproxy"));
    
    function poxy_passform()
    {
    ?>
    
    <form method="post" action="index.php">
    	<input type="password" name="postpassword" />
    	<input type="submit" />
    </form>
    
    <?php
    }
    
    if (!isset($_COOKIE["poxypassword"]))
    {
    	if (isset($_POST["postpassword"]) && md5($_POST["postpassword"]) == POXY_PASSWORD)
    	{
    		setcookie("poxypassword", POXY_PASSWORD);
    		header("Location: ./");
    	}
    	else
    	{
    		poxy_passform();
    		exit();
    	}
    }
    elseif ($_COOKIE["poxypassword"] != POXY_PASSWORD)
    {
    	poxy_passform();
    	exit();
    }
    ?>
    
  5. 用文本编辑器打开index.php,将开头的
    error_reporting(E_ALL);

    添加为

    error_reporting(E_ALL);
    require_once "authorize.php";

    其中authorize.php改为你设的文件名,如果一切按照上面的流程来的,那么你不用改。

  6. It’s done,进你的浏览器看看效果吧。

注意:cookie的期限为session,即关闭浏览器删除。

PS:发现Wordpress不理解我最近的次世代blog格式,导致XHTML验证大红灯笼高高挂,那个很好很强大的计划估计要明年才能复出,唉,叹口气先……

PPS:今天凌晨的版本有漏洞,郁闷,最近大脑有点不听使唤……