关于进化

以下为个人理解和读书笔记

  • 生物进化在尺寸、速度和能源消耗方面有计算机模拟无可比拟的优势,条件适合,一小时内可以产生出十亿个副本。

  • 核糖核酸统一了信息和机体,既是表现形式,又是内在成因。既要充当信使,本身又是信息。既要担当起与世界互动的责任,又要完成延续世界的重任,把信息传递给下一代。本身又极为紧凑。人工进化正可以由此展开。

  • 定向进化是另一种监督式学习,选择由培育者引导。

  • 对个体而言最好的,对物种而言却不一定。

  • 进化是一种计算。

  • 弱学习

  • 生物DNA无法将自己的代码向其他生物体“广而告之”。

  • 达尔文系统缺陷在于无法把已获得的有利的知识和变化引入到遗传和进化中。只能通过死亡等消除不利变化。

  • 非达尔文进化系统,拉马克进化-获得性遗传,有用的变异能更快的进入基因序列。

  • 拉马克系统缺陷在于对于一个有利的变化,需要回溯基因构成,像质因数分解一样难度极高。是一种不可能存在的生物解密方案。但是在计算机进化中可以通过“表里如一”的自复制实现。(地球上的生命已经通过了自复制分子这个阶段?与系统复杂性相关?)

  • 拉马克系统允许个体在世时所获的信息可以参与进化。

  • 蚁群算法,单只蚂蚁毕生学习所得成为蚁群信息遗产的一部分。

  • 投入“传播”的信息量非常少,范围非常小,信号非常弱。弱传播。

  • 人类的学习(知识文化传递)就是一种对没有拉马克进化-获得性遗传的弥补?

  • 并行系统是水平的、并发的、错综复杂的因果网络,非线性特征,没有清晰的步骤可循,事件此起彼伏。为其编程很困难。

  • 电网,电话网,计算机网络,金融网络都是并行系统。

  • 人类个体无法掌握充分利用并行处理能力的方法。超出我们的掌控能力。

  • 人类应该只编写那些小而精,快而准的个体程序,注入自然进化来进行并行。

  • 程序过于庞大无法完整测试和保证没有缺陷。而进化出来的东西在成长环境里有足够多的测试。

  • 程序过于庞大,仅仅维护程序、保持正常运行本身将会成为一个主要负担。(程序员24小时待命)

  • 人工进化可以进化出更完美的东西,进化能看护我们无法看护的世界。

  • 进化的代价就是失控。我们放弃了某些控制。

  • 与其正确,不如灵活,不如耐久。蚂蚁对身处的世界茫然无知。

  • 舍控制取力量。

组建研发团队之组织结构篇

绝大多数的互联网公司是扁平化型组织,即去中心化。比如从CEO到Team Leader再到工程师只有3个层级。CEO定下目标,分别下放权力,交给每个层级分别完成细节目标,CEO只需关注他关注的核心事项和目标即可。

##创业公司的组织架构

一家公司从0到1,人员也是由两三个人一点点成长出来的。对于技术团队来讲,差不多开始时就是三五个人,七八条枪。
公司刚刚创业始,可能研发就两三个人,基本上几个人协同战斗,有人来做后端,有人来做客户端,有人来做前端,几个人齐头并进,不耽误时间。

这种最简单的作坊型技术小组,靠的是每个人的激情信息还有自我管理,这种团队的效率也是最高的。

这时候CEO关注的只是是产品进度,如果是技术型的人,可以和大家一起编码,或Review,和大家一起战斗。

比如Youtube的陈士骏,他和另一个创始人日以继日的开发;早期雅虎的杨致远两个人从做静态页面开始干;豆瓣的杨勃一个人在咖啡厅开发网站的第一个版本。还有很多很多故事,基本是一两个人合作开发,技术好的说着算,随着产品的用户数和功能变多,这时需要更多的技术伙伴加入。

##微型技术团队的组织架构

创业公司的技术团队一般是主管(Team Leader)+工程师两层。主管一般是水平好的工程师担任,当然也可能是CEO信任的人。由他负责项目管理和推进,并向CEO汇报。

比如我在赶集网的时候,最初只有3个技术,我是其中一个,一个人负责运维,我负责编码开发,另一个人是兼职开发。

对我们几个人来讲,我周末也会到公司来,一个人能够完成一个系统的全部开发,而不用有人来指挥。

这种组织异常简单,但最主要的是招到有内驱力的人。什么是内驱力?就对自己有要求,对时间,对质量负责。基本上这种组织并没有什么管理,只是向前推进。

1

在那个时代,我们3个人与竞争对手58同城十几个技术团队PK。

综合以上之实例,其实10人以内的技术团队,并不存在什么管理,全凭大家互相协作。自主自发自觉,干活随身带鸡血,一块向一个目标跑:上线。

