Shell's Home

铁道部的扯淡排队系统

Sep 19, 2012 - 1 minute read - Comments

缘起 这两天同事都在讨论12306的订票机制,据说要排队了。我不买火车票,所以只是大概听同事讲解了一下机制。如果不正确,希望大家告知我。我听到的机制大概是这样的。 首先,是每个人进去,正常购票。当碰到热门线路,在提交时进入不定时的排队。等排队结束,成功与否给与提示。铁道部称,这是为了能够减轻并发压力。 问题 如同老板说的那样,这个机制P都没解决。问题的关键在于系统的每秒负载能力,即每秒能够完成多少个transaction。只要来的人比能完成的transaction多。那只有几个结局: 刷爆网站,这是原来的结局。 堆在队列上,有人买不到票。 如果铁道部宣称的目的是真的的话,那他们一定用错了机制。 原因 铁道部这个系统的核心想法,是将并发的业务改为串行业务。即,前置一个订单系统,减轻核心的交易数据库的压力。实话说,这一定是没在互联网上混过的领导想出来的馊主意。 在通常业务系统里面,如果我们说一个核心交易组件有压力,那么最常用的办法就是排队。然而在互联网上却不能这么干,尤其是很多“非买不可”的系统里面,更不能让用户玩“排队”。因为对于互联网上的人,“分身”是再容易不过的事情了。使用多个浏览器,甚至开多虚拟机,普通人可以轻易的做到4-5个不同的会话。就算普通人做不到,看网络教程学是可以学出来的。每个会话订不同班次的火车。多开会话的结果,就是让队列的长度比原本会长上很多。这是一种级联效应。由于购票组件的处理速度有限,所以压力向前堆积,最终前面的排队系统也会被汹涌的客户(比原来大N倍)玩死。 机制 对此其实我很难想明白,为什么铁道部的核心交易系统有这么差的效率。有网友曾经说,系统要检查很多东西,要上锁——这都是假的。作为铁道部的核心交易系统,和铁道部内部的资讯检查有什么关系?他唯一要做的事情,就是检查是否真的有票,座位多少,有的话锁定一张(这个过程要排他)。 也许你会觉得,既然要排他,那么就需要用事务型数据库。目前数据库平均性能都是1k/s(我们就按照我们在普通台式机上的数据计算好了),而全国每秒成交的数量远大于这个值。这里出的问题? 这是不可能的。傻想也知道,每趟车和另一趟车没有耦合关系。按照车次做哈希,分布在多台服务器上交易就行了。这是典型的可并行系统,效率可以直接用单台机器性能乘以服务器数。在交换机允许的范围内,根本不会有交易性能压力。我们仔细审查铁路系统的结构,会发现,这东西天生就是分布交易的好材料。 部署一组服务器,每一台都部署同一套东西,接口按照REST开放。 将车次哈希后映射到具体的服务器上,所有的余票查询/订购,都向这台机器做请求。而核心服务器只要返回静态页面和车次信息就好。 单个服务器上的每秒transaction要求就不可能太高。 阴谋论 也许有些人会想,这个系统莫非是铁道部给内部留票做的?这又错了。要做内部留票,最简单的方法就是开打内部提前售票限制。只要这个限制一开,他们想留多少留多少,你一点脾气都没有。 结论 我只能归因于国有垄断企业在解决这类问题上的扯淡了,和私有企业没法比阿。建议对铁道部实行拆分。

反日和钓鱼岛

Sep 15, 2012 - 1 minute read - Comments

