Shell's Home

如何用tabbar插件做emacs的tab定位切换

Apr 10, 2012 - 1 minute read - Comments

说明一下,定位切换的意思,是像chromium那样,用Atl-1-9直接切换tab。而不是用上一个下一个慢慢换。另外,是切换buffer,不是切换frame。 以下是实现部分: ;; 全部的buffer都分一组,否则这个修改是没任何意思的 (setq tabbar-buffer-groups-function (lambda () (list "All Buffers"))) ;; 去掉emacs自带的几个buffer (setq tabbar-buffer-list-function (lambda () (remove-if (lambda(buffer) (find (aref (buffer-name buffer) 0) " *")) (buffer-list)))) ;; 切换到第N个buffer,1为第一个,负数表示从后数,注意0会出错,这里就不处理了 (defun switch-tabbar (num) (let* ((tabs (tabbar-tabs (tabbar-get-tabset "All Buffers"))) (tab (nth (if (> num 0) (- num 1) (+ (length tabs) num)) tabs))) (if tab (switch-to-buffer (car tab))))) ;; 不说废话,绑热键 (global-set-key [(meta 1)] (lambda () (interactive) (switch-tabbar 1))) (global-set-key [(meta 2)]

empathy的无聊问题——记一次排错

Apr 9, 2012 - 1 minute read - Comments

废话不说,debian testing,装了empathy后没法用account,等于废物。 先看bug report,开reportbug,看empathy的bug,有一个“Accounts window does not open”,估计就是我要的。 在浏览器中打开,http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=594945&archived=False&mbox=no,里面说了大致情况,和我这里非常类似。 第一个意见,killall -9 empathy-account,无效。 第二个意见,需要装CM。 跑去看看,一个都没装。跟着看说明,应该在recommand里面的。OK,我这里有这个配置。 shell-deb:\~\# cat /etc/apt/apt.conf.d/20norecommanded APT { Install-Recommends 0; }; 这是对付很多无聊包把recommand当作suggest用的,结果这次中标。其实这次的recommand应当放入dep里面的。 OK,完事。 PS.虽说如此,记得把telepathy重启一下,否则jabber协议看的到但是无效。

无线网络问题的诊断

Apr 1, 2012 - 1 minute read - Comments

今天看到ZQ在坛子里面说无线网络卡,想想这对很多人是个问题。现在越来越多设备采用无线网络,本来看似够用的无线网络应该也会逐渐变的不怎么够用。这篇文章的大部分内容在blog中都有说,但是没有集结成文。今天集结一下,为大家提供便利。 关于无线网络卡这个问题,有多种可能,我们逐个分析原因/诊断方法/解决方案。 有终端连不上,即使这个终端就在路由器附近 这个主要是因为无线网络负载的设备达到极限所致的。这个极限,我见过最差的路由器是8个,普通路由器(包括dir-825刷openwrt)大概是50上下,苹果的要超过100。一个/24子网的最大负荷是253个IP地址,如果不另行设定,大多数的默认配置都无法超过这个极限。 解决方案很简单,加路由器,或者换一个更好的路由器。加路由器具体参考这篇。换路由器的意见是,不要用fastnet,推荐tplink或者dlink的设备,buffalo的也不错。如果你已经用了这些路由器,但是终端超过50个(好像通常只有公司会碰到吧),可以考虑苹果的,或者多扔两个路由器,辐射小信号好。 有终端离开一点距离后就连不上,或者离开一定距离后速度变慢 这是典型的信号衰减。作为不严谨的测试,你可以在android上安装wifi测试仪,然后走到各个角落。如果你的信号质量不足80dbm,那么就属于比较差的情况。大概能连接,但是经常断线,或者速度很慢。如果不足90dbm,基本就不可用了。 解决方案也很简单,同上一个。总之优化到家里的每个点信号质量都可以就好了。 明明信号很好,速度就是上不去 有可能是因为周围的channel干扰,也可能是因为你的路由器CPU不足。你可以用wifi测试仪,看看你周围当时有多少人在用你路由器的channel。两个channel相隔5以上才不互相干扰。所以,如果你使用channel6,那么channel2-channel10都会对你的信道造成一定干扰,相隔越远干扰越小。而如果你隔壁有一堆和你同channel的AP,实际带宽是均分给你们所有channel的。如果对方用的比较多,也会对你造成干扰。 这是非常难解决的问题,你总不能跑到隔壁说,你们改个信道吧。一方面,如果有条件,你可以对墙壁,门缝做信号屏蔽。这样能减小一点隔壁的信号干扰。另一方面,建议你采用5G频段。这个频段的信道更多,更不容易串扰。但是目前支持5G频段的设备少,而且5G的穿透能力比2.4G更差。 CPU不足呢 CPU不足最典型的确诊就是关掉加密,你的无线网速就会突然暴增。或者你保持无线空载,用有线狂用网络,无线的ping值从10变化到上千。 碰到这种情况,扔掉垃圾路由器重新买一个。 明明有些设备一点问题都没有,有些设备就是连AP都找不到 看看你的channel是否设定到了11以上,例如12/13/14之类的。各个国家对channel的许可范围不一,欧洲日本美国的许可比中国宽一些,因此有12等信道,中国最高到11。因此你用水货手机连外贸版本的路由器的时候,channel12没问题,而用中国许可的设备的时候就连AP都找不到。 解决方法很简单,换个中国许可的channel。 无线速度跟不上外网速度 自从20M以上光纤出现以来,这个问题就逐渐变成主要问题。11g的标准速度号称54Mbps,但是实际上通常只有18Mbps。而外网速度从常见的1/2/4Mbps骤然升到了10/20/30Mbps,就出现了严重的外网速度反超内网速度。 这个一点办法都没有,只能把11g的设备都淘汰光。只要有11g的设备在,11n就无法发挥极限速度,导致你的无线只能在18Mbps上晃。而换用11n的设备后,速度一般可以达到30-40Mbps以上,基本够用。 路由器被打爆 由于速度加快,导致现在有更多的小包可能被传输。虽然传输速率要求不高,但是由于路由器对每个包都需要做同样处理,所以大量小包的资源消耗和同样数量的大包是同一个量级的。我们做一个简单的计算。如果一个包是1500字节,128KB/s的网络可以每秒传输90个包。而如果每个包是64字节,就可以传输2000个包。而当速度升级到2.5MB/s(20Mbps光纤),如果是1500字节,每秒1700个,而64字节的就是40000个。如果路由器的处理能力是每秒10000个包,升级到光纤一跑小包就挂了。很多人在ADSL的时代没问题,升级到光纤反而频繁出问题就是这个原因。 现象比较多,如果是交换机挂掉,往往是一个机器链路OK但是就是有TX没有RX。怎么整也没用,但是过一会,这台机器突然就OK了,换下一台出同样问题。而如果是整个路由器挂掉,可能是路由器突然重启,或者ppp0断线重新拨号。还有的机器是死在那里没任何反应,必须拔掉电源线重新插才有效。

redis的rdb和aof模式性能对比

Mar 30, 2012 - 1 minute read - Comments

由于是同一台机器,进行相对对比,我就不列配置了。系统是debian testing,kernel 3.2 686。redis 2.4.8。 测试方法是用python写的脚本对redis数据库进行写入,看写入速度。 100000/300000/1000000是数据量,插入的都是string。第一个数据是最小时间,第二个是平均,第三个是数据大小。 100000: dbmode: 4.8, 5.1, 1477792 aofmode: 9.1, 9.3, 3677803 300000: dbmode: 16.5, 17.6, 4877792 aofmode: 21.1, 21.4, 11477803 1000000: dbmode: 61, 65, 16777792 aofmode: 77, 85, 38777849 从简单分析来看,aof比rdb慢25-80%,但是大规模数据都比较支持慢25%这端。估计在低数据量下,rdb模式更加占优势。数据规模增长时,速率比接近于4:5。aof的数据比rdb数据大150%(2.5倍上下),这点随着数据增长基本不变。 从读性能分析来看,两者差异不大。同样,数据分别是最小时间和平均时间。 dbmode: 55, 60 aofmode: 62, 63 差异在10%以内,甚至比最小-平均差异还弱。基本可以视为一致。

假如生命可以重来——致80后的家长

Mar 27, 2012 - 1 minute read - Comments

假如我们的生命可以重来——好吧,这个听起来像七老八十的老头说的话,不过,确实,人过到而立之年,会发现很多遗憾,很多很多的已经太晚。假如人生可以重来,我们也许就能弥补其中一些。 假如生命可以重来,我首先要干的第一件事情是在中学和大学多去旅行几次。这不是说我中学没有旅行过,而是都太“安全”了。苏州?杭州?拜托,这些地方在工作后都有的是机会去。如果回到初中,也许我会跟父母申请,在中学的时候就跑去黑龙江,看看松花江上的雾凇,索菲亚大教堂。高中跑去敦煌看看莫高窟,看看大漠风光。跑去云南看玉龙雪山,看西双版纳。大学跑去喀那斯,纳木错。 现在?我现在哪里都能去了,都可以去了,都有钱去了,可惜没时间去。我毕竟有一个家要养活,不能任性的丢下工作,突然和老板说,我要去西藏一个月,您看着办。 也许初中去听起来不是很安全。可是想想,现在去,比初中生安全到了哪里去?旅行中的安全,来自出门的阅历。我们都是在不断的出门中学习到,什么是安全,怎么样才安全。也许,在初中学到这些东西,会比毕业后学到更加有用。 假如生命可以重来,我要做的第二件事情是学个乐器,当然,也可能是画画。这也不是说我没学过乐器,小学的时候我学过电子琴,大学学过吉他。从哪个角度看,都和“没学过乐器”沾不上边。不过我要说的是,并不是说“会使用一种乐器”就算“学过一种乐器”的。 小学的时候,当时好像流行让小孩学各种班。当时我对音乐挺感兴趣的,所以就老妈做主,买了个很贵的电子琴。那时候才刚刚脱离36块工资,一户人家一个月也没多少钱,一把YAMAHA的电子琴要价1600。既然买了这么贵的电子琴,总不能让孩子瞎玩对吧?于是老爹老妈就给我报了一个班,每周接送去学两个小时,家长就在门口等着,到时间了再接回来。 于是,音乐对我的意义就从好听的歌曲变成了跳跃的五线谱,琶音,休止符,三拍子,每天一个小时的练习。我顿时就觉得不好玩了,每天哭闹不止。三个月不到,父母的音乐家梦想破灭了,电子琴现在还在家里不知道哪个角落扔着。 高中的时候,有个同学吉他弹的不错,经常跑出去一起练琴什么的。我就跑去听他们玩各种各样的声音,唱歌。高考结束,我有点自己的时间,才开始又学起了吉他。如果让我重新选择,也许我那个时候不会去弄那么贵的电子琴,而是弄一个小孩子玩的乐器,找朋友玩玩看。那是一种乐趣,一段人生,哪怕其实我们的歌不忍猝听。 假如人生可以重来,我要做的第三件事情是多谈几个女朋友。首先要发表的一点声明是,这不代表我对老婆有任何不满,也不代表我很花,打算——咳咳,你们懂。 我曾经有一条推,被广为转发,大概意思是。父母在初中高中甚至大学的时候,以学业为名,尽力不让我们恋爱。等大学一毕业,又逼着我们赶快找一个好的老公/老婆出来。怎么可能做的到,你当恋爱不需要学习么? 也许我们在初中时候谈的女友,十个中有九个走不到最后。我翻阅开心上高中同学的结婚记录时发现,基本所有的高中恋人,哪怕当时看起来多么金童玉女,基本都很少有走到最后的。唯一的一对例外可以说是相当的有决心和坚持,据我所知,男女双方一起报同一所学校的不罕见,可是男方没考上就硬是复读重考,女方还肯等的,就非常罕见了。这里恭喜一下杨亮刘莹,很遗憾没参加你们的婚礼。 但是,无论如何,在小时候谈的恋爱,会成为长大后的青涩回忆。当你越长越大,论及婚嫁,恋爱也就越来越不单纯。你不会简单的评判你是否喜欢拉着他的手,带你在街上走。而且还会考虑当你需要用车的时候,他是否买的起。你希望你的青春回忆中,充满了酸甜的爱恋,还是父母和老师的斥骂?或者更糟糕的,根本就是彻底的一片空白? 更何况恋爱中的失败,会成为你下一次不会轻易犯下的错误。在中学,我们很可能不会上床,也没有孩子。如果有什么错误,我们还来得及修正。而如果到了需要结婚的时候再开始积累经验,一个不留神就会碰上一个看似合适的陷阱。结果必然是悲剧。不是在痛苦中挣扎一生,就是带着伤心,争斗财产/孩子之类的问题。 好吧,上面一堆,和80后的家长有什么关系? 我们的人生有很多遗憾,有不少遗憾,是因为我们承载了家长的梦想,受到家长的管束。家长认为他们没有接受过正规的音乐教育,所以他尽力让我们接受正规的音乐教育。家长认为初中生旅行是不安全的,却没有想过他们十几岁就离开家乡去了大城市闯荡。他们没有接受过高等教育,所以认为我们需要高等教育,所以不能谈恋爱。但是这一切的一切,却并没有使得我们的人生完美。 所以,当你决定你孩子的人生的时候,不妨想想。假如我的人生可以重来,我想要的是什么?

设计的艺术

Mar 26, 2012 - 1 minute read - Comments

1.标准,简洁但不简单 有一天,你买了一个机箱。很不幸的,这个机箱的后座螺丝少了一颗。当然,这是卖家的错。不过你不会让卖家从遥远的远方给你邮递一颗螺丝钉,而是去附近的电脑市场/五金店,或者各种可以搞到螺丝的地方弄一颗,替代上去。看起来很简单,实际上你知道螺丝有多少标准么? 贝壳在大学学机械的时候,曾经有幸拿到过一本手册。标准A4大小,一厘米多厚。里面全是各种常用机械部件的标准参数,螺丝大概占了半厘米。这还是常规齿形,非常规的大概和天上的星星一样多吧。 螺丝可以设计出这么多变形来,然而机箱上的螺丝,只是最常用的齿型,最常用的螺距,差别基本只在孔径大小而已。 于是,当你买机箱的时候,你不用考虑备件储备问题。 2.拆分和完整 你有点闲功夫,想喝咖啡,或者喝茶。然而不幸的是,这两种饮料喝起来都不怎么方便。茶比咖啡简单点,用飘逸杯的话,上面一个杯子,下面一个杯子。上面杯子放茶,下面杯子接水。水倒入上面杯子,泡好一按,到下面杯子,茶就算泡好了。 如果不幸,你想泡茶的时候,照做如仪,茶水没到你的嘴里,你怎么办呢? 如果不是脑子有问题,估计都会看看上面的杯子是不是水流出来了。如果流出来了,看看下面杯子是不是漏了。如果没流出来,看看上面的杯子是不是堵塞了,是不是漏了。差不多就这些问题而已。 一个复杂系统被拆成多个简单组件,我们就可以看组件是不是正常工作,从而便于诊断问题。洗衣机算比较复杂的系统,但是我们可以看,如果无法洗衣,是水没进去,电机不转,还是什么别的问题。当然,即使知道,具体部件也不是我们修复的了的。 同样,多个重复组件便于批量生产,也便于在不修改整体的情况下,更换部分组件。 当然,也有另一种思路。将系统设计成一个完整的系统,你不需要关心哪里出错。例如苹果。 如果这种系统发生问题呢?你要么完整的返厂修理,要么扔了算了。

从对称性说男女平等

Mar 22, 2012 - 1 minute read - Comments

一切号称男女平等的朋友们,作为一个死硬理性派,我认为真正男女平等应当满足对称性。简单来说,你们话中的“男”和“女”对换后,说法仍旧成立,那么这个论调就是满足对称性的,也是真正男女平等的。 我们举个例子。我和猫咪去云南旅游的时候,我们听过摩梭人“走婚”的习俗。具体不介绍了,大家自己查。简单来说是这样的,男孩子和女孩子互相看中后,男孩每天去女孩的房间里过夜,白天回自己家。孩子不用爸爸养,由女方的兄弟养。所以舅舅是一个孩子最值得尊敬的男性长辈,而不是父亲。一个朋友说,这不是很爽?男的和女孩子发生关系,还不用负责,小孩不用自己养。我说,你要记得,摩梭人是母系社会,男和女的关系都要对调的。我们把它们习俗中的男和女对掉过来听听? 女孩子晚上都要去男孩家里,过夜后回自己家中,不能带自己的小孩,还要帮自己的哥哥带小孩。 听起来——对女孩子好像很悲惨的样子——我们再把这个“女”还原回原始的“男”,你还觉得那里的男人真幸福么? 我们在讨论一切事情的时候,口头说“男女平等”。其实潜移默化中,还是受到中国传统男女思想的影响。从数学上说,利用对称性消除这种影响是最好不过的了。例如这个论调,是否男女平等呢?(女孩子把人生中最好的岁月给了你)。我们对掉过来看看?(男孩子把人生中最好的岁月给了你)OK,相信大家都笑了。 先不要笑,尤其是觉得得意的男同胞。男女平等在消除了女性的特权同时(包括撒娇,房子应当男方买),也消除了男性的特权。你看看是否能接受以下情况?(为了妻子的事业丈夫应当作出牺牲)我想很多男同胞已经在拍桌子跳起来了。那这个呢?(孩子要跟母亲的姓)OK,现在笑不出来了吧? 上面讨论了一堆怪论,很多人也许会说贝壳是断章取义,或者别的什么的。实际上,有问题的不是贝壳,而是“男女平等”这个词。真正的平等,为什么不能满足对称性呢? 实际上,多数人在说男女平等的时候,包含的意思并不是,男女双方对称。而是,男女各自为了不同的事情让步,互相达成交易。女孩子要生育,男孩子就要负担家庭。实际上,双方的关系并不是对等关系,而是交易双方关系。两者既要达成合作共赢,又要争取自己的利益。对这点,一个很明显的事实是,男女的婚姻条件改变依赖于适婚男女比例。在战争年代,一堆寡妇找一个男人,男人娶媳妇容易,三妻四妾也不难。但是近代,尤其是计划生育造成男女比例失衡后,女方明显就压在了男方上面。 因此?一个明显的悖论是,如果要改变社会的男女关系,让优势向某个方向发展,应当做的实际上是尽量设法减少该性别的人口。想让男方占优势?让男人去打仗就对了。

被警告了

Mar 20, 2012 - 1 minute read - Comments

OK,所有用贝壳vps的童鞋,你们今天应该都不能用了。因为我自己也不能用了。 早上到公司,发现翻墙失效,去vps供应商那里看了看管理,貌似是因为vps被停用了。我翻了一下billing,确定没忘记付钱。然后看到有一个ticket,上面写着abuse,大概就知道怎么回事了。问题是gmail里面没有——回来翻翻,shit,他们用不同的邮箱发,导致被定到了spam里。 ticket的原文我就不摘抄了,大概意思是他们公司是某个电影的版权所有人,发现这个IP有这个电影的源,因此发函警告。我看了看要求,也不算太过分。停止上下传,删除文件。 生气么? 实话说,收到这封邮件的时候我一点都不意外,而且挺高兴。因为他们做了正确的事情。如同我在某篇blog里面写的,不仅是程序,电影,电视,图书,文字,也都是有版权的。为某件事情努力的人应当得到报酬,除非他们自愿贡献。而免费观看和传播这些内容本身就是偷窃,这是一定的。不能因为所有人都在做,就理直气壮的认为这是天经地义。公平的想一想吧,如果没有版权会如何?程序员为了能够赚钱,大概会产生流氓软件,或者转行。而在其他行业,例如电影,大概就没有新的影片了。 既然知道不好,为什么还做? 人类是矛盾的。除掉版权没问题的资料外(至少我觉得没问题)。我有不少片子是无法付钱的,国内根本没有引入,这里面以动漫类为最。有不少片子是我仅仅想扫两眼的,如果你告诉我这玩意真的要付钱,那还是谁爱看谁看吧。 怎么发现的?合法么? 首先,对方是如何发现我的文件的?我估计是内容扫描。在服务器上找到这个文件的下载,然后扫描所有的源。如果这个源位于一个可诉讼的位置,就发函。如果不行,就试图阻截。 这个过程在法理上是行的通的,而如果要在每个ISP上扫描传入传出的数据本身,在法理上(我说的是美国的法律,不是天朝的)是行不通的,因为违宪。 那么,edonkey/kad/bittorrent有没有什么办法来规避这个问题呢? 首先,必须提供虚假源。以一定比例向客户端传送虚假的源数据,这会导致单纯的从edonkey上下载源列表不可行。因为即使只有百分之一,你也没办法证明你得到的源列表是有效的。警告也许可以,拿这个当证据去诉讼就要出篓子了。 其次,可能要发展数据混合传输方式。将一段内容正交拆分,得到两个比1/2的块,或者N块1/N。单独的块必须保证无法还原出数据,一个字节都还原不出,而且不能保证必须有原始数据才能生成这个块。为了满足以上条件,直接将内容条带化是不可行的,可能需要某种编码转换算法。 当你需要下载某一块真实数据的时候,你必须向不同的人请求将这一块内容1/N之一后的某一个编号块。从理论上说,这样能确认数据来源者拥有原始文件么?不能。虽然这么说很奇怪,但是你并不能确认来源者拥有这个文件的任何一个部分,也不能确认来源者自愿上传这个内容。因为你去获得数据,仅仅是因为源拥有这个数据。这个数据完全可能是某个合法资源的一部分。 最后,我觉得最合适的可能是大DHT,不过这会违背人性。DHT的全称是分布式哈希表,而从hashtable结构上说,完全可以将影片的所有数据全部保存到这个hashtable里面,虽然代价是相当大的。每当有人共享数据,这个数据会先传输到key附近的支持节点上,消耗这些节点的存储空间——而这个存储空间的消耗对他们完全没用。整个过程,还会额外的消耗网络带宽。 其实我也不想先付钱。 但是我也并不是很愿意先为了我下载的电影付钱,这和我上面说的不相矛盾。这个大概就是吃饭前付钱和吃饭后付钱的区别。其实我更喜欢吃饭后付钱的——尤其是对于内容质量差异很大的图书和电影。很多垃圾电影还是不看的好——也许这就是评分系统的优势。但是对于营销者来说,真的会甘心被打上一个很低的分数,然后血本无归么?所以你可以在任何地方看到通过营销方式干扰评价。 我对一个朋友说,盛大的书我一般喜欢看完再付钱。道理很简单,我追了无数本书,被太监,腰斩,烂尾,质量下降,换人。我觉得,还是让我们吃完全餐再付钱比较有道理。 版权有没有不合理的地方? 其实挺多——我说的是美国版权法。 首先,软件产品只有20年,但是电影音乐有70年——难道程序员特别贱,或者特别短命? 其次,阻碍学习。版权应当排除所有以学习为目的的使用,人类学习新知识的权利不言自明,不应受到阻碍。 最后,版权剥削。苹果销售的提成是多少?总数的30%。而普通媒体集团购入版权的费用是多少?不会超过最后收益的三成。这就是为什么我更喜欢在苹果上买app的原因——起码这对作者好,而且我也不用堆一堆纸或者没用的光盘在家里。

kvm虚拟化的性能对比

Mar 19, 2012 - 1 minute read - Comments

废话不多说,4G的机器,debian testing,amd64内核32位环境。用kvm切出一个768m的机器,debian testing,64位内核64位环境。对比起来有点不公平,不过基本说明问题。 用lmbench对比两者的性能,报告我就不贴了。基本结论如下: 1.纯计算: kvm内比真机还快,或者至少性能相当。估计是32位环境的关系。 2.syscall, read, write, select: 都是kvm快。 3.Protection fault,AF_UNIX sock stream latency,fork+exit,fork+execve: 真机比kvm快至少4倍,最多可达6倍。 4.文件读写api: 真机比kvm快3倍以上。 5.socket性能: pipe是kvm快,unix file是真机快。 6.iozone: 两者吞吐性能几乎一致,有时kvm比真机还快。可能和真机的ext3上面堆满碎片结构有关。 基本结论,kvm在计算和io上都没什么太大问题,主要问题在于各种涉及ring0指令的内核调用方面(好像这也是虚拟化的通病)。在虚拟化系统中,尽量避免大量的内核调用,尽量减少碎片调用,增大IO块。

答一封读者来信——同机构内不同组织合作的分析

Mar 16, 2012 - 1 minute read - Comments

这次的题目是一个读者的问题,她的原文很复杂,我不记得了。我大致的理解是,在同一个领导下面的多个不同的组织间的合作,对其进行分析。 唔,怎么说呢,这个问题其实挺好玩的。我首先给没参加工作的同学们讲解一点基础常识,一般来说,公司/企业/组织,都是树形结构的,又非单纯的树形结构。所谓树形结构,就是一个头,手下有几个人,每个人负责一个方面。每个人又有一些手下,如此往复,就形成了一颗管理树。管理树的一个关键禁忌是越级,没有毕业或者刚毕业的同学千万要记牢,越级是很忌讳的,无论是哪个方向。如果你有个问题,需要向上反映,一定要经过你的直接领导,或者在你直接领导在场的情况下反映。而作为领导指挥下级的时候,也一定要交代他的直接领导,或者他的直接领导在场。通常你作为二层领导的时候,资历已经足够让你知道越级的害处。因此经常发生的问题是向上越级。 一般来说,这个管理树的层级越多,公司效率越低。你可以很容易的想明白,如果你对一个关键问题的报告,要通过20层领导才能递交给足够关键的人,你们公司的决策和反应速度怎么快的起来。但是反过来说,在节点不变的情况下,如果要降低树的高度,那只有在一个节点上挂更多的子节点,即一个领导需要直接管理更多下属,处理更多问题。 而更复杂的是,正统的树形结构,应当是由上级进行信息协调。但是为了增加效率,通常来说管理树还不是一个严谨的树形结构,而是一个网状结构。例如,理论上说,销售问题应当是由销售部门搞定的。但是销售中可能涉及很多技术问题,因此需要工程师来参与,而且是长期参与。因此我们有个职位,叫做售前工程师,专门负责这个问题。售前工程师属于销售部还是研发部负责呢?我们在行政级别上归属销售部管理,但是实际上这些工程师还要长期参与研发部工作,这期间他们实际上受到研发部管理。这就是所谓的交叉管理状况。 直观上看,我们很容易得出一个推论。当组织规模增加的时候,这些问题就会如同一团乱麻一般纠结起来。事实上也是如此,同样的组织结构,当组织规模增加的时候,效率一定是严格下降的。只是不同的结构下降的速度不尽相同。我们常听到小公司比较有竞争力,原因很大程度上是因为小公司只有职能和级别划分,而没有严谨的管理树。甚至有的时候,连职能和级别划分都没有。这种管理在感觉上会比较混乱,因此一般只能在大家都是哥们的时候用这招。 因此,很多大型公司采取的一种常见管理方式是组织化,OU。所谓OU,即脱离集团的直接领导后仍然可独立存在的组织。这些组织可能是控股公司,子公司,分公司,公司内部门,产品线,项目组,形态很多。OU化的核心意义是,为交叉管理提供了一个最大化边界,为集团管理提供了一个最小单元。由于集团管理的最小单元的增大,因此集团可以管理的规模也更加的大。通常来说,OU就是这么被理解的。 OU和正常的组织部分有几点不同。通常来说,OU有独立的财政系统,OU间互相是需要结算的,OU的老大是要部分承担OU的盈亏的。所以有的时候,你受某公司邀请前去开会,往往能看到组织者和行政部的人。行政部的人管理整个会议室,完事后是要管组织者结帐的——如果这个集团的行政部是独立的话。同样,如果OU总是亏,这个亏损就会被评估。老板会考虑,外包是不是更合算。如果是,这个OU很可能就被裁撤。 因此OU间的关系既是在同一个集团内的合作关系,也属于竞争关系。因此你可以看到,去年腾讯网的广告位放过淘宝,而不是拍拍。原因就非常简单。淘宝不是同一个集团的,走的是正对正的生意关系,一般来说给的钱更多。拍拍是自己人,老总为了省经费,总会想拉关系少给点。如果给拍拍不能带来现金,也没法带来KPI,那就给淘宝吧。这就属于集团内协调不善导致拆台的结果。 OK,上文废话半天,总算言归正传。在不同的OU之间,进行产品和技术合作,基本来说得依据OU的级别来细说。越是细小,合作越多的OU,其特性就越接近非独立部门。而越是庞大的OU,例如下属控股公司,就越接近独立公司。非独立部门间进行产品和技术合作的好处是,双方有充分的信任关系,因而双方可以充分讨论其中利弊,并且得到比较好的结果。而独立公司间,往往有互相不信任的情况(这个也看的,不少公司间的关系甚至好的工程师会互相为对方修bug),因此有些时候就很无奈的出现了纳什均衡。 这个现象其实正是OU所带来的双刃剑。越是OU化充分,公司的可管理规模就越大,但是手下间互相打架的情况就越严重。如果你愿意这么理解的话,红杉每年投了一堆风投,其中不少是做同一领域的。理论上你可以把这些公司都理解为红杉的下属,只是红杉没有参与管理——也没道理参与管理。这些公司间,不少是死对头。这正是最强的OU化和松散的外部协调管理所带来的结果。如果情况对红杉有利,他是否可以凭借庞大的股份介入,终止持有股份的几家公司间的对立呢?这会为红杉带来庞大的利益。这同样也可以看做是削弱OU,加强外部调整的结果。