Shell's Home

Jun 6, 2013 - 1 minute read - Comments

外行逼死内行

昨天和一个朋友讨论点医学问题,他说,现在医生最怕的就是你这种病人。依从度最差,而且还容易闹出纠纷来。我说哪儿的话啊,我要质疑医生,除非是另一个医生对同一病例做出了不同判断。我自己的话最多问问。毕竟有点医学常识,知道自己的斤两。要糊弄外行还行,和专业医生比是没得比的。他说每天病人那么多,鬼才有空给你慢慢解释呢。 回去想想,外行逼死内行的事情其实不限于医生。做程序员也是如此。现在弄QQ,用wps和office,我已经弄不过老婆了。电脑杀毒也很久没做了,幸好她一直用360。流氓是流氓了点,反正弄不到我头上就行。有的时候她感慨,真不知道你是不是做程序员的,要用的时候什么忙都帮不上。幸好,关于最后这点,在她写论文的时候,我花半个小时帮她写了一套数据和模拟计算程序,证明了自己的清白。 有的时候,一个朋友知道我在做程序员,于是打电话过来,咨询一些问题或者请我帮忙做点事情。当然,他们本身可能出于好意,同时也可以解决他们自己的问题。但是往往这些问题就让我哭笑不得。QQ被盗了怎么寻回啊。有人给他们发消息说网银被盗请赶紧往安全账号里汇款啊。做一个网站要多少时间多少钱啊。别人帮我们做了网站现在这人跑了怎么办啊。我这里有很多数据打算做大数据分析啊。诸如此类。 当然,里面有很多问题其实也是比较靠谱的。网银被盗那个,其实当事人也知道多半假的。但是不找个专家问问就是不安心。可是您不能直接问银行么? 问QQ被盗就不是很靠谱了。QQ被盗肯定是找腾讯啊,我长的很像企鹅还是怎么着?还有什么台式机坏掉的,支付宝可以登录但不能付钱的。谁给你提供服务你找谁,我不是他们的客服。你的问题就算到我这里,我还得找他们的客服。目前为止,网站什么的有问题,找我找对了的,就那么一例。因为那个问题是找不到网站客服。剩下统统是回掉问题,或者回不掉就帮他们打对方客服。 至于做网站的,倒是还对路。虽然我不完全是做网站的,不过网站至少还会做。不过你至少和我说一下,这个网站大概什么目标,要做多少规模。我大概给你估一下要多少人,大概多久,会花多少钱,什么一个章程。你光冲上来和我说,要做个网站,把上家的货卖给下家,大概要多少?我哪里知道啊。更神奇的是,居然还有人能根据他这样子的描述写成了,而且那人应该还是个新手。我大概看了一下,处理和钱有关的问题居然用的是myIASM。想想还是别说了,人家本来就对我不是很满意。罗嗦个一堆,事情还没给办成。 至于大数据分析就更搞笑了。一个学校的后辈跑过来说,我这里数据挺多,打算做大数据分析。我说多少。1000多W条呢。数据大小呢。好几十个G呢。我算了算预计计算时间,16小时。行了,您有空跑我这里讲需求,回去把电脑开着,一天就出来了。 偏偏就这个样子,还是有人当我专家,然后跑过来问各种各样问题。其实了解的越多,心里越有数。自己算哪门子的专家呢?反正首先肯定不是修电脑专家——偏偏还是修电脑的问题最多。其次,要说低成本程序开发,自己也算不上——我写程序的成本可不低。对大多数人来说,我唯一能做的是在特定领域里面帮你解决新手解决不了的问题——这里面大多数问题是外行无法理解,甚至都没听说过的。所以这注定了你找我唯一正确的理由是让我帮你介绍个合适的圈内人。 即便如此,在面对新手的时候,往往也底气不是很足。某朋友曾经show过一行代码,说是公司里设计师教的。我看了,确实也不知道可以这么写。有的时候新手兴冲冲的上来问个问题,顿时我就茫然了。或者皱皱眉头,好大的一坨东西。然后新手不管三七二十一就写。后面多半没了声音。但是也经常有就写成了的。看看实现,问题一大堆。但是能工作,确实能工作。透过时光,仿佛看到10多年前的自己写的代码。罗嗦,冗长,但是却实实在在的在工作,让我兴奋不已,并且把我带进了电脑的世界。 也许这堆新人里,有人可以也坚持个10年,并且成为其他人眼里的专家。然后苦恼于后浪追前浪的问题上吧。

May 31, 2013 - 1 minute read - Comments

语音能力对比