最近反日运动挺火,我随便说两句把。blog被墙有被墙的好处,上来看的起码都不会太脑残,我也懒得打无脑口水仗。 砸日货 这尼玛就是2B行为。 首先定性上,这属于扰乱社会治安。中国人,在中国的领土上砸中国人的东西,我怎么看都是扰乱中国的社会治安,和反日没有任何关系。 当然,前提是怎么砸。如果砸的是日本人手里的日货还有意义(哪怕是国货也行),好不好另说,起码达到反日的目的。砸中国人手里的日货除了消灭中国人的财富没有任何作用——如果被砸的这哥们还是买日货,反而增加日本GDP。你见过打人打到后来给对方加血的么?砸日货的这帮大概就是这行为。所以说2B都侮辱了普通青年和文艺青年。 实际上,我觉得真的脑残去砸日货的占一半,另一半就是趁火打劫的。例如推上看的,吃日式料理,快结束了。反日旗子一举,开始砸。完了跑人不买单。还有买国产洗发水的。反正这帮人打劫的味道比反日重多了。 抵制日货 洗洗睡吧。日货要那么好抵制,中国制造早就卖不出去了。 我就说个本领域的问题。大家都知道JavaEye吧(我不是要黑它哦)。JavaEye是使用Ruby开发的,而Ruby是正宗的日本产。 怎么办?集体去攻打IDC拔线么? 其他领域我不熟悉,但是世界上有个东西叫做IO表。只要你了解IO表的基本理念,就会立刻对抵制日货产生不一样的看法。IO表的核心理念在于表明,为某个领域产生一定单位的产值,需要其他领域投入多少产值。这些叫做直接消耗系数。而通过计算,可以得到另一個矩陣,叫做完全消耗矩阵。衡量的是为某个领域产生一定单位的产值,需要其他领域的多少最终投入。例如,为了炼钢,我们需要投入原料,水,电,等等。這個叫做直接消耗。而用水,开矿,都是要用电的。因此一个单位的钢,所需要使用的电比直接消耗的来的更高。两者具体的换算公式是B=(I-A)\^-1-I。 如果使用同样理念,将某个领域改为某个国家。你可以领悟到这么一个事实——除非你对外完全封闭,否则你的进口一定是作用于全世界的。实际的例子就是,中国制造的车,可能没有日本的元件。然而里面却可能使用了美国的化油器。而美国的化油器制造流水线可能是日本产的,或者包含日本部件。如此层层递推,我们也可以得到类似的完全消耗矩阵。在这个矩阵中,真的是日货对日本的GDP贡献比较高么? 我看不见得。 虽然我没法拿到完整的数据进行计算,不过按照我的直觉(我相信你也能想的通),凡是日本技术和市场占优的领域,无论你购买哪国产品(包括本国)都会对日本贡献极大GDP。因此要抵制日货,根本上应当抵制所有日本占优的领域。例如电子产品,汽车,精密制造。可是这样以来,你出门不能坐车,回家不能看电视,严格来说,看我的文章也是违规的呐。 钓鱼岛 首先我先跳开钓鱼岛的法理之类的地雷,就说一个简单的问题。钓鱼岛争端对我有什么好处? 增加了中国的领土?房价能下去么?再说,买的房还不算是我的,70年后天知道什么情况。附近有丰富的石油?开什么玩笑,你什么时候见到中国的油价和产油有关系的。国际油价涨,中国油价涨。国际油价跌,中国油价还是涨。钓鱼岛搞到手上,油价会跌么?也许渔业有点好处,我对这个不是很了解,也不很关心。 在我所知的领域内,钓鱼岛对我一点好处都没有。你当然不能指望我支持保钓。因此,我不会支持保钓行动。所谓支持,就是指打仗,或者其他激进行为。但是我期望能够搞到钓鱼岛——如果成本比较低的话,为什么不呢?如果中国政府通过运作,可以弄到钓鱼岛,我难道还会傻傻的说,咱把这肥肉吐出去吧。 说白了,这就是典型的商人心态。只要成本OK,一切有的谈拉。 阴谋论 钓鱼岛问题上,一直有阴谋论出台。中日双方都希望借助钓鱼岛转移国内视线,才会搞这么大声势。我觉得不无道理。早在香港船出海保钓的时候,我就觉得奇怪了。船长说通常都会被海监处的船拦回来的,这次居然出去了。保钓人士上去以后,报纸也大肆宣传。这都透露出上面的意思。 到底是什么事情,需要转移视线呢?我数了数最近的事件,都没有严重到需要玩这手的。木大虽然是个坎,但是万万没有为了过一个坎而造一个更大的坎的。如果这个猜测是真的,说明事情大到了相当的程度。也许直到很久以后,我们回想某个事件的时候,才会猜出今天保钓的意图。

自由软件的基础讲解

Sep 10, 2012 - 1 minute read - Comments

授权 本文档内容基于cc-by-sa3.0下发布。 您可以自由复制、发行、展览、表演、放映、广播或通过信息网络传播本作品,创作演绎作品,对本作品进行商业性使用。惟须遵守下列条件。 署名 — 您必须按照作者或者许可人指定的方式对作品进行署名。 相同方式共享 — 如果您改变、转换本作品或者以本作品为基础进行创作,您只能采用与本协议相同的许可协议发布基于本作品的演绎作品。 具体信息请查看署名-相同方式共享3.0。 从一个软件说起 给大家介绍一个软件,comix。comix是一个由python和GTK+写成的漫画浏览软件。 支持zip, rar, tar等格式的压缩包直接浏览 跨平台 有自己的用户群和wiki页面 但是某天,我在Windows下使用comix的时候发现,在Windows下这货不支持压缩包直接浏览。而且手里有大量包是7z格式,木有办法使用。 检查源码,发现是/的问题。蛋疼的跨系统。 根据网络上的提示,我发现有两个解决问题的方法。 使用封闭免费软件,例如honeyview,然后转跳到问题3 自己修掉这个bug,反正只有一处,然后转跳到问题4 7z格式木有办法,只能苦等最新版本出来,完了。 需要7z支持,自己又做了一个7z支持的补丁,从此所有漫画都可以直接浏览 我希望向官网提供我的补丁,发现软件已经失去维护 在寻找的时候,我发现有爱好者维护了一个新的分支,mcomix。解决了很多历史bug,同时支持了7z 原来在问题2上,有一个隐藏选项,直接用mcomix,完了。 这说明,在你想出一个需求的时候,最好先问问资深用户,是不是已经被解决了。很多时候,不要重复造轮子。 修改源码?听起来好像很麻烦 如果不是职业程序员,还是别想了。调试软件和修改源码需要专业知识(当然,不需要是计算机系出身,但是需要专门的学习)。但是掌握技巧后,修改一个bug并不是很困难。然而,拥有修改源码的能力,表示这个软件和那些“你无能为力”的软件有所不同。 神码叫做自由软件 无论如何,你可以自由使用。这隐含了软件是免费的(或者满足一定条件下免费)。 源码开放。用户有研究如何使用的自由。 重新发布源码。用户可以让别人使用,或者包含在其他产品中使用。 改善软件。用户有改善软件的自由。 所以,自由软件的前提是,软件必须是开源软件。 两个软件的不同遭遇 Foxpro VS Sql Server 老计算机用户都应当记得foxbase和foxpro这两个软件。当年风光一时的数据库软件,在被微软收购后,就黯淡无光了。尽管退出市场的主要原因是因为单机开发模式并不适应网络大规模开发,但是这只需要设立一个网络层就可以解决。微软在收购Sql Server后,为了保证其市场地位,收购并雪藏了foxpro。目前该软件已经停止开发,最新版本的支持也即将过期。 Mysql VS Oracle 同样可怕的事情发生在mysql身上,做web开发的应该无人不知其大名。在Oracle收购后,Mysql也面临和foxpro同样的遭遇,更巧的是,他们同样是数据库类软件。然而Oracle无法雪藏Mysql。因为一旦Oracle雪藏Mysql,其他人可以继续Mysql的某个开源分支继续开发一个完全不同的东西。Mysql的创始人之一,Michael Widenius支持这个做法。 因此,直到目前为止,Oracle都没有停止对Mysql的支持。 当然,由于未来的风险,一些人在选择新数据库的时候转向了PostgreSQL,或者其他选择。然而已有的系统不会受到影响,已经学了Mysql的用户也不会受到影响。 如果当年Mysql是闭源,那么。 很多基于Mysql的改造是不可能的,例如mysql proxy。 今天Mysql管理员大概就得赶快再学些别的东西。 自由软件有版权么? 有,版权是一个人完成一个产品后自然具备的权力。开放源码并不剥夺这个权力。一个人完成了一本小说,并让别人观看了,难道他就失去版权了么?我们一般在谈论版权的时候,往往和其他权力混淆起来。实际上,版权这个东西,其实指的是著作权。基本权力包括两种,人格著作权和财产著作权。衍生权力就更多了。 人格著作权 公开发表 署名 扭曲 … 财产著作权 复制 公开口述 公开播送 改编 … 自由软件主要放弃的,是对衍生权力的追究。即,作者授权你,在一定的条件下,可以进行合法的复制/改编,而不追究你的责任。但这不表示作者放弃版权。 授权协议 既然作者授权你如何如何,那么这就算是一份授权协议。我们下面列一下常见的授权协议:

