Tag Archives: Python

GeneDock刘畅将在PyCon China 2015做报告

  人生苦短,我用python。但用python最人痛苦的事情有二件,一个是编码问题,另一个则是import不了包。9月19日,GeneDock团队的刘畅大神应邀在PyCon China 2015大会上做技术分享,题目是:python的module机制与最佳实践。

  畅爷这次报告将详细讨论python的包管理机制,python如何引用包,PYTHONPATH是怎么回事,sys.path与其有什么不同。为什么py3把py2的包引入机制彻底废弃。py3的absolute import又是怎么回事。还会给出关于python项目目录的最佳实践,避免各种引用的问题。

  刘畅,曾就职于微软与阿里云,现在是我们GeneDock创业团队的一员。他的博客地址是:http://lcblog.sinaapp.com/

编程语言

  最近又在上海、杭州……到处飞。在飞机上用大黄蜂看了好多电影。

  网上总有编程语言的讨论,以及公司和团队用哪种语言不用哪种语言的议论。我刚刚在42qu上回复一个帖子,对此作了一些评论:

     java和python无所谓好坏,只在于团队合适哪个。如果工作中不能用,自己找时间自学不也很好吗?

     算了算,我曾拿来实际挣过钱的编程语言有11种,编程超过万行的有5种。其中很多最初都源于私人兴趣,拿来摆弄玩,后来工作中有合适机会就用上了。工具总是会换来换去不断演进,如何使用它们做出好产品更重要一些。

     招聘和技术方案选型总有各种考虑。如果是较平常的项目,大公司常选用主流编程语言以降低人力成本。反过来,很多极客文化较浓的创业团队最初青睐python,或者lisp,或者go,或者其他某种奇怪的编程语言,往往并非这种语言本身比Java和C++牛。而在于,熟悉小众语言(不过现在python也不算小众了)是个明显特征,意味着这个程序员有好奇心、不怕变化、喜欢私下主动踅摸技术、对编程有兴趣、有能力独立解决问题。

  帮教主宣传一下。他的python网站培训班又开始报名了,里面大量动手环节,有兴趣的去看看吧。

Do it yourself

  正在指导zk和wl在超龙一号超级计算机上安装配置pFind集群版。打算在960核情况下做一些加速比试验。和上次1024核试验很类似。很遗憾不能在龙芯CPU的节点上玩玩。

  哪吒系统在集群上全流程各环节并行。我一开始指望用点python有关的分布式并行框架,最后还是DIY。小马过河,有些地方挺困难(例如对虚拟机的管理和通讯),但总体来看,其实比想象简单。

  前几天提到,新版pFind核心使用了二级离子索引,但引入HBase不顺利。又发了些邮件开了些会,终于下定决心对查询部分推倒重来,抛开Hadoop等现有框架从头实现。方案确定,大家恍然大悟:原本就该这样做,花了半年证明HBase不行啊。

  上次BLOG最后写:“Java和C#逐渐不那么招人喜欢”,还链接了“Why do some people hate Java?"“Why we don’t hire .NET programmers”两篇文字,引来不少邮件和评论。俺的不少好友是Java和C#高手,并不想挑起语言口水战。那段文字也只是描述现象。具体从风格而言,这两种语言都是以“减少新手犯愚蠢错误”作为第一原则的,对初学者相当友好。不过也有点像乐高玩具,常规情况下简单易用,但面对更高的要求时(运行效率、开发效率等等方面),就不得不去了解大量水面以下的细节。相比起来,开源界的技术栈常常是哭着进去笑着出来。

挤地铁、堵车和zf双人编程

  最近家里的网络有些故障,所以没怎么写BLOG。

  早上从家里到单位居然开了将近两小时,实在太堵了。沿路看到好多追尾、刮蹭的事故现场,交警叔叔真辛苦。

  09年以前,都是错开高峰坐地铁上下班,路上还能读小说。但被BOSS H骂,严令必须按时上下班,只好和别人一样7点出门,18点下班。地铁线路开通越多,感觉越像地狱。不止一次衣服被撕破,电脑背包带被拉断,背肌痉挛。去年10月的一天,不得不中途提前下车,找卫生间去吐,于是终于下了决心考照买车。刚买到,北京就摇号限牌了。和06年买房子一样,大家说我运气好,总能赶上趟。其实很多滋味只有自己知道。

每周限行那天,早上需要在天通苑地铁站入口的这个S形通道里煎熬40分钟

  

  这些天除了在超级计算机上调试新一版的pFind,就是和zf一起双人编程,构建一个平台,把组里pFind、pXtract、pMatch、pParse、pNovo、pBuild等等这些都整合起来。按照惯例,zf会给它起昵称,我想和zf商量叫“哪吒”,三头六臂,掌握很多种不同武器的样子。zf编程很老道,所以交流起来很放松。双人编程这事儿和很多合作一样,最关键要价值观一致,看到bad smell不肯妥协。同时越写越喜欢python,写出来的东西很干净。

  另外,老妈原单位一位同事的儿子突然猝死了,我记得比我小一点。上上周小曾跑pFind集群,周末加班没搞通,结果第二天就住院动手术了(人民纷纷血泪控诉我的压迫,这个,冤啊,真不是pFind集群折磨的……前几天和管理员一起安装Sector/Sphere的时候偷眼看了一下,他好像把$PATH环境设错了)。大家要注意身体。