对比了一下google voice和科大讯飞的识别能力。google voice手里没货,用的是youtube上的第三方测试视频。例子也是抄的。 +----------+-------------+----------+ | |google voice |讯飞 | +----------+-------------+----------+ |提醒 |Y |Y | +----------+-------------+----------+ |定时 |Y |N | +----------+-------------+----------+ |播放歌曲 |Y |Y | +----------+-------------+----------+ |关闭无线 |Y |N | +----------+-------------+----------+ |天气 |Y |Y | +----------+-------------+----------+ |静音模式 |Y |N | +----------+-------------+----------+ |搜索地图 |Y |Y | +----------+-------------+----------+ |搜索路径 |Y |Y | +----------+-------------+----------+ |搜索商家 |Y |弱 | +----------+-------------+----------+ |时间搜索 |Y |弱 | +----------+-------------+----------+ |时区查询 |Y |N | +----------+-------------+----------+ |节日查询 |Y |Y | +----------+-------------+----------+ |汇率 |Y |Y | +----------+-------------+----------+ |汇率换算 |Y |Y | +----------+-------------+----------+ |进制转换 |Y |N | +----------+-------------+----------+ |单位换算 |Y |N | +----------+-------------+----------+ |数字计算 |Y |N | +----------+-------------+----------+ |航班查询 |Y |Y | +----------+-------------+----------+ |火车查询 |Y |Y | +----------+-------------+----------+ |股票查询 |Y |Y | +----------+-------------+----------+ |定义查询 |Y |Y | +----------+-------------+----------+ |区号 |Y |N | +----------+-------------+----------+ |商家号码 |Y |Y | +----------+-------------+----------+ |打电话 |Y |Y | +----------+-------------+----------+

May 27, 2013 - 1 minute read - Comments

比特币的汇率问题

一个有趣的问题 如果股票可以用来交易,我们会使用股票么? 我是指,如果股票的流通合法,手段合理,出门刷股票就像刷卡一样。我们是否有机会使用股票作为货币? 我觉得没有可能。 使用股票作为货币,有一个实际的难题,就是定价问题。我们想象这么一个例子。假定某种股票A价格是10元一股,而楼下食堂的午餐套餐A也是10元一份。因此,他们可以把套餐A的定价写为A股1股一份。 中国的A股市场最大单日涨跌幅度是10%,如果是美股幅度还要大,但是我们先不考虑。在极端情况下,例如连续五日跌停。股价就会从10跌到大约6的样子。 如果此时,A套餐还维持一股的价格,收入绝对会跌穿成本的。因此,A套餐必须变更价格。事实上,当股价跌到80%的时候,就已经需要变更价格了。因此,A套餐在一周之内需要变更两次价格。 如果说变更价格还可以忍受,那么汇入汇出时差,还有周转周期就根本无法忍受。大部分银行汇入都是有时差的。当餐厅收入股票,他需要时间将这些收入和银行结算。这个时间大约是一天。而如果餐厅真的把股票当作货币,而不是周转手段用(说的更通俗一些,就是一收到股票就抛出换货币存入账户),那么他必须坚持使用股票去购入原材料和支付工资。这个周期至少是半个月。在这个期间内,如果股价持续下跌(半个月内跌20%不是很罕见的),那么造成的损失只有餐厅自己去承担。 关于这点,做外贸生意的同学们应当深有体会。 因此,使用股票而不是货币作为流通手段是有额外风险的。如果没有额外的利益,为什么要承担这一风险呢?外贸是因为种种理由(主要就是相对生产效率),交易可以创造利益。因此人们才愿意承担风险。 为什么不将货币统一 反过来的一个问题就是。为什么我们不干脆统一货币,这样任何国家和任何国家的外贸都不存在额外风险了。 这也是不可能的。人们曾经以为这并不困难,因此出现了欧盟。欧盟统一了货币,但是却出现种种问题。从根本上说,这是因为政治机制做造成的。人类一定会有一些人生产力高一些,一些人生产力低一些。因此我们一定有人穷有人富。如果维持理性人假设,穷人一定趋向于增发货币,因为这可以促进经济,增加就业率和工资。而富人一定会趋向于不增发货币,因为他们的财富会贬值。 我们缩小一点打个比方。如果你和你的兄弟吃住在一起,钱一起花。当你们都赚1000的时候,问题并不严重。当你赚10000,其他人赚1000的时候。其他人总是倾向于更多的使用公共利益开销。例如他们可能会要求给父母翻修房子,买下更多的土地——反正钱是“大家”出。如果你鉴于兄弟情谊,认为这是合理的,那么你们还能过下去。如果你认为他们太贪婪而他们认为钱一起用是天经地义的时候,分裂就在所难免了。 如果我们在同一个货币区域内,那么关于是否增加货币总量这个问题就有两种态度。两种利益的代表一定会发生争执。如果这个货币区域是一个国家,那么统治系统会受到两种利益集团不同程度的驱使,宛如精神分裂一样。如果这个货币区域是多个国家,而其中有的穷有的富有,那么情况就会更糟。富有的国家会试图迫使穷国做一些事情,否则就将他们踢出联盟,再否则,就是他们自己退出联盟。这就如同欧盟中西班牙和希腊的遭遇一样。即使在一个国家中,如果不能平衡两方面力量,那么这个国家出现分裂是早晚的事情。 因此,要将全球货币统一,这基本就是不可能。 我在说什么? 应该已经有人听明白了,我在说股票么?不,我在说比特币。 比特币比股票的动荡幅度更大,就我刚刚查询到的信息,比特币对人民币汇率在一个月的波动幅度最大的时候,在10天内下跌了75%。当然,与此对应的是。如果运气好,在10天内上涨超过300%也是可能的。 这种情况下,要当货币用?难了点吧。据说网络上有人支持用比特币买房子,我很好奇他的价格是怎么定的,每天一个价么?等值美元换算?还是干脆定一个死价? 而接受这么大一个风险,我们得到的是什么呢?使用比特币交易会为我带来更多的订单和利润么?比特币用起来比刷卡更加方便么? 谁会为了比特币接受这么大的风险?思考一下,只有那些在普通监管金融体系下无法交易的人才欢迎这样的系统。包括军火,毒品,走私,钻石交易。相对于这些行业的暴利来说,价格波动风险的问题也不是那么大了。 所以我还是坚持我自己的观点。要是你弄一点来玩玩,那没问题。但是要作为替代货币去用,基本不可能。 为什么还会有人弄点玩玩 我靠。就算是游戏机房的代币,都有人弄回家玩玩。你还奇怪这个?代币可是没任何保证的,既不能花在别处也不能交易,机房关门那东西就不值钱了。玩么,还在乎这个。 为什么比特币持续在上涨 比特币现在还可以持续挖矿,相当于货币一直在增发。在增发的前提下,货币价格还持续上扬,这只能说明在这种货币实体内涌入了大量的货物支持。当然,如上文所说,毒品,军火,都有可能。但是无法排除,比特币的无法管理特性注定了这东西还有一种玩法——当股票玩。而比特币目前只有融资没有融券,这才是比特比持续上涨的最大理由。 为什么没有融券就持续上涨?这个问题其实应该问中国股市,尤其是2000年前后的中国股市。当有融券时,我们可以先卖出,然后买入远期股票,从而在下跌的市场里赚钱。而当没有融券时,要赚钱就必须让股票上涨。交易所希望股票涨,股民系统股票涨,上市公司也希望股票涨。股市里的大家,除了刚刚卖掉的人,都希望股票涨。然而大家心里有数,股票是不可能无限上涨的。股票的长期收益,是能够持续的获得分红。如果上涨和分红不能支持当前价格的时间成本(就是利息),那下跌是个必然的事情。于是中国早年的股市就变成了击鼓传花,大家都吹着市场,希望自己不是最后一棒。 在比特币上,情况更特殊一些。现在固然是有炒家的功劳,但是将来是否下跌还得看非管制交易的规模。如果将来有大量的人使用比特币进行非管制交易,那么比特币就获得了实际货物的支持,从而不会下跌。如果没有,那就是新的一轮击鼓传花。