计算机的相关法律管理

Sep 3, 2012 - 1 minute read - Comments

昨天翻了一下vpn的相关法律,结果是——没有。 唯一一部接近的,还是《境外组织和个人在华使用密码产品管理办法》。但是这实际上有两个问题。 首先,办法对含密码产品的限制太过严格,而现在的密码学衍生领域又铺天盖地。这导致实际上有办法没管法。例如我们公司的产品,为了升级,就在系统里面放置了升级系统。为了防止升级系统升入非我们的代码破坏系统,又要对升级系统做签名验证。这实际上就一脚跨到了密码产品的范畴里面去。不过幸好,我们的产品本身就是涉密产品,有公安部的认证。但是其他需要在产品中包含了安全系统的产品怎么办?别的不说,你想想有多少软件链接了openssl?哪怕是python这种东西,都是链接着openssl的。从某种意义上说,使用python也违法。 其次,办法只限制使用密码产品,可一字没提到提供密码服务和帐号。大家知道,vpn实际上是帐号和服务,至于使用这些帐号和服务的具体“产品”,那是windows,ssh客户端这种东西。而windows是经过国家认证的。退一步说,即使没有,也是使用者和软件发行者需要对此事负责,而管不到账户提供者头上。 另一个有关的,是《互联网信息服务管理办法》。可办法开宗明义第一句,是在中国境内。要提供vpn服务,你的服务器必须是境外的,境内没意义。但是相应的,你不能在中国境内进行收费,否则就算违法。然而,如果免费帐号漫天发,这条法律依据也是靠不住的。 OK,我们常说中国立法远远落后于时代,我们又找到了一个例子。实际上,你在看中国法律的时候,往往大疑不解,为什么会有这种那种狗屁规定?那是因为那些法律的制定年代往往都是上个世纪。例如地图法规定,私自使用精度在一定范围以下(我记得是100米)的地图是违法的。我找不到这条的出处,不过测绘法是上个世纪颁布的。大概颁布测绘法的人不会想到,在短短15年后,就会有大量个人手持的高精度(<10米)定位工具出现。 至于互联网,托这几年比较敏感的福,互联网立法始终是重中之重。然而,大部分立法还是针对的web而言的。其中有条规定,服务提供商必须进行备案,然后在网站上公布其备案号,目的是方便公安机关管理。问题是,目前很多网站是没有web界面的,直接通过手机使用。有些网络服务连客户端界面都没有,例如vpn,你说怎么提供?服务商倒是不会介意弄个网站,把备案号贴出来。问题是公安机关怎么知道提供服务的供应商网站是哪个? 再说法理基础吧,不仅是中国,在世界上,对于网络和程序这块的法理都是一塌糊涂。我们首先说一个简单问题,什么叫做引用,什么叫做使用? 之所以在GPL之外还有个LGPL,就是因为,如果你在编译时直接使用了某个GPL库,就会被传染这个库的授权。为什么?这主要是针对C语言而言的。因为C在编译时,需要引用对方的.h文件。而对方的.h文件是基于GPL的,这就构成了引用。而针对python程序,你可以很容易的反射和动态加载,这又是否构成引用呢?如果编译时,使用自己反推对方头文件构成的.h文件,是否需要被传染授权呢?又例如,在kernel中的license中,明确说明了内核调用不属于引用。然而如果在程序内以变量形态包含了firmware,又是否算是引用呢?别的我不清楚,debian是严禁这类软件进入仓库的。 当然,这些问题对于欧美法系不是太大问题,因为一切都是来自判例,判例构成了法律。对于新出现的问题,只要诉讼,就等于在进行立法。然而对大陆法系而言,这就是个噩梦了。

家庭电脑的虚拟化

Aug 31, 2012 - 1 minute read - Comments