里程碑

  这两天算是很多公私事不大不小的里程碑。

  工作上,昨晚pFind引擎终于跑完一个磷酸化数据集,时间只有Mascot的一半,更大大快于SEQUEST,鉴定精度也不错。感觉有些累。晚上出去吃火锅,回来喝了点啤酒。

  业界大事方面,像之前说的,Python 3.0和C++0X目前也是关键时刻。Python 3.0刚发布了第一个release candidates,而WG21 Fall 2008 meeting按计划是今天结束

  至于一直想要的书,Beautiful Code中文版9月22日全国发售,希望上海能买到。

  想回北京:想玩WII,想吃黑竹笋火锅,想去乔波滑雪。

C++0x、Python3.0、《The Beatles 1》和《再袭面包店》

  有段时间没有写技术了,接下来打算收拾心情写点专业的内容。

  9月份将有不少大事,C++语言要推出0x新版Python语言要出3.0,跟进中:Google将在San Francisco举办WG21,C++委员会漫长的投票终于要结束了,计划9月20日提交C++0x标准稿;Python 3.0已发布Beta3,并确定这是最后一个Beta包,将于10月1日final release。下面是九月份的TIOBE排行榜:Java和C/C++依旧两强对峙,占据工业级通用语言的领先地位;Python同比去年又高了将近2%,有望成为第二集团的领头羊;微软放弃VB,众多VBer按惯性转移到了C#。

  

  最近在听甲壳虫乐队的专辑《The Beatles 1》。第一次听甲壳虫乐队是高中时代(看比尔盖茨的《未来之路》,书里提到他少年时代每周末收听流行歌曲节目)。俺最喜欢的还是那首《Hey Jude》。以前认识一个心理学专业的朋友,单单根据这个,就猜我是单亲家庭,少年时代经历过父母离婚,真神。

  昨天上火车前,在光合作用买到村上春树的短篇小说集《再袭击面包店》,看完了同名的第一篇小说,好玩,俺也想和特立独行的老婆一起袭击麦当劳,抢走30个汉堡

Mondrian视频

  Google Tech Talks上的好东西很多。

  TopLanguage上有人推荐B.S.的C++0x Initialization Lists视频,本打算上来写点观后感的。可又被Python的东西吸引过去,最终还是强烈推荐Guido Van Rossum的这个讲座,这是他被Google挖去后负责的项目。

 

  此外还要推荐这段BayPIGgies: Developing A Product In Python

  BTW:一个冷笑话,“UC Berkeley的工程师管Stanford的工程师叫什么?”,正确的答案是:“老板”

混合编程的前世今生

  老妈在玩Python语言,她说Python简洁严谨的风格很像Fortune,“不像C++那么乱哄哄”。从穿孔纸带开始,老太太算是各种技术都经历过一遍了。虽然比不上她老人家,俺用来赚过银子的编程语言,从本科大一兼职开始算,也有十种以上了。

  说起不同的编程语言,就掺乎到Language Wars,历来是吃力不讨好的大坑(Joel on software有一篇很经典)。最近几年的趋势是混合语言编程,用静态语言实现关键模块,用动态语言做胶水,必要的时进一步用DSL归纳特定领域的高效开发模式。

  Google一下,原来很早就有牛人预计到了这种趋势,看看John K. Ousterhout在10年前于IEEE Computer发表的这篇论文,不得不佩服他眼光很毒。其中关于gluing language和component frameworks的提法,如今已经成为业界的标准术语。

  最初的潮流推动者是微软,早期VB正是一种经典的胶水语言:从Web到Office,从ActiveX到DirctX,Win32系统 中几乎所有功能模块和技术特性,用VB都可以轻松整合。即使用今天的观点来衡量,VB6.0 / VC++6.0这一对仍然堪称黄金搭档,整套架构以COM技术为核心基础。只可惜.net技术推出后,VB突然莫名其妙地失去了定位,有一阵似乎希望变成 “另一种C#”,不断向系统级语言演化,反而让老用户无所适从。等明白过味儿来,.net 3.0不得不从头引入新的IronPython

Google Tech上关于Python 3000的讲座

  D语言新闻组里刚刚转载了Google Tech Talk中关于多线程的讲座,跑去搜索,又发现了不少其他内容。

  下面这是Guido van Rossum于06年初介绍传说中的Python 3000。过了一年半,前几天刚发布了alpha 2,估计final版发布得等到奥运会之后。

  就像上次说的,站队很重要,我的技术储备大多押宝到Google。看看Ubuntu、Firefox、Python、AJAX这些年的成长轨迹,就能知道Google在引领技术趋势方面的能量。这种对软件工程师的绝对影响力曾经只属于微软;而现在的微软,越来越像OS/2年代的IBM了(多久没关心软件业从XP向vista的迁移了?)。这并不意味着微软不行了,它仍然是最赚钱的蓝筹股,只不过,它不再是那个让人闻风丧胆所向披靡的怪物了。