Shell's Home

Oct 9, 2012 - 2 minute read - Comments

Y Combinator

不动点理论 假定我们有一个函数f,例如,f(x) = x^2。对于某些点,f(x) = x。在这个例子里面,0和1很明显就是两个点。这样的点称为不动点。 不动点理论在各种领域有广泛应用,我记得其中之一就是在血型比例上。当ABO遗传规则固定后,存在一些ABO血型比例,这些比例的人随机通婚,生下来的孩子的血型比例亦保持不变。这是三种血型千百年来存在的基础,否则随着遗传规则比例转变,其中某些血型可能已经在地球上消失了。 也许你很好奇,当我们有了一个规则后,例如f(x) = x^2,或者ABO遗传规则(这也可以当作一个函数,将父代ABO比例转换为子代的),如何才能计算出函数的不动点。 答案是不动点算子。 高阶抽象函数的不动点 我们先不继续讨论不动点算子,让我们先讨论一下抽象函数。上面,我们的f都是具体的演算规则,x是一个数(例如x),或者一个矩阵(例如ABO,也可以当作一种数来考虑)。如果x是一个函数会如何? 我们先看一个递归的阶乘计算函数: (define fact (lambda (n) (if (< n 2) 1 (* n (fact (- n 1)))))) 这是一个典型的阶乘计算函数,没错。问题是,我们在lambda里面调用了fact。从语言层面上说,这样做合法。然而从语言的研究角度说,这难免会带来一个问题。函数的名字,到底是一个可有可无的别名,还是一个在递归中必须的东西。如果是前者,我们可以完全用lambda构造递归函数。而如果是后者,我们无论如何努力,也无法仅仅使用lambda来构造一个递归。 OK,这和不动点有什么关系?这时,我们先假定函数f,是真正的阶乘计算函数。即f(n) = n!。那么对于以下函数,((F f) n) = (f n)。 F = (lambda (h) (lambda (n) (if (< n 2) 1 (* n (h (- n 1)))))) 看不懂为什么?这是一个柯里化函数。当我们传递真正的阶乘函数f给F的时候,在函数体内,他叫做h。而按照f(n-1)的定义,我们得到的值和(f n)没有区别。因此,我们有(F f) = f,你也可以写作F(f) = f。 是不是觉得眼熟?是的,f是函数F的一个不动点。要获得真正的阶乘函数f,我们只要对F计算不动点即可。 Y算子 Y算子(或者叫做Y组合子)是另一种高阶函数,用于计算任意函数的不动点。 假定对于函数f,存在不动点x,有f(x) = x,那么Y(f) = x,这是Y算子的基础。按照上文代入,我们可以得到f(Y(f)) = Y(f),或者可以写作scheme格式:(f (Y f)) = (Y f),这就是Y算子。

Oct 8, 2012 - 1 minute read - Comments

小故事

话说当年,印度打算推行沼气技术。沼气技术都知道吧。据说可以减少粪便污染,不影响粪便当作肥料使用,而且肥料效果还好,还能产生燃料。印度人当年就看上了这项技术,准备实施。 从数据上看,沼气比氮肥工厂好几条街去。不需要外汇,能增加大量雇员,还能发电。氮肥工厂不但资金成本高,外汇,而且还倒需要电力。更麻烦的是,原料是进口的,掌握在其他国家手里,可能上涨。 照理说这么好的东西,利国利民对吧?问题是实施后,印度发生了贫富差距增大。因为以前没有地的农民可以到处捡到牛粪,而牛粪他们是当作燃料使用的(恶。。。)。自从推行沼气技术,富农把散落的牛粪都收集起来拿去做沼气,穷人就没燃料了——而且他们也买不起沼气。 有一个吐槽说,原本没有交换价值的牛粪是有价值的,但是当牛粪有了交换价值,穷人的生活水准就下降了。这是新时代的羊吃人么? 每个时代都有羊吃人的故事的。还有多少人记得当年造船是多火爆的一个职业?还有多少人记得当年DOS程序员多牛?甚至现在都没有多少人记得C程序员了。大部分估计只在大学里面学过,考试的时候记得,然后就——没有然后了。

Sep 28, 2012 - 1 minute read - Comments

lupus