家庭电脑,谁都会用。会来看我blog的人更应当是家里有一台,我知道有些还有不止一台的——别人家我不知道,我家里就算老妈和丈母娘一起来打游戏,我还能保证我和老婆人手一台的水平。 一堆机器,有好处也有坏处。好处是,基本坏掉哪台都不怕,备用的比较多,随便来一台就能跑。坏处是,这些机器的配置不同,习惯不同,性能也不同。我们家里更特殊的情况是——连系统还不一样。我自己用的是linux,老婆是win7,老妈是XP。 为了解决文件共享的问题,我采用了NAS,而且是自己组装的小型服务器。对于小型家庭网络,NAS是个很不错的主意。然而电脑不仅仅有文件而已,还有配置呢。老婆的win7是直接连接到电视上的,所以我经常需要和她抢电脑。然而chromium的绑定gmail只能有一个——用我的还是她的就是一个问题,这是两个人用一台电脑的配置共享问题。同时,我的小上网本则是另一个极端。我希望上网本上和主机能共享同一个配置,虽然chromium的同步能力很强,但是很多东西不是chromium能同步的掉的。包括emacs配置,bookmark,打开文件。ssh密钥,系统环境。这是另一个问题,一个人用两台电脑的共享配置。当然,说到这里同时还有一个问题,我不希望用自己的小上网本,毕竟atom的速度和主机没法比,io速度也慢,内存也少。 所以,我最终的解决方案就是——虚拟化。在win7中装一台虚拟机,里面跑一个linux,再通过上网本远程控制这台linux,这样至少解决了我自己的问题。在小上网本上,可以高速的使用浏览器,和主机同一个配置。在主机上,和老婆分开配置。在老婆使用电脑的时候,和她分离的,不受干扰的使用电脑。 实际上,要解决这个问题,最好的方案是基于linux的multiseat系统。由于是multiseat,所以我和老婆同时使用。由于linux是用户分离的系统,所以可以互不干扰。唯一的遗憾是,同一个用户不能同时登录两个X,Xauthority文件会互相覆盖,因此在用户登录的情况下不能使用vnc。 当然,为什么不能用multiseat,你们懂。。。不懂的可以看我上一篇文章。

西安游记(三)

Aug 27, 2012 - 1 minute read - Comments

今天一大早,我们就退房去了大雁塔。猫咪的小腿开始酸痛,走路八字像一只企鹅。好容易来了次西安,却没爬过大雁塔。早知如此,我应该昨天让她爬大雁塔,今天去历史博物馆的。我们逛了一圈大慈恩寺,看了些东西。反正我和她都不是佛教徒,也没什么好多说的。看看时间差不多快12点了,就出门去了北广场的喷水池。天气热,也没什么遮挡的。本来我想像前两年一样,直接跑到喷水池里面去的。结果发现不让进入喷水池了,还有警察管着。大概是因为不怎么雅观吧。不过这么一来,就不好玩了。 说到这次去大雁塔,就要提提天龙宝严素食馆。这家馆子在慈恩西路店上,是我吃过的所有素食馆中最好吃的,没有之一。他们的酥肉烩菌王鲜美无比,凡去一定要点。红烧肉和炸肠就像真的红烧肉和炸肠一样。我觉得是同一种素材做的肥肉和瘦肉,但是左吃右吃都吃不出是什么做的。瘦肉像是豆腐,肥肉像是肉皮冻。但是豆腐怎么做出肉味就不知道了。至于肉皮冻——这种东西断断没有出现在素斋中的可能。大家要是有机会去西安可以尝尝,想出是什么告诉我。 晚上是一次艰难的等飞机。周六上海台风,其实晚上已经没有风了。但是也许是因为早上不让起飞的缘故,我们的飞机怎么等也等不到。无奈,就去汉堡王里面填了填肚子,然后用他们的网络看爱情公寓3。最后我们在网络上查看航班消息,居然说航班已经起飞,还有起飞时间,说的有鼻子有眼的。吓得我们收拾东西就赶快跑。跑过去一看——还是延误。 我们三点到的机场,从五点起飞等到七点半,机场派人送了盒饭。我们又有点饿了,所以又吃了一份(提示,如果你碰到这种情况,也许不想吃饭,可以拿饮料和水果,但是拿了饮料和水果要盖章,就没法再吃饭了)。飞机八点到的机场,我们大约是八点四十起飞的,刚好在四个小时以内,赔偿什么就别提了。结果和我们预料的不同,飞机上居然还配了一份餐点。不过也没什么胃口了。草草吃了点东西,睡一会。蜜月结束,回家咯。

西安游记(二)

Aug 24, 2012 - 1 minute read - Comments