May 24, 2013 - 1 minute read - Comments

lxc路由模式

为什么使用路由模式 lxc默认使用的是桥模式,这也是我在家里和公司里部署的模式。在这种模式下,lxc虚拟机可以直接和真实网络中的机器互相访问,就如同一台真的机器一样。路由模式则没有这个便利性。 但是桥模式有个缺陷,必须能够做出桥来。我们有做不出桥来的时候么?有,如果你用笔记本,大部分AP会拒绝第二个MAC地址的包。导致网桥可以组建,却永远无法正常使用。 第一种路由模式,双重NAT简版 双重NAT可以用于几乎所有场景,并且不会带来后遗症。然而,双重NAT的问题在于,物理网络不能直接访问虚拟机。对于很多设备来说,这就失去了价值。另外说一点,之所以叫做双重NAT,是因为多数时候物理网络接到外网还需要一次NAT。 lxc的双重NAT可以视为两步,建立NAT连接的虚拟网络,将lxc连接到虚拟网络。 第一步比较复杂,我们先从br0的建立开始说起。首先,你需要为虚拟网络分配一个不同的保留内网网段。如果使用同样的内网网段,在ARP查询的时候会从一个端口发出超过一个的MAC回应,这就退回了桥模式。 然后我们需要建立一个br0网桥作为配置的起点,对这个网桥赋予IP,配置路由和防火墙,并启动dnsmasq以便于dhcp和dns。这个模式之所以叫做简版,是因为我们先不讨论dnsmasq。 假如你的lxc内网网段是192.168.66.0/24,那么你大致可以如下配置: brctl addbr br0 ifconfig br0 192.168.66.1 route add -net 192.168.66.0/24 dev br0 iptables -A INPUT -s 192.168.66.0/24 -j ACCEPT iptables -t nat -A POSTROUTING -s 192.168.66.0/24 -j MASQUERADE 实际上,对于任何一种网口设备,将其配置为NAT的过程都是一样的。 第二步非常容易,在lxc的config文件内,指定网桥为br0就OK了。当然,作为略去dnsmasq的代价,你需要手工配置每台机器的IP地址和DNS服务器。 第二种路由模式,双重NAT 双重NAT的完整版需要在内网网口上启动dns,作为dns缓存代理和dhcp服务器。其余和第一种模式没有区别,只是你不需要手工指定IP和DNS服务器了。 当然,其实任何一种网口的NAT配置都是一样的。 第三种路由模式,双边交互路由 第三种路由模式的效果最好,虚拟机和真实机可以互相访问。但是这种模式需要能够修改物理网络网关的路由表。这种模式使用主机作为路由器,中转真实网络和虚拟网络。 我略去如何创造br以及如何将lxc连接到上面,这些前面有叙述。下面我简述一下双边路由最关键的几点。 最重要的重点,就是在真实网络的网关上,将你的真实物理机在外网的IP,配置为虚拟网络的下一跳网关。例如,对于上面的例子,我们应当在网关上如此配置。 route add -net 192.168.66.0/24 gw 192.168.1.4 如果不进行如此配置,物理网络所发出的包在到达网关后就不知道应当如何转发了。 在物理机上允许双边网络的所有包透过。你的包当然不能被防火墙挡掉。 虚拟网络的dhcp是不会传递到外网的,因此如果打算使用dhcp,还是需要开dnsmasq。