##小型技术团队的组织架构
10人到20人左右的团队。这个时候产品的运营流量已有了一定规模,需要按不同的系统区分。比如网站、APP。

此时,按不同端分开并委托一位负责人,可以称为技术经理,由他向技术负责人汇报。

2

各位可以看到,组织结构按PC和移动,按不同的设备端,对开发小伙伴做了一个区分。引入了质量管理和测试小组,用来管理代码质量和发布流程,以及黑白盒测试。

##中型技术团队的组织架构

我把中型技术团队定位在20-40人左右。当然人数是方面,人员的能力也是一个考量范围。
这个时候的技术团队是要面对运营已经相对成熟的产品。拿电子商务公司为例,按业务系统进行分层。比如:

3

我们可以看到,此组织架构按照业务系统进行了重组,有前端网站,网站包括PC端产品,还有手机端H5网站和微信公众号,后端运营系统包括库存管理、财务管理等,合作伙伴包括代理分销、开放平台等系统,移动端研发部门包括iOS和Android平台,可能还包括不同的客户端版本。

在这里,大家可以看到组织形式已经按产品为核心分组,仍然为扁平型组织。即每个小组根据用户和运营之变化,快速做出决策,以便能够承受更多挑战的技术体系。

##大型技术团队的组织架构
大型技术团队的人数在500-1000人左右的规模。对于这么多研发人的团队来言,协作越来越困难,需要把每个业务拆分成不同的小团队,每个小团队各自迭代开发。

4

按照以上之组织结构,可以减少团队利益之争。CEO和CTO可根据业务需要拆除或新建一个产品研发Team。

转自21CTO

关于touch值不值得买

今天看到V2ex上面有人问 “touch6 值得入手吗?”,作为一个用了一年touch6的人就顺手回答了一下。这里也记录一下。
touch6 刚出就买了一个,说实话我觉得还是挺值的。首先我是安卓党,所以需要一个可以玩 APP 的 IOS 设备。买 IPhone 用不到电话功能也太贵,买 IPad 感觉太大了,最后买了 touch6 。用了快一年了,感受就是:
1 、轻,非常轻。带着很舒服。在路上听听歌看看电影玩玩游戏不会消耗手机的电量,很棒。
2 、只能接入 WIFI 上网是劣势也是优势。我把一部分只离线用的支付帐号放在上面了。感觉不怕被木马盗。心理上安心许多。
3 、手机上面装的软件大大减少了。能离线用或者只是 wifi 条件下才会用的软件只装在 touch 上。手机的续航时间大大增加。最多也就用来跑个聊天软件之类的。买 touch 的一大初衷也是为了分担手机电量。
4 、虽说 touch 不支持 GPS ,但是我还是用他来做一些健康管理。比如计步。记录睡眠状态。记录心率之类的。顺便安利 Heart Rate Pro 、 Sleep Cycle 、 Gyroscope 这几款健康管理软件。
5 、关于电池,我还真没觉得会很烂。至少我听歌的话连续放三四个小时也试过。用一半电吧。是外放。用耳机的话大概能连续听七八个小时。看视频玩游戏连续三四个小时不是问题。电池电量小是肯定的。但是 touch 用电也少。而且更好的一点是。充电特别快!特别快!特别快!重要的事情说三遍。大概半小时左右就充满了。所以还是很爽的。
6 、颜值高就不用说了。这小东西确实好看又方便携带。经常听歌的人表示随时带着。带个手机再带个 touch 完全没感觉重量增加。
7 、还有,拍照效果也还不错。暗光效果下比我的小米 4C 成像好的多。不得不说苹果的优化做的真无敌。所以我也经常用他来拍照。手机没电的时候也可以找个有 wifi 的地方应急用一下,上个聊天软件啥的。平时就是用来挂 QQ 微信小号了。
总之
对于IPhone用户来说,touch用途不大。
对于android用户来说,看你买touch的目的是什么。
对于追求大屏幕的人来说IPad更适合你。
对于用来当备机的人当然应该再买个手机,touch不适合你。
如果你只想买个用来玩的,方便携带的 IOS 设备,顺便可以分担手机电量。 touch6 是个很好的选择。

Bioinformatics

对国内外的生物信息学实验室,我做一个粗糙但很实用的分类:
一是开发、设计生物信息学方法、技术,构建生物信息学数据库;
二是利用别人的方法、技术和数据库、辅之以简单的程序设计,来研究自己关心的生物学问题。
三是二者结合,既做一些方法技术和数据库,也做一些纯生物学问题研究。第一类实验室的导师一般具有数学等非生物学背景。第二类实验室的导师一般具有生物学背景。
第三类实验室的导师可能具有生物学背景、也可能来自于数学、信息学等学科。第三类实验室一般都是从事生物信息学时间较长,无论生物学、数学、还是计算机科学方面知识积累都很丰富,所以一般也都很成功。第三类典型的例子是NCBI的Koonin实验室。