今天的行程开始于早上五点,我基本没睡多少时间。匆匆刷牙之后,我们就直接往金锁关走了。这个也为后面埋下了祸根。 五云峰到金锁关很快,没多少路。到了金锁关,猫咪说顶不住了,撤吧。我盘算一下,再往上倒是暂时没问题,问题是上去后没体力下来。所以还是——撤吧。下到金锁关,我觉得不对了,头晕的厉害。我问猫咪,带的巧克力呢?喵居然和我装可怜,她全给吃了。我说走两步到五云峰去买点东西吃吧。她觉得懒,还是接着往下走。结果,在飞鱼岭上,我饿晕了过去。 不开玩笑,真的是饿晕。肚子里面不觉得饿,但是整个人发冷,四肢和嘴唇发麻,眼前发黑。感觉和高中时候窦性心动过速导致供血不足一样。我大概知道为什么,但是上不着村下不着店的情况下,还是没什么办法。只能躺在路边,让猫咪下去帮我买点吃的。结果她被不知道哪个管理员坑了,向下爬了10多分钟没找到店家,来回走了有40分钟。趁这个时间,我躺了会,也稍稍恢复了点。吃过猫咪带上来的东西,再走就没问题了。 所以说,千万千万记得带巧克力。以前健身教练就警告过,不吃晚饭运动会导致饿晕的。我虽然知道问题,但是没料到这么严重,更没料到会在没任何饥饿感的时候很快出现问题。平时即使不吃早饭,头天晚饭吃的饱的话,就是中午饿的快一点而已。爬山的时候体力消耗大,完全不是那么回事。如果随身携带巧克力的话,只要吃上一点很快就能解决问题。因此,我强烈建议随身准备巧克力。 从华山下来很顺利,我们和人一起打车到华山北站。司机不知道欺负我们外地人还是怎么的,下来的车上说价格只有20,结果要了我们30。同行的是一个美女,要回郑州。这姐们一个人,自己走了上去(不坐缆车),爬了华山五峰,再走了下来,体力好的难以置信。 到站之后,猫咪排队,我去用自动购票系统买了回程票。其实当时有一辆车已经要到了,但是正是因为快到了,因此车票停止销售,我们买了下一班的,要等两个小时。猫咪问了售票员,发现可以先剪票上车,然后去补票。我们马上跑到站台上去等车。好容易上了站台,车将将来。这也是沾了打车的光,要是坐公交,可就不知道要等到什么时候了。高铁回西安比大巴舒服太多了,我昨天就说过,凡能坐高铁的,莫坐大巴。 中午好容易从山上下来,住店洗澡过后,就是吃饭。我和喵都饿了,就近找了一家餐厅,叫陕北人家。他们的招牌是碗砣,可惜里面放肝,猫咪不敢吃。我们点了一个洋芋擦擦,一个清汤羊肉,味道都很不错。醪糟蛋花猫咪很喜欢,但是核桃什么的一道甜品就比较废物了,里面东西比较干,吃不大下去。 下午去陕西历史博物馆。其实从路程安排上来说,这个应该排在明天,因为陕西历史博物馆就在大雁塔的边上。大部分东西都没什么意思,我看到的东西里面,只有西安古今对照略有点意思。类似这种展览,不是专家什么的,即使给个实物玩也玩不出什么名堂来的。最多只能看看热闹,不错不错,古人做的玩意不比我们差哈。我印象最深的是一只玻璃碗,据说是当时皇帝用的传世之物。做的歪七扭八,拿到今天来放大街上1块一只估计都没人要。难怪现在人成群结队的往古代穿越,单单带几个玻璃杯子就成暴发户了。 另外就是馆里面的两件国宝。博物馆的门票是免费发放的,但是队伍排成长龙,没半个小时一个小时是万难搞到的。不过没关系,只要肯花钱,20一张票,三号窗口有卖的,队伍不长,而且能进一个特殊展厅。里面就据说有两件国宝。问题是,我们不认识。猫咪对照资料,好容易认出了一个壶。我趴窗户上看半天,左看右看,完全看不出国宝在哪里。这玩意就算放我面前也会被我随便扔掉的。咱还不是玩古玩的人阿。 我们回到市内,做了个马杀鸡后,在樊记肉夹馍吃的晚饭。肉夹馍要等好长时间,不过好吃是真好吃。边上几个没耐性的问为什么不预先烤好了。店员的解释倒是有趣。预先烤好了还能让你们排队等阿。你也可以理解为质量保证的自夸之语,也可以理解为饥饿营销,看怎么解释了。油泼揪面味道一般,不过用的是肉夹馍的腊汁肉,也算是一种产业拓展吧。倒是他们的黄桂稠酒不错,只有两度。我和猫咪都很喜欢喝。我们带了点回家当礼物。 晚上闲来无事,就去高家大院逛逛。大院的风格很近代,看说明是明清时的建筑。大致是三进院落,有厢房和跨院,而且居然有学堂,算是一个不错的世家院子。当然,里面的东西也是基本看不懂的。唯一看懂的是一张当时女子的照片。大家看历史书都有印象,现代人想像中帅气英俊的男子,在黑白照片中一出厂,就梦想破灭了。不信的话,可以看看当年慈禧和诸位格格的照片,那还是号称全国选美冠军的一批人呢。这张照片大概是我看过所有照片中最漂亮的一张。女子穿一件老式旗袍,目光不知在想些什么。面容秀丽,一个人就占据了一整张照片,在那个年代非常少见。是家主的妻子还是女儿,照片下没有说明。 高家大院里面,有人演皮影戏。我们进去的时候,人还不足。几个演员闲来无事,在那里唱秦腔。我听不大懂,只是觉得很好听。唱完,有位阿姨和我们道歉,说秦腔就是这样样子,泼辣有余,温婉不足,像是泼妇在骂街。再唱下去,怕是我们都跑了。正式开演,剧目名称叫担货郎。大概是讲一个小伙子,从小订的娃娃亲。他没见过自己媳妇,不知道是不是好看,也不知道人品怎么样。就装成一个担货郎去那个村子卖东西,趁机调戏人家姑娘。姑娘直接把他骂了出去,他也就认定这不是一个轻薄的姑娘。

西安游记(一)

Aug 22, 2012 - 1 minute read - Comments