May 8, 2013 - 1 minute read - Comments

一次订错机票

我碰到的问题 我的错。在订机票的时候,把虹桥T2看成了浦东T2。短信发来后又没有认真复核,导致跑到浦东才发现不对。此时离飞机起飞还有80分钟,要跑到虹桥铁定是来不及了。我查找了机票信息,这张票是可以退改签的。所以我打算改签到一个合适的时间,或者重新订一张浦东的机票。 操作流程 首先我拨打了短信上的退改签电话。根据提示音,这个电话属于去哪儿网,而不是代理商。电话接入后,有提示退票和改签,很不错。于是我选择了改签。提示音提示我,目前一名乘客,XXX,是我本人,是否确认。我当然确认。 然后?就是见证奇迹的时刻了。电话提示我,刚刚进行了改签动作,将我自己的机票改签给了我自己。 我擦,我是有多脑残才会想要把自己的机票改签给自己!选择其他航班的机会呢?改签不是应该改时间么?怎么直接给我改了登机人?而且还是改给自己??? 更奇葩的是,在这步操作后,我试图进行退票,提示我“您的机票正在进行退改签中”。嘿,还不能操作了。此时,离飞机起飞还有70分钟。 怎么办? 那么看来只有人工处理咯。我在去哪儿的电话系统里面转了一圈,花了20分钟,浪费了4元长途费(顺便一提,去哪儿的电话是北京电话,不是400,因此用户付费——长途费)后,发现唯一的人工干预界面是投诉。。。 你是有多不信任你的代理商。。。 好吧,投诉也比没有好。打电话过去,果然,没有上班。目前是七点三刻,确实有点强人所难。 然后我去去哪儿的android应用里面,查看这张机票。果然也有,一样是退改签中,不能操作。不过幸好,机票上面有代理商电话。我点上去,出现提示,是否要拨打电话。确定。 。。。 什么都没有发生。 再来一次。 。。。 什么都没有发生。 我擦你丫以为这是开宝箱阿。不会堂堂一个去哪儿的应用连拨打电话都有bug吧。。。 怎么办? 首先,冷静,认真你就输了。 其次,打给携程,订一张新的机票。总之不能把出差搞黄,出差搞黄就把小问题变成大问题了。 再次,打给老婆,让她给我退票。能退多少是多少,不能退就当交学费了。 最后,发微薄骂人。 结果 很快,大约飞机起飞前20分钟,老婆给了我回复,她直接拨打代理商电话是OK的。代理商执行了退票,剩余费用会在2-15个工作日内回到账上。 飞机起飞后10分钟,微薄有了回复,但是完全没看懂我说的是什么。我骂的问题是: 我擦去哪儿的产品经理是猪脑子么?我打过去退改签,什么操作都没做呢,系统直接把我的机票改为我自己的,然后就再也不能退票了。 丫回复我说: 退改签是航空公司根据该机票的仓位和折扣具体规定的,去哪儿网会监督代理商按照航空公司的规定执行,您可查看订单中的退改签说明或致电航空公司核实。有问题也可将订单号私信给我们,为您转交工作人员核实处理。 平心而论,这个回复倒是沾边。对于用户来说,真的要退票的到也能退掉了。但是。 飞机都起飞了,再退票价格完全不是一个概念阿。微薄平时玩玩就罢了,这种涉及相当金额的事情还是电话靠谱。 一字没提电话系统改签里面的问题。您就准备把这个问题放着给下一个人中招? 结论 去哪儿网的票价是否便宜不说,服务太不靠谱了。机票定错是我自己的问题。但是电话改签功能非但不能正常工作,还把退票的功能给关了。处理紧急问题的时候没有400电话,也没有紧急事件接听机制。从微薄的回复时间(8点半)来看,工作人员都是定时上下班的,没有值勤机制。 大概廉价比价网站就只能做到这样了,以后对于公司业务还是用携程吧。

Apr 28, 2013 - 1 minute read - Comments

git log的一个吐血问题

刚刚在公司里查了半个多小时,记一下笔记。 不知道你们有没有这种吐血经历。在git上有两个分支,莫名其妙合并到一起了。这可能是某个人的误操作。你检查log的时候,只看到他不停的把主分支merge到支线上去,却从没有把支线合并到主线上去。但是最终两个线却合并了,主线指向了支线。这是为什么? 要理解这个问题,我们要搞明白,merge在git里是怎么工作的。当两个分支,来自同一个祖先,但是提交了不同修改,又要合并的时候,就需要进行merge。能够自动merge的,多一个merge commit,被合并分支的HEAD不变,合并入的分支的HEAD加一,指向merge commit。不能够自动merge的,手工处理冲突,其余和自动相同。 注意这点,“被合并分支的HEAD不变,合并入的分支的HEAD加一”。由于两者在不同的点上,因此修改和提交会形成不同的分支。合并后的两个分支不会发生交汇。 如果在一次正向的merge后,立刻进行了一次反向merge呢?事情就麻烦了。两个branch的HEAD指向了同一个commit。因此你可以认为支线分支合并到了主线,却没有merge记录。这是当然,因为这只是指针移动,属于fast forward。没有commit,没有log。 不幸的是,这种操作还经常发生。当我们把支线向主线合并的时候,合并难度可能非常大。此时我们可以将主线向支线合并,然后反向合并。这样的合并难度就小很多了。然而这会使得合并记录不可查。 所以,当碰到类似问题的时候,考虑两次合并的可能性。