曾经有人问过我这么一个问题,人怎么能自己和自己打架? 其实这种事情并不奇怪,人有一种处分自己体内不合群细胞的行为。当细胞变异时,必须将其消灭,否则会发展成为癌症。如果这个机制的表达过于迟钝,那么会引起免疫力低下,最著名的例子就是HIV。而这个机制的表达过于激进,那么会引起对自身细胞的攻击,例如systemic lupus erythematosus,系统性红斑狼疮。 大型组织中的竞争机制 这个和主题有什么关系?我们先说我的另一个朋友吧,我不能说这位是谁,您别自己跳出来。 我曾经帮一位老板做顾问,就是配置系统,听他的一些架构想法,给一些建议,介绍人帮他培训,实习,干活之类的。我曾经介绍这位朋友去培训,结果他被挖了过去。人各有志,我也不能说怎么样。不过这位老板曾经挖过我,我没有去。 最近他又在找工作了。据说是因为产品出来了,不需要那么大的研发团队,所以整个团队都在离职。 我对此一点都不奇怪。那位老板的定位,从一开始就能看的很明白,那是典型的业务驱动型公司。技术在里面的作用,就是完成业务。这不奇怪,大部分的公司都是业务驱动型,技术驱动型公司才是少数。但是,他的业务又不是具备快速扩展的哪种——至少扩展中的问题不是层出不穷的。那么当技术团队完成了工作,这位老板会接着做其他东西么? 以我的判断,不会。在第一个业务赚钱之前,他不会忙着把其他想法一并做出来。我不怀疑这位老板的人品,但是大部分正常的,有脑子的人在这种情况下都会做出正确的选择。而原有的团队则适当裁员,保留骨干,维持为主。 其实有很大一部分业务驱动型的公司,都有类似的麻烦。做产品的时候,生怕动作不够快,招人不怕多。到了业务出来后,那么一大堆业务人员怎么办?大部分公司都是适当裁员配合持续改进,少部分是上了新的产品。要养一支开发团队很难的——到不完全是钱的问题。问题是规模不够大,不一定有那么多事情给他们做阿。做着做着就没事情了,这下就变成了成本问题。 据说当年宋朝宰相赵普,曾经帮着宋朝打下半个天下。等到只剩北方游牧民族的时候,他便不再设计献策。由是,游牧民族终赵一朝,是为大敌,最终为宋朝送了终。 为何?兔死狗烹,鸟尽弓藏。因此大凡能主天下之人,要么韬光养晦,要么养敌自保,要么干脆自立为王。陶朱公自我放逐,韩信夜死未央,常遇春壮年暴毙,彭大将军死于批斗,大抵都是这么回事。赵匡胤若不是黄袍加身,早晚也要死在恭帝和符太后手里。 换到这个例子上来,一家公司,若是没有业务给业务部持续去做,业务部难道还能叫业务部么? 再说一个例子,某国政局 据说某国大都督被下了大狱。与他走的近的将军们议论纷纷:“听说太子新近要继位,会不会趁这个机会铲除了我们?” 有人献策说,与其坐以待毙,不若养敌自保。先想法和其他国家交恶,大战一触即发。无论是今上还是太子,难道冒着刀刃加身的风险铲除大将么?至于阴蓄死士图谋不轨之类的事情,真到了今上要人的时候,难道还会为了这点小事翻脸。顶多训斥一顿了事。 不久,某国街头上出现了一帮人,见到邻国人就打。 这人又献策说,如今军中多有怨言,不愿开战。若是真打急了邻国,一旦开战,对诸位不利。所以邻国人不能打,要打本国奸臣。 再不久,街上开始打买邻国人东西的人,说是奸臣。

Sep 27, 2012 - 1 minute read - Comments

选择哪个linux发行

选择哪个linux发行 很多人问我,哪个linux发行版更好。这不是个伪命题,而是个蠢命题。哪个发行版更好取决于你要做什么。我们首先把linux发行版分为四大类,deb家族,rpm家族,源码家族,其他。 假如你要稳定部署 所谓稳定部署,就是你没什么机会对系统升级打补丁。听上去很傻X,系统不打补丁?实际上这样的系统非常多。大型跨国公司的ERP,托管在企业封闭机房内的核心业务系统。这些系统的升级成本是非常惊人的,一次升级动辄数天策划,弄一套备用系统来放着,然后再顶着XX的损失停机几个小时。 这种级别的系统,建议你直接上RHEL。不要怕花钱,出问题的损失远远比RHEL的服务费高的多。 假如你要持续更新 对于持续更新的系统,你可以选择debian/ubuntu。这两个系统都具有很强的滚动更新能力。虽然RH系统可以通过yum进行升级,然而RH的追求稳定策略,使得仓库的升级频率要比deb系小的多。 deb的系统有非常简单的配置和升级方案,而且大多保持稳定。ubuntu的策略比debian激进很多,所以软件有更多的新特性——当然,也有更多的死机。 假如你要高度定制 高度定制的系统只有使用源码安装,任何发行版都不会帮你把每个开关组合全部编译一遍。 源码家族中最出名的两个是gentoo和lfs,不过除非你的蛋在燃烧,否则一般是不会用lfs作为自己的应用系统的。大多是使用gentoo来做支持。 假如你只是自己想用用 你是一个彻底的新手 我建议你从debian家族的knoppix开始,或者ubuntu livecd也不错。这两个都是livecd系列,就是可以直接从光盘启动系统并使用,不需要在硬盘上安装,也不需要虚拟机。相反,他们自带虚拟机,可以虚拟一个windows出来供你偶尔用一下。 你是一个有过一定经验的人 那你熟悉什么就用什么。 不过作为一般性使用,我推荐ubuntu。他们针对桌面用户做了很多定制,打造了一个非常不错的环境。在我所知的发行版中,ubuntu的桌面用户是最多的,针对新手的答疑也是最友善的。 当然,文档最好的还是gentoo。 你是一个专家 很感谢你看完这篇文章,你太无聊了。

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是闭源,那么。

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。最后我们在网络上查看航班消息,居然说航班已经起飞,还有起飞时间,说的有鼻子有眼的。吓得我们收拾东西就赶快跑。跑过去一看——还是延误。 我们三点到的机场,从五点起飞等到七点半,机场派人送了盒饭。我们又有点饿了,所以又吃了一份(提示,如果你碰到这种情况,也许不想吃饭,可以拿饮料和水果,但是拿了饮料和水果要盖章,就没法再吃饭了)。飞机八点到的机场,我们大约是八点四十起飞的,刚好在四个小时以内,赔偿什么就别提了。结果和我们预料的不同,飞机上居然还配了一份餐点。不过也没什么胃口了。草草吃了点东西,睡一会。蜜月结束,回家咯。