日本之行小结

从尼轰国回来刚好一个月,除了传几张照片,游记没写,感想没写,实在有点过意不去,这里简单地记录一些吧。

1、  日本号称是全世界物价最高的国家。我们在日本吃的最便宜的是吉野家(估计相当于国内最便宜的快餐店),一碗牛肉饭350日元(100日元约合7.5元人民币)。其他拉面、中华料理之类的很容易就超过了4、500日元,而想吃一顿寿司之类的“正餐”,至少需要1000日元以上(最便宜的回转寿司,一盘要120日元)。而日本东京的房租均价基本在70000日元左右(普通一居室),而且东京的房子普遍都很小,这里所谓的一居室其实就是个10几平米的小开间。这样一比不禁感慨,国内的物价确实赶上来了,现在在帝都吃一顿饭,10几20元也是稀松平常,出去吃一顿人均上5、60也是很正常的事,房租由于历史原因和收入限制,和东京比还是低一些的,但是看来房租随着收入的上涨还有很高的提升空间(目前东京的房租可以占到普通个人收入的1/3到1/2左右)。

2、  我们在路上看到了许多招聘广告,都是招聘一些比较低端的职位:商场销售员、柜台服务员等,月薪基本在10几万日元。Sony的RD月薪 大约在40万日元左右,算高薪了。看来日本的劳动力确实比较贵,不过工资上的收入差距不大。帝都去年平均工资是4000多元,东京的平均工资估计在20多万日元(合人民币1万多元),帝都的平均工资是东京的1/3,考虑到实际购买力因素(其实从饮食来看,现在国内已经大有赶超之势了,真怀念几年前10元以下的便当……),再扣掉高昂的房租,现在帝都的收入水平应该大体已经超过东京的一半了,许多北京中等收入的普通百姓已经可以过上东京中等偏下收入市民的生活了(单纯从货币角度考虑)。

3、  平时的一些花销东京还是贵出不少的,一罐可乐要150日元(相当于人民币10元,酸奶倒也差不多这个价),路边摊的小吃动辄达到300、500日元(可能和在一些景区有关系)。衣服的价格和国内差不太远,最令人震惊的是levi’s在日本的价格相当便宜,在一家奥特莱斯,我们看到了大量只要1000日元出头的levi’s牛仔裤(合人民币70多元……)。还有就是化妆品和电子产品会比较便宜,但是文化产品很贵,应该和版税比较高有关系,一本书超过人民币100元是很正常的事。

4、  东京到处都遍布着自动贩卖机,买东西很方便(附带一提,日本最大的钞票面额也就10000元,1000元以下的全是硬币没有纸钞,自动售货机一般能接受的最大面额就是1000元)。甚至一些拉面店也是直接在自动贩卖机上买票,然后凭票去取面。

5、  东京的地铁是类似魔都的按站收费,最低起步价要160日元,公交我们没坐,听说也不便宜。不过作为游客可以在成田机场以优惠的价格买到两日券和一日券,可以当日随便坐,对于游客来说可以省不少钱。另外东京的地铁系统是由好几家公司运营不同的线路,所以在有些站换乘不同公司运营的线的时候需要先出站再入站。不知道那个一日券的优惠是不是就是这种竞争带来的。另外,由于很多地铁修建的时间较长,因此看起来比国内破旧得多,而且老的地铁站里面很低矮,给人一种压抑的感觉。最后,报站mm的声音很好听,比国内的好听多了:)

6、  东京的周围有不少卫星城,感觉规划得比帝都好,中央城区基本就是商业区和办公区,当然里面也错落着一些老房子。工作日的时候日本的上班族就穿着正装打着领带,从千叶等卫星城(感觉像回龙观,但是比回龙观离市区的距离远多了),挤着几个小时的地铁来上班(据说日本的女生都是利用在地铁上的时间来化妆)。在工作日的地铁站基本见不到不穿正装的人,让人感觉到一种很职业的严肃。工作日的晚上我们去银座之类的繁华的商业区也看不到多少人,但是周末的时候人就突然涌了出来,挤满了各个角落,不知道这个是不是可以说明日本的就业率比较高,并且大部分的就业岗位都是比较规律的双休工作制。

7、  还有就是化妆文化和露大腿文化。我们在东京街头见到的日本女人都是化着较浓的妆(到哪都有一种到国贸的感觉=_+),而且从小学生到中年工作者无一例外地裙子都不长(可能是因为他们女性的正装都是短裙)。当时天气还有些凉,经常看到一些小孩腿上被冻得青一块紫一块。不过大人基本就没事了,应该是锻炼出来了……据说日本的男人也普遍化妆,只是没化得那么浓……在早稻田大学,不知道是不是因为正好赶上春季新生入学,整个校园里全部都是穿着校服(校服也就是正装……)的学生,显得我们几个真的是非常民工……

8、  在东京迪斯尼我们也见识了日本人和来日本旅游的人强大的消费能力。有意思的是基本所有的玩具都是made in china的。还有不少手工艺品也基本都是made in china的。

9、  东京人的热情、礼貌和好客也是让人很震惊的。在路上问路的时候,基本上每一个行人,不管他们当时手上有什么急事,都会立刻停下来帮你解答,而且一般都要弄到你懂为止,如果实在说不清楚,他们中的大多数还会要求亲自带你去……服务场所就更不用说了,我在日本邮局体会到的真的是五星级的服务,等到我快走的时候才发现其中一个服务员抱着个字典,仔细一看原来是日英词典……之前原来她一直在边查边和我交流-_-(顺带一提,普通日本人的英语水平和国内普通大学生的水平差不多,大部分人口音还蛮重的……如果是4、50岁以上的则基本就都不会讲了)。

10、  东京的街道确实像传说中的一样干净卫生,一尘不染,虽然经常穿过几条街道都见不到一个垃圾桶……据说由于日本垃圾分类严格,沿街不设置垃圾桶,大家都把垃圾带回家再送到社区垃圾站回收……