西安很给力,从我到的第一天就给力。关注我微博的人都应该能看到,我微博上的一张图片——机场广告牌上大大的“程序执行错误”。 好吧,咱就不吐槽机场了,说说西安的出租吧。在西安的出租广告屏幕上,我看到了一套完整的Windows XP定制版——好像还是英文的。。。 一时无语。 西安的第一站,是去回民街。说是回民街,实际上是围绕大清真寺周围的所有街道。这里算的上是核心商业街,非常热闹,吃的很多。我们吃了一个老孙家羊肉泡馍,不过话说回来,几条街上起码有三家老孙家,我不知道是连锁店还是仿冒品。后面我们去的贾三灌汤包子也看到了两家。不过贾三灌汤包子还不错,和上海的灌汤包一点都不一样,反而比较像小笼。但是个头比小笼大一圈,而且因为是穆斯林开的,是猪肉和羊肉味的。有兴趣的可以去尝尝,据说挺有名。 出了回民街,我们没去鼓楼,直奔钟楼而去。钟楼正好在城市的中心位置,上钟楼可以看到东南西北四座城楼。西安的城墙在我看过的所有城市中保持最玩好,不过这里得加一句——这是皇城城墙,也就是所谓的内城墙。我们后来在博物馆看了长安的对照图,其城市规模远远不止于此,和现在的西安城市规模相差彷佛,在那个年代不愧为世界性大都市。每个时代城市的规模都要受限于当时的交通,即,城市的实际最大规模不会超过半天完成城市直径距离折返。你可以说北京郊区多大多大,但是那不是北京,只能算北京辖下。如果半天无法完成城市往返,那么在城市内穿梭办事就会发生市内住店的情况。以半天4小时计算,人的步行速度大约是5KM/h,即在步行时代,城市规模最大不会超过10KM。西安基本逼近了那个年代的最大规模。而现代可以以车代步后,行进速度可以提高到30KM/h,城市最大规模也可以提升到60KM。上海算的上是国际级大城市了,其城市边界也只有大约15-20KM而已。当然,上海有别的问题——上海的城市交通运载能力不足,而不是速度不足。 西安和北京不同,北京的城墙大家都很熟悉,呈一个凸字型。其内部是内城,外部则是外城。至于皇城,紫禁城的城墙是划分地域用的,真正抵挡当时的兵力攻击是不可能的。内城基本是皇亲国戚和大臣的住所,外城则是市场,普通民众住所等。本来外城是要包裹内城的,可惜修到一半,没钱了。于是皇帝下旨,先把修到一半的封起来,回头再修。这一封,直到北京城墙被拆光为止都没有修完。相对来说,西安的皇城墙和北京的内城墙是一回事,不过大臣和皇亲国戚都住在外城。相对来说,防御的考虑比北京更少一点。一方面,内城北侧紧贴城外,没有外城城墙的二次阻挡。相对北京外城包内城的设计而言,安全性就要差一些——哪怕门口都是皇家驻军也一样。当然,如果加上考虑北京外城从未完成,大家就半斤八两了。另一方面,战时如果需要退守内城,大臣和皇亲内撤的时候,更容易引发混乱。后来经过历代变迁,西安逐步失去了“关中自古帝王州”的地位。唐是最后一个定都西安的帝国,宋定都开封和杭州,元定都北京,明定都南京和北京,清定都北京。之所以会发生这种变化,个人猜测是因为自唐以来,只有明朝成功的抵御了游牧民族的进攻。元和清根本是游牧民族政权,宋朝两代,始终处于抵御——失败——再抵御的过程中。由于没有了皇城和各级政府部门,因此城市的主要机能全部内迁,目前的钟楼,就是坐落于内城的核心。 出钟楼,我们到客运东站坐车到华阴。个人诚挚的建议,只要可行,尽量坐高铁去华阴。长途车没便宜多少,但是却非常耗时。我们坐到华阴花了两个多小时,高铁只用了35分钟。所谓山南水北称阳,山北水南称阴,华阴在华山的北边。目前华山唯一一条在运转的缆车,就是从华阴的游客中心到华山北峰的。 华山天下险,其实这说法不大对。仔细看地图就可以看到,华山坐落在西安的东方,是一组山脉。山脉基本呈东西走向(这也是大部分中国山脉的走向),山脉北方是一片平原,华山就是平地起高山,地势和北京差不多(北京北方就是燕山山脉)。华山的大部分山脉都有良好的植被覆盖,只有少数山脉才因为地势太过陡峭,导致植被覆盖不足。这片山脉就在华阴往南10公里的范围内。而其中最险的地方,则是华山五峰的一座山上。从平地进去,直到华山脚下的路,还是比较太平的。 我们是下午到的华山,从游客中心进去,居然基本没什么人。从后门坐车,一辆车只载了两个人。上山坐索道,才知道为什么——下山的人人山人海。按照喵的说法,很多集体游客都是上午上华山,下午下去。因此这两个时段都堵的动弹不得。如果是个人去,我建议反其道而行之,下午两点进山,后天早上10点出山,刚好一点不堵。门口我们买了一件防晒衣和两副手套,很贵。不过别嫌贵,到了山上更贵。 如果你想爬华山,我建议你好好整理自己的装备。山上可以住宿,但是没地方洗澡,因此换洗衣服是不必要的。山上每多带一件随身行李,就要付出很大的力气。因此没用的东西在西安市找个地方放着就好。食品准备的原则是最好比估计的量差一点,万一不够山上补货。全靠背,负担太重,万一没吃光自己心痛。全靠买,太贵。差一点对负重的负担小,花的钱也比较少。反倒是因为没地方充电,手机必须充足电,相机也必须充满电,最好再带一些备用电池。如果多人进山,干脆设定呼叫转移,只保留一部电话开机。反正爬华山的时候基本也用不到手机。上山的时候,每人带一个300ml上下的小瓶子,要结实的。灌满饮用水,再带一支1.2L的大瓶矿泉。山上的水价,是康师傅小瓶矿泉9元。这大小两瓶也许不够两天用,但是大概能省下你40多的无用开销。食品方面,一顿饭准备一包面,要桶装的,不要指望山上能洗碗。如果是两天,大概就是五桶。另外,随身准备一些巧克力和火腿肠,再带一两颗苹果,我明天说为什么。手套和防晒霜是必需品,千万记得带。 华山缆车很不错,挺陡峭的。从缆车上能看到下山一路下去的路。这么长而陡的路,我自己可是没本事爬上去。即使有两天时间,也不可能做到上下的。城市里的普通白领就别想了,还是乖乖坐缆车吧。至于带了一只喵——我早就对登顶不抱希望了。 华山顶上之所以号称天下奇险,是因为山顶的路修在窄窄的一条山脊上。左右都是万丈深渊,一不留心就会摔死的样子。如果忽略掉左右的万丈深渊,大概也就是公园里面“勇敢者的道路”的水准。毕竟是旅游项目,不可能真的像登山那么夸张。如果十个里面有九个上不去,那也不叫旅游了。不过这样的道路,连续走一两天还是很辛苦的。爬华山,最累的地方在于,山上小路最多只容许两人并肩。因此往往前面一停下来休息,你就要在不利位置等。人多的时候,走走停停,很是累人。我们这次没有这个问题,但是可以放足奔爬也有另一个问题——力量跟不上。我领悟到的要诀是——手脚并用。华山和别的山不一样,很陡峭。如果你只用脚力去爬,在几个小时后,往往是体力还有富裕,但是脚却酸痛的一步都走不动了。更不提还要睡一觉。如果直接走,一气走下来也还罢了。睡一觉,过24小时,原来没事,脚也要开始酸了。所以在登山的时候,只要能手扶,一定要手足并用。 华山上的路,如果忽略枝节,大概呈现一个放大镜的形状。下面是一根直线,上面是一个环。从下面上来到金锁关,可以一圈绕过东中南西四个峰。据走过的同学说,一圈下来大概是四个小时不到。如果还要走支线的话,就会更久。缆车上来,刚好上到放大镜手柄的中下部。从缆车上来后,可以直去北峰。路途很近,我们就懒得爬了。我们下午三点开始上山,晚上六点住在了五云峰饭店。再往上,就是金锁关。 五云峰饭店是管理处造的,山上价格是夸张的贵。双人房310,听上去也不如何——一张床。如果你能忍的话,我建议你早早的订下20人间。淡季的价格是85一位,还是住满的。当然,20人间是住不舒服的,如果两天时间,有一天可能就要挨一刀。饭店一顿饭我们吃了100多,你要是有空,还是自己带水泡面吧。 我在饭店旁边刷牙的时候,还看到了一窝喵。黄色的,很可爱。饭店边上有条小路,两只喵跳了下去,一只不敢,在那里伸着爪子,就是不敢下去。