0级 (Level 0):为建模、而建模(modeling for modeling’s sake)。简称:渣级。Shirley在博客里提到说“如果你记得功夫熊猫”,问题是我没记得这个,脑子里想的是《憨豆的黄金周》里那段nothing, nothing, nothing… 原博举的例子是,之前有人问:现在数据这么多,能建模的东西一大把,那我们该干点啥呢?Shirley就问:你想解决啥问题?答:建模的问题。这就像我坐电梯看见认识的研究生,说小伙最近忙啥呢?答:做水稻呢。继续问:具体研究的啥?不高兴了,诧异:研究水稻啊!然后给我解释了半天中国要研究水稻的必要性。我…兄弟我每天吃米饭还固定要研究水稻三遍呢。原文解释,这个回答是OK的,如果科学家仅仅将自己当成数学家、统计学家、计算机科学家、物理学家,或者像我这样用嘴巴研究水稻的吃货,因为在这些学者各自的领域里,确实有许多好的理论建模问题。但如果这些学者是认真对待生物信息学的研究,这个回答不OK。许多0级生物信息学家们从来不读或者不发表生物学期刊上的论文,也不参加生物学的会议,因此这个级别属于“未入门级”。根据人以类聚,物以群分的原则,0级生物信息学家们通常只阅读自己或者其他0级生物信息学家的论文,并且,并且引用也是自引或者被同级别的学者引用。因此这类研究就是浪费资源。

1级(Level 1):给数据、能分析。简称:菜鸟级。这类研究一般是分析自己或者合作者实验室里未发表的数据,并试图获得新的生物学发现。相比与0级,这已经有很大的进步,并且是训练生物信息学者最好的途径之一。可以练习将已有的生物信息学技术来做出真正生物学发现的技巧,学习更多的生信技术和生物学知识,可以启发、衍生出2级和3级的好课题。评价1级科研的功底和水平要看数据有多复杂, 是否需要生信人员写一些程序和算法(而不是只用他人的工具),生信分析在整个研究中的有重要性 (最重要的假设发现是不是由生物信息分析出来的,文章中生信图表的个数),实验与计算的结合程度 (实验与计算 环环相扣,而不是高通量实验数据获得完跟个生信分析就拉倒),以及研究中生物学的发现是不是真的有意思,等等。因此兄弟我的看法是,1级虽然是“入门级”,但非常非常重要,所有生信专业研究生的必经之路,非生信领域的学者或学生,能达到1级中已可算是高手,进阶到1级上那就是凤毛麟角了。

2级(Level 2):想新招、玩数据。简称:肉鸟级。具有2级水准的生信研究有:1) 设计方法解决生物医学相关大数据分析中普适、定量的问题。比如咱生信课本里经典的用于双序列比对的Smith-Waterman算法等等;2) 设计算法来分析新的高通量技术所获得的数据,例如华大基因设计的用于二代测序短读段 (read) 映射到基因组上的SOAP系列工具,这就是典型的2级工作;3) 从各种公共数据中通过整合建立数据库或数据资源。这个太多了,生信领域各种专业、精心注释的数据库,都属于2级的研究。2级比1级高的地方,在于1级只能帮助一个实验室或者固定的、极有限的合作者,而2级的工作则可以帮助数百甚至数千的生物学家。2级的工作不必须发表在顶级的期刊上,时间会证明一切,比如分子进化领域的经典软件MEGA,每年几千的引用跟玩儿一样。这些方法并不见得必须要非常新,利用已有的统计或者计算方法来解决新的生物学问题已经足够保证其新颖性,但必须尽可能保证用户的友好性。开发者一般在发表之后还需要做非常非常多的工作,比如维护、升级,即使不在发表后续的论文。评价2级的生信研究工作不能数影响因子,但做的好却比较容易被领域认可(例如,华大基因发表NCS对咱搞生信的来说未必认可,但人家的SOAP系列做的肯定是专业水准的)。此外,2级的研究要做的好,生物信息学者一般需要专注于自己特定的方向,从而能够较好地了解领域内相关的、新的计算方法和实验技术。总体来说,国内生信专业的博士毕业,一般起码要做出2级下水平的工作,总得有点儿新玩意儿,不然想毕业几乎是不可能的。而对于非生信领域的学者,从1级进阶到2级几乎是不可能的,咱生信人的饭碗,不是想砸就能砸的了的。所以对于业余票友们来说,与其花精力试图进阶2级,还不如找专业学者合作更划算。