Apr 22, 2013 - 1 minute read - Comments

关于雅安

雅安地震好几天了。之所以今天才写,是因为我不大愿意消费雅安。再晚几天,大概也没人愿意看了。所以,大概就这几天。 看我的博客的人,相信都看到了我前面几篇的四川行。我贴的有点晚,不过时间是今年过年前,地点在本次地震所在地雅安向西50公里的位置,泸定下方的海螺沟。我们在来回路上还经过了雅安,在那里吃了顿饭。因此有人一说雅安地震,我当时就一惊。 当死亡突然发生在身边的时候,是非常惊悚和震撼的。如果我们早就知道,我们就不会流泪了。像我在某部纪录片里面,看到的一位植物人家属。当人走的时候,家属都很平静,近乎麻木。他们说,我们的泪都流干了。但是如果你认识的某人,在壮年突然去世。你才会悚然一惊。原来生命这么脆弱,原来死亡离我们只有一线之隔。 是的。我之所以要说这个,是因为我忍不住的想。如果我们晚去半年,或者地震早发半年。我们是不是也要砸里面?好像很有可能。我看到很多旅行者砸在了那里。 大概在三年前,我得了一次急性牙髓炎。医生没查出原因,患处也不疼痛,所以我居然一直不知道,以为是三叉神经痛。那一阵子真是痛的死去活来阿。在牙齿拔神经后,感觉顿时轻松了很多,觉得好像重生一样。由此我也悟到了一件事情,及时行乐。我们总是为一些奇怪的理由,阻止自己做一些真正让自己快乐的事情。今天拖明天,明天复明天。拖到事情黄掉,或者在某个时刻戛然而止。这是何苦来哉。 所以,如果你有什么想做的事情的话,还是快点吧。 另外一个关于雅安的话题,就是我们能做什么。我首先声明一点。我不信任中国红十字会。 当然,这不代表我赞成直接捐助。相信经过这么多次网络直接捐助事件,大家都应该领悟到,直接捐助给对象,会有很多问题。对方是不是真的需要帮助,有没有人比对方更需要帮助,对方的钱是不是花的到位。这些问题都非常专业。帮助别人,不是把钱随随便便的一丢就结束的。这是一个非常专业的问题。丢下钱就什么都不管的行为并不是帮助,而是打发乞丐和满足自己的虚荣心——当然,如果那就是你的目的,我也没什么好说。 作为一个解决方案,有一些专业的机构,会帮助我们来捐助和慈善。就像我们需要买啤酒,于是有了酒厂和超市。我们需要买鸡蛋,于是有了养鸡场和菜场一样。我们希望在慈善方面有专业机构,解决上面说的一些问题。是不是值得,是不是需要帮助,需要何种类型援助,应当如何处理,等等等等。我们提供帮助,物质上的,金钱上的,精神上的。他们解决问题。 当然,既然是专业机构,自然需要开销。酒厂,超市,养鸡场和菜场都不是免费的,为什么慈善机构一定是免费的呢?很多人在公司里常说的一句话是,既然如此我也没有办法,公司不是慈善机构。其实他们错了,慈善机构也不是免费的冤大头。做好事也要钱呐。 现在问题来了。即使我相信慈善机构可以判断哪些人更需要援助。但是慈善机构本身也需要钱运转,而帮助对象也需要钱。在这两者的竞争上,我还没有天真到相信人性的光辉可以照耀每个角落。如何保证某笔钱是被慈善机构是合理的运用了?如何保证他们不会倾向于更多的花费在一些无聊的地方,例如职员(姑且叫做职员吧)的生活改善。修建更漂亮的大楼,并解释说这是为了吸引更多的捐款者? 作为一个必备条件,捐款公示和账目公示是必须的。作为捐款者,我们可以核对我们的捐助是否被统计了。作为受惠者,自然不会承认没有得到的帮助。由这两点限制,我们就可以清楚慈善事业的运转是否有问题。如果我觉得有问题,我可以用脚投票,再也不给他们捐钱。 呐,现在问题更大了。中国红十字会名义上是国际红十字会的下属机构,但是却不受其直接领导。而中国红十字会的资金是不公开的。 好。你说你是一个专业机构,我信你。你说你可以解决我在救助中解决不了的问题,我信你。结果你告诉我,你连账目都处理不了。你让我如何相信你可以公平的分辨谁需要帮助,协调社会力量救人于水火?就像一个瘫痪的人说,我可以飞。谁信。 和直接捐助比起来,我觉得这种自相矛盾更加不可信。所以我不相信中国红十字会。 但是更大的问题是,在中国,面向非特定对象的募集在理论上是违法的。直接在街头弄个箱子写个捐助,在某些地方被认为是不可信的,而在中国就直接被定义为非法。与此同时,非慈善类NGO很少,很难注册。这使得中国慈善里面充满了各种公司法人。真的想做事,但是却搞不定NGO注册的,只能注册公司,同时开增值税发票交税。这很讽刺,因为你交了个人所得税后的收入,要进行慈善竟然还需要缴税。而在某些国家,慈善NGO开的发票是可以抵税的。因为社会救助是政府的任务之一,而税收是为了使得政府可以执行任务。既然你为政府的任务目标做出了贡献,自然应当少缴纳对应数额的税收。就如同你上缴了税收,然后被再分配到了慈善机构一样。只是你自己拥有选择的权力。 与此同时,也不排除很多人,注册了公司外壳来做一些手脚。大家知道慈善机构是组织性组织。他们不会自己生产帐篷,自己培训医生,自己教育小孩。他们需要在社会系统中兑换相应的资源。这给了一些人机会,将低价资源高价卖出,这是最常见的,甲方腐败。另一种常见的情况是,某些人拥有广告资源。从市场运转角度说,投入广告可以获得收益的行为,和普通市场营销没有任何区别。于是在集资问题上,又可以将渠道卖给广告商,从中获得回扣。这是不怎么常见的,乙方腐败。如果是盈利型公司,公司的所有者或者理事会自然会检查这种问题。但是对于一个不透明的非盈利机构,谁来担这个责任呢? 甚至,从行政和金融工程的角度来说,可以将行使慈善的权力拍卖(NGO许可证),或者是利用慈善价格随事件大幅波动的特性进行杠杆套利。当然,这个套利很难,而且杠杆化更难,所以这也是今天我还没听说这种事情的原因。但是如果我们放任情况失控的话,慈善企业上市,乃至慈善期货进入期货市场这种荒谬的事情都将不会让我觉得惊讶。 所以说到我们可以做什么,我觉得很悲伤。我们捐给红十字,有问题。直接捐助,也有问题。我们不去了解灾区,麻木。我们希望了解灾区,使得记者一拥而上,消费。我们不能不做什么,却又做什么都错。 最后,关于去四川和西藏旅游。我得说,前方高能,快去快回。。。