卖vpn咯

Aug 13, 2012 - 1 minute read - Comments

提供pptp, l2tp, openvpn, ssh, socks5五种协议支持。如果需要的人比较多,其他协议也可以逐步实验,例如iodine。其中pptp,l2tp和socks5依赖于客户端和网络环境,因此不能保证每个点每次都连接正常,请自行测试,有问题联系我,看看是否是已知问题。 美国机房(应该是西海岸,不过我不确定),不限速,不限流量。原则上一个vps大概放10个vpn帐号,保持成本就行,不会太慢。但是不得使用p2p,也请不要超过12小时连续满速使用vpn。如果发现连续满速使用造成其他用户投诉,暂封帐号,您来找我。只要不是病毒造成的,您继续用。如果发现使用p2p,头次警告,第二次封号不退款。(因为被版权部门发现使用p2p会造成vps被封,所以,抱歉) 一个帐号10元一月,100一年,试用期一周。你可以先联系我开账户,然后试用一周,一周内你可以实验账户和各种环境的匹配性。一周后付款(这一周也是计入费用的),支持支付宝,银行汇款,面付(限上海)。 如果碰到问题,邮件联系我。 开通账户: 你需要给我你的用户名和密码,以及需要开通的服务。如果开通ssh,最好由你来生成密钥,并给我key。如果你懒得给,那么就由我来随机生成了。 完成后,我会邮件给你你的用户名,密码(如果可能的话,key),服务器设定。 一般来说,android手机推荐pptp/l2tp,ios系统只能用l2tp。windows和linux推荐openvpn,在外使用时推荐ssh。 注意,无论用哪种vpn方式,必须将你的dns修改为境外dns,例如8.8.8.8。ssh的话需要客户端支持从socks中进行地址解析。 pptp设定: http://www.maizidi.com/howto-configure-windows-xp-win7-pptp-l2tp-client/ pptp和l2tp协议需要你的路由器支持。普通的tplink设定中就有是否开启pptp协议通过的选项,请务必打开这个选项,否则无法工作。 如果你的网络接入供应商封锁pptp,那么也是无法正常使用的。你可以再试试l2tp。如果也不行,那么请换别的协议。 ssh: ssh一般用于pptp和l2tp都无法穿越的地方,例如机场或者酒店的网络。具体设定可以看这里: http://hi.baidu.com/x%CE%B4%D6%AA%B7%E7x/blog/item/6e6eaf1ff55f641a203f2efc.html autoproxy的目的,是为了自动检测域名是否需要进行代理。如果你不需要这一检测,可以不用autoproxy。 在身份验证选项那里,应当有一项是使用key。你需要将自己的key在user keypair manager里面导入(import),最后再使用。如果是我邮件给你,你需要将key的内容保存为一个文本文件。 openvpn: http://blog.felixc.at/2010/11/openvpn-win/ 我会为你准备好配置,可以直接使用。但是 ,你必须在这里下载,不要直接去首页下载,那是openvpn官方提供的服务的定制版: http://openvpn.net/index.php/open-source/downloads.html 配置文件默认是.conf,在windows下也许需要修改为.ovpn。默认是会打开智能路由的,这会导致加载速度比较慢。如果是win7,你需要以管理员身份运行openvpn-gui-1.0.3.exe,否则会出现权限问题。 MacOsX的教程在这里: http://cn.giganews.com/vyprvpn/setup/mac/openvpn.html 你可以在这里下载: http://code.google.com/p/tunnelblick/ 至于linux用户,你直接sudo openvpn xxx.conf就好了,没有任何难处。 另外,最近gfw开始升级。openvpn的稳定性会比原来差很多,即使连接上,也可能丢包。这点对不同的接入和不同的机房情况不一样,我们还在进一步确认中。如果你有类似困难,可以向我反映。