3级(Level 3):玩数据、作发现。简称:顶级。3级的生信研究一般是整合公共的高通量数据,利用相当精致的方法来做出生物学发现。因此这样的工作一般是从数据开始,实验验证结束。这就需要生物信息学家具有非常扎实的生物学知识,并且能够自己提出有意思的生物学问题。生物信息学家可以领导一个生物学的项目,并且实验学的合作者能够相信预测的正确性以及意义,并乐意开展实验验证。这个级别的研究一般都需要实验验证,不然顶级的期刊不收。对这类工作的评价,主要是看生物学的问题是否有意思,数据整合和分析是否有足够的技巧和合理性,并且也可以根据杂志发表期刊的档次(影响因子)来判断。例如我在《环形RNA分子:论开挂在生命科学研究中的重要性》提到的工作,这是典型的3级研究。从2级进阶到3级很困难,兄弟我目前正在努力中。

X级(Level X):玩科学、讲政治。简称:神级。在这个级别,生物信息学家要在巨型项目产生的海量数据的整合和模拟中发挥关键作用。做这个级别工作的生物信息学家一般具有良好的1级和2级的研究记录,并且在团队研究中要具有非凡的领导才能。这些工作一般都发表在顶级的期刊,并且引用极好,在研究过程中要注意协调方方面面。尽管有时生信对于这些论文的发表是重要的,但往往数据本身可能比方法更重要。例如期刊判断论文要依据其数据量的大小以及潜在的引用,而不是生信。此外,这类工作更多的是反映第一作者老板们的领导力以及在领域里的地位,而不是第一作者的技术能力和创造力。所以X级论文的第一作者们往往并不会得到足够的认可。因此,这些工作中的一作在独立研究之后,往往是必须建立科学的声誉,并且与之前X级工作无关。学者参加一些X级的生信研究无可厚非,因为这些项目的成员一般在各自领域都是顶级学者。但如果学者只开展或者只发表X级的工作,那就表明该学者在政治方面的关注已经超过科学了。兄弟我举例:典型的X级生信研究工作如艾瑞克•兰德 (Eric Lander) 领衔的人类基因组草图的公布《Initialsequencing and analysis of the human genome》。艾瑞克是第一作者也是共同通讯作者,因为这篇论文主要是他写的,所以数据也自然主要是他分析的。这篇论文影响深远,最重要的就是基本确定了基因组学这类超级项目的研究范式以及论文的书写格式,例如这类论文一般不带后续的实验验证,所以也是有争议。这也就是为什么国内老是讲华大在灌水的原因,第一,华大显然是在灌水;第二,这个灌水模式是老外发明的;第三,那你很容易就能明白,其实老外灌的更狠;第四,你老外自己定的游戏规则,你还玩不过华大,那你得懂“愿赌服输”这个道理。

Shirley总结,对于生物信息学者来说,一般从1级的研究开始,学习基本的生信技术;等到计算和生物学知识掌握差不多之后,可以尝试想2级和3级进阶,并且有可能也参与X级的研究。如果条件允许的话,一般有成就的生物信息学家的研究会从1级做到X级,不会专注某一个级别(所以搞生信研究不能挑食)。也有许多生信学者包括Shirley本人也在开始做实验并且产生实验数据,这样实验的内容要拿去跟实验学家的工作去比,而计算部分则可按照上述五个类别来评价。因此,当您再读基因组和生信的论文,可以带着“这是什么水平的生信工作”这个问题来阅读。尝试客观的评价生信工作,而不是数论文发表期刊的影响因子。

生活好艰难

现代人为了适应信息时代改变了太多,生活在一个信息爆炸的时代,信息越来越多,越来越乱,无时无刻不向你涌来。注意力越来越不能集中,被各种事情所打断,手机、电脑无疑加重了日常生活的负担,期望能安安静静的读完一本书或者享受一个周末也变得几乎不可能。几十年前想找到一个人需要写信等很久的回信,而现在想找一个人只是一通电话甚至一个微信就可以。互联网确实把人们紧密结合到了一起,但是随之而来的是社交负担的加重,各种社交网络使你不再是一个人,时时刻刻都要淹没在他人的世界里,淹没在社会中,而这些真正对我们有用的又有多少。我们付出了十倍百倍的努力去吸取和处理更多的信息,其中确有99%的都是垃圾。其实效率并没有得到提升,浪费的只有精力和时间而已或许我本来就是一个喜欢安静的人,或许是因为根本没法集中注意力在一件事,虽然多年来练就一身多线程处理事务的本事,但是对现在快节奏的生活越来越感觉力不从心。我已经关掉了社交网络包括人人空间微博朋友圈,可能在可预见的将来某个时间,我也会定时关掉微信,QQ等即时聊天工具。只有在固定时间才会去处理固定的事务。希望能在这个浮躁又碎片化的互联网时代中得到些许心灵的宁静和安静的生活。谢谢大家的理解。