Apr 15, 2013 - 1 minute read - Comments

关于微信信令问题的补充说明

上次说的扯淡,不是指技术细节,而是商业讨论。技术细节上,我相信心跳一定是会对网络带来负担的。 空口无凭,我们就用上文给出的几个数据来计算一下。按照用户花10元计算,看看商业上他可以得到什么,得到了什么。 ayanamist告诉我,他们那里流量计费大约是10元30M,上海这里我用的比较多的是8元80M,我们按照10元100M计。我找到联通数据流量的最低购入费用是35元/1G,合10元250M。 假定我用10元100M套餐,在手机上使用微信。微信的心跳相当于5分钟连接一次服务器。这个比联网使用当然消耗更大。但是,请思考一下这个问题。移动运营商可以接受10元250M的用户,但是无法接受10元100M的用户一天连接300次服务器?也就是说,一天连接300次服务器的成本比2.5倍流量带来的负担还重? 我的判断是,还是2.5倍流量的负担更重。微信真正的问题,还在于他动了利润更加高的业务——短信。也就是说,我认为,移动运营商可以忍受一天连接300次服务器,但是无法忍受高收入业务被边缘化。 作为佐证,我提出了下面一个概念验证。如果我们使用数据网络打电话如何? 当我们需要给对方打电话时,使用短信呼叫对方上线(作为thomas提出的体验问题的回答。app自动发送短信和接收回信,用户无须手工),然后利用数据网络拨打电话。这样每次接通双方都需要0.1元短信费用,和每小时2元的数据流量费用。当然,对于某些特殊区域,有电话无网络的时候,或者紧急情况下,使用普通电话呼叫。 我测试了微信的语音通话功能在3G下的效果,比普通电话略差,但是基本可以接受。如果我们可以如此操作,就可以免长途和漫游费用,低成本的进行语音通话。这个模型没有任何心跳压力,流量的使用也和普通3G类似。移动运营商可能接受这样的一种方案么? 怎么可能。真发生这种事,移动连讨论都没有就直接禁用这套服务了。

Apr 11, 2013 - 1 minute read - Comments

从微信和移动的官司说多网融合