马尔代夫游记(五)

Aug 10, 2012 - 1 minute read - Comments

最后一天的行程最为乏善可陈。我们早上吃过早饭,做了最后一次浮浅,用光了防晒霜,并且照光了所有照片。今天大概就这样了。 这里我提一下浮潜时没有脚蹼的一点技巧。当然,你可以用普通泳姿,这没啥问题。但是我没有鼻夹,所以需要用手捏住鼻子。在我的蛙泳姿势里,手是起很大作用的。没有手,游泳速度就慢的可以。不过在浮潜时,你有一点可以投机的地方。普通泳姿时,你不可能在收腿的时候把脚放在空气中,这会导致头部严重的沉入水中。但是,在浮潜中,沉一点有什么关系!只要不要沉到倒灌,你大可以随便抬脚。因此,你可以把脚在水面上收回,在水里踢水。这样的游泳速度快多了。尽管没有上次带着脚蹼那么夸张,但是比我普通的泳姿至少快了一半,我可以清楚的感觉到水对人的压力。 一点额外要说的是,今天开始结帐的时候,账单不大对。后来检查后发现,潜水学校把我的名字输成了Shell.Xu。虽然这个没有错,但是我护照上的名字是XUZHIXIANG。不得不说,中国人的英语名字真是麻烦,这点导致我的账单不正确真是不知道说什么好,要是我一走了之,他们哭都来不及。 中午12点,我们开始退房。马尔代夫的行程这点很不人性,你必须在12点整退房,却在下午3点多才坐飞机,期间他们就请我们在大堂里面坐着。大堂里面有什么?啥都没有。没有电,没有wifi,连空调都没有。最后我实在无奈,就和他们申请去健身房。如同我所预料的那样,健身房里面是有空调的。但是悲剧的是,他们的健身房里面味道很大,估计是很长时间没有人用了。我们用了一会,就被熏跑了。我实在无聊,就去潜水学校拿OW教材看。等飞机的时候,我基本完成了OW的教材。按照PADI的规定,我再做一次考试,一次练习和两次潜水,就可以拿OW证书了。 教材的最后,大致说了PADI的潜水员升级流程。当然,都是休闲潜水。首先是童子军(?!这东西似乎中国没有),然后是水肺潜水员(SCUBA),然后是开放水域潜水员(OW)。在完成3次开放水域探险后,会得到称号“探险潜水员”。我不知道这仅仅是一个荣誉,还是你会具有什么其他的特权。而在完成5次开放水域探险后,你会得到称号“进阶开放水域潜水员”,当然,我也不知道这是荣誉还是具有什么特权。然后,你才能考PADI教练执照,并和没有执照的人一起潜水。 看完教材回到前台,被告知飞机晚点,我们还要等到下午四点三刻。等飞机来了以后,和我们的落地时间核对,我大概知道了为什么。我们来的航班叫做5M199,回去的是5M198。这是同一架飞机来回航飞的航班,我打赌有三个机组负责这个航班,以轮班的形式重复利用这架飞机。而水上飞机公司则需要在来程和去程都满载乘客,以减少成本。因此,一旦大航班晚点,水上飞机就必须等大航班的客人到齐才能起飞。如果他们晚点后再磨磨蹭蹭,水上飞机就要继续等。而水上飞机等,就会造成返程航班延误。 我人生中的一个下午就被消耗在了完全没有意义的,热的要死的海岛酒店的前台前面。建议所有去马尔代夫玩的朋友慎重考虑这个问题,你行程中的1/10,实际上是没有任何意义的浪费。你觉得你付钱的最后一天,似乎可以跑去马累逛一下?错,这基本是不可能的。虽然行程计划人会告诉你,你可能可以去马累。前台会告诉你,到了机场可以去联系谁,然后免费到马累市区逛逛。对方还会负责你的返程时间!但是实际上因为时间安排原因,大部分情况下这根本不现实。这一天存在的意义,一半是正常的海岛生活,另一半就是为了让航飞公司省钱。省钱没有错,毕竟我们拿到的价格也会更低。但是在此我要说出所有旅行社不会告诉你的——你,4晚6天的行程,你以为会有5天的游玩时间?实际上只有3天半的有效时间。最多加上头一天晚上5点到以后的半个下午。而与此相对的,你得接受一个炎热而无聊的下午。 另外,现在我在飞机上,以一个过来人的身份告诫你们。从马尔代夫飞回中国的航班,一定要吃牛肉。牛肉配的是土豆泥,比鸡肉米饭好吃太多了。米饭半生不熟,鸡肉也淡而无味。而且,饮料太少了。你可以在机场的店里买瓶矿泉(2美金!折13人民币!),喝光可以去飞机前面要。当然,长途旅行的一般原则是在旅行前和旅途的前半段不喝太多的水。