11、 日本的大学都不提供宿舍,这意味着许多留学生要拿出奖学金的一半来交房租。据一个日本当地的大学生说,在日本边读书边打工是很正常的事,而且很多从高中就开始了,不这么做基本就不会有零花钱(其实国内大学现在兼职打零工的越来越多了)。麦当劳里基本都是学生在提供服务。

12、 日本的乡下小镇感觉挺有味道的,到处都是修得很精致的小洋楼,楼下的智能车库里停着一些大排量的SUV之类的车,和平时东京街道上跑的火材盒式的小车(真得大部分都像QQ那么大,感觉都是缩水的车型)形成鲜明的对比。

13、 中国游客这几年在日本的影响力还是很惊人的,日本许多店里都放上了银联的牌子,有的刷银联卡还有退税和折扣的优惠。有一些店(包括拉面店=_=)的宣传广播、海报和店内菜单都有中文的样式,秋叶原的电子城里甚至干脆在各柜台设置了中文导购。确实是有点小钱了啊……要知道我们还没看到哪家店有英文广播或者英文导购的……

14、总的来说,感觉发达国家确实是发达国家,虽然这几年中国在经济上确实是跨越式地前进了几个时期,但是很多地方的差距还是比较明显的。最大的感觉就是食品的安全感上,去日本便利店买酸奶,买面包,基本不用担心吃到问题食品,而在国内目前估计已经很找到没有问题的食品了。另外去店里交易,也一般不用担心遇到奸商,明码实价,这种信任蔓延的感觉很好。宾馆虽然不大,但是收拾得很干净,让人住得很舒服……感觉整个社会每个人对自己的产出都是很负责的。要达到这种水平,需要全国的普遍发展,还有很长的路要走。还有就是平均的文化素质,这些倒是可以在大城市率先接近东京的水平。(至少从英语水平来看,现在应该很接近了,甚至有反超的感觉:))

15、精致的化妆、礼貌的举止、急人之所急的热情,这就是东京市民给人的印象。但是感觉这样活着也挺累的,就像天天戴着一个厚厚的面具生活。去旅游还是很不错的,去生活,估计在许多地方的压力要比帝都大……

Posted in Uncategorized | Leave a comment

近期小结

这周没安排好时间,又没能好好写一篇文章,真心惭愧,只能希望每次都惭愧一下,总有一天能良心发现,好好做人……

就随便写点小结吧,总结一下这两周干得各种蠢事,和一些小tip吧。

首先是关于hadoop streaming的。

1、千万不要把注释加在几个参数项之间,结果你懂的。(这当然要2到一定程度才会这样做)
2、有一个很实用的二次排序功能。使用:
-partitioner org.apache.hadoop.mapred.lib.KeyFieldBasedPartitioner \
-jobconf stream.num.map.output.key.fields=2 \
-jobconf num.key.fields.for.partition=1 \
这些选项,可以实现reduce的二次排序,具体的说就是设置的num.key.fields.for.partition将表示分桶的key,相当于主键。比如这里是1,就表示从第一个分隔符往前的内容都作为key来分到不同的reduce里,这里默认分隔符为’/t’,当然也可以在配置里改,不过不是很实用,因为用别的分隔符最后输出的时候hadoop还是会把分隔符替换为’/t’(我看的官方文档的例子好像没体现这一点,但是我自己实际操作的时候发现是会被替换掉的……),而map的输出其实我们是可控的,所以还是养成良好习惯就用默认的比较靠谱,如果需要用别的,可以在reduce阶段接收输入时再换回来。stream.num.map.output.key.fields按字面看这个值就是指以第几个分隔符之前的值作为map输出的key,在这里是2,那就是从第二个’/t’之前都作为map输出的key,而map的输出是会按key排序的,这就意味着在主键相同的情况下,不同的value值就会按照第一个分隔符和第二分隔符之间的内容(相当于辅键)进行排序,这样就实现了二次排序。这个功能在很多场合还是很有用的,不仅省去了在reduce中做二次排序的工作,预排序也可以节省很多reduce的资源。
3、在编写reduce程序时一定要时刻牢记处理的数据是已经预排序过的,这样可以很容易使用一些节省内存和计算资源的算法。避免137错误。
4、在配置中要注意hadoop streaming的配置项中使用转义符是无效的(原因可能和echo中直接使用转义符是无效的一样),所以遇到’\t’的时候还是直接敲tab键吧,如果在命令行状态下,记得先ctrl+v,再敲tab键……(我在这个坑里爬了好久T_T,开始的时候一直不明白,为什么切分的分隔符不是用预想的分隔符……现在想来真是不可思议,弱爆了)。

补充一条刚回忆起来的:用map_input_file这个环境变量可以获取到map输入文件的名字,当map有不同格式的输入时,这个变量还是很有用的。

其次是关于sqlite的,sqlite的效率还是不错的,我开始的时候有点冤枉它了,不过要最快还是要直接调c的api,并且使用事务批量提交(如果数据量很大的话),另外在一次传入多条语句的时候,一定要记得在语句中间加换行,不然如果传入的语句较多,sqlite会慢得让你怀疑上帝(我真心错了,一开始怀疑的是sqlite的性能不行=_+)

第三,少在脚本里面用grep和管道,特别是本来就有逐行处理的逻辑的时候,能用截断解析就截断解析,能用awk就用awk(据说用awk比直接cat速度还快)。发现这些还要拜上面那个sqlite的坑所赐,我把一个脚本前前后后的速度都测了一遍,优化了一下,还是快了不少了(虽然后来发现改掉sqlite的那个换行问题才是让速度飞起来的关键=_=)

第四,送给那些像我一样对gdb心怀敬畏和恐惧的人,其实gdb调多线程程序也并不是非常麻烦,当然如果总在多个线程间跳来跳去可能是挺让人头大的,但是如果只是想调一个被多线程调用的模块,且逻辑完整简单的话,还是很方便的,直接在那个模块代码那里打上断点,然后一个run就能到你想要去的地方~当然在编写代码阶段,养成良好的习惯,把日志打全,从根本上避免调试才是王者之道,不过有的时候维护别人的代码或者编译时间太长的时候,调试还是有它存在的价值的。