多网融合这几年 在02年左右的一堂多媒体课上,我和老师就讨论过多网融合的题目。当时我们提出了很多不同想法,有的实现了,有的没实现。 固话业务废弃。这点已经基本实现,但是不是因为IP电话,而是手机。我们原本的预期是价格低廉的IP电话系统覆盖到家,和传统PSTN电话业务结合。IP电话系统内部收取内部价格,和PSTN互相拨打收取外部费用。从实现来看,IP电话系统不接受拨入,这个直接导致了IP电话系统和传统PSTN无法互通,从而根本没有生命力。但是手机和固话互通是没问题的,而且价格和固话相仿。这些年来,我已经很少看到家庭固话了,只有企业还在用(因为大量拨打的情况下,固话还是相对便宜一点)。 电视业务废弃。这点也基本实现。不过不完全是电信覆盖电视,电视自己也在做机顶盒和视频点播。从目前来看,两家的情况差不多。但是从趋势上看,小米盒子,或者其他第三方机顶盒卖的更好。整合国内各大视频网站,提供了非常好的电视点播资源,而且近乎于免费。 传统金融领域废弃。这点还很长远,但是趋势已经见到了。以前我们一起吃饭,结帐时都各自付款。现在都是一个人付款了然后支付宝还账。反正每个月也是要交水电费的,不怕钱进来花不掉。再后面,如果支付宝的安全性更高,我想大额转帐,理财投资等传统银行的高增值业务也是会出现的。唯一不可能复现的是高贷低存的利息剪刀差。 移动业务废弃。这个是在04年左右,我和一个朋友讨论的问题。移动当时数据流量还是0.01元/k。我当时就在考虑,1K数据足够发送和接收一条短信了。如果短信走数据流量,岂不是比0.1/条的短信更加便宜?结果10年不到,印证了我这点简单的想法。移动流量的价格已经低到3.5元/100M了,不但短信的价格已经低到忽略不计,而且已经足够承载一些多媒体业务,包括图片,语音,甚至视频。 移动的价格 微信和移动的官司,其实就是移动传统业务和移动数据业务的冲突。移动传统业务是非常贵的。我在07年时请教过国外的朋友,他们一个月125美金(对他们的购买力来说,大约相当于我们的250-300人民币),拥有4M宽带接入,有线电视接入随便看,2路有线电话,一个手机。有线电话和手机在同一家公司内的互相拨打是不要钱的(我怀疑还有同一个地区的限制),跨公司拨打才收费。也就是说,他们的大多数服务,一个月只要125美金就可以cover。而且这还是07年,这些年还要便宜。对比这种价格,我们短信的价格呢?0.1元/条,而且10年不变。你还觉得他很便宜? 再说传统建设问题。在高速公路收费问题上,常有人持有这么一个观点。中国的高速路收费是因为中国很多路都是新建设的,美国都是建成数十年的。我先不说这点的核算问题,单说这个情况在电信领域是否存在。你真的觉得美国会提前中国10年就把高速链路建好了?目前在用的一些高速链路系统,路由器,光纤系统,可能从实用化到现在也只有10年而已。10年前,任何一个国家所部署的设备都不可能承载今天他们所承受的压力。信息系统的更新换代是很快的,你不可能指着美国说,他们便宜是因为他们历史上已经建设好了。 一个可以理解的原因是,电信设备的价格在世界范围内是差不多的。如果把这个命题转换为“电信带宽的售出价格在世界范围内差不多”,那么美国的125美金到中国可就相当于800人民币——这可不是一个小数目。之所以这一点不完全正确,是因为中国的人工成本只有美国的几分之一。 微信有多少可能跑在非移动数据上 我们考虑这么一个问题。微信是不是一定要跑在移动数据业务上?既然移动说,OTT业务会严重影响他们的网络,微信是不是可以跑在别的什么上面? 其实我们都知道,如果你在城市里,微信80%的时间都不是在移动网络上运行的。你在家里,家里有无线路由器。你在单位,单位有无线路由器。这年头无线路由器和智能手机都基本成了标准配置,有不奇怪,没有才怪。移动数据网络所需要支撑的,就是你离开家里,公司,咖啡馆的这几个小时路上时间。 当然,我并不是说我们干脆把这几个小时的时间忽略不计,让微信直接跑在宽带数据网络上算了。而是说,微信对移动网络的依赖,并没有我们想像的严重。这种不严重,并不是我们不想依赖,而实在是依赖不起。 3G之殇 中国的3G,大概是世界上最扯的3G了。撇开中国自定的鬼扯标准不说,撇开中国3G的奇葩速度和覆盖率不说,最让人诟病的,就是中国3G那奇贵无比的价格。 电信宽带的价格是20M下行220一个月。按照一天开4小时,一个月开22天计,电信一个月可以下载773G的数据。我们打个折扣,假定只下载了220G。那么电信的价格是1元/1G。 移动当然没法和电信比,因为移动数据业务更加复杂。你看,手机费用一般都比固话要高一点,对吧?但是无论技术上基于什么理由,只有价格相近,才能有相近的竞争力。手机通讯价格是0.2/分钟的时候,对固话并没有构成致命影响。当这个价格下降到0.12/分钟的时候,才对固话造成了非常大的冲击。同样,3G要得到广泛的使用,至少价格要接近于这个值。那么现在移动宽带的价格是多少呢? 根据贝壳调查得到的最低值,35元/1G(2013年4月),这还包括上传数据。电信的计算中,我们还没算上传数据量。因此,在移动的价格下跌穿5元/1G前,不用指望和电信竞争。这至少要下跌7倍。 而这里就牵扯到另一个问题,如果流量价格真的下跌这么多,移动和联通是不是吃得消。因为上面我说了,传统业务是非常赚钱的。如果降低数据业务价格,那么传统业务就要受到冲击——你们都不会用电话和短信,而用微信去了。而如果流量价格不下跌,移动又没有办法在数据业务上和电信竞争。 所以中国的3G才出现一个奇葩局面,做3G的公司拼命在做,又不把价格降低下来做到实用。同样理由,移动才希望对OTT收费,而不是直接禁止掉OTT。因为只有这样,才能在流量价格和电信竞争的同时,又不至于影响到自己的传统业务。 心跳是个扯淡理由 首先,如果心跳会造成影响——那就不要搞心跳好了。微信改为上线离线模式,激活后就一直走数据。这和普通浏览器的行为相一致——我以前可没听说过要向浏览器收取什么额外费用的说法。 其次,如果移动运营商管OTT收费了,真的能阻止人类利用OTT业务么? 别搞笑了。用户的行为哪里受软件供应商管束。我租一个小的VPS,在上面搭建一个小的系统,利用UDP和手机通讯,把上面的交互转发到QQ上。移动对这个系统有什么办法?你可以关光所有的OTT公司,但是你能约束用户自己搭建的系统么?要阻挡心跳信号造成的压力,只有对用户收费才是有效的。对软件供应商收费管个P用。 最后,移动运营商自己心知肚明,收费真的是因为心跳信号造成的压力么?网络领域有一个普遍现象,就是随着压力上升,服务质量逐渐下降。如果心跳信号造成了很大的压力,那么会出现的现象是。随着微信的使用人数上升,移动接入服务的质量会逐渐变差。虽然信号是好的,但是数据却传不过来。 趋势 其实我很好奇,虽然电信阻止我们自己建立IP电话系统,但是为什么电信自己不使用IP电话来提到传统PSTN电话网络呢?毕竟成本比较低廉。目前电信的长途还是加拨才有IP电话的,而拨入领域,就没见过IP这东西。 估计再过几年,电话就会彻底死绝。即使在企业领域,IP电话也比普通电话省钱多了,而且很多业务是可以接入到手机的。到时候,除了老古板,没人愿意守着一台不能移动的电话。 视频分享网站涉足电视业务。这点是不可持久的。漫画界已经在整版权了,相信电视界很快也会跟上。到时候各大电视剧的版权都是受限的,说不给你放就不给你放。这样弄的话,视频分享网站倒是能活着,不过只能叫苟延残喘。 但是视频分享网站不一定会死。很有可能发生的事情到是,这些网站替代了传统电视的渠道,将内容送到千家万户。到时候电视台会变成内容的生产者,而视频网站只是内容的传递者。 移动接入之战,搞不好赢家是电信。这种奇葩事情大概只会在中国出现。如果电信把wifi的覆盖率提到足够高,覆盖大多数大街和地铁,公交(尤其是车厢内部),你很难说wifi不会最终赢得大家的拥戴。wifi的参数比起无线来是不算太适合做移动数据传递——他的传递距离在100米以内,不能在医院附近使用,而且最关键的,在两个AP间移动时还会出现断开重连现象。但是wifi的优点是足够便宜,1G的数据大概只是1-2元。据贝壳最新得到的消息,电信自己的流量套餐已经出现6元1G了。这个价格足够把移动和联通统统直接踢出局。 金融领域,作为中国监管最严的领域,是很难很快出现改变的。其实从技术上说,从各大ATM里面直接提出支付宝帐号上的钱,或者存款进去并不是难事。使用NFC技术进行近程小额资金划拨也是非常容易的。再不济也可以推出支付宝信用卡,通过卡片消费支付宝中的资金。这足够使得支付宝成为一家银行的替代品——我们不需要银行。发工资直接发到支付宝里面,我们直接上网购物,交水电煤甚至房租,通过手机进行日常付款,从ATM里面取款或者汇款给朋友。为什么我们还需要银行呢?对此,估计银监局和各大银行都会严防死守,阻止支付宝的落地。

Apr 8, 2013 - 1 minute read - Comments

什么叫做网桥

下面简述的只是linux下的brctl创建出来的玩意,和网桥的学术定义什么的没有关系。 想像你有一块网卡,接上网线,OK,能上网了。 现在,你有一台物理的机器,和一台虚拟机,都需要上网。但是网卡和网线只有一块,怎么办? 如果你能够物理的触摸到虚拟机,你也许会这么干。 找一个交换机来,把物理设备的网卡用网线连接到上面,把虚拟机的网卡连接到上面,再把外网网线接上去,OK,齐活了。 brctl创立出来的网桥就是这么工作的。 你原本的物理网卡,例如eth0,我们直接为他分配IP,进行通讯。结构大概是这个样子的。 system -- eth0 -- network 接入网桥这个假的交换机后,eth0依然负责向外通讯,但是没有自己的IP了。网桥和宿主所在的机器的连接叫做br0(或者br1,以此类推)。 system -- br0 -- eth0 -- network 然后,我们可以为这个交换机接入很多的设备。 system -- br0 -- eth0 -- network | vethXX | virtual -- eth0 / 其中,eth0和vethXX是一对设备。一个在宿主里,一个在虚拟机里。互相连通。 所以,当虚拟机发生通讯时,eth0上可以看到数据流,但是br0上看不到。而如果虚拟机和宿主通讯时,eth0看不到数据流,br0上可以。