Posted in Uncategorized | Leave a comment

shell下的printf

这几周都在百度旅游上写游记,博客上长的草都快枯死了,游记还没写完,估计短时间也很难完成了,先在博客上来篇搞笑的吧。

前两天用shell的printf用出了一个笑话。一般可能大家更习惯printf里面带变量的用法是printf XXXX${XXXX}XXX吧(或者直接用echo),但是因为我比较圡,所以那天用C的用法用了一下(printf XXX%sXXX $XXX)然后发现了一个“惊天大秘密”!那就是如果$XXX里面含有\t(tab键)的时候,你在$XXX后跟的每一个字符都会自动替换掉$XXX中的\t!!而更诡异的是如果我不用$XXX,而直接把$XXX里面的值作为第二个参数传入时就没有这个问题。当时我是百思不得其解啊,差点就想写到周报的issue里去了(当时居然没想到写博客!!可见这个站点的草是有多高了)。但是后来细想一试,才发现其实是因为$XXX外面没有引号,在SHELL里面是直接展开的,而\t把$XXX里面的变量全拆成一个个参数了&-___-b……发现这个问题之后的第一个反应就是过了个年果然又老了一岁啊!!~

唉,新年第一篇就这么水。在这祝大家新年快乐了!~^_^

Posted in Uncategorized | Leave a comment

云佛山滑雪练习

刚哥指示说博客要有生活气息,so……

今天和文博等人去云佛山滑雪,本来今年building要组织去滑雪的,但是由于安全问题改成别的项目,而这次团购又确实实惠,于是我们就自己约了周六上午7点的班车去滑了。

班车是在东直门,对于前一天晚上被少量白酒灌得头晕的我来说,要在零下五度的凌晨五点,从被窝里钻出来实在有点难度。不过最后还是挣扎地爬出了房门。一路上天还没亮,我以梦游的状态走到地铁站,路上好几次差点被一些不知现实还是梦境中的人影和野猫吓醒=,=……

班车的速度还是蛮快的,到达云佛山的时候才8点半左右。这个滑雪场好像新建不久,目前只有两条中级道和两条初级道,另外还有两个高级道好像正在修建。人却是非常之多,应该是团购的缘故,再加上雪道偏少,面积偏小,所以看上去雪道上,缆车上密密麻麻都是人。

文博照顾到我是新手,就陪我到初级道滑了起来,本来是准备滑几圈就去中级道,但是我终究对自己的水平没信心,所以最后一整天都耗在初级道上了。

滑雪总的来说要比我想象的简单一些,文博指导的要点也很到位,三两下就把滑雪怎么减速、怎么转弯说清楚了,后来我就一直用V字型在初级道上滑,速度控制得很慢,倒也没怎么摔。转弯一开始不得要领,后来看文博滑了几次,大概有了点感觉,关键还是重心的配合,控制方向的那条腿要尽量往外蹬,转了几次基本上成功了,不过还没到得心应手的地步。

向下滑的时候基本不花什么力气,就是小腿和脚在使力。上山坐缆车倒是占去了大部分的体力。由于云佛山的缆车都是牵引型,而且经常碰到玩单板的把缆线压得很低,还有一些初学者在缆车上摔倒的,导致上山的大部分时候只能紧紧抓住扶手。而且由于等待缆车的队伍实在太长,后来我们没有了耐心,就直接在半山上等着空隙,直接抓着绳子上去了。抓绳子显然比抓扶手累多了(因为会滑,而且后面有人=_=……)。不过上山的速度也确实快了许多,可惜到后来体力消耗过大,绳子终于抓不住了,只好又老老实实地排队去……

总的来说,虽然人很多,但是滑了一整天还是挺爽的,还要感谢文博的悉心指导。感觉基本上算入门了,这次没上中级道体验一把确实有点遗憾,下次有机会一定试试更高的坡度。

 

Posted in Uncategorized | Leave a comment

同步和异步与阻塞和非阻塞的区别

发现我好像越来越喜欢纠缠于这些定义=_=。

同步和异步与阻塞与非阻塞是在通信和I/O中常用的字眼,之前在许多地方同步与阻塞,异步与非阻塞常常被混为一谈,带来了许多混乱,其实同步、异步和阻塞、非阻塞是两个不同的概念。最近随着异步IO(AIO)越来越多的应用,对这两个概念进行区分和解释的文章也越来越多,但是问起身边的同学,能说清楚的倒也不多,所以我就顺便跟风写一篇科普文吧(越来越水了=_=)。

同步(synchronous)和异步(asynchronous)其实是针对消息的发送和接受的次序而言的(在通信中就是消息的发送和接收,在IO中就是数据的读和写)。同步的意思就是消息的发送和接收是有序的,即接收和发送第二个包一定在第一个包之后第三个包之前,而不是乱序。异步的意思就是消息的发送和接收是可以乱序的,第一个包没发完可以直接发第二个包。

至于阻塞(block)和非阻塞(non-block)其实描述的是进程或线程进行等待时的一种方式。阻塞的意思是等待时进程或线程需要挂起,而非阻塞则是等待时线程或进程不需要被挂起,不影响线程的执行,这时线程或进程可以继续处理其它事物,不因为这个等待而受到影响(当然它仍然在等待这个消息,只不过可能会在线程或进程执行周期的某一个地方去查看消息的通知,而不是立即在原地等待)。

举个例子,两个人之间发短信,最简单的就是同步阻塞的方式,一个人发短信,然后啥也不干地等在手机前面,直到对方回信,接下来才发第二条短信(这时也确认了第一条短信已发到)。而同步非阻塞方式也就是大家常用的方式,则是发出去消息,然后去干别的事,(体现了非阻塞)等对方回短信之后(相当于确认了第一条短信已收到,并且有后续数据过来),再发第二条短信(体现了同步)。异步阻塞的方式,则是一口气发出几十条短信(由于中国移动并不保证发出短信的先后顺序,可能导致对方收到短信的顺序和发出去时不一致,这就体现了异步的概念,而且理论上发信的顺序也可以是乱的),发完之后就啥也不干,等对方一条一条的回信(这体现了阻塞的概念)。而如果在一口气发出几十条短信后没有傻傻的等待,而是去别的地方玩去了,对方的回信到一条读一条,则就变成异步非阻塞的方式了。

不知道通过上面的例子,大家是不是已经可以理解这两组概念之间的区别了。这里有篇相关的文章写得不错,如果还有些不理解的,可以再去阅读一下。由于国内在IT领域的起步落后国外(主要是美国)一些年份,再加上互联网的迅速普及,导致许多以讹传讹的现象时有发生。这两组本来适用范围并不相同的概念却在很长一段时间内被混为一谈,应该就是这方面的例子。这种错误增加了大家的学习成本,也不利于在某一些领域的进一步研究,所以个人以为搞清楚这些概念还是很有必要的(最后为自己的又一篇水文开脱一下=_=)

Posted in Uncategorized | Tagged | Leave a comment

如何让GCC检查类printf函数的参数

来篇又短又水的。

 

大家都知道在c语言中有一类可变参数(variable-argument)的函数,像printf、scanf,这类函数的一大优势是输入参数的数量和类型都可以自由控制,但是问题也很明显,如果可变参数输入的个数或者类型不对,正常情况下编译器检查不出这样的错误,而实际运行却可能破坏堆栈,导致一些古怪的运行结果,很难定位到问题。

 

gcc中使用__attribute__format 可以解决这个问题。该__attribute__属性可以给被声明的函数加上类似printf或者scanf的特征,从而使编译器检查函数声明和函数实际调用参数之间的格式化字符串是否匹配。该功能十分有用,尤其是处理一些很难发现的bug。

format的语法格式为:

format (archetype, string-index, first-to-check)

format属性告诉编译器,按照printf, scanf,

strftime或strfmon的参数表格式规则对该函数的参数进行检查。“archetype”指定是哪种风格;“string-index”指定传入函数的第几个参数是格式化字符串;“first-to-check”指定从函数的第几个参数开始按上述规则进行检查。

具体使用格式如下:

__attribute__((format(printf,m,n)))

__attribute__((format(scanf,m,n)))

其中参数m与n的含义为:

m:第几个参数为格式化字符串(format string);

n:参数集合中的第一个,即参数“…”里的第一个参数在函数参数总数排在第几,注意,如果是在类成员函数中使用,还要考虑到隐藏的this指针。

 

举个例子:

1:

2:extern void myprint(const char *format,…)

__attribute__((format(printf,1,2)));

3:

4:void test()

5:{

6:     myprint(“i=%d\n”,6);

7:     myprint(“i=%s\n”,6);

8:     myprint(“i=%s\n”,”abc”);

9:     myprint(“%s,%d,%d\n”,1,2);

10:}

 

运行$gcc –Wall –c attribute.c attribute后,输出结果为:

 

attribute.c: In function `test’:

attribute.c:7: warning: format argument is not a pointer (arg 2)

attribute.c:9: warning: format argument is not a pointer (arg 2)

attribute.c:9: warning: too few arguments for format

 

如果不加__attribute__则不会有后面的warning。__attribute__还有许多其它的属性,具体看以参看百度文库

Posted in linux | Tagged , , , , | Leave a comment

为什么不能没有货币——新殖民主义

其实关于新殖民主义,早在三四年前就想写了,这也不是什么新鲜的东西,只是传统的一些观点流毒太广,还是有必要做点贡献把它们彻底埋葬的。

之前所说的货币信用都是针对个人和社会化大生产而言的,但是其实对于国家之间,殖民与被殖民,剥削与被剥削,这两个工具有更多的文章可以做。

大家都知道早期传统的殖民方式无外乎以下两种:1、劫掠当地资源运回本国。2、贩卖、剥削当地廉价劳工为本国人劳动。这两种的起源和顶峰都在葡萄牙和西班牙鼎盛的大航海时期,美洲大陆的黄金、白银大把地流入欧洲,同时在当地大量种植经济作物满足欧洲人的各种需要,最后由于过度地屠杀了当地居民而开启了罪恶的“黑奴”贸易,直接将非洲人民贩卖到美洲大陆,驱使其为奴隶。

葡西之后的英法荷等国继续沿袭了以上套路,但是在此之外又有他们的“创新”,他们开始大量地在当地建立公司,将一些产品倾销到这些国家,不是简单地掠夺资源,和剥削劳动力,而是通过一些不对等的贸易,先大量地获取当地的货币,然后再用货币去换取相应的物资。作为中国人恐怕对这种方式再熟悉不过了。“鸦片战争”的起因就是英国想通过大量走私鸦片,获取白银,从而平衡由于从中国进口大量茶叶、丝绸而造成的贸易逆差。剥开贸易的外衣,可以发现实质不过是用大量廉价的鸦片换取茶叶和丝绸以及其他英国需要的贵重商品而已(由于货币一般等价物的属性,使得这种掠夺有很明确的目标,简单的说就是想买啥就买啥)。

而在二战之后,随着各殖民帝国的土崩瓦解,各殖民地的纷纷独立,在今天已经很难再找到几块经典意义上的“殖民地”了,那么殖民者和殖民的行为真的已经消失了么?

其实没有。只不过现在的殖民手段更高明更有效了而已。我们可以看一个例子:某国A是一个主权完全独立的大国,但是属于第三世界国家,不在西方世界的阵营之中,外汇不能自由兑换,经济相对落后。这时某国为了发展,想出了一个办法,它利用本国资源丰富,廉价劳动力众多的优势,大力发展对外贸易和外向型经济,为了支援出口,让本国货币大量贬值,于是很快在外需的强力拉动下,该国经济迅速发展,人民生活迅速提高,同时由于外向型经济的发展,该国政府手中握有了大量的外汇储备,可以有效地稳定和控制本国货币的升降,也可以购入一些该国所需但无法制造只能从西方购入的商品。

咋看之下这是一部很励志的大国崛起的大片,但是实际上,仔细地算算账就会发现事情没那么简单。

首先,国际市场的定价体系把握在西方大国手中,于是欧美等国可以通过巨额补贴来降低一些大家都能生产的产品(比如农产品)的价格(价格补贴还可以直接挤垮当地的产业资本,直接从资本上游去控制),抬高只有它们才能生产的或者被“知识产权”和“专利”保护着的所谓“高科技”产品的价格。于是他们国家的人只需劳动一小时甚至不劳动(比如nike的贴牌)就能换回其他国家的百姓工作几十甚至上百小时的劳动成果(看看现在世界上一半的鞋子,1/3的衣服都在哪里生产就知道了),而这一点在A国,由于为了促进出口而将本国货币大幅贬值表现得更加明显。而资源也一样,发达的B国只需用一些廉价的硅片(这些硅本身可能都是从国外进口的),就可以换回大量的石油、木材、稀土等珍贵资源。而A国为了成功出卖自己的劳动力和资源甚至有时还得还得绞尽脑汁,低声下气地去求B国,B国在剥削和掠夺的同时俨然扮演了一个施舍者的形象,这在传统的殖民地是很难看到的。

其次,B国可以利用手头大量的货币(随着布雷顿森林体系的崩溃,拥有国际货币的国家又有了铸币税的福利)到A国投资办厂,招最优秀的劳动力,用最好的资源,(而成本很低)将产出成果的大部分运回B国,于是带来了资本的高收益率。而由于B国资本的高收益率,大量其它国家的资本就被吸引过来,形成强烈的正反馈。B国的财富就可以迅速地积累起来,它唯一需要发愁的就是如何将这些巨额的并且还在不断快速增长的财富消费掉。

最后,过去宗主国政府需要一个强大的武力来面对殖民地人民的反抗,如何既能很好地吸血又能缓和和殖民地人民的紧张关系,一直是殖民当局最头疼的问题之一。但是到了A国这个问题却自然地解决了,A国人民直接面对的是A国政府,于是所有的压力所带来的矛盾就转移到了A国人民和A国政府之间,B国这时则因为占据了产业链的上游,B国的人民也过着更加富裕文明的生活,而很容易获得A国人民的好感和向往。虽然,B国人民的劳动实际上主要被A国人所剥削(这笔账很好算,比如在A国负责生产苹果配件的工人领着极低的薪水,而A国的代工厂获得的利润也很有限,真正利润的大头都被在B国的苹果的股东们拿去了……)更妙的是,如果这一矛盾激化到即使使A国政府垮台,新成立的A国政府也只能选择继续保证B国在A国的利益,才能维持新政权的延续(看看现在的非洲就知道)和A国经济的正常发展(经济全球化的结果使你要么加入这个游戏,遵守强国定下的规则,按照他们给你的分工,老老实实地被剥削,要么不加入游戏,被活活饿死)。从而从根本上避免了二战后各殖民地国家纷纷独立的多米诺骨牌现象。

当然要保证这种剥削长期维系,除了先发优势积累的资本、技术上的领先,文化宣传上的软实力之外,最重要,最本质的是保持一种绝对的军事威慑,用强大的军事实力为其他的一切规则保驾护航。当然这种殖民体系也不是就是完美了,虽然它基本杜绝了殖民地人民的直接反抗(有殖民地主权独立的政府在做冤大头的缓冲区和代理商),但是它很难阻止殖民地自身通过这种长期不平等贸易逐渐积累发展起来自己的国力(天道酬勤?或者富不过三代?),当殖民地国家的国力强大到想要改变自己被殖民的地位的时候,宗主国家有几个选择:一是进行一些颠覆破坏活动,阻止这种国家之间的“革命”。将其打回几十年前的状态,继续打工。二则是接纳这个国家到自己的体系中来,“共同富裕”、“共同殖民”,前提是剩下的殖民地仍有足够的拓殖空间,能在新增一个“剥削者”的情况下继续保证他们的生活水准不出现大幅度的下降。三则是拼个鱼死网破,输了,就是全球大洗牌,重新分坐席,赢了,就基本和一的结果类似,当然也可能会有一些国家从争斗中渔翁得利,结果还是洗牌。这几个选择的选择权也不是完全在这些宗主国家手中,很多时候只能被迫作出自己的决定。(可以想象对于这些国家来说,第一种选择是最好,最省心的选择,可惜要多方配合并不是那么容易)。

总而言之,现在宗主国家的孩子不用花太多力气就可以上世界名校,宗主国家的工人不用太辛苦的工作就可以有不错的待遇,过上还算滋润的生活,应该感谢货币和信用。虽然没有货币和信用,他们中的多数还能靠着赤裸的强权过着类似15世纪西班牙葡萄牙贵族们过着的生活,但是他们不会过得像现在这么得体,这么心安理得,这么有世界良心。

Posted in Uncategorized | Leave a comment

为什么不能没有货币——信用的威力

上篇《为什么不能没有货币——碎片的开始》说过货币在简化社会化大生产中的作用。而信用则在货币的基础上进一步降低了组织大工程的成本。

在信用制度出现和完善之前,要靠货币来组织大工程,只能靠不断地积累原始资本,这一阶段要么通过个人的辛勤劳动(这个很难,也许需要几代人的积累),要么投机取巧、巧取豪夺(这条路虽快却很肮脏)。而在信用制度出现之后,一个想要组织大工程的人就可以靠信用借贷的方式来“白手起家”了。

例如,有一个人想要招十几个工人,添置几台机器,租一个场地,进一些原料,搞一个流水线批量生产电风扇。而他有这个想法的时候也许手头只有很有限的资金,根本不足以支付厂子的启动资金。他可以这个时候选择向亲友借款(信用的最初形式),也可以考虑向银行贷款,如果他有足够的抵押物(比如自己居住的房子之类值钱但是又不能马上变卖的财产)。当然在中国我们知道个人想向银行贷款办厂几乎是不可能的事。即使在信用制度已经完善的美国,靠贷款创业也不是一个很靠谱的想法(风险太高,毕竟创业的成功率较低,如果真把自己的房子抵押上去,一失败就血本无归了)。但是贷款用于扩大再生产则是很常见的案例,可以大大加速企业的现金流通,和扩大生产的速度(完全依靠企业自身积累进行生产扩大化,在现代基本上是无法想象的,在使用贷款的竞争对手面前连一招都过不了)。

好在除了贷款和去民间借高利贷,在现代还有许多其它的方法可以白手起家,比如风险投资,比如天使基金,具体的内容在这里就不再赘述了,google和百度上都有很多相关的资料,硅谷神话里的许多创业奇迹都是从风投开始的。事实上在完善的信用制度下,白手起家,相对干净地赚取第一桶金,继而进一步地扩大自己的生产能力,成为一件可能的事情。这样,当你有了一个想法,想要获取一批资源,组织一大批人去实践这个想法的时候,你要做的只是说服某个或某几个慷慨的投资者就可以了,这在过去几乎是无法想象的。

以上都是从生产方面来看,其实从消费方面来说,货币也最大化地将你的消费潜力变成现实,当你有消费的欲望时,当你看到自己心动的东西的时候,由于有了货币交易的机制,在市场充分发达的情况下,你可以很容易的在第一时间用手头的货币去交换,而换到货币的人同样可以在第一时间用到手的货币去获取他想要的东西。而信用则进一步挖掘了消费的潜力,你甚至都不需要在产生需要时真的拥有等值的交换物,就可以完成交易了(当然这个额度也是有上限的)。从流动性的角度,如果大家都提前用信用卡支付了自己下个月的工资,相当于市面上流通的货币就足足多出了每个人的平均工资*总人数,而这一部分多出来的钱,也许会造成一定程度的通货膨胀,但是更多地将刺激市场上的商品更充分地分配,刺激产能进一步的增长(这和每年国家发行货币,银行对企业投放信贷推动经济上行是一个道理)。

因此,从之前的生产方面和最后补充的消费方面来看,货币和信用都让我们更多地掠夺自然界的资源,更多地驱使别人和自己贡献更多的劳力,来供我们消费。从细水长流的可持续发展和极端环保主义考虑,也许不是什么好事。但是光论几十年现代商品社会在物质领域和文化领域(也许文化领域有些人会不同意,但是精神和文化是两码事,看看现在每年新歌新曲新专辑的数量和质量与几十年前比较一下,就明白我说的繁荣是指什么了)的高度繁荣(先不说是好事还是坏事),货币和信用绝对功不可没。所以金融业才会理直气壮地站在金字塔的顶端,虽然他们不直接从事生产,但是离开了他们,现在的生产体系就得全部崩溃,重新来过……

Posted in essay | Leave a comment

为什么不能没有货币——碎片的开始

两周前有个腹稿,本来想写写自己对商业和信用的理解,结果各种原因各种懒,一拖两周过去,终于再提笔的时候,却发现自己的腹稿都忘了差不多了,果然打铁要趁热啊,努力捡回一些碎片,一点一点记记吧。

如果要问“为什么没有货币?”这个问题,估计会有很多人写出很多的答案,货币在人类社会存续了几千年,并且在不同的地域不同的国家各自独立地演变出来,肯定有大量的理由来说明来支撑它出现的合理性。政治经济学的书上也提到了许多。这里只着重讲一点,就是货币对大生产的重要性——如今社会化大生产已经渗透到了我们生活的方方面面,从各种基础设施,到我们居住的房屋、使用的日用品,已经很难想象离开了大规模协作生产的生活将会变成怎样。

在没有货币的时候,一个人想要做一项大工程,只有几种方法:第一,使用暴力。比如奴隶社会的奴隶主,君主制国家的强制徭役。第二,利用个人魅力或者其它说服的手段来召集大家一起干活,比如村支书号召大家一起修路,游牧民族的部落酋长把大家召集起来一起去打劫。第三,利用一些物质利益来吸引大家加入。这最后一种方法就类似于货币出现以后的方法了。使用货币的好处在于,由于是一般等价物,大大缩小了实物对不同人吸引程度的差距,而且由于货币本身可以长期存放,在较大范围内流通,因此某种程度上增加了吸引力,扩大了可召集人的范围。

而且使用货币来维系这种雇佣关系,可以使得雇佣关系更加稳定,削弱被驱使者的反感。不管将货币的报酬看作是赠予还是一种劳动力的买卖产物,比起奴隶制度和武力强迫都来得温和平等,而易于被接受,比起靠个人魅力,货币的方式则更加简单牢靠,可以省下不少说服者的精力,也避免了煽动失败造成的损失。事实上长期的使用货币来召集劳动力,会使得被驱使的人产生一种错觉:不劳动者不得食,劳动最光荣,于是心甘情愿地为提供货币的资本家打工,甚至为了谋求这种机会,而去努力提升自己的技能,挤入竞争激烈的求职大军之中。

所以,把货币比作现代社会化大生产的必要基石并不为过,在发现更好的手段之前,所有去货币化,或者弱化货币效果的努力,都将造成协作效率的下降,甚至直接导致协作的失败。(古代虽然修建了金字塔和长城,但是算社会总工程量,估计连现代社会的零头都不到,而且大量的徭役,很容易招致人民的反抗,从而威胁政权,类似的例子还有很多……)

Posted in essay | 2 Comments

概率的实质(老帖重发,again……)

其实这周的文章腹稿早就打好了,可是因为各种懒,又废掉了……希望下周能写完,只好再贴一次旧的文章,下周一定写新的=_=。这篇文章也是去年写的,算是上一篇的续篇,但是写得更烂,所以一直没发,过了半年多,发到人人上,仍旧是没什么人理的下场,这次再翻出来,我自己都不好意思,不过好歹码了这么多字,就再拉出来鞭鞭尸吧……

====================================================================

写毕业论文的时候在机子上翻箱倒柜,从角落里翻出n多东西,包括两篇未完成的文章,这个是其中一篇。应该是09年5月份的时候写的了吧(=.=)本来是作为上一篇《必然性与偶然性浅议》的续集吧,当时把那篇帖子贴到88史版上引发了大讨论,最后在量子力学的问题上绕了好久,后来因为要去考试,离开了半天,结果回来发现被版主合集了=.=,言有未尽,所以再写一篇讨论完,结果写着写着又跑题了,就搁下了……现在想想码了这么多字,不贴上来可惜,就先放上来好了,以后(还有以后?)如果有空再改吧……

========================分割线===========================

上次的讨论”必然性与偶然性”的文章里把一些概率的问题扯进来了,偏了题又没有写清楚,本来想等写完作业以后再补的,结果一拖就是几个月……其实这些问题都是本科的时候在98的史版上和别的同学讨论如何看待历史的问题时,慢慢形成的一些想法,有一些可能很早就有别的一些人的想到,只是当时不知道罢了。如果把这些东西拖到30岁以后再写出来,感觉就没有什么太大的意义。而现在主流的一些观点又太过单一,不推广一些其他的观点,又觉得可惜,所以还是凭着一股淡淡的冲动能写多少是多少吧(P.S,可惜98经历了一次地震,而且以前的帖子也年代久远,基本都找不到了,没有可供整理的资料,只好从头开始码了……)

之所以会有关于概率的争论,原因是多方面的。直观地看可以找出两条。首先,如今概率与统计的应用太广泛了。从文科到理科,从经管到工程,从开饭馆到高科技,从天气预报的降水概率到炒股票,覆盖了我们生活、学习、工作的方方面面,原来不能算科学的学科,套上概率的光环,就华丽地变成了新的科学。至于那些利用概率以及复杂的数学模型在华尔街招摇撞骗的投行、咨询等,(我说着玩的,别打我~)在他们眼里,概率之于投机理论恐怕可以比之于三段论之于逻辑学,量子理论之于现代物理学一般。其次,概率学看上去属于严谨的数学,却在实际的应用中留下了很多可以“商量”的余地(虽然这其中很多是由于不少人对概率并没有完全真正的理解),因此利用概率论,衍化出来的智力题层出不穷,每次总能引来一大批争论。比如那个有名的蒙提霍尔问题。

那么概率的实质究竟是什么呢?概率论做为一门科学最大的特点,以及与其它科学的不同在于它是“后验”的。所谓“后验”是相对于“先验”而言的(当然,我这里显然不是指先验概率和后验概率,这里主要借用了哲学里的transzendental这个词)。这里的“先验”指的是在事件发生之前我们就可以通过已有的理论推知必然的结果。比如我现在从一个化学方程式的左边直接用初等数学和化学键的知识推导出了化学方程式的右边,那么哪怕我之前一次实验都没做过,我也可以确定地知道我让两个物体化学反应后将要产生的结果,包括生成的物质的质量。而“后验”相对的就是指这个理论来源于一系列实验和事件的总结。从这个角度出发概率论颇有些“事后诸葛亮”的味道。比如我任劳任怨,无怨无悔地做了无数次抛硬币的实验(比如不吃不喝抛了1万次的硬币——如果不借助于机器的话,这需要借助某种强迫症之类的精神扭曲疾病的支持)。最后我终于恍然大悟:原来一万次实验中有差不多一半的结果是硬币朝上的,而另一半是硬币朝下的。于是我得出了一个结论:抛硬币有差不多一半的机会抛出硬币的正面!当有人问我这个结论有什么理论上的支持的时候,我只需要拍着胸脯,理直气壮地说:“其实很简单,因为抛硬币得到正面的概率就是50%,概率,你应该学过吧?”而其实,等你回过头来细细琢磨就会发现所谓“抛硬币得到正面的概率是50%”的说法和“抛硬币有一半的机会得到正面”的结论不过是装在两个截然不同的瓶子里的完全一样的白开水(连掺水的酒都算不上)罢了。所以这种因为所以的关系变成了一种循环论证,就好像你问某瘦子“你为什么这么瘦”,结果他回答“因为我天生就瘦”一样可笑。当然就好像其他逻辑谬误一样,循环论证经过精心的演化、伪装之后可以成为诡辩的有利武器(比如前面瘦子的回答,就可以变成“因为我吃的少,所以瘦。”而你再问这个瘦子“为什么吃得少”的时候,他就回答“因为我瘦,所以吃得少”一样。而这种问答如果扩充到几十句,你很可能会在最后觉得这个人说得很有理,但是你还是不明白他为什么这样瘦)。这也正是概率可能引起争议的原因之一。当你试图用概率来解释某件事时,其实和诡辩家做的事差不多。(所以下一次,如果有一个执著于逻辑和寻根究底的人纠缠着你喋喋不休的时候,请原谅他吧,当然你也没错,因为你在诡辩的时候很可能自己都不知道自己在诡辩。)

其实概率本身是无辜的。究其原因,在于后验的科学并不适合用来解释事物的本质,因为它本来就从没有去探究过事物的本质。它的最终理论基础并不是一般意义上的公理,而是根据大量的历史数据直接总结出来的规律罢了(当然这和公理有某种相似性,但是不同的是,公理是一种经过大量实验验证的假说。而概率的“公理”则直接是大量实验结果的统计学描述,后者对事实的描述更精确——因为它本身就是事实的另一种描述,而前者则具有后者没有可推衍性)。就好像古代人们虽然不知道地球的自转,不知道太阳也是一个星球的时候,他们就可以通过总结经验得出四季分布甚至较精确地推出节气一样,至于为什么会有四季?“孩子,你需要记住的是每年三月的时候会发大水,要提前躲到山上去,每年这时候可以到地里偷西瓜,要提前到地里蹲点(这些都是伟大的概率统计学得出的结论)。至于为什么会在三月份发大水,为什么西瓜要在现在熟,那是神(或者上帝、真主、释迦牟尼、太上老君等等)管的事。你知道了也不会活得更好,不知道也不会活的更差,知道那么多干嘛呢?”所以,从这一个角度来说,后验的科学(只关心结果,而不关心原因)确实适合当下实用主义盛行的时代。(再也没有证明题了,而做计算题的时候只要直接把结果写上就可以了~)(从这个角度说,这一篇文章也可以算清谈误国的典型,你不需要知道1+1为什么等于2就可以把算术学得很好,但是你去深究为什么1+1=2非但不会提高你的数学水平,反而会浪费你无数的脑细胞以及父母的粮食,而仍然得不出一个好的解释)

当然,如果只是简单地把概率的流行仅仅归结于这一点,就未免有点太过于浅薄。在解放战争时期,很多国军将领常常哀叹:“不是国军不勇敢,而是共军太狡猾。”在这里也许可以倒过来。如果把后验科学比作又聋又哑的跛子,那么先验科学——尽管看上去身心健康了,但是非常可惜的是——却连人都不是(--)。看起来很残忍,但是我们不得不承认先验科学的先天不足比后验科学更严重。

在之前的“必然性与偶然性”一文中已经讨论了人类认知的极限。如果说世界必然性的一面还必须建立在绝对因果系统的大前提之下的话,那么很遗憾的世界偶然性的一面对于人类而言就是确定的毋庸置疑的了(在这里就不展开了)。不管如何出于人类自身的自尊心,我们也不得不承认,我们无法预测未来的任何一个时刻,任何一个物体的精确状态(哪怕你的手掌现在正对着一只在打瞌睡的小蚂蚁,你也不能确定下一秒就能直接把它毙命。因为——可能下一秒你良心发现,下一秒mm电话来了,下一秒一个小loli跑过来指责你太没爱心……当然还可能下一秒突然地震,停电,敌机轰炸,心脏病发作,太阳毁灭,宇宙灭亡……)。而如果考虑量化的研究的话,我们更是会发现,由于仪器的误差问题,我们甚至都不能对已经发生的事情进行精确的测量,就更没说还没发生的那些没影的事件了。

所以那些所谓的先验的科学不过只是我们自己和自己开得一个玩笑罢了,我们通过简化再简化、抽象再抽象、理想再理想建立起了一个虚幻的国度,在这里搭建了一个可以精确预测,精确测量的世界,我们孜孜不倦地在这个只存在我们脑海中的世界里努力地添砖加瓦,将一些看上去和现实差不多的要素添加上去,以至于我们一度以为这就是我们生活中的世界,只不过要让它们完全吻合,还需要做一些从抽象到具体的变化罢了……(不过这至少证明了在我们内心深处确实是崇尚真理、追求光明的,我们更愿意穷根究底,而不是不劳而获,我们更愿意自己知道事实的真相,而不是偷懒地将它们推给并不存在的神祇。所以世界是美好的,人性是本善的,嗯~)

于是终有一天我们不再满足于这个虚幻的国度,我们不再凭着热血去打仗,而希望在战争前就知道胜负。我们不满足于知道为什么苹果会落地,而希望能知道现在还在树上的苹果将在几小时后落地。科学的力量越来越强大,在工程领域已经大获全胜,过去靠口头传递各种经验的能工巧匠已经逐渐被拿着微积分课本,口中念叨着物理公式的造出了汽车、轮船、飞机的工程师们取代,过去靠着一次次摸黑尝试整出黑火药的炼金术士们开始被穿着白大褂手拿试剂瓶在黑板上画苯环的化学家门代替,连绵延数千年的中医也在手握大量实验数据和生化方程的西方医学家面前颤抖着戴上了“伪科学”的方尖帽(虽然它自己可能从来就没有试图化妆成这个比自己还小数千年的晚辈……)。科学已经开始解释我们是怎么来的,地球是怎么来的,宇宙是怎么来的。欧洲中世纪时的神学彻底让位,现在新的皇冠理应戴在赛先生这个新贵的头上。于是科学家们欢欣鼓舞,开始向着神学及封建迷信最后的地盘发动猛攻。要把所有的占卜师、算命先生、江湖术士、巫婆神汉都踩在脚下。晨鼓开始敲响,勇士们开始集结,但是当进攻的号角吹响时,他们才发现,对面的敌人是吸血鬼,而他们的手头根本就没有银弹。

现在我们的制造工艺和加工水平,已经可以建立一个又一个相对独立的小系统,而在这个系统里面我们可以在误差范围内几近完美的模拟我们的那个虚拟世界。所以我们可以看到汽车里的齿轮精密地运转,火箭准确地将卫星送入轨道,而各种电子原件更是将逻辑的精确在人脑之外的地方惊人地重现。但是,我们没法把整个世界装进这个系统或者说我们没法在世界内部去除这个世界自身的扰动,除非我们能跳到宇宙的外面,重新为宇宙搭建一个屏蔽外界影响的外壳……但是从另一个角度来说,既然我们可以知道汽车齿轮在“通常”情况下的运转情况(我们只要知道汽车的齿轮是往前转还是往后转,旋转的速度在一个怎样的范围内就可以了,我们不需要知道“精确”的数字,也不需要考虑那么多的意外,因为相对于可重现的情况,意外对于大部分人来说发生的情况实在太少了),那么我们也许可以把一些更大系统的预测能力提高到我们勉强能接受的地步(比如天气预报),这当然不是概率的功劳,但是我们不会忘记概率曾经在该领域作出的贡献,这个贡献就好像神祗给予古人的安全感和依靠一样伟大。

写了这么多ms又跑题了,本来是想把概率从神坛上请下来的- -算了,先这样吧……

Posted in essay | Leave